@vtx/player 1.1.4 → 1.1.6
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.
- package/lib/api/fetch.js +75 -51
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +62 -18
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/bill-player/index.js +111 -59
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/css.js +9 -0
- package/lib/bill-player/style/css.js.map +1 -1
- package/lib/bill-player/style/index.js +9 -0
- package/lib/bill-player/style/index.js.map +1 -1
- package/lib/components/set-tag-video/index.js +34 -6
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/css.js.map +1 -1
- package/lib/components/set-tag-video/style/index.js.map +1 -1
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +14 -3
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/split-screen/style/css.js.map +1 -1
- package/lib/components/split-screen/style/index.js.map +1 -1
- package/lib/components/tag-video/index.js +38 -10
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/css.js.map +1 -1
- package/lib/components/tag-video/style/index.js.map +1 -1
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +9 -2
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/components/video-scale/style/css.js.map +1 -1
- package/lib/components/video-scale/style/index.js.map +1 -1
- package/lib/context/index.js +4 -0
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +3 -3
- package/lib/controls/index.js +99 -34
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/css.js +5 -0
- package/lib/controls/style/css.js.map +1 -1
- package/lib/controls/style/index.js +5 -0
- package/lib/controls/style/index.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +114 -57
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/css.js +6 -0
- package/lib/history-control/style/css.js.map +1 -1
- package/lib/history-control/style/index.js +6 -0
- package/lib/history-control/style/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +70 -32
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +105 -36
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +2 -0
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +163 -95
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/style/css.js +10 -0
- package/lib/history-control-v2/style/css.js.map +1 -1
- package/lib/history-control-v2/style/index.js +10 -0
- package/lib/history-control-v2/style/index.js.map +1 -1
- package/lib/history-control-v2/utils.js +21 -1
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +118 -73
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/css.js +3 -0
- package/lib/history-player/style/css.js.map +1 -1
- package/lib/history-player/style/index.js +3 -0
- package/lib/history-player/style/index.js.map +1 -1
- package/lib/hooks/useSettings.js +6 -1
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icons/index.js +171 -23
- package/lib/icons/index.js.map +1 -1
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.js +67 -31
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-channel-player/style/css.js +1 -0
- package/lib/live-channel-player/style/css.js.map +1 -1
- package/lib/live-channel-player/style/index.js +1 -0
- package/lib/live-channel-player/style/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +83 -32
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/css.js +4 -0
- package/lib/live-control/style/css.js.map +1 -1
- package/lib/live-control/style/index.js +4 -0
- package/lib/live-control/style/index.js.map +1 -1
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +131 -59
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/css.js +7 -0
- package/lib/live-control-v2/style/css.js.map +1 -1
- package/lib/live-control-v2/style/index.js +7 -0
- package/lib/live-control-v2/style/index.js.map +1 -1
- package/lib/live-player/index.js +58 -31
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/css.js +2 -0
- package/lib/live-player/style/css.js.map +1 -1
- package/lib/live-player/style/index.js +2 -0
- package/lib/live-player/style/index.js.map +1 -1
- package/lib/player/index.d.ts +2 -2
- package/lib/player/index.js +127 -47
- package/lib/player/index.js.map +1 -1
- package/lib/typings/h5player.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +74 -8
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,30 +4,55 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.HistoryControl = void 0;
|
|
7
|
+
|
|
7
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
8
10
|
var _react = require("react");
|
|
11
|
+
|
|
9
12
|
var _reactCollapsed = _interopRequireDefault(require("react-collapsed"));
|
|
13
|
+
|
|
10
14
|
var _api = require("../api");
|
|
15
|
+
|
|
11
16
|
var _controls = require("../controls");
|
|
17
|
+
|
|
12
18
|
var _historyPlayer = _interopRequireDefault(require("../history-player"));
|
|
19
|
+
|
|
13
20
|
var _icons = require("../icons");
|
|
21
|
+
|
|
14
22
|
var _utils = require("../utils");
|
|
23
|
+
|
|
15
24
|
var _ahooks = require("ahooks");
|
|
25
|
+
|
|
16
26
|
var _button = _interopRequireDefault(require("antd/lib/button"));
|
|
27
|
+
|
|
17
28
|
var _message = _interopRequireDefault(require("antd/lib/message"));
|
|
29
|
+
|
|
18
30
|
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
31
|
+
|
|
19
32
|
var _spin = _interopRequireDefault(require("antd/lib/spin"));
|
|
33
|
+
|
|
20
34
|
var _table = _interopRequireDefault(require("antd/lib/table"));
|
|
35
|
+
|
|
21
36
|
var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
|
|
37
|
+
|
|
22
38
|
var _moment = _interopRequireDefault(require("moment"));
|
|
39
|
+
|
|
23
40
|
var _collapse = _interopRequireDefault(require("./images/collapse.png"));
|
|
41
|
+
|
|
24
42
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
43
|
+
|
|
25
44
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
45
|
+
|
|
26
46
|
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."); }
|
|
47
|
+
|
|
27
48
|
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); }
|
|
28
|
-
|
|
29
|
-
function
|
|
49
|
+
|
|
50
|
+
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; }
|
|
51
|
+
|
|
52
|
+
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; }
|
|
53
|
+
|
|
30
54
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
55
|
+
|
|
31
56
|
/** 默认播放器参数 */
|
|
32
57
|
var DEFAULT_PLAY_PARAMS = {
|
|
33
58
|
index: -1,
|
|
@@ -39,46 +64,52 @@ var DEFAULT_PLAY_PARAMS = {
|
|
|
39
64
|
/**
|
|
40
65
|
* 历史视频控制器
|
|
41
66
|
*/
|
|
67
|
+
|
|
42
68
|
var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
43
69
|
var _props$width = props.width,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
70
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
71
|
+
_props$height = props.height,
|
|
72
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
73
|
+
onExpandChange = props.onExpandChange,
|
|
74
|
+
onTimeChange = props.onTimeChange,
|
|
75
|
+
_props$showInfo = props.showInfo,
|
|
76
|
+
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
77
|
+
onVideoClose = props.onVideoClose,
|
|
78
|
+
_props$info = props.info,
|
|
79
|
+
info = _props$info === void 0 ? [] : _props$info,
|
|
80
|
+
_props$isDark = props.isDark,
|
|
81
|
+
isDark = _props$isDark === void 0 ? false : _props$isDark;
|
|
56
82
|
var segmentsRef = (0, _react.useRef)(null);
|
|
83
|
+
|
|
57
84
|
var _useRequest = (0, _ahooks.useRequest)(_api.getHistoryUrl, {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
85
|
+
manual: true
|
|
86
|
+
}),
|
|
87
|
+
runAsync = _useRequest.runAsync,
|
|
88
|
+
loading = _useRequest.loading;
|
|
89
|
+
|
|
62
90
|
var _useCollapse = (0, _reactCollapsed["default"])({
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
91
|
+
defaultExpanded: true // 默认展开
|
|
92
|
+
|
|
93
|
+
}),
|
|
94
|
+
getCollapseProps = _useCollapse.getCollapseProps,
|
|
95
|
+
getToggleProps = _useCollapse.getToggleProps,
|
|
96
|
+
isExpanded = _useCollapse.isExpanded;
|
|
97
|
+
|
|
68
98
|
var _useSetState = (0, _ahooks.useSetState)({
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
99
|
+
expand: true,
|
|
100
|
+
name: '',
|
|
101
|
+
tableData: [],
|
|
102
|
+
segmentData: {
|
|
103
|
+
list: []
|
|
104
|
+
},
|
|
105
|
+
totalUrl: '',
|
|
106
|
+
timeLinePosition: -1,
|
|
107
|
+
playParams: DEFAULT_PLAY_PARAMS
|
|
108
|
+
}),
|
|
109
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
110
|
+
state = _useSetState2[0],
|
|
111
|
+
setState = _useSetState2[1];
|
|
112
|
+
|
|
82
113
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
83
114
|
return {
|
|
84
115
|
load: function load(channel) {
|
|
@@ -94,8 +125,9 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
94
125
|
(0, _react.useEffect)(function () {
|
|
95
126
|
if (state.channel) {
|
|
96
127
|
runAsync(state.channel).then(function (result) {
|
|
97
|
-
var _a, _b, _c, _d;
|
|
98
|
-
|
|
128
|
+
var _a, _b, _c, _d; // 如果没有list,只有url,则直接播放url
|
|
129
|
+
|
|
130
|
+
|
|
99
131
|
if (Array.isArray(result === null || result === void 0 ? void 0 : result.list)) {
|
|
100
132
|
var tableData = (0, _utils.getUrlTableData)(result);
|
|
101
133
|
var segmentData = {
|
|
@@ -131,6 +163,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
131
163
|
});
|
|
132
164
|
} else {
|
|
133
165
|
_message["default"].info('未查询到视频');
|
|
166
|
+
|
|
134
167
|
setState({
|
|
135
168
|
tableData: [],
|
|
136
169
|
segmentData: {
|
|
@@ -153,12 +186,14 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
153
186
|
};
|
|
154
187
|
}
|
|
155
188
|
}, [state.channel]);
|
|
189
|
+
|
|
156
190
|
var handleExpand = function handleExpand() {
|
|
157
191
|
onExpandChange && onExpandChange(!state.expand);
|
|
158
192
|
setState({
|
|
159
193
|
expand: !state.expand
|
|
160
194
|
});
|
|
161
195
|
};
|
|
196
|
+
|
|
162
197
|
var handleClose = function handleClose() {
|
|
163
198
|
setState({
|
|
164
199
|
channel: undefined,
|
|
@@ -166,6 +201,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
166
201
|
});
|
|
167
202
|
onVideoClose && onVideoClose();
|
|
168
203
|
};
|
|
204
|
+
|
|
169
205
|
var columns = [{
|
|
170
206
|
title: '序号',
|
|
171
207
|
dataIndex: 'index',
|
|
@@ -208,8 +244,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
208
244
|
})
|
|
209
245
|
}));
|
|
210
246
|
}
|
|
211
|
-
},
|
|
212
|
-
// {
|
|
247
|
+
}, // {
|
|
213
248
|
// title: '设备名称',
|
|
214
249
|
// dataIndex: 'deviceName',
|
|
215
250
|
// },
|
|
@@ -234,18 +269,22 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
234
269
|
width: 100,
|
|
235
270
|
dataIndex: 'size'
|
|
236
271
|
}];
|
|
272
|
+
|
|
237
273
|
var handleTimeChange = function handleTimeChange(time, speed) {
|
|
238
274
|
var _a;
|
|
239
|
-
|
|
240
|
-
// 计算播放时间占起始时间当日的百分比
|
|
275
|
+
|
|
276
|
+
onTimeChange && onTimeChange(time, speed); // 计算播放时间占起始时间当日的百分比
|
|
277
|
+
|
|
241
278
|
var progress = (0, _moment["default"])(time).diff((0, _moment["default"])((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') / (24 * 60 * 60) * 100;
|
|
242
279
|
setState({
|
|
243
280
|
timeLinePosition: progress
|
|
244
281
|
});
|
|
245
282
|
};
|
|
283
|
+
|
|
246
284
|
var getRef = function getRef() {
|
|
247
285
|
return segmentsRef.current;
|
|
248
286
|
};
|
|
287
|
+
|
|
249
288
|
console.log('state.playParams,', state.playParams);
|
|
250
289
|
console.log('isExpanded', isExpanded);
|
|
251
290
|
console.log('showInfo', showInfo);
|
|
@@ -353,10 +392,12 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
353
392
|
});
|
|
354
393
|
exports.HistoryControl = HistoryControl;
|
|
355
394
|
HistoryControl.displayName = 'HistoryControl';
|
|
395
|
+
|
|
356
396
|
var TimeLine = function TimeLine() {
|
|
357
397
|
var getSplitLines = function getSplitLines() {
|
|
358
398
|
var result = [];
|
|
359
399
|
var step = 100 / 24;
|
|
400
|
+
|
|
360
401
|
for (var i = 0; i < 25; i++) {
|
|
361
402
|
var element = (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
362
403
|
className: "line",
|
|
@@ -372,8 +413,10 @@ var TimeLine = function TimeLine() {
|
|
|
372
413
|
}), i);
|
|
373
414
|
result.push(element);
|
|
374
415
|
}
|
|
416
|
+
|
|
375
417
|
return result;
|
|
376
418
|
};
|
|
419
|
+
|
|
377
420
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
378
421
|
className: "time-axis"
|
|
379
422
|
}, {
|
|
@@ -386,19 +429,24 @@ var TimeLine = function TimeLine() {
|
|
|
386
429
|
}))]
|
|
387
430
|
}));
|
|
388
431
|
};
|
|
432
|
+
|
|
389
433
|
var getSegments = function getSegments(props) {
|
|
390
434
|
var list = props.list,
|
|
391
|
-
|
|
392
|
-
|
|
435
|
+
start = props.start,
|
|
436
|
+
end = props.end;
|
|
393
437
|
var startTime = (0, _moment["default"])(start);
|
|
394
438
|
var endTime = (0, _moment["default"])(end);
|
|
395
439
|
var total = endTime.diff(startTime, 'seconds'); // 总时间
|
|
440
|
+
|
|
396
441
|
var result = list.map(function (i) {
|
|
397
442
|
var itemStart = (0, _moment["default"])(i.beginTime).diff(startTime, 'seconds') > 0 ? (0, _moment["default"])(i.beginTime) : startTime;
|
|
398
443
|
var itemEnd = (0, _moment["default"])(i.endTime);
|
|
399
444
|
var itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间
|
|
445
|
+
|
|
400
446
|
var width = itemTotal / total * 100; // 分段时间占总时间百分比
|
|
447
|
+
|
|
401
448
|
var left = itemStart.diff(startTime, 'seconds') / total * 100; // 分段其实时间
|
|
449
|
+
|
|
402
450
|
return (0, _jsxRuntime.jsx)("div", {
|
|
403
451
|
className: "segment",
|
|
404
452
|
style: {
|
|
@@ -409,31 +457,37 @@ var getSegments = function getSegments(props) {
|
|
|
409
457
|
});
|
|
410
458
|
return result;
|
|
411
459
|
};
|
|
460
|
+
|
|
412
461
|
var ONEDAY_MILL = 24 * 60 * 60 * 1000;
|
|
462
|
+
|
|
413
463
|
var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
414
464
|
var getRef = _ref.getRef,
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
465
|
+
history = _ref.history,
|
|
466
|
+
totalUrl = _ref.totalUrl,
|
|
467
|
+
setState = _ref.setState;
|
|
468
|
+
|
|
418
469
|
var _a;
|
|
470
|
+
|
|
419
471
|
var mouse = (0, _ahooks.useMouse)(getRef());
|
|
420
472
|
var elementX = mouse.elementX,
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;
|
|
425
|
-
|
|
473
|
+
elementY = mouse.elementY,
|
|
474
|
+
elementW = mouse.elementW,
|
|
475
|
+
elementH = mouse.elementH;
|
|
476
|
+
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH; // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。
|
|
477
|
+
|
|
426
478
|
var percent = elementX / elementW;
|
|
427
479
|
var time = (0, _moment["default"])((0, _moment["default"])(history.start).valueOf() + percent * ONEDAY_MILL).format(_utils.TimeFormat.params);
|
|
428
480
|
var flag = false,
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
481
|
+
url,
|
|
482
|
+
playStart = -1,
|
|
483
|
+
playEnd = -1,
|
|
484
|
+
index = -1;
|
|
433
485
|
var now = (0, _moment["default"])(time).valueOf();
|
|
486
|
+
|
|
434
487
|
for (var i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {
|
|
435
488
|
var begin = (0, _moment["default"])(history.list[i].beginTime).valueOf(),
|
|
436
|
-
|
|
489
|
+
end = (0, _moment["default"])(history.list[i].endTime).valueOf();
|
|
490
|
+
|
|
437
491
|
if (now >= begin && now <= end) {
|
|
438
492
|
index = i;
|
|
439
493
|
url = history.list[i].playbackUrl;
|
|
@@ -443,6 +497,7 @@ var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
|
443
497
|
break;
|
|
444
498
|
}
|
|
445
499
|
}
|
|
500
|
+
|
|
446
501
|
var onClick = function onClick() {
|
|
447
502
|
var playUrl = url || totalUrl;
|
|
448
503
|
setState({
|
|
@@ -454,6 +509,7 @@ var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
|
454
509
|
}
|
|
455
510
|
});
|
|
456
511
|
};
|
|
512
|
+
|
|
457
513
|
return visible ? flag ? (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({
|
|
458
514
|
title: time
|
|
459
515
|
}, {
|
|
@@ -472,6 +528,7 @@ var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
|
472
528
|
onClick: onClick
|
|
473
529
|
}) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
474
530
|
};
|
|
531
|
+
|
|
475
532
|
var _default = HistoryControl;
|
|
476
533
|
exports["default"] = _default;
|
|
477
534
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_reactCollapsed","_interopRequireDefault","_api","_controls","_historyPlayer","_icons","_utils","_ahooks","_button","_message","_space","_spin","_table","_tooltip","_moment","_collapse","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","_props$width","width","_props$height","height","onExpandChange","onTimeChange","_props$showInfo","showInfo","onVideoClose","_props$info","info","_props$isDark","isDark","segmentsRef","useRef","_useRequest","useRequest","getHistoryUrl","manual","runAsync","loading","_useCollapse","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","_useSetState","useSetState","expand","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","_useSetState2","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","getUrlTableData","start","moment","beginTime","startOf","end","endOf","map","item","assign","concat","deviceName","channelName","totalTimeUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","exports","displayName","getSplitLines","step","element","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","_ref","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl","_default"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result === null || result === void 0 ? void 0 : result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\n });\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n // {\n // title: '设备名称',\n // dataIndex: 'deviceName',\n // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\n // },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.length > 0 && (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst getSegments = (props) => {\n const { list, start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list.map((i) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, url, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","isDark","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","map","item","Object","assign","deviceName","channelName","totalTimeUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","console","log","style","backgroundColor","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], isDark = false } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result === null || result === void 0 ? void 0 : result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\n });\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n // {\n // title: '设备名称',\n // dataIndex: 'deviceName',\n // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\n // },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n console.log('state.playParams,', state.playParams);\n console.log('isExpanded', isExpanded);\n console.log('showInfo', showInfo);\n console.log('info', info);\n return (_jsxs(\"div\", Object.assign({ className: `vtx-history-control${isDark ? ' history-dark' : ''}`, style: { width, height, backgroundColor: isDark ? 'rgba(0,59,64,0.3)' : '#2b3d51' } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.length > 0 && (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst getSegments = (props) => {\n const { list, start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list.map((i) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, url, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("antd/lib/button/style/css");
|
|
4
|
+
|
|
4
5
|
require("antd/lib/space/style/css");
|
|
6
|
+
|
|
5
7
|
require("antd/lib/table/style/css");
|
|
8
|
+
|
|
6
9
|
require("antd/lib/tooltip/style/css");
|
|
10
|
+
|
|
7
11
|
require("../../controls/style/css");
|
|
12
|
+
|
|
8
13
|
require("../../history-player/style/css");
|
|
14
|
+
|
|
9
15
|
require("./index.css");
|
|
10
16
|
//# sourceMappingURL=css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":[
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["history-control/style/index.js"],"sourcesContent":["import \"antd/lib/button/style\";\nimport \"antd/lib/space/style\";\nimport \"antd/lib/table/style\";\nimport \"antd/lib/tooltip/style\";\nimport '../../controls/style';\nimport '../../history-player/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("antd/lib/button/style");
|
|
4
|
+
|
|
4
5
|
require("antd/lib/space/style");
|
|
6
|
+
|
|
5
7
|
require("antd/lib/table/style");
|
|
8
|
+
|
|
6
9
|
require("antd/lib/tooltip/style");
|
|
10
|
+
|
|
7
11
|
require("../../controls/style");
|
|
12
|
+
|
|
8
13
|
require("../../history-player/style");
|
|
14
|
+
|
|
9
15
|
require("./index.less");
|
|
10
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["history-control/style/index.js"],"sourcesContent":["import \"antd/lib/button/style\";\nimport \"antd/lib/space/style\";\nimport \"antd/lib/table/style\";\nimport \"antd/lib/tooltip/style\";\nimport '../../controls/style';\nimport '../../history-player/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|