@vtx/player 1.0.11 → 1.0.13
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 +97 -33
- 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.d.ts +2 -0
- package/lib/history-control-v2/components/grid-item/index.js +72 -32
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +111 -38
- 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 +169 -96
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +2 -0
- 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 +125 -53
- 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 +63 -39
- 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 +1 -1
- package/lib/player/index.js +119 -42
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +81 -9
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,63 +4,93 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
+
|
|
7
8
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
8
10
|
var _react = require("react");
|
|
11
|
+
|
|
9
12
|
var _controls = require("../../../controls");
|
|
13
|
+
|
|
10
14
|
var _historyPlayer = _interopRequireDefault(require("../../../history-player"));
|
|
15
|
+
|
|
11
16
|
var _context = require("../../context");
|
|
17
|
+
|
|
12
18
|
var _utils = require("../../utils");
|
|
19
|
+
|
|
13
20
|
var _ahooks = require("ahooks");
|
|
21
|
+
|
|
14
22
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
23
|
+
|
|
15
24
|
var _moment = _interopRequireDefault(require("moment"));
|
|
25
|
+
|
|
16
26
|
var _setTagVideo = _interopRequireDefault(require("../../../components/set-tag-video"));
|
|
27
|
+
|
|
17
28
|
var _tagVideo = _interopRequireDefault(require("../../../components/tag-video"));
|
|
29
|
+
|
|
18
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
31
|
+
|
|
19
32
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
33
|
+
|
|
20
34
|
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."); }
|
|
35
|
+
|
|
21
36
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
37
|
+
|
|
22
38
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
39
|
+
|
|
23
40
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
41
|
+
|
|
24
42
|
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."); }
|
|
43
|
+
|
|
25
44
|
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); }
|
|
26
|
-
|
|
27
|
-
function
|
|
45
|
+
|
|
46
|
+
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; }
|
|
47
|
+
|
|
48
|
+
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; }
|
|
49
|
+
|
|
28
50
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
51
|
+
|
|
29
52
|
var GridItem = function GridItem(props) {
|
|
30
53
|
var _useContext = (0, _react.useContext)(_context.historyControlV2Context),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
54
|
+
loading = _useContext.loading,
|
|
55
|
+
channels = _useContext.channels,
|
|
56
|
+
setChannels = _useContext.setChannels,
|
|
57
|
+
activeIndex = _useContext.activeIndex,
|
|
58
|
+
setTimeLinePosition = _useContext.setTimeLinePosition; // setTimeLinePosition
|
|
59
|
+
|
|
60
|
+
|
|
36
61
|
var active = props.active,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
62
|
+
onTimeChange = props.onTimeChange,
|
|
63
|
+
onClick = props.onClick,
|
|
64
|
+
onClose = props.onClose,
|
|
65
|
+
onScreenshot = props.onScreenshot,
|
|
66
|
+
scale = props.scale,
|
|
67
|
+
_props$palyIndex = props.palyIndex,
|
|
68
|
+
palyIndex = _props$palyIndex === void 0 ? 0 : _props$palyIndex,
|
|
69
|
+
_props$channel = props.channel,
|
|
70
|
+
channel = _props$channel === void 0 ? _utils.DEFAULT_PLAY_PARAMS : _props$channel;
|
|
71
|
+
|
|
45
72
|
var _useState = (0, _react.useState)(false),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
73
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
74
|
+
tagSetShow = _useState2[0],
|
|
75
|
+
setTagSetShow = _useState2[1];
|
|
76
|
+
|
|
49
77
|
var url = channel.url,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
78
|
+
startTime = channel.startTime,
|
|
79
|
+
endTime = channel.endTime,
|
|
80
|
+
channelName = channel.channelName,
|
|
81
|
+
deviceName = channel.deviceName,
|
|
82
|
+
hasLabel = channel.hasLabel;
|
|
83
|
+
|
|
55
84
|
var _useSetState = (0, _ahooks.useSetState)({
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
85
|
+
width: '100%',
|
|
86
|
+
height: '100%'
|
|
87
|
+
}),
|
|
88
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
89
|
+
_useSetState2$ = _useSetState2[0],
|
|
90
|
+
width = _useSetState2$.width,
|
|
91
|
+
height = _useSetState2$.height,
|
|
92
|
+
setState = _useSetState2[1];
|
|
93
|
+
|
|
64
94
|
var gridItemRef = (0, _react.useRef)(null);
|
|
65
95
|
var gridItemSize = (0, _ahooks.useSize)(gridItemRef);
|
|
66
96
|
(0, _react.useEffect)(function () {
|
|
@@ -72,6 +102,7 @@ var GridItem = function GridItem(props) {
|
|
|
72
102
|
height: gridItemSize.height - 26
|
|
73
103
|
});
|
|
74
104
|
break;
|
|
105
|
+
|
|
75
106
|
case '4*3':
|
|
76
107
|
if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {
|
|
77
108
|
setState({
|
|
@@ -84,7 +115,9 @@ var GridItem = function GridItem(props) {
|
|
|
84
115
|
height: '100%'
|
|
85
116
|
});
|
|
86
117
|
}
|
|
118
|
+
|
|
87
119
|
break;
|
|
120
|
+
|
|
88
121
|
case '16*9':
|
|
89
122
|
if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {
|
|
90
123
|
setState({
|
|
@@ -97,6 +130,7 @@ var GridItem = function GridItem(props) {
|
|
|
97
130
|
height: '100%'
|
|
98
131
|
});
|
|
99
132
|
}
|
|
133
|
+
|
|
100
134
|
break;
|
|
101
135
|
}
|
|
102
136
|
}
|
|
@@ -109,9 +143,11 @@ var GridItem = function GridItem(props) {
|
|
|
109
143
|
var isExpanded = false;
|
|
110
144
|
var showInfo = false;
|
|
111
145
|
var info = [];
|
|
112
|
-
|
|
146
|
+
|
|
147
|
+
var handleTimeChange = function handleTimeChange(time, speed) {
|
|
113
148
|
if (time !== '' && channels[palyIndex].tagId == '' && channels[palyIndex].index != -1 && (0, _moment["default"])(time).diff((0, _moment["default"])(channels[palyIndex].endTime), 'seconds') >= 0) {
|
|
114
149
|
var newChannels = _toConsumableArray(channels);
|
|
150
|
+
|
|
115
151
|
var length = channels[palyIndex].tableList.length;
|
|
116
152
|
var index = channels[palyIndex].index + 1 % length;
|
|
117
153
|
newChannels[palyIndex].index = index;
|
|
@@ -119,11 +155,14 @@ var GridItem = function GridItem(props) {
|
|
|
119
155
|
newChannels[palyIndex].endTime = channels[palyIndex].tableList[index].endTime;
|
|
120
156
|
setChannels(newChannels);
|
|
121
157
|
}
|
|
158
|
+
|
|
122
159
|
if (palyIndex === activeIndex) {
|
|
123
160
|
var progress = (0, _moment["default"])(time).diff((0, _moment["default"])(startTime).startOf('day'), 'seconds') / (24 * 60 * 60) * 100;
|
|
124
161
|
setTimeLinePosition(progress);
|
|
162
|
+
onTimeChange && onTimeChange(time, speed);
|
|
125
163
|
}
|
|
126
164
|
};
|
|
165
|
+
|
|
127
166
|
return (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
128
167
|
className: "grid-item-container ".concat(active ? 'active' : '', " ").concat(loading ? '' : 'emptyImg'),
|
|
129
168
|
onClick: onClick,
|
|
@@ -164,6 +203,7 @@ var GridItem = function GridItem(props) {
|
|
|
164
203
|
})
|
|
165
204
|
}));
|
|
166
205
|
};
|
|
206
|
+
|
|
167
207
|
var _default = GridItem;
|
|
168
208
|
exports["default"] = _default;
|
|
169
209
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_historyPlayer","_interopRequireDefault","_context","_utils","_ahooks","_lodash","_moment","_setTagVideo","_tagVideo","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","GridItem","props","_useContext","useContext","historyControlV2Context","loading","channels","setChannels","activeIndex","setTimeLinePosition","active","onClick","onClose","onScreenshot","scale","_props$palyIndex","palyIndex","_props$channel","channel","DEFAULT_PLAY_PARAMS","_useState","useState","_useState2","tagSetShow","setTagSetShow","url","startTime","endTime","channelName","deviceName","hasLabel","_useSetState","useSetState","width","height","_useSetState2","_useSetState2$","setState","gridItemRef","useRef","gridItemSize","useSize","useEffect","historyPlayerProps","isExpanded","showInfo","info","handleTimeChange","time","tagId","index","moment","diff","newChannels","tableList","beginTime","progress","startOf","_jsx","assign","className","concat","ref","children","channelNum","_jsxs","_Fragment","PlayerHeader","extraButton","TagVideo","style","HistoryPlayer","controlBottom","onTimeChange","_","throttle","controlVisible","SetTagVideo","screenshot","_default","exports"],"sources":["history-control-v2/components/grid-item/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { PlayerHeader } from '../../../controls';\nimport HistoryPlayer from '../../../history-player';\nimport { historyControlV2Context } from '../../context';\nimport { DEFAULT_PLAY_PARAMS } from '../../utils';\nimport { useSetState, useSize } from 'ahooks';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport SetTagVideo from '../../../components/set-tag-video';\nimport TagVideo from '../../../components/tag-video';\nconst GridItem = (props) => {\n const { loading, channels, setChannels, activeIndex, setTimeLinePosition } = useContext(historyControlV2Context); // setTimeLinePosition\n const { active, onClick, onClose, onScreenshot, scale, palyIndex = 0, channel = DEFAULT_PLAY_PARAMS } = props;\n const [tagSetShow, setTagSetShow] = useState(false);\n const { url, startTime, endTime, channelName, deviceName, hasLabel } = channel;\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 historyPlayerProps = {\n url,\n startTime,\n endTime,\n };\n const isExpanded = false;\n const showInfo = false;\n const info = [];\n const handleTimeChange = (time) => {\n if (time !== '' && channels[palyIndex].tagId == '' && channels[palyIndex].index != -1 && moment(time).diff(moment(channels[palyIndex].endTime), 'seconds') >= 0) {\n const newChannels = [...channels];\n const length = channels[palyIndex].tableList.length;\n const index = channels[palyIndex].index + 1 % length;\n newChannels[palyIndex].index = index;\n newChannels[palyIndex].startTime = channels[palyIndex].tableList[index].beginTime;\n newChannels[palyIndex].endTime = channels[palyIndex].tableList[index].endTime;\n setChannels(newChannels);\n }\n if (palyIndex === activeIndex) {\n const progress = (moment(time).diff(moment(startTime).startOf('day'), 'seconds') / (24 * 60 * 60)) *\n 100;\n setTimeLinePosition(progress);\n }\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: channel.channelNum && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: `${deviceName}-${channelName}`, onClose: onClose, extraButton: hasLabel ? _jsx(TagVideo, { channel: channel }) : null }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: historyPlayerProps.url && historyPlayerProps.startTime && historyPlayerProps.endTime && (_jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(HistoryPlayer, Object.assign({}, historyPlayerProps, { controlBottom: isExpanded ? 235 : 0, onTimeChange: _.throttle(handleTimeChange, 999), showInfo: showInfo, info: info, controlVisible: tagSetShow, activeIndex: palyIndex, extraButton: _jsx(SetTagVideo, { tagSetShow: tagSetShow, setTagSetShow: setTagSetShow, channel: channel }), screenshot: onScreenshot })) }))) }))] })) })));\n};\nexport default GridItem;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["GridItem","props","useContext","historyControlV2Context","loading","channels","setChannels","activeIndex","setTimeLinePosition","active","onTimeChange","onClick","onClose","onScreenshot","scale","palyIndex","channel","DEFAULT_PLAY_PARAMS","useState","tagSetShow","setTagSetShow","url","startTime","endTime","channelName","deviceName","hasLabel","useSetState","width","height","setState","gridItemRef","useRef","gridItemSize","useSize","useEffect","historyPlayerProps","isExpanded","showInfo","info","handleTimeChange","time","speed","tagId","index","moment","diff","newChannels","length","tableList","beginTime","progress","startOf","_jsx","Object","assign","className","ref","children","channelNum","_jsxs","_Fragment","PlayerHeader","name","extraButton","TagVideo","style","HistoryPlayer","controlBottom","_","throttle","controlVisible","SetTagVideo","screenshot"],"sources":["history-control-v2/components/grid-item/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport { PlayerHeader } from '../../../controls';\nimport HistoryPlayer from '../../../history-player';\nimport { historyControlV2Context } from '../../context';\nimport { DEFAULT_PLAY_PARAMS } from '../../utils';\nimport { useSetState, useSize } from 'ahooks';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport SetTagVideo from '../../../components/set-tag-video';\nimport TagVideo from '../../../components/tag-video';\nconst GridItem = (props) => {\n const { loading, channels, setChannels, activeIndex, setTimeLinePosition } = useContext(historyControlV2Context); // setTimeLinePosition\n const { active, onTimeChange, onClick, onClose, onScreenshot, scale, palyIndex = 0, channel = DEFAULT_PLAY_PARAMS } = props;\n const [tagSetShow, setTagSetShow] = useState(false);\n const { url, startTime, endTime, channelName, deviceName, hasLabel } = channel;\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 historyPlayerProps = {\n url,\n startTime,\n endTime,\n };\n const isExpanded = false;\n const showInfo = false;\n const info = [];\n const handleTimeChange = (time, speed) => {\n if (time !== '' && channels[palyIndex].tagId == '' && channels[palyIndex].index != -1 && moment(time).diff(moment(channels[palyIndex].endTime), 'seconds') >= 0) {\n const newChannels = [...channels];\n const length = channels[palyIndex].tableList.length;\n const index = channels[palyIndex].index + 1 % length;\n newChannels[palyIndex].index = index;\n newChannels[palyIndex].startTime = channels[palyIndex].tableList[index].beginTime;\n newChannels[palyIndex].endTime = channels[palyIndex].tableList[index].endTime;\n setChannels(newChannels);\n }\n if (palyIndex === activeIndex) {\n const progress = (moment(time).diff(moment(startTime).startOf('day'), 'seconds') / (24 * 60 * 60)) *\n 100;\n setTimeLinePosition(progress);\n onTimeChange && onTimeChange(time, speed);\n }\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: channel.channelNum && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: `${deviceName}-${channelName}`, onClose: onClose, extraButton: hasLabel ? _jsx(TagVideo, { channel: channel }) : null }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: historyPlayerProps.url && historyPlayerProps.startTime && historyPlayerProps.endTime && (_jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(HistoryPlayer, Object.assign({}, historyPlayerProps, { controlBottom: isExpanded ? 235 : 0, onTimeChange: _.throttle(handleTimeChange, 999), showInfo: showInfo, info: info, controlVisible: tagSetShow, activeIndex: palyIndex, extraButton: _jsx(SetTagVideo, { tagSetShow: tagSetShow, setTagSetShow: setTagSetShow, channel: channel }), screenshot: onScreenshot })) }))) }))] })) })));\n};\nexport default GridItem;\n"],"mappings":"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"}
|
|
@@ -4,58 +4,89 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.HistoryControlV2Panel = 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 _icons = require("../../../icons");
|
|
17
|
+
|
|
12
18
|
var _utils = require("../../../utils");
|
|
19
|
+
|
|
13
20
|
var _context = require("../../context");
|
|
21
|
+
|
|
14
22
|
var _collapse = _interopRequireDefault(require("../../images/collapse.png"));
|
|
23
|
+
|
|
15
24
|
var _utils2 = require("../../utils");
|
|
25
|
+
|
|
16
26
|
var _ahooks = require("ahooks");
|
|
27
|
+
|
|
17
28
|
var _button = _interopRequireDefault(require("antd/lib/button"));
|
|
29
|
+
|
|
18
30
|
var _message = _interopRequireDefault(require("antd/lib/message"));
|
|
31
|
+
|
|
19
32
|
var _table = _interopRequireDefault(require("antd/lib/table"));
|
|
33
|
+
|
|
20
34
|
var _tooltip = _interopRequireDefault(require("antd/lib/tooltip"));
|
|
35
|
+
|
|
21
36
|
var _moment = _interopRequireDefault(require("moment"));
|
|
37
|
+
|
|
22
38
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
23
40
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
41
|
+
|
|
24
42
|
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."); }
|
|
43
|
+
|
|
25
44
|
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); }
|
|
45
|
+
|
|
26
46
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
47
|
+
|
|
27
48
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
28
|
-
|
|
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
|
+
|
|
29
52
|
var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
30
53
|
var _useContext = (0, _react.useContext)(_context.historyControlV2Context),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
54
|
+
channels = _useContext.channels,
|
|
55
|
+
setChannels = _useContext.setChannels,
|
|
56
|
+
setLoading = _useContext.setLoading,
|
|
57
|
+
activeIndex = _useContext.activeIndex,
|
|
58
|
+
setActiveIndex = _useContext.setActiveIndex,
|
|
59
|
+
timeLinePosition = _useContext.timeLinePosition;
|
|
60
|
+
|
|
37
61
|
var realChannels = channels.filter(function (item) {
|
|
38
62
|
return item.channelNum !== '';
|
|
39
63
|
});
|
|
40
64
|
var segmentsRef = (0, _react.useRef)(null);
|
|
65
|
+
|
|
41
66
|
var getRef = function getRef() {
|
|
42
67
|
return segmentsRef.current;
|
|
43
68
|
};
|
|
69
|
+
|
|
44
70
|
var onVideoClose = props.onVideoClose;
|
|
71
|
+
|
|
45
72
|
var _useCollapse = (0, _reactCollapsed["default"])({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
73
|
+
defaultExpanded: true // 默认展开
|
|
74
|
+
|
|
75
|
+
}),
|
|
76
|
+
getCollapseProps = _useCollapse.getCollapseProps,
|
|
77
|
+
getToggleProps = _useCollapse.getToggleProps,
|
|
78
|
+
isExpanded = _useCollapse.isExpanded;
|
|
79
|
+
|
|
51
80
|
var _useRequest = (0, _ahooks.useRequest)(_api.getHistoryUrls, {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
81
|
+
manual: true
|
|
82
|
+
}),
|
|
83
|
+
runAsync = _useRequest.runAsync;
|
|
84
|
+
|
|
55
85
|
var _useRequest2 = (0, _ahooks.useRequest)(_api.getPlaybackUrlSingle, {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
86
|
+
manual: true
|
|
87
|
+
}),
|
|
88
|
+
GetHKV2Url = _useRequest2.runAsync;
|
|
89
|
+
|
|
59
90
|
var columns = [{
|
|
60
91
|
title: '序号',
|
|
61
92
|
dataIndex: 'index',
|
|
@@ -66,12 +97,14 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
66
97
|
width: 90,
|
|
67
98
|
render: function render(_, record, index) {
|
|
68
99
|
var _a;
|
|
100
|
+
|
|
69
101
|
var active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;
|
|
70
102
|
return (0, _jsxRuntime.jsx)(_button["default"], Object.assign({
|
|
71
103
|
className: "play-btn ".concat(active ? 'active' : ''),
|
|
72
104
|
onClick: function onClick() {
|
|
73
105
|
if (active) {
|
|
74
106
|
var newChannels = _toConsumableArray(channels);
|
|
107
|
+
|
|
75
108
|
newChannels[activeIndex].index = -1;
|
|
76
109
|
newChannels[activeIndex].startTime = '';
|
|
77
110
|
newChannels[activeIndex].endTime = '';
|
|
@@ -81,6 +114,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
81
114
|
// eslint-disable-next-line no-inner-declarations
|
|
82
115
|
var deal = function deal(url) {
|
|
83
116
|
var newChannels = _toConsumableArray(channels);
|
|
117
|
+
|
|
84
118
|
newChannels[activeIndex].index = index;
|
|
85
119
|
newChannels[activeIndex].startTime = record.beginTime;
|
|
86
120
|
newChannels[activeIndex].endTime = record.endTime;
|
|
@@ -88,6 +122,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
88
122
|
newChannels[activeIndex].url = url || record.url;
|
|
89
123
|
setChannels(newChannels);
|
|
90
124
|
};
|
|
125
|
+
|
|
91
126
|
if (record.hkType === 'HK_CAR_CLOUD_V2') {
|
|
92
127
|
GetHKV2Url({
|
|
93
128
|
code: record.code,
|
|
@@ -116,7 +151,8 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
116
151
|
}
|
|
117
152
|
}, {
|
|
118
153
|
title: '设备名称',
|
|
119
|
-
dataIndex: 'deviceName'
|
|
154
|
+
dataIndex: 'deviceName',
|
|
155
|
+
width: 200
|
|
120
156
|
}, {
|
|
121
157
|
title: '开始时间',
|
|
122
158
|
dataIndex: 'beginTime',
|
|
@@ -134,6 +170,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
134
170
|
width: 110,
|
|
135
171
|
dataIndex: 'size'
|
|
136
172
|
}];
|
|
173
|
+
|
|
137
174
|
var loadData = function loadData(channel) {
|
|
138
175
|
setLoading(true);
|
|
139
176
|
runAsync({
|
|
@@ -147,10 +184,13 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
147
184
|
if (res.length > 25) {
|
|
148
185
|
_message["default"].info('最多播放25个视频通道');
|
|
149
186
|
}
|
|
187
|
+
|
|
150
188
|
var newIds = _toConsumableArray(res).map(function (item) {
|
|
151
189
|
return "".concat(item.deviceId).concat(item.channelNum);
|
|
152
190
|
});
|
|
191
|
+
|
|
153
192
|
var newChannels = _toConsumableArray(channels);
|
|
193
|
+
|
|
154
194
|
channels.map(function (item, index) {
|
|
155
195
|
if (!newIds.includes("".concat(item.deviceId).concat(item.channelNum))) {
|
|
156
196
|
newChannels[index] = Object.assign({
|
|
@@ -159,7 +199,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
159
199
|
}
|
|
160
200
|
});
|
|
161
201
|
var fetchArr = [],
|
|
162
|
-
|
|
202
|
+
fetchIndexArr = [];
|
|
163
203
|
res.filter(function (item, index) {
|
|
164
204
|
return index < 25;
|
|
165
205
|
}).map(function (item) {
|
|
@@ -168,17 +208,22 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
168
208
|
* 优化第一条数据的开始时间不要早于请求的开始时间
|
|
169
209
|
* 最后一条的结束时间不要晚于请求的结束时间
|
|
170
210
|
*/
|
|
211
|
+
|
|
212
|
+
|
|
171
213
|
if (item.list.length) {
|
|
172
214
|
if ((0, _moment["default"])((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime).diff((0, _moment["default"])(channel.beginTime), 'seconds') < 0) {
|
|
173
215
|
item.list[0].beginTime = channel.beginTime;
|
|
174
216
|
}
|
|
217
|
+
|
|
175
218
|
if ((0, _moment["default"])((_d = (_c = item.list) === null || _c === void 0 ? void 0 : _c[item.list.length - 1]) === null || _d === void 0 ? void 0 : _d.endTime).diff((0, _moment["default"])(channel.endTime), 'seconds') > 0) {
|
|
176
219
|
item.list[item.list.length - 1].endTime = channel.endTime;
|
|
177
220
|
}
|
|
178
221
|
}
|
|
222
|
+
|
|
179
223
|
var result = (_e = newChannels.filter(function (citem) {
|
|
180
224
|
return citem.deviceId === item.deviceId && citem.channelNum === item.channelNum;
|
|
181
225
|
})) === null || _e === void 0 ? void 0 : _e[0];
|
|
226
|
+
|
|
182
227
|
if (result) {
|
|
183
228
|
var isClose = newChannels[result.channelIndex].index === -1 && newChannels[result.channelIndex].tagId === '';
|
|
184
229
|
newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), {
|
|
@@ -191,12 +236,14 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
191
236
|
var channelIndex = (_l = (_k = newChannels.filter(function (item) {
|
|
192
237
|
return item.channelNum === '';
|
|
193
238
|
})) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.channelIndex;
|
|
239
|
+
|
|
194
240
|
if (typeof channelIndex == 'number') {
|
|
195
241
|
// 过滤跨天的数据
|
|
196
242
|
item.list = item.list.filter(function (e) {
|
|
197
243
|
return e.beginTime.slice(0, 10) === e.endTime.slice(0, 10);
|
|
198
244
|
});
|
|
199
245
|
var data = (0, _utils2.getChannelData)(item, channel);
|
|
246
|
+
|
|
200
247
|
if (data.hkType === 'HK_CAR_CLOUD_V2') {
|
|
201
248
|
fetchArr.push(GetHKV2Url({
|
|
202
249
|
code: data.code,
|
|
@@ -208,12 +255,14 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
208
255
|
}));
|
|
209
256
|
fetchIndexArr.push(channelIndex);
|
|
210
257
|
}
|
|
258
|
+
|
|
211
259
|
newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);
|
|
212
260
|
} else {
|
|
213
261
|
_message["default"].error('没有多余的播放位置');
|
|
214
262
|
}
|
|
215
263
|
}
|
|
216
264
|
});
|
|
265
|
+
|
|
217
266
|
if (fetchArr.length) {
|
|
218
267
|
Promise.all(fetchArr).then(function (data) {
|
|
219
268
|
data.forEach(function (e, index) {
|
|
@@ -229,9 +278,11 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
229
278
|
} else {
|
|
230
279
|
_message["default"].info('未查询到视频');
|
|
231
280
|
}
|
|
281
|
+
|
|
232
282
|
setLoading(false);
|
|
233
283
|
});
|
|
234
284
|
};
|
|
285
|
+
|
|
235
286
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
236
287
|
return {
|
|
237
288
|
load: function load(channel) {
|
|
@@ -269,8 +320,10 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
269
320
|
children: [(0, _jsxRuntime.jsx)(TimeVerticalLine, {
|
|
270
321
|
getRef: getRef,
|
|
271
322
|
history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData,
|
|
323
|
+
channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName,
|
|
272
324
|
onClick: function onClick(index, startTime, endTime) {
|
|
273
325
|
var newChannels = _toConsumableArray(channels);
|
|
326
|
+
|
|
274
327
|
newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), {
|
|
275
328
|
index: index,
|
|
276
329
|
startTime: (0, _moment["default"])(startTime).format(_utils.TimeFormat.params),
|
|
@@ -329,7 +382,8 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
329
382
|
columns: columns,
|
|
330
383
|
dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [],
|
|
331
384
|
scroll: {
|
|
332
|
-
y: 100
|
|
385
|
+
y: 100,
|
|
386
|
+
x: 920
|
|
333
387
|
},
|
|
334
388
|
pagination: false,
|
|
335
389
|
rowKey: function rowKey() {
|
|
@@ -337,6 +391,7 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
337
391
|
},
|
|
338
392
|
rowClassName: function rowClassName(_, index) {
|
|
339
393
|
var _a;
|
|
394
|
+
|
|
340
395
|
return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : '';
|
|
341
396
|
}
|
|
342
397
|
})
|
|
@@ -348,10 +403,12 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
|
|
|
348
403
|
});
|
|
349
404
|
});
|
|
350
405
|
exports.HistoryControlV2Panel = HistoryControlV2Panel;
|
|
406
|
+
|
|
351
407
|
var TimeLine = function TimeLine() {
|
|
352
408
|
var getSplitLines = function getSplitLines() {
|
|
353
409
|
var result = [];
|
|
354
410
|
var step = 100 / 24;
|
|
411
|
+
|
|
355
412
|
for (var i = 0; i < 25; i++) {
|
|
356
413
|
var element = (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
357
414
|
className: "line",
|
|
@@ -367,8 +424,10 @@ var TimeLine = function TimeLine() {
|
|
|
367
424
|
}), i);
|
|
368
425
|
result.push(element);
|
|
369
426
|
}
|
|
427
|
+
|
|
370
428
|
return result;
|
|
371
429
|
};
|
|
430
|
+
|
|
372
431
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
373
432
|
className: "time-axis"
|
|
374
433
|
}, {
|
|
@@ -381,40 +440,48 @@ var TimeLine = function TimeLine() {
|
|
|
381
440
|
}))]
|
|
382
441
|
}));
|
|
383
442
|
};
|
|
443
|
+
|
|
384
444
|
var ONEDAY_MILL = 24 * 60 * 60 * 1000;
|
|
445
|
+
|
|
385
446
|
var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
386
447
|
var getRef = _ref.getRef,
|
|
387
|
-
|
|
388
|
-
|
|
448
|
+
history = _ref.history,
|
|
449
|
+
_onClick = _ref.onClick,
|
|
450
|
+
channelName = _ref.channelName;
|
|
451
|
+
|
|
389
452
|
var _a;
|
|
453
|
+
|
|
390
454
|
var mouse = (0, _ahooks.useMouse)(getRef());
|
|
391
455
|
var elementX = mouse.elementX,
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;
|
|
396
|
-
|
|
456
|
+
elementY = mouse.elementY,
|
|
457
|
+
elementW = mouse.elementW,
|
|
458
|
+
elementH = mouse.elementH;
|
|
459
|
+
var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH; // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。
|
|
460
|
+
|
|
397
461
|
var percent = elementX / elementW;
|
|
398
462
|
var time = (0, _moment["default"])((0, _moment["default"])(history.start).valueOf() + percent * ONEDAY_MILL).format(_utils.TimeFormat.params);
|
|
399
463
|
var flag = false,
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
464
|
+
playStart = -1,
|
|
465
|
+
playEnd = -1,
|
|
466
|
+
index = -1;
|
|
403
467
|
var now = (0, _moment["default"])(time).valueOf();
|
|
468
|
+
|
|
404
469
|
for (var i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {
|
|
405
470
|
var begin = (0, _moment["default"])(history.list[i].beginTime).valueOf(),
|
|
406
|
-
|
|
471
|
+
end = (0, _moment["default"])(history.list[i].endTime).valueOf();
|
|
472
|
+
|
|
407
473
|
if (now >= begin && now <= end) {
|
|
408
|
-
index = i;
|
|
409
|
-
|
|
474
|
+
index = i; // url = history.list[i].playbackUrl;
|
|
475
|
+
|
|
410
476
|
playStart = now;
|
|
411
477
|
playEnd = end;
|
|
412
478
|
flag = true;
|
|
413
479
|
break;
|
|
414
480
|
}
|
|
415
481
|
}
|
|
482
|
+
|
|
416
483
|
return visible ? flag ? (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({
|
|
417
|
-
title: time
|
|
484
|
+
title: "".concat(channelName || '', " ").concat(time)
|
|
418
485
|
}, {
|
|
419
486
|
children: (0, _jsxRuntime.jsx)("div", {
|
|
420
487
|
className: "timeline",
|
|
@@ -435,20 +502,25 @@ var TimeVerticalLine = function TimeVerticalLine(_ref) {
|
|
|
435
502
|
}
|
|
436
503
|
}) : (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
|
|
437
504
|
};
|
|
505
|
+
|
|
438
506
|
var getSegments = function getSegments(props) {
|
|
439
507
|
var _props$list = props.list,
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
508
|
+
list = _props$list === void 0 ? [] : _props$list,
|
|
509
|
+
start = props.start,
|
|
510
|
+
end = props.end;
|
|
443
511
|
var startTime = (0, _moment["default"])(start);
|
|
444
512
|
var endTime = (0, _moment["default"])(end);
|
|
445
513
|
var total = endTime.diff(startTime, 'seconds'); // 总时间
|
|
514
|
+
|
|
446
515
|
var result = list === null || list === void 0 ? void 0 : list.map(function (i) {
|
|
447
516
|
var itemStart = (0, _moment["default"])(i.beginTime).diff(startTime, 'seconds') > 0 ? (0, _moment["default"])(i.beginTime) : startTime;
|
|
448
517
|
var itemEnd = (0, _moment["default"])(i.endTime);
|
|
449
518
|
var itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间
|
|
519
|
+
|
|
450
520
|
var width = itemTotal / total * 100; // 分段时间占总时间百分比
|
|
521
|
+
|
|
451
522
|
var left = itemStart.diff(startTime, 'seconds') / total * 100; // 分段其实时间
|
|
523
|
+
|
|
452
524
|
return (0, _jsxRuntime.jsx)("div", {
|
|
453
525
|
className: "segment",
|
|
454
526
|
style: {
|
|
@@ -459,6 +531,7 @@ var getSegments = function getSegments(props) {
|
|
|
459
531
|
});
|
|
460
532
|
return result;
|
|
461
533
|
};
|
|
534
|
+
|
|
462
535
|
HistoryControlV2Panel.displayName = 'HistoryControlV2Panel';
|
|
463
536
|
var _default = HistoryControlV2Panel;
|
|
464
537
|
exports["default"] = _default;
|