@vtx/player 1.0.14 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/lib/api/fetch.js +51 -75
  2. package/lib/api/fetch.js.map +1 -1
  3. package/lib/api/index.js +18 -62
  4. package/lib/api/index.js.map +1 -1
  5. package/lib/api/types.d.ts +5 -5
  6. package/lib/bill-player/index.js +59 -111
  7. package/lib/bill-player/index.js.map +1 -1
  8. package/lib/bill-player/style/css.js +0 -9
  9. package/lib/bill-player/style/css.js.map +1 -1
  10. package/lib/bill-player/style/index.js +0 -9
  11. package/lib/bill-player/style/index.js.map +1 -1
  12. package/lib/components/set-tag-video/index.js +6 -34
  13. package/lib/components/set-tag-video/index.js.map +1 -1
  14. package/lib/components/set-tag-video/style/css.js.map +1 -1
  15. package/lib/components/set-tag-video/style/index.js.map +1 -1
  16. package/lib/components/split-screen/index.d.ts +1 -1
  17. package/lib/components/split-screen/index.js +3 -14
  18. package/lib/components/split-screen/index.js.map +1 -1
  19. package/lib/components/split-screen/style/css.js.map +1 -1
  20. package/lib/components/split-screen/style/index.js.map +1 -1
  21. package/lib/components/tag-video/index.js +10 -38
  22. package/lib/components/tag-video/index.js.map +1 -1
  23. package/lib/components/tag-video/style/css.js.map +1 -1
  24. package/lib/components/tag-video/style/index.js.map +1 -1
  25. package/lib/components/video-scale/index.d.ts +1 -1
  26. package/lib/components/video-scale/index.js +2 -9
  27. package/lib/components/video-scale/index.js.map +1 -1
  28. package/lib/components/video-scale/style/css.js.map +1 -1
  29. package/lib/components/video-scale/style/index.js.map +1 -1
  30. package/lib/context/index.js +0 -4
  31. package/lib/context/index.js.map +1 -1
  32. package/lib/controls/index.d.ts +3 -3
  33. package/lib/controls/index.js +33 -97
  34. package/lib/controls/index.js.map +1 -1
  35. package/lib/controls/style/css.js +0 -5
  36. package/lib/controls/style/css.js.map +1 -1
  37. package/lib/controls/style/index.js +0 -5
  38. package/lib/controls/style/index.js.map +1 -1
  39. package/lib/history-control/index.d.ts +2 -2
  40. package/lib/history-control/index.js +57 -114
  41. package/lib/history-control/index.js.map +1 -1
  42. package/lib/history-control/style/css.js +0 -6
  43. package/lib/history-control/style/css.js.map +1 -1
  44. package/lib/history-control/style/index.js +0 -6
  45. package/lib/history-control/style/index.js.map +1 -1
  46. package/lib/history-control-v2/components/grid-item/index.js +32 -70
  47. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  48. package/lib/history-control-v2/components/panel/index.js +36 -105
  49. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  50. package/lib/history-control-v2/context.js +0 -2
  51. package/lib/history-control-v2/context.js.map +1 -1
  52. package/lib/history-control-v2/index.d.ts +4 -4
  53. package/lib/history-control-v2/index.js +95 -163
  54. package/lib/history-control-v2/index.js.map +1 -1
  55. package/lib/history-control-v2/style/css.js +0 -10
  56. package/lib/history-control-v2/style/css.js.map +1 -1
  57. package/lib/history-control-v2/style/index.js +0 -10
  58. package/lib/history-control-v2/style/index.js.map +1 -1
  59. package/lib/history-control-v2/utils.js +1 -21
  60. package/lib/history-control-v2/utils.js.map +1 -1
  61. package/lib/history-player/index.d.ts +1 -1
  62. package/lib/history-player/index.js +73 -118
  63. package/lib/history-player/index.js.map +1 -1
  64. package/lib/history-player/style/css.js +0 -3
  65. package/lib/history-player/style/css.js.map +1 -1
  66. package/lib/history-player/style/index.js +0 -3
  67. package/lib/history-player/style/index.js.map +1 -1
  68. package/lib/hooks/useSettings.js +1 -6
  69. package/lib/hooks/useSettings.js.map +1 -1
  70. package/lib/icons/index.js +23 -171
  71. package/lib/icons/index.js.map +1 -1
  72. package/lib/index.js +0 -10
  73. package/lib/index.js.map +1 -1
  74. package/lib/live-channel-player/index.js +31 -67
  75. package/lib/live-channel-player/index.js.map +1 -1
  76. package/lib/live-channel-player/style/css.js +0 -1
  77. package/lib/live-channel-player/style/css.js.map +1 -1
  78. package/lib/live-channel-player/style/index.js +0 -1
  79. package/lib/live-channel-player/style/index.js.map +1 -1
  80. package/lib/live-control/index.d.ts +2 -2
  81. package/lib/live-control/index.js +32 -83
  82. package/lib/live-control/index.js.map +1 -1
  83. package/lib/live-control/style/css.js +0 -4
  84. package/lib/live-control/style/css.js.map +1 -1
  85. package/lib/live-control/style/index.js +0 -4
  86. package/lib/live-control/style/index.js.map +1 -1
  87. package/lib/live-control-v2/index.d.ts +3 -3
  88. package/lib/live-control-v2/index.js +53 -125
  89. package/lib/live-control-v2/index.js.map +1 -1
  90. package/lib/live-control-v2/style/css.js +0 -7
  91. package/lib/live-control-v2/style/css.js.map +1 -1
  92. package/lib/live-control-v2/style/index.js +0 -7
  93. package/lib/live-control-v2/style/index.js.map +1 -1
  94. package/lib/live-player/index.js +31 -62
  95. package/lib/live-player/index.js.map +1 -1
  96. package/lib/live-player/style/css.js +0 -2
  97. package/lib/live-player/style/css.js.map +1 -1
  98. package/lib/live-player/style/index.js +0 -2
  99. package/lib/live-player/style/index.js.map +1 -1
  100. package/lib/player/index.d.ts +1 -1
  101. package/lib/player/index.js +78 -135
  102. package/lib/player/index.js.map +1 -1
  103. package/lib/typings/h5player.d.ts +2 -0
  104. package/lib/utils/index.d.ts +1 -1
  105. package/lib/utils/index.js +8 -74
  106. package/lib/utils/index.js.map +1 -1
  107. package/package.json +1 -1
@@ -4,53 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _jsxRuntime = require("react/jsx-runtime");
9
-
10
8
  var _react = require("react");
11
-
12
9
  var _api = require("../api");
13
-
14
10
  var _splitScreen = _interopRequireDefault(require("../components/split-screen"));
15
-
16
11
  var _videoScale = _interopRequireDefault(require("../components/video-scale"));
17
-
18
12
  var _controls = require("../controls");
19
-
20
13
  var _utils = require("../utils");
21
-
22
14
  var _icons = require("../icons");
23
-
24
15
  var _livePlayer = _interopRequireDefault(require("../live-player"));
25
-
26
16
  var _icons2 = require("@ant-design/icons");
27
-
28
17
  var _ahooks = require("ahooks");
29
-
30
18
  var _space = _interopRequireDefault(require("antd/lib/space"));
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
20
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
35
-
36
21
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37
-
38
22
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
39
-
40
23
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
41
-
42
24
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
43
-
44
25
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
45
-
46
26
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
47
-
48
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
49
-
50
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
51
-
27
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
28
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
52
29
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
53
-
54
30
  var DEFAULT_GRID = 4;
55
31
  var DEFAULT_ACTIVE = 0;
56
32
  var DEFAULT_CHANNELS = Array(25).fill({
@@ -59,41 +35,37 @@ var DEFAULT_CHANNELS = Array(25).fill({
59
35
  /**
60
36
  * 实时分屏组件
61
37
  */
62
-
63
38
  var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
64
39
  var _props$height = props.height,
65
- height = _props$height === void 0 ? '100%' : _props$height,
66
- _props$width = props.width,
67
- width = _props$width === void 0 ? '100%' : _props$width,
68
- onExpandChange = props.onExpandChange,
69
- onPlayingChannelChange = props.onPlayingChannelChange,
70
- onVideoClose = props.onVideoClose,
71
- onCloseVideoInRotation = props.onCloseVideoInRotation,
72
- extraDom = props.extraDom,
73
- _props$gridChange = props.gridChange,
74
- gridChange = _props$gridChange === void 0 ? true : _props$gridChange,
75
- onScreenshot = props.onScreenshot;
76
-
40
+ height = _props$height === void 0 ? '100%' : _props$height,
41
+ _props$width = props.width,
42
+ width = _props$width === void 0 ? '100%' : _props$width,
43
+ onExpandChange = props.onExpandChange,
44
+ onPlayingChannelChange = props.onPlayingChannelChange,
45
+ onVideoClose = props.onVideoClose,
46
+ onCloseVideoInRotation = props.onCloseVideoInRotation,
47
+ extraDom = props.extraDom,
48
+ _props$gridChange = props.gridChange,
49
+ gridChange = _props$gridChange === void 0 ? true : _props$gridChange,
50
+ onScreenshot = props.onScreenshot;
77
51
  var _useSetState = (0, _ahooks.useSetState)({
78
- expand: true,
79
- grid: DEFAULT_GRID,
80
- activeIndex: DEFAULT_ACTIVE,
81
- channels: DEFAULT_CHANNELS,
82
- scale: '100%'
83
- }),
84
- _useSetState2 = _slicedToArray(_useSetState, 2),
85
- state = _useSetState2[0],
86
- setState = _useSetState2[1];
87
-
52
+ expand: true,
53
+ grid: DEFAULT_GRID,
54
+ activeIndex: DEFAULT_ACTIVE,
55
+ channels: DEFAULT_CHANNELS,
56
+ scale: '100%'
57
+ }),
58
+ _useSetState2 = _slicedToArray(_useSetState, 2),
59
+ state = _useSetState2[0],
60
+ setState = _useSetState2[1];
88
61
  var wrapRef = (0, _react.useRef)(null);
89
62
  var latestGrid = (0, _react.useRef)(DEFAULT_GRID);
90
-
91
63
  var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
92
- _useFullscreen2 = _slicedToArray(_useFullscreen, 2),
93
- isFullscreen = _useFullscreen2[0],
94
- toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
95
-
96
- var channelRef = (0, _react.useRef)(DEFAULT_CHANNELS); // 实时视频轮询
64
+ _useFullscreen2 = _slicedToArray(_useFullscreen, 2),
65
+ isFullscreen = _useFullscreen2[0],
66
+ toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
67
+ var channelRef = (0, _react.useRef)(DEFAULT_CHANNELS);
68
+ // 实时视频轮询
97
69
  // useInterval(() => {
98
70
  // // 是否有视频正在播放
99
71
  // const hasVideo = channelRef.current.some((item) => item.channelNum);
@@ -107,7 +79,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
107
79
  // }, 0);
108
80
  // }
109
81
  // }, polling);
110
-
111
82
  (0, _react.useImperativeHandle)(ref, function () {
112
83
  return {
113
84
  setGrid: function setGrid(grid) {
@@ -117,7 +88,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
117
88
  var index = channelRef.current.findIndex(function (c) {
118
89
  return c.channelId && channel.channelId && c.channelId === channel.channelId;
119
90
  });
120
-
121
91
  if (~index) {
122
92
  setState({
123
93
  activeIndex: index
@@ -125,7 +95,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
125
95
  } else {
126
96
  // 播放该通道
127
97
  var newChannels = _toConsumableArray(channelRef.current);
128
-
129
98
  newChannels[state.activeIndex] = channel;
130
99
  var activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);
131
100
  channelRef.current = newChannels;
@@ -140,11 +109,10 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
140
109
  var adapt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
141
110
  var grid = latestGrid.current;
142
111
  var newChannels = [],
143
- activeIndex = state.activeIndex; // 每次清空已经在播放的视频
144
-
112
+ activeIndex = state.activeIndex;
113
+ // 每次清空已经在播放的视频
145
114
  if (init) {
146
115
  adapt && (grid = getGrid(channels.length));
147
-
148
116
  for (var i = 0; i < Number(grid); i++) {
149
117
  newChannels.push(channels[i] ? channels[i] : {
150
118
  channelNum: ''
@@ -153,21 +121,18 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
153
121
  } else {
154
122
  // 不清空,找寻空闲窗口播放
155
123
  newChannels = _toConsumableArray(channelRef.current);
156
-
157
124
  for (var _i2 = 0; _i2 < channels.length; _i2++) {
158
125
  newChannels[activeIndex] = channels[_i2] || {
159
126
  channelNum: ''
160
127
  };
161
- var index = getActiveIndex(newChannels, latestGrid.current, activeIndex); // 如果相等,说明没有空闲窗口
162
-
128
+ var index = getActiveIndex(newChannels, latestGrid.current, activeIndex);
129
+ // 如果相等,说明没有空闲窗口
163
130
  if (index === activeIndex) {
164
131
  break;
165
132
  }
166
-
167
133
  activeIndex = index;
168
134
  }
169
135
  }
170
-
171
136
  latestGrid.current = grid;
172
137
  channelRef.current = newChannels;
173
138
  setState({
@@ -180,11 +145,9 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
180
145
  var index = channelRef.current.findIndex(function (c) {
181
146
  return c.channelId === channelId;
182
147
  });
183
-
184
148
  if (~index) {
185
149
  // 卸载通道
186
150
  var newChannels = _toConsumableArray(channelRef.current);
187
-
188
151
  newChannels[index] = {
189
152
  channelNum: ''
190
153
  };
@@ -201,24 +164,20 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
201
164
  }));
202
165
  }
203
166
  }, [state.channels]);
204
-
205
167
  var handleCloseAll = function handleCloseAll() {
206
168
  setState({
207
169
  activeIndex: DEFAULT_ACTIVE
208
170
  });
209
171
  updateChannels(DEFAULT_CHANNELS);
210
172
  };
211
-
212
173
  var handleExpand = function handleExpand() {
213
174
  onExpandChange && onExpandChange(!state.expand);
214
175
  setState({
215
176
  expand: !state.expand
216
177
  });
217
178
  };
218
-
219
179
  var updateGrid = function updateGrid(grid) {
220
180
  var newChannels = _toConsumableArray(channelRef.current);
221
-
222
181
  if (grid > newChannels.length) {
223
182
  newChannels = DEFAULT_CHANNELS.slice(0, grid).map(function (item, index) {
224
183
  return newChannels[index] ? newChannels[index] : item;
@@ -226,7 +185,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
226
185
  } else {
227
186
  newChannels = newChannels.slice(0, grid);
228
187
  }
229
-
230
188
  latestGrid.current = grid;
231
189
  channelRef.current = newChannels;
232
190
  setState({
@@ -234,28 +192,23 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
234
192
  channels: newChannels
235
193
  });
236
194
  };
237
-
238
195
  var updateChannels = function updateChannels(channels) {
239
196
  channelRef.current = channels;
240
197
  setState({
241
198
  channels: channels
242
199
  });
243
- }; // 关闭视频
244
-
245
-
200
+ };
201
+ // 关闭视频
246
202
  var closeVideo = function closeVideo(i) {
247
203
  var newChannels = _toConsumableArray(channelRef.current);
248
-
249
204
  onVideoClose && onVideoClose(newChannels[i]);
250
205
  newChannels[i] = {
251
206
  channelNum: ''
252
207
  };
253
208
  updateChannels(newChannels);
254
209
  };
255
-
256
210
  var getGridItems = function getGridItems() {
257
211
  var items = [];
258
-
259
212
  var _loop = function _loop(i) {
260
213
  var element = (0, _jsxRuntime.jsx)(GridItem, {
261
214
  active: state.activeIndex === i,
@@ -275,7 +228,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
275
228
  });
276
229
  return;
277
230
  }
278
-
279
231
  closeVideo(i);
280
232
  },
281
233
  scale: state.scale,
@@ -283,14 +235,11 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
283
235
  }, i);
284
236
  items.push(element);
285
237
  };
286
-
287
238
  for (var i = 0; i < Number(latestGrid.current); i++) {
288
239
  _loop(i);
289
240
  }
290
-
291
241
  return items;
292
242
  };
293
-
294
243
  return (0, _jsxRuntime.jsxs)("div", Object.assign({
295
244
  className: "vtx-live-control-v2",
296
245
  ref: wrapRef,
@@ -378,37 +327,32 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
378
327
  }));
379
328
  });
380
329
  LiveControlV2.displayName = 'LiveControlV2';
381
-
382
330
  var GridItem = function GridItem(props) {
383
331
  var active = props.active,
384
- onClick = props.onClick,
385
- channel = props.channel,
386
- onClose = props.onClose,
387
- onScreenshot = props.onScreenshot,
388
- scale = props.scale;
332
+ onClick = props.onClick,
333
+ channel = props.channel,
334
+ onClose = props.onClose,
335
+ onScreenshot = props.onScreenshot,
336
+ scale = props.scale;
389
337
  var empty = !channel.channelNum;
390
-
391
338
  var _useRequest = (0, _ahooks.useRequest)(function () {
392
- return (0, _api.getPreviewUrl)(channel);
393
- }, {
394
- ready: !!channel.channelNum,
395
- refreshDeps: [channel.channelNum]
396
- }),
397
- data = _useRequest.data,
398
- loading = _useRequest.loading;
399
-
339
+ return (0, _api.getPreviewUrl)(channel);
340
+ }, {
341
+ ready: !!channel.channelNum,
342
+ refreshDeps: [channel.channelNum]
343
+ }),
344
+ data = _useRequest.data,
345
+ loading = _useRequest.loading;
400
346
  var name = "".concat(data === null || data === void 0 ? void 0 : data.deviceName, "-").concat(data === null || data === void 0 ? void 0 : data.channelName);
401
-
402
347
  var _useSetState3 = (0, _ahooks.useSetState)({
403
- width: '100%',
404
- height: '100%'
405
- }),
406
- _useSetState4 = _slicedToArray(_useSetState3, 2),
407
- _useSetState4$ = _useSetState4[0],
408
- width = _useSetState4$.width,
409
- height = _useSetState4$.height,
410
- setState = _useSetState4[1];
411
-
348
+ width: '100%',
349
+ height: '100%'
350
+ }),
351
+ _useSetState4 = _slicedToArray(_useSetState3, 2),
352
+ _useSetState4$ = _useSetState4[0],
353
+ width = _useSetState4$.width,
354
+ height = _useSetState4$.height,
355
+ setState = _useSetState4[1];
412
356
  var gridItemRef = (0, _react.useRef)(null);
413
357
  var gridItemSize = (0, _ahooks.useSize)(gridItemRef);
414
358
  (0, _react.useEffect)(function () {
@@ -420,7 +364,6 @@ var GridItem = function GridItem(props) {
420
364
  height: gridItemSize.height - 26
421
365
  });
422
366
  break;
423
-
424
367
  case '4*3':
425
368
  if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {
426
369
  setState({
@@ -433,9 +376,7 @@ var GridItem = function GridItem(props) {
433
376
  height: '100%'
434
377
  });
435
378
  }
436
-
437
379
  break;
438
-
439
380
  case '16*9':
440
381
  if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {
441
382
  setState({
@@ -448,12 +389,10 @@ var GridItem = function GridItem(props) {
448
389
  height: '100%'
449
390
  });
450
391
  }
451
-
452
392
  break;
453
393
  }
454
394
  }
455
395
  }, [gridItemSize, scale]);
456
-
457
396
  var handlePtzType = function handlePtzType(type) {
458
397
  var types = {
459
398
  1: 'all',
@@ -463,7 +402,6 @@ var GridItem = function GridItem(props) {
463
402
  };
464
403
  return types[type];
465
404
  };
466
-
467
405
  return (0, _jsxRuntime.jsx)("div", Object.assign({
468
406
  className: "grid-item-container ".concat(active ? 'active' : '', " ").concat(loading ? '' : 'emptyImg'),
469
407
  onClick: onClick,
@@ -511,41 +449,31 @@ var GridItem = function GridItem(props) {
511
449
  * @param currentIndex 当前索引
512
450
  * @returns
513
451
  */
514
-
515
-
516
452
  var getActiveIndex = function getActiveIndex(channels, grid, currentIndex) {
517
453
  var currentChannels = channels.slice(0, Number(grid));
518
-
519
454
  for (var i = currentIndex + 1; i < currentChannels.length; i++) {
520
455
  if (!currentChannels[i].channelNum) return i;
521
456
  }
522
-
523
457
  for (var _i3 = 0; _i3 < currentIndex; _i3++) {
524
458
  if (!currentChannels[_i3].channelNum) return _i3;
525
459
  }
526
-
527
460
  return currentIndex;
528
461
  };
529
-
530
462
  var grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];
531
463
  /**
532
464
  * 获取布局
533
465
  * @param len 通道数量
534
466
  */
535
-
536
467
  var getGrid = function getGrid(len) {
537
468
  var grid;
538
-
539
469
  for (var i = 0; i < grids.length; i++) {
540
470
  if (grids[i] - len >= 0) {
541
471
  grid = grids[i];
542
472
  break;
543
473
  }
544
474
  }
545
-
546
475
  return grid > 25 ? 25 : grid;
547
476
  };
548
-
549
477
  var _default = LiveControlV2;
550
478
  exports["default"] = _default;
551
479
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","useSetState","expand","grid","activeIndex","channels","scale","state","setState","wrapRef","useRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","slice","map","item","closeVideo","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","captureName","deviceId","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { getUrlParam } from '../utils';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: '100%',\n });\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n updateChannels(DEFAULT_CHANNELS);\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { url: data.url, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType(data.ptzType),\n } }) })) }))] })) })));\n};\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_utils","_icons","_livePlayer","_icons2","_ahooks","_space","obj","__esModule","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","Object","prototype","toString","call","slice","constructor","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","_useSetState","useSetState","expand","grid","activeIndex","channels","scale","_useSetState2","state","setState","wrapRef","useRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","map","item","closeVideo","getGridItems","items","_loop","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","concat","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useRequest","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","captureName","deviceId","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { getUrlParam } from '../utils';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: '100%',\n });\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n updateChannels(DEFAULT_CHANNELS);\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { url: data.url, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType(data.ptzType),\n } }) })) }))] })) })));\n};\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
@@ -1,18 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  require("antd/lib/popover/style/css");
4
-
5
4
  require("antd/lib/space/style/css");
6
-
7
5
  require("antd/lib/tooltip/style/css");
8
-
9
6
  require("../../controls/style/css");
10
-
11
7
  require("../../live-player/style/css");
12
-
13
8
  require("../../components/split-screen/style/css");
14
-
15
9
  require("../../components/video-scale/style/css");
16
-
17
10
  require("./index.css");
18
11
  //# sourceMappingURL=css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"css.js","names":["require"],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}
@@ -1,18 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  require("antd/lib/popover/style");
4
-
5
4
  require("antd/lib/space/style");
6
-
7
5
  require("antd/lib/tooltip/style");
8
-
9
6
  require("../../controls/style");
10
-
11
7
  require("../../live-player/style");
12
-
13
8
  require("../../components/split-screen/style");
14
-
15
9
  require("../../components/video-scale/style");
16
-
17
10
  require("./index.less");
18
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"file":"index.js","names":["require"],"sources":["live-control-v2/style/index.js"],"sourcesContent":["import 'antd/lib/popover/style';\nimport 'antd/lib/space/style';\nimport 'antd/lib/tooltip/style';\nimport '../../controls/style';\nimport '../../live-player/style';\nimport '../../components/split-screen/style';\nimport '../../components/video-scale/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}