@vtx/player 1.0.12 → 1.0.14

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 (110) hide show
  1. package/lib/api/fetch.js +75 -51
  2. package/lib/api/fetch.js.map +1 -1
  3. package/lib/api/index.js +62 -18
  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 +111 -59
  7. package/lib/bill-player/index.js.map +1 -1
  8. package/lib/bill-player/style/css.js +9 -0
  9. package/lib/bill-player/style/css.js.map +1 -1
  10. package/lib/bill-player/style/index.css +0 -3
  11. package/lib/bill-player/style/index.js +9 -0
  12. package/lib/bill-player/style/index.js.map +1 -1
  13. package/lib/bill-player/style/index.less +0 -1
  14. package/lib/components/set-tag-video/index.js +34 -6
  15. package/lib/components/set-tag-video/index.js.map +1 -1
  16. package/lib/components/set-tag-video/style/css.js.map +1 -1
  17. package/lib/components/set-tag-video/style/index.js.map +1 -1
  18. package/lib/components/split-screen/index.d.ts +1 -1
  19. package/lib/components/split-screen/index.js +14 -3
  20. package/lib/components/split-screen/index.js.map +1 -1
  21. package/lib/components/split-screen/style/css.js.map +1 -1
  22. package/lib/components/split-screen/style/index.js.map +1 -1
  23. package/lib/components/tag-video/index.js +38 -10
  24. package/lib/components/tag-video/index.js.map +1 -1
  25. package/lib/components/tag-video/style/css.js.map +1 -1
  26. package/lib/components/tag-video/style/index.js.map +1 -1
  27. package/lib/components/video-scale/index.d.ts +1 -1
  28. package/lib/components/video-scale/index.js +9 -2
  29. package/lib/components/video-scale/index.js.map +1 -1
  30. package/lib/components/video-scale/style/css.js.map +1 -1
  31. package/lib/components/video-scale/style/index.js.map +1 -1
  32. package/lib/context/index.js +4 -0
  33. package/lib/context/index.js.map +1 -1
  34. package/lib/controls/index.d.ts +3 -3
  35. package/lib/controls/index.js +97 -33
  36. package/lib/controls/index.js.map +1 -1
  37. package/lib/controls/style/css.js +5 -0
  38. package/lib/controls/style/css.js.map +1 -1
  39. package/lib/controls/style/index.js +5 -0
  40. package/lib/controls/style/index.js.map +1 -1
  41. package/lib/history-control/index.d.ts +2 -2
  42. package/lib/history-control/index.js +114 -57
  43. package/lib/history-control/index.js.map +1 -1
  44. package/lib/history-control/style/css.js +6 -0
  45. package/lib/history-control/style/css.js.map +1 -1
  46. package/lib/history-control/style/index.js +6 -0
  47. package/lib/history-control/style/index.js.map +1 -1
  48. package/lib/history-control-v2/components/grid-item/index.d.ts +2 -0
  49. package/lib/history-control-v2/components/grid-item/index.js +72 -32
  50. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  51. package/lib/history-control-v2/components/panel/index.js +111 -38
  52. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  53. package/lib/history-control-v2/context.js +2 -0
  54. package/lib/history-control-v2/context.js.map +1 -1
  55. package/lib/history-control-v2/index.d.ts +4 -4
  56. package/lib/history-control-v2/index.js +170 -97
  57. package/lib/history-control-v2/index.js.map +1 -1
  58. package/lib/history-control-v2/interface.d.ts +2 -0
  59. package/lib/history-control-v2/style/css.js +10 -0
  60. package/lib/history-control-v2/style/css.js.map +1 -1
  61. package/lib/history-control-v2/style/index.js +10 -0
  62. package/lib/history-control-v2/style/index.js.map +1 -1
  63. package/lib/history-control-v2/utils.js +21 -1
  64. package/lib/history-control-v2/utils.js.map +1 -1
  65. package/lib/history-player/index.d.ts +1 -1
  66. package/lib/history-player/index.js +118 -73
  67. package/lib/history-player/index.js.map +1 -1
  68. package/lib/history-player/style/css.js +3 -0
  69. package/lib/history-player/style/css.js.map +1 -1
  70. package/lib/history-player/style/index.js +3 -0
  71. package/lib/history-player/style/index.js.map +1 -1
  72. package/lib/hooks/useSettings.js +6 -1
  73. package/lib/hooks/useSettings.js.map +1 -1
  74. package/lib/icons/index.js +171 -23
  75. package/lib/icons/index.js.map +1 -1
  76. package/lib/index.js +10 -0
  77. package/lib/index.js.map +1 -1
  78. package/lib/live-channel-player/index.js +67 -31
  79. package/lib/live-channel-player/index.js.map +1 -1
  80. package/lib/live-channel-player/style/css.js +1 -0
  81. package/lib/live-channel-player/style/css.js.map +1 -1
  82. package/lib/live-channel-player/style/index.js +1 -0
  83. package/lib/live-channel-player/style/index.js.map +1 -1
  84. package/lib/live-control/index.d.ts +2 -2
  85. package/lib/live-control/index.js +83 -32
  86. package/lib/live-control/index.js.map +1 -1
  87. package/lib/live-control/style/css.js +4 -0
  88. package/lib/live-control/style/css.js.map +1 -1
  89. package/lib/live-control/style/index.js +4 -0
  90. package/lib/live-control/style/index.js.map +1 -1
  91. package/lib/live-control-v2/index.d.ts +3 -3
  92. package/lib/live-control-v2/index.js +125 -53
  93. package/lib/live-control-v2/index.js.map +1 -1
  94. package/lib/live-control-v2/style/css.js +7 -0
  95. package/lib/live-control-v2/style/css.js.map +1 -1
  96. package/lib/live-control-v2/style/index.js +7 -0
  97. package/lib/live-control-v2/style/index.js.map +1 -1
  98. package/lib/live-player/index.js +56 -32
  99. package/lib/live-player/index.js.map +1 -1
  100. package/lib/live-player/style/css.js +2 -0
  101. package/lib/live-player/style/css.js.map +1 -1
  102. package/lib/live-player/style/index.js +2 -0
  103. package/lib/live-player/style/index.js.map +1 -1
  104. package/lib/player/index.d.ts +1 -1
  105. package/lib/player/index.js +122 -43
  106. package/lib/player/index.js.map +1 -1
  107. package/lib/utils/index.d.ts +2 -3
  108. package/lib/utils/index.js +98 -26
  109. package/lib/utils/index.js.map +1 -1
  110. 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
- 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; }
27
- 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; } }
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
- loading = _useContext.loading,
32
- channels = _useContext.channels,
33
- setChannels = _useContext.setChannels,
34
- activeIndex = _useContext.activeIndex,
35
- setTimeLinePosition = _useContext.setTimeLinePosition; // setTimeLinePosition
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
- onClick = props.onClick,
38
- onClose = props.onClose,
39
- onScreenshot = props.onScreenshot,
40
- scale = props.scale,
41
- _props$palyIndex = props.palyIndex,
42
- palyIndex = _props$palyIndex === void 0 ? 0 : _props$palyIndex,
43
- _props$channel = props.channel,
44
- channel = _props$channel === void 0 ? _utils.DEFAULT_PLAY_PARAMS : _props$channel;
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
- _useState2 = _slicedToArray(_useState, 2),
47
- tagSetShow = _useState2[0],
48
- setTagSetShow = _useState2[1];
73
+ _useState2 = _slicedToArray(_useState, 2),
74
+ tagSetShow = _useState2[0],
75
+ setTagSetShow = _useState2[1];
76
+
49
77
  var url = channel.url,
50
- startTime = channel.startTime,
51
- endTime = channel.endTime,
52
- channelName = channel.channelName,
53
- deviceName = channel.deviceName,
54
- hasLabel = channel.hasLabel;
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
- width: '100%',
57
- height: '100%'
58
- }),
59
- _useSetState2 = _slicedToArray(_useSetState, 2),
60
- _useSetState2$ = _useSetState2[0],
61
- width = _useSetState2$.width,
62
- height = _useSetState2$.height,
63
- setState = _useSetState2[1];
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
- var handleTimeChange = function handleTimeChange(time) {
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
- 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 _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
- channels = _useContext.channels,
32
- setChannels = _useContext.setChannels,
33
- setLoading = _useContext.setLoading,
34
- activeIndex = _useContext.activeIndex,
35
- setActiveIndex = _useContext.setActiveIndex,
36
- timeLinePosition = _useContext.timeLinePosition;
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
- defaultExpanded: false // 默认展开
47
- }),
48
- getCollapseProps = _useCollapse.getCollapseProps,
49
- getToggleProps = _useCollapse.getToggleProps,
50
- isExpanded = _useCollapse.isExpanded;
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
- manual: true
53
- }),
54
- runAsync = _useRequest.runAsync;
81
+ manual: true
82
+ }),
83
+ runAsync = _useRequest.runAsync;
84
+
55
85
  var _useRequest2 = (0, _ahooks.useRequest)(_api.getPlaybackUrlSingle, {
56
- manual: true
57
- }),
58
- GetHKV2Url = _useRequest2.runAsync;
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
- fetchIndexArr = [];
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
- history = _ref.history,
388
- _onClick = _ref.onClick;
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
- elementY = mouse.elementY,
393
- elementW = mouse.elementW,
394
- elementH = mouse.elementH;
395
- var visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;
396
- // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。
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
- playStart = -1,
401
- playEnd = -1,
402
- index = -1;
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
- end = (0, _moment["default"])(history.list[i].endTime).valueOf();
471
+ end = (0, _moment["default"])(history.list[i].endTime).valueOf();
472
+
407
473
  if (now >= begin && now <= end) {
408
- index = i;
409
- // url = history.list[i].playbackUrl;
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
- list = _props$list === void 0 ? [] : _props$list,
441
- start = props.start,
442
- end = props.end;
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;