@cloud-app-dev/vidc 2.3.0 → 3.0.2
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/.umirc.ts +2 -2
- package/es/Config/interface.d.ts +2 -1
- package/es/DomMove/demo.d.ts +2 -0
- package/es/DomMove/demo.js +16 -0
- package/es/DomMove/index.d.ts +16 -0
- package/es/DomMove/index.js +145 -0
- package/es/DomMove/utils.d.ts +8 -0
- package/es/{Picture/component/MoveContent → DomMove}/utils.js +19 -0
- package/es/Drawer/index.d.ts +2 -2
- package/es/Drawer/interface.d.ts +4 -174
- package/es/ErrorBoundary/index.d.ts +18 -0
- package/es/ErrorBoundary/index.js +79 -0
- package/es/List/DynamicGridList/Demo.js +40 -27
- package/es/List/DynamicGridList/index.d.ts +20 -29
- package/es/List/DynamicGridList/index.js +40 -63
- package/es/List/DynamicList/index.css +15 -0
- package/es/List/DynamicList/index.d.ts +14 -0
- package/es/List/DynamicList/index.js +105 -0
- package/es/List/DynamicList/interface.d.ts +19 -0
- package/es/List/DynamicList/utils.d.ts +4 -0
- package/es/List/DynamicList/utils.js +6 -0
- package/es/List/GridList/Demo.js +27 -4
- package/es/List/GridList/index.css +1 -0
- package/es/List/GridList/index.d.ts +2 -2
- package/es/List/GridList/index.js +8 -12
- package/es/List/GridList/interface.d.ts +1 -1
- package/es/List/VList/index.js +2 -3
- package/es/List/index.css +2 -54
- package/es/List/index.d.ts +6 -7
- package/es/List/index.js +14 -153
- package/es/List/interface.d.ts +3 -61
- package/es/LoaderApp/index.d.ts +1 -1
- package/es/LoaderApp/index.js +27 -46
- package/es/LoaderApp/interface.d.ts +3 -0
- package/es/LoaderApp/loader.d.ts +6 -7
- package/es/LoaderApp/loader.js +20 -30
- package/es/LoaderApp/sandbox.back.d.ts +18 -0
- package/es/LoaderApp/sandbox.back.js +356 -0
- package/es/LoaderApp/sandbox.d.ts +12 -0
- package/es/LoaderApp/sandbox.js +110 -0
- package/es/LoaderApp/utils.d.ts +5 -1
- package/es/LoaderApp/utils.js +98 -2
- package/es/Map/AMap.d.ts +1572 -0
- package/es/Map/BasicMap/AMapInstance.d.ts +15 -0
- package/es/Map/BasicMap/AMapInstance.js +66 -0
- package/es/Map/BasicMap/LeafletInstance.d.ts +15 -0
- package/es/Map/BasicMap/LeafletInstance.js +98 -0
- package/es/Map/BasicMap/index.css +24 -0
- package/es/Map/BasicMap/index.d.ts +9 -0
- package/es/Map/BasicMap/index.js +103 -0
- package/es/Map/ClusterLayer/hook.d.ts +5 -0
- package/es/Map/ClusterLayer/hook.js +144 -0
- package/es/Map/ClusterLayer/index.css +26 -0
- package/es/Map/ClusterLayer/index.d.ts +5 -0
- package/es/Map/ClusterLayer/index.js +31 -0
- package/es/Map/ClusterLayer/props.d.ts +8 -0
- package/es/Map/Config/index.d.ts +7 -0
- package/es/{InitialConfig → Map/Config}/index.js +35 -36
- package/es/Map/Config/utils.d.ts +2 -0
- package/es/{List/DynamicDeviceList → Map/Config}/utils.js +48 -45
- package/es/Map/Context/index.d.ts +11 -0
- package/es/Map/Context/index.js +66 -0
- package/es/Map/FindPio/index.css +7 -0
- package/es/Map/FindPio/index.d.ts +4 -0
- package/es/Map/FindPio/index.js +16 -0
- package/es/{WorkerFlow/Demo.d.ts → Map/InfoWindow/demo.d.ts} +0 -0
- package/es/{List/DynamicDeviceList/Demo.js → Map/InfoWindow/demo.js} +27 -25
- package/es/Map/InfoWindow/index.d.ts +8 -0
- package/es/Map/InfoWindow/index.js +74 -0
- package/es/Map/LevelCenter/DragMarker/index.d.ts +12 -0
- package/es/Map/LevelCenter/DragMarker/index.js +48 -0
- package/es/{List/DeviceList → Map/LevelCenter}/index.css +0 -0
- package/es/Map/LevelCenter/index.d.ts +13 -0
- package/es/Map/LevelCenter/index.js +42 -0
- package/es/Map/LoaderMap/index.d.ts +12 -0
- package/es/Map/LoaderMap/index.js +58 -0
- package/es/Map/ResetTools/index.css +32 -0
- package/es/Map/ResetTools/index.d.ts +9 -0
- package/es/Map/ResetTools/index.js +61 -0
- package/es/Map/SinglePoint/Marker/index.d.ts +7 -0
- package/es/Map/SinglePoint/Marker/index.js +29 -0
- package/es/Map/SinglePoint/icon/Place_icon_OnLine_Hover.svg +15 -0
- package/es/Map/SinglePoint/icon/Place_icon_OnLine_Normal.svg +15 -0
- package/es/Map/SinglePoint/icon/Place_icon_OutLine_Hover.svg +15 -0
- package/es/Map/SinglePoint/icon/Place_icon_OutLine_Normal.svg +15 -0
- package/es/Map/SinglePoint/index.css +29 -0
- package/es/Map/SinglePoint/index.d.ts +7 -0
- package/es/Map/SinglePoint/index.js +32 -0
- package/es/Map/hook/useMapType.d.ts +4 -0
- package/es/Map/hook/useMapType.js +13 -0
- package/es/Map/icon.d.ts +2 -0
- package/es/Map/icon.js +10 -0
- package/es/Map/index.d.ts +23 -0
- package/es/Map/index.js +25 -0
- package/es/Map/interface.d.ts +55 -0
- package/es/Map/points.json +61247 -0
- package/es/{Picture/component/MoveContent → Map/useMarker}/index.css +0 -0
- package/es/Map/useMarker/index.d.ts +11 -0
- package/es/{WorkerFlow/Form/FormAuth.js → Map/useMarker/index.js} +57 -80
- package/es/Map/withMap/index.d.ts +2 -0
- package/es/Map/withMap/index.js +12 -0
- package/es/Modal/index.js +7 -5
- package/es/Picture/component/RectMenu/index.d.ts +1 -1
- package/es/Picture/index.d.ts +1 -1
- package/es/Picture/index.js +2 -2
- package/es/Player/api/index.d.ts +2 -8
- package/es/Player/api/index.js +29 -35
- package/es/Player/contraller_bar/left_bar.js +2 -2
- package/es/Player/contraller_bar/right_bar.d.ts +1 -1
- package/es/Player/contraller_bar/right_bar.js +13 -27
- package/es/Player/demo.js +21 -24
- package/es/Player/event/index.js +5 -1
- package/es/Player/frontend_player.d.ts +2 -3
- package/es/Player/frontend_player.js +35 -52
- package/es/Player/frontend_timeline.d.ts +3 -2
- package/es/Player/frontend_timeline.js +20 -9
- package/es/Player/live_heart.js +45 -12
- package/es/Player/message.js +23 -12
- package/es/Player/player.d.ts +29 -7
- package/es/Player/segment_player.d.ts +1 -1
- package/es/Player/segment_player.js +50 -39
- package/es/Player/segment_timeline.js +14 -13
- package/es/Player/single_player.js +59 -14
- package/es/Player/timeline.js +8 -6
- package/es/Player/util.d.ts +4 -25
- package/es/Player/util.js +47 -55
- package/es/PlayerExt/index.css +2 -2
- package/es/PlayerExt/index.d.ts +3 -1
- package/es/PlayerExt/index.js +19 -5
- package/es/ScreenPlayer/Live.d.ts +5 -0
- package/es/ScreenPlayer/Live.js +109 -0
- package/es/ScreenPlayer/LiveTools.d.ts +15 -0
- package/es/ScreenPlayer/LiveTools.js +95 -0
- package/es/ScreenPlayer/PlayerWithExt.d.ts +22 -0
- package/es/ScreenPlayer/PlayerWithExt.js +156 -0
- package/es/ScreenPlayer/Record.d.ts +5 -0
- package/es/{WorkerFlow/index.js → ScreenPlayer/Record.js} +286 -273
- package/es/ScreenPlayer/RecordTools.d.ts +17 -0
- package/es/ScreenPlayer/RecordTools.js +102 -0
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +10 -0
- package/es/ScreenPlayer/SegmentTimeLine.js +40 -0
- package/es/ScreenPlayer/TimeSlider.d.ts +127 -0
- package/es/ScreenPlayer/TimeSlider.js +530 -0
- package/es/ScreenPlayer/demo.d.ts +2 -0
- package/es/ScreenPlayer/demo.js +25 -0
- package/es/ScreenPlayer/demo2.d.ts +2 -0
- package/es/ScreenPlayer/demo2.js +153 -0
- package/es/ScreenPlayer/index.css +49 -0
- package/es/ScreenPlayer/index.d.ts +5 -0
- package/es/ScreenPlayer/index.js +8 -0
- package/es/ScreenPlayer/interface.d.ts +81 -0
- package/es/ScreenPlayer/useRecordList.d.ts +3 -0
- package/es/{WorkerFlow/Form/UserAndGroupSelect.js → ScreenPlayer/useRecordList.js} +173 -176
- package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
- package/es/ScreenPlayer/useVideoFit.js +46 -0
- package/es/ScreenPlayer/utils.d.ts +25 -0
- package/es/ScreenPlayer/utils.js +84 -0
- package/es/Timeout/index.d.ts +33 -0
- package/es/Timeout/index.js +83 -0
- package/es/Tree/demo.js +9 -12
- package/es/Tree/index.css +55 -29
- package/es/Tree/index.d.ts +20 -19
- package/es/Tree/index.js +70 -185
- package/es/index.d.ts +8 -9
- package/es/index.js +8 -9
- package/es/useInfiniteScroll/index.d.ts +16 -0
- package/es/{useHttp → useInfiniteScroll}/index.js +79 -43
- package/es/useVirtualList/index.d.ts +13 -0
- package/es/useVirtualList/index.js +175 -0
- package/es/withErrorBoundary/index.d.ts +9 -0
- package/es/withErrorBoundary/index.js +45 -0
- package/package.json +18 -21
- package/release-build.sh +44 -0
- package/test.js +48 -0
- package/es/DeviceIcon/icon.d.ts +0 -9
- package/es/DeviceIcon/icon.js +0 -138
- package/es/DeviceIcon/index.css +0 -8
- package/es/DeviceIcon/index.d.ts +0 -14
- package/es/DeviceIcon/index.js +0 -37
- package/es/DeviceSelect/TreeType.d.ts +0 -7
- package/es/DeviceSelect/TreeType.js +0 -36
- package/es/DeviceSelect/demo.d.ts +0 -3
- package/es/DeviceSelect/demo.js +0 -22
- package/es/DeviceSelect/index.css +0 -11
- package/es/DeviceSelect/index.d.ts +0 -13
- package/es/DeviceSelect/index.js +0 -191
- package/es/Dict/cache.d.ts +0 -3
- package/es/Dict/cache.js +0 -21
- package/es/Dict/device.d.ts +0 -28
- package/es/Dict/device.js +0 -117
- package/es/Dict/hook.d.ts +0 -3
- package/es/Dict/hook.js +0 -98
- package/es/Dict/index.d.ts +0 -9
- package/es/Dict/index.js +0 -10
- package/es/Dict/interface.d.ts +0 -16
- package/es/Dict/utils.d.ts +0 -10
- package/es/Dict/utils.js +0 -44
- package/es/InitialConfig/index.d.ts +0 -8
- package/es/InitialConfig/utils.d.ts +0 -20
- package/es/InitialConfig/utils.js +0 -110
- package/es/InitialRequest/index.d.ts +0 -9
- package/es/InitialRequest/index.js +0 -97
- package/es/InitialRequest/utils.d.ts +0 -10
- package/es/InitialRequest/utils.js +0 -116
- package/es/List/CheckExt.d.ts +0 -9
- package/es/List/CheckExt.js +0 -36
- package/es/List/DeviceList/index.d.ts +0 -11
- package/es/List/DeviceList/index.js +0 -50
- package/es/List/DynamicDeviceList/Demo.d.ts +0 -3
- package/es/List/DynamicDeviceList/index.css +0 -39
- package/es/List/DynamicDeviceList/index.d.ts +0 -12
- package/es/List/DynamicDeviceList/index.js +0 -205
- package/es/List/DynamicDeviceList/interface.d.ts +0 -37
- package/es/List/DynamicDeviceList/utils.d.ts +0 -16
- package/es/List/ListExt/index.css +0 -3
- package/es/List/ListExt/index.d.ts +0 -19
- package/es/List/ListExt/index.js +0 -44
- package/es/Picture/component/MoveContent/index.d.ts +0 -39
- package/es/Picture/component/MoveContent/index.js +0 -244
- package/es/Picture/component/MoveContent/utils.d.ts +0 -4
- package/es/Title/index.css +0 -25
- package/es/Title/index.d.ts +0 -12
- package/es/Title/index.js +0 -30
- package/es/Tree/BaseTree/index.css +0 -64
- package/es/Tree/BaseTree/index.d.ts +0 -24
- package/es/Tree/BaseTree/index.js +0 -83
- package/es/UserSelect/demo.d.ts +0 -3
- package/es/UserSelect/demo.js +0 -21
- package/es/UserSelect/index.css +0 -16
- package/es/UserSelect/index.d.ts +0 -18
- package/es/UserSelect/index.js +0 -194
- package/es/WorkerFlow/Demo.js +0 -57
- package/es/WorkerFlow/Form/Approver.d.ts +0 -10
- package/es/WorkerFlow/Form/Approver.js +0 -33
- package/es/WorkerFlow/Form/Condition.d.ts +0 -11
- package/es/WorkerFlow/Form/Condition.js +0 -235
- package/es/WorkerFlow/Form/EmptyUserSet.d.ts +0 -8
- package/es/WorkerFlow/Form/EmptyUserSet.js +0 -137
- package/es/WorkerFlow/Form/FormAuth.d.ts +0 -8
- package/es/WorkerFlow/Form/GroupList.d.ts +0 -12
- package/es/WorkerFlow/Form/GroupList.js +0 -44
- package/es/WorkerFlow/Form/GroupSelect.d.ts +0 -8
- package/es/WorkerFlow/Form/GroupSelect.js +0 -167
- package/es/WorkerFlow/Form/GroupSelectModalContent.d.ts +0 -6
- package/es/WorkerFlow/Form/GroupSelectModalContent.js +0 -177
- package/es/WorkerFlow/Form/Handle.d.ts +0 -10
- package/es/WorkerFlow/Form/Handle.js +0 -33
- package/es/WorkerFlow/Form/LevelGroupSelect.d.ts +0 -12
- package/es/WorkerFlow/Form/LevelGroupSelect.js +0 -208
- package/es/WorkerFlow/Form/Notifier.d.ts +0 -8
- package/es/WorkerFlow/Form/Notifier.js +0 -16
- package/es/WorkerFlow/Form/UserAndGroupSelect.d.ts +0 -8
- package/es/WorkerFlow/Form/UserSelect.d.ts +0 -8
- package/es/WorkerFlow/Form/UserSelect.js +0 -150
- package/es/WorkerFlow/Form/UserSelectModalContent.d.ts +0 -6
- package/es/WorkerFlow/Form/UserSelectModalContent.js +0 -166
- package/es/WorkerFlow/Form/UserSet.d.ts +0 -14
- package/es/WorkerFlow/Form/UserSet.js +0 -308
- package/es/WorkerFlow/Form/UsersHandleType.d.ts +0 -7
- package/es/WorkerFlow/Form/UsersHandleType.js +0 -32
- package/es/WorkerFlow/Form/utils.d.ts +0 -3
- package/es/WorkerFlow/Form/utils.js +0 -47
- package/es/WorkerFlow/Nodes/Add.d.ts +0 -7
- package/es/WorkerFlow/Nodes/Add.js +0 -98
- package/es/WorkerFlow/Nodes/AddOption.d.ts +0 -10
- package/es/WorkerFlow/Nodes/AddOption.js +0 -23
- package/es/WorkerFlow/Nodes/AddOptionList.d.ts +0 -8
- package/es/WorkerFlow/Nodes/AddOptionList.js +0 -46
- package/es/WorkerFlow/Nodes/Approver.d.ts +0 -11
- package/es/WorkerFlow/Nodes/Approver.js +0 -53
- package/es/WorkerFlow/Nodes/Condition.d.ts +0 -10
- package/es/WorkerFlow/Nodes/Condition.js +0 -140
- package/es/WorkerFlow/Nodes/Constants.d.ts +0 -35
- package/es/WorkerFlow/Nodes/Constants.js +0 -150
- package/es/WorkerFlow/Nodes/End.d.ts +0 -7
- package/es/WorkerFlow/Nodes/End.js +0 -16
- package/es/WorkerFlow/Nodes/Handle.d.ts +0 -11
- package/es/WorkerFlow/Nodes/Handle.js +0 -52
- package/es/WorkerFlow/Nodes/Node.d.ts +0 -8
- package/es/WorkerFlow/Nodes/Node.js +0 -26
- package/es/WorkerFlow/Nodes/Notifier.d.ts +0 -11
- package/es/WorkerFlow/Nodes/Notifier.js +0 -52
- package/es/WorkerFlow/Nodes/Render.d.ts +0 -8
- package/es/WorkerFlow/Nodes/Render.js +0 -16
- package/es/WorkerFlow/Nodes/Start.d.ts +0 -12
- package/es/WorkerFlow/Nodes/Start.js +0 -26
- package/es/WorkerFlow/Nodes/TitleElement.d.ts +0 -10
- package/es/WorkerFlow/Nodes/TitleElement.js +0 -127
- package/es/WorkerFlow/Nodes/Wrap.d.ts +0 -13
- package/es/WorkerFlow/Nodes/Wrap.js +0 -35
- package/es/WorkerFlow/OperatorContext.d.ts +0 -4
- package/es/WorkerFlow/OperatorContext.js +0 -3
- package/es/WorkerFlow/Tools.d.ts +0 -8
- package/es/WorkerFlow/Tools.js +0 -78
- package/es/WorkerFlow/XML/CanvasTag.d.ts +0 -3
- package/es/WorkerFlow/XML/CanvasTag.js +0 -142
- package/es/WorkerFlow/XML/EndEvent.d.ts +0 -1
- package/es/WorkerFlow/XML/EndEvent.js +0 -14
- package/es/WorkerFlow/XML/ExclusiveGateway.d.ts +0 -9
- package/es/WorkerFlow/XML/ExclusiveGateway.js +0 -101
- package/es/WorkerFlow/XML/Root.d.ts +0 -1
- package/es/WorkerFlow/XML/Root.js +0 -5
- package/es/WorkerFlow/XML/StartEvent.d.ts +0 -5
- package/es/WorkerFlow/XML/StartEvent.js +0 -28
- package/es/WorkerFlow/XML/UserTask.d.ts +0 -5
- package/es/WorkerFlow/XML/UserTask.js +0 -93
- package/es/WorkerFlow/XML/index.d.ts +0 -4
- package/es/WorkerFlow/XML/index.js +0 -100
- package/es/WorkerFlow/XML/utils.d.ts +0 -6
- package/es/WorkerFlow/XML/utils.js +0 -97
- package/es/WorkerFlow/data.json +0 -83
- package/es/WorkerFlow/index.css +0 -779
- package/es/WorkerFlow/index.d.ts +0 -13
- package/es/WorkerFlow/interface.d.ts +0 -93
- package/es/WorkerFlow/template.d.ts +0 -2
- package/es/WorkerFlow/template.js +0 -17
- package/es/WorkerFlow/utils.d.ts +0 -14
- package/es/WorkerFlow/utils.js +0 -212
- package/es/useHttp/index.d.ts +0 -8
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _useUpdateEffect from "ahooks/es/useUpdateEffect";
|
|
2
|
+
import _useEventListener from "ahooks/es/useEventListener";
|
|
3
|
+
|
|
1
4
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
5
|
|
|
3
6
|
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."); }
|
|
@@ -10,69 +13,102 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
10
13
|
|
|
11
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import {
|
|
16
|
-
var cacheMemory = {};
|
|
16
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
17
|
+
import { getTargetElement } from 'ahooks/es/utils/domTarget';
|
|
18
|
+
import { getClientHeight, getScrollHeight, getScrollTop } from 'ahooks/es/utils/rect';
|
|
17
19
|
|
|
18
|
-
function
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, [key]);
|
|
20
|
+
function useInfiniteScroll(fetcher, options) {
|
|
21
|
+
var target = options.target,
|
|
22
|
+
isNoMore = options.isNoMore,
|
|
23
|
+
threshold = options.threshold,
|
|
24
|
+
reloadDeps = options.reloadDeps;
|
|
24
25
|
|
|
25
26
|
var _useState = useState({
|
|
26
|
-
data:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
data: {
|
|
28
|
+
list: []
|
|
29
|
+
},
|
|
30
|
+
loadding: false
|
|
30
31
|
}),
|
|
31
32
|
_useState2 = _slicedToArray(_useState, 2),
|
|
32
33
|
state = _useState2[0],
|
|
33
34
|
setState = _useState2[1]; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
35
|
|
|
35
36
|
|
|
36
|
-
var
|
|
37
|
-
return
|
|
38
|
-
}, [
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
var noMore = useMemo(function () {
|
|
38
|
+
return !isNoMore ? false : isNoMore(state.data);
|
|
39
|
+
}, [state.data]);
|
|
40
|
+
|
|
41
|
+
var loadMore = function loadMore(flag) {
|
|
42
|
+
if (noMore) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
|
|
41
46
|
setState(function (old) {
|
|
42
47
|
return Object.assign(Object.assign({}, old), {
|
|
43
|
-
httpKey: Date.now()
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
}, [cacheKey]);
|
|
47
|
-
useEffect(function () {
|
|
48
|
-
setState(function (old) {
|
|
49
|
-
return old.loadding ? old : Object.assign(Object.assign({}, old), {
|
|
50
48
|
loadding: true
|
|
51
49
|
});
|
|
52
50
|
});
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
fetcher(flag ? {
|
|
52
|
+
list: []
|
|
53
|
+
} : state.data).then(function (res) {
|
|
54
|
+
return setState(function (old) {
|
|
56
55
|
return Object.assign(Object.assign({}, old), {
|
|
57
|
-
data: res,
|
|
56
|
+
data: Object.assign({}, res),
|
|
58
57
|
loadding: false
|
|
59
58
|
});
|
|
60
59
|
});
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
});
|
|
61
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
return loadMore(true);
|
|
66
|
+
}, reloadDeps ? reloadDeps : [reloadDeps]);
|
|
67
|
+
|
|
68
|
+
var scrollMethod = function scrollMethod() {
|
|
69
|
+
var el = getTargetElement(target);
|
|
70
|
+
|
|
71
|
+
if (!el) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
var scrollTop = getScrollTop(el);
|
|
76
|
+
var scrollHeight = getScrollHeight(el);
|
|
77
|
+
var clientHeight = getClientHeight(el);
|
|
78
|
+
|
|
79
|
+
if (scrollHeight - scrollTop <= clientHeight + (threshold || 50)) {
|
|
80
|
+
loadMore();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
_useEventListener('scroll', function () {
|
|
85
|
+
if (state.loadding) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
scrollMethod();
|
|
90
|
+
}, {
|
|
91
|
+
target: target
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
_useUpdateEffect(function () {
|
|
95
|
+
var el = getTargetElement(target);
|
|
96
|
+
|
|
97
|
+
if (!el) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
el.scrollTo({
|
|
102
|
+
left: 0,
|
|
103
|
+
top: 0
|
|
104
|
+
});
|
|
105
|
+
}, reloadDeps ? reloadDeps : []);
|
|
106
|
+
|
|
70
107
|
return {
|
|
71
|
-
|
|
108
|
+
noMore: noMore,
|
|
72
109
|
data: state.data,
|
|
73
|
-
|
|
74
|
-
loadding: state.loadding
|
|
110
|
+
loading: state.loadding
|
|
75
111
|
};
|
|
76
112
|
}
|
|
77
113
|
|
|
78
|
-
export default
|
|
114
|
+
export default useInfiniteScroll;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { BasicTarget } from 'ahooks/es/utils/domTarget';
|
|
2
|
+
declare type ItemHeight<T> = (index: number, data: T) => number;
|
|
3
|
+
export interface Options<T> {
|
|
4
|
+
containerTarget: BasicTarget;
|
|
5
|
+
wrapperTarget: BasicTarget;
|
|
6
|
+
itemHeight: number | ItemHeight<T>;
|
|
7
|
+
overscan?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const useVirtualList: <T = any>(list: T[], options: Options<T>) => readonly [{
|
|
10
|
+
index: number;
|
|
11
|
+
data: T;
|
|
12
|
+
}[], (index: number) => void];
|
|
13
|
+
export default useVirtualList;
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import _useMemoizedFn from "ahooks/es/useMemoizedFn";
|
|
2
|
+
import _useEventListener from "ahooks/es/useEventListener";
|
|
3
|
+
import _useSize from "ahooks/es/useSize";
|
|
4
|
+
import _useLatest from "ahooks/es/useLatest";
|
|
5
|
+
|
|
6
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
|
+
|
|
8
|
+
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."); }
|
|
9
|
+
|
|
10
|
+
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); }
|
|
11
|
+
|
|
12
|
+
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; }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
+
|
|
18
|
+
import { useEffect, useMemo, useState, useRef, useLayoutEffect } from 'react';
|
|
19
|
+
import { getTargetElement } from 'ahooks/es/utils/domTarget';
|
|
20
|
+
import { isNumber } from 'ahooks/es/utils';
|
|
21
|
+
|
|
22
|
+
var useVirtualList = function useVirtualList(list, options) {
|
|
23
|
+
var containerTarget = options.containerTarget,
|
|
24
|
+
wrapperTarget = options.wrapperTarget,
|
|
25
|
+
itemHeight = options.itemHeight,
|
|
26
|
+
_options$overscan = options.overscan,
|
|
27
|
+
overscan = _options$overscan === void 0 ? 5 : _options$overscan;
|
|
28
|
+
|
|
29
|
+
var itemHeightRef = _useLatest(itemHeight);
|
|
30
|
+
|
|
31
|
+
var size = _useSize(containerTarget);
|
|
32
|
+
|
|
33
|
+
var scrollTriggerByScrollToFunc = useRef(false);
|
|
34
|
+
|
|
35
|
+
var _useState = useState([]),
|
|
36
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
37
|
+
targetList = _useState2[0],
|
|
38
|
+
setTargetList = _useState2[1];
|
|
39
|
+
|
|
40
|
+
var _useState3 = useState(0),
|
|
41
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
42
|
+
offsetTop = _useState4[0],
|
|
43
|
+
setOffsetTop = _useState4[1];
|
|
44
|
+
|
|
45
|
+
var getVisibleCount = function getVisibleCount(containerHeight, fromIndex) {
|
|
46
|
+
if (isNumber(itemHeightRef.current)) {
|
|
47
|
+
return Math.ceil(containerHeight / itemHeightRef.current);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var sum = 0;
|
|
51
|
+
var endIndex = 0;
|
|
52
|
+
|
|
53
|
+
for (var i = fromIndex; i < list.length; i++) {
|
|
54
|
+
var height = itemHeightRef.current(i, list[i]);
|
|
55
|
+
sum += height;
|
|
56
|
+
endIndex = i;
|
|
57
|
+
|
|
58
|
+
if (sum >= containerHeight) {
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return endIndex - fromIndex;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
var getOffset = function getOffset(scrollTop) {
|
|
67
|
+
if (isNumber(itemHeightRef.current)) {
|
|
68
|
+
return Math.floor(scrollTop / itemHeightRef.current) + 1;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var sum = 0;
|
|
72
|
+
var offset = 0;
|
|
73
|
+
|
|
74
|
+
for (var i = 0; i < list.length; i++) {
|
|
75
|
+
var height = itemHeightRef.current(i, list[i]);
|
|
76
|
+
sum += height;
|
|
77
|
+
|
|
78
|
+
if (sum >= scrollTop) {
|
|
79
|
+
offset = i;
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return offset + 1;
|
|
85
|
+
}; // 获取上部高度
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
var getDistanceTop = function getDistanceTop(index) {
|
|
89
|
+
if (isNumber(itemHeightRef.current)) {
|
|
90
|
+
var _height = index * itemHeightRef.current;
|
|
91
|
+
|
|
92
|
+
return _height;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
var height = list.slice(0, index).reduce(function (sum, _, i) {
|
|
96
|
+
return sum + itemHeightRef.current(i, list[i]);
|
|
97
|
+
}, 0);
|
|
98
|
+
return height;
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
var totalHeight = useMemo(function () {
|
|
102
|
+
if (isNumber(itemHeightRef.current)) {
|
|
103
|
+
return list.length * itemHeightRef.current;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return list.reduce(function (sum, _, index) {
|
|
107
|
+
return sum + itemHeightRef.current(index, list[index]);
|
|
108
|
+
}, 0); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
109
|
+
}, [list]);
|
|
110
|
+
useLayoutEffect(function () {
|
|
111
|
+
var wrapper = getTargetElement(wrapperTarget);
|
|
112
|
+
wrapper.style.height = totalHeight - offsetTop + 'px';
|
|
113
|
+
wrapper.style.marginTop = offsetTop + 'px';
|
|
114
|
+
}, [totalHeight, wrapperTarget, offsetTop]);
|
|
115
|
+
|
|
116
|
+
var calculateRange = function calculateRange() {
|
|
117
|
+
var container = getTargetElement(containerTarget);
|
|
118
|
+
var wrapper = getTargetElement(wrapperTarget);
|
|
119
|
+
|
|
120
|
+
if (container && wrapper) {
|
|
121
|
+
var scrollTop = container.scrollTop,
|
|
122
|
+
clientHeight = container.clientHeight;
|
|
123
|
+
var offset = getOffset(scrollTop);
|
|
124
|
+
var visibleCount = getVisibleCount(clientHeight, offset);
|
|
125
|
+
var start = Math.max(0, offset - overscan);
|
|
126
|
+
var end = Math.min(list.length, offset + visibleCount + overscan);
|
|
127
|
+
|
|
128
|
+
var _offsetTop = getDistanceTop(start);
|
|
129
|
+
|
|
130
|
+
setOffsetTop(_offsetTop); // wrapper.style.height = totalHeight - offsetTop + 'px';
|
|
131
|
+
// wrapper.style.marginTop = offsetTop + 'px';
|
|
132
|
+
|
|
133
|
+
setTargetList(list.slice(start, end).map(function (ele, index) {
|
|
134
|
+
return {
|
|
135
|
+
data: ele,
|
|
136
|
+
index: index + start
|
|
137
|
+
};
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
useEffect(function () {
|
|
143
|
+
if (!(size === null || size === void 0 ? void 0 : size.width) || !(size === null || size === void 0 ? void 0 : size.height)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
calculateRange(); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
148
|
+
}, [size === null || size === void 0 ? void 0 : size.width, size === null || size === void 0 ? void 0 : size.height, list]);
|
|
149
|
+
|
|
150
|
+
_useEventListener('scroll', function (e) {
|
|
151
|
+
if (scrollTriggerByScrollToFunc.current) {
|
|
152
|
+
scrollTriggerByScrollToFunc.current = false;
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
e.preventDefault();
|
|
157
|
+
calculateRange();
|
|
158
|
+
}, {
|
|
159
|
+
target: containerTarget
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
var scrollTo = function scrollTo(index) {
|
|
163
|
+
var container = getTargetElement(containerTarget);
|
|
164
|
+
|
|
165
|
+
if (container) {
|
|
166
|
+
scrollTriggerByScrollToFunc.current = true;
|
|
167
|
+
container.scrollTop = getDistanceTop(index);
|
|
168
|
+
calculateRange();
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
return [targetList, _useMemoizedFn(scrollTo)];
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
export default useVirtualList;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IErrorBoundaryProps } from '../ErrorBoundary';
|
|
3
|
+
/**
|
|
4
|
+
* HOC
|
|
5
|
+
* @param Component 业务组件
|
|
6
|
+
* @param errorBoundaryProps error boundary的props
|
|
7
|
+
*/
|
|
8
|
+
declare function withErrorBoundary<P>(Component: React.ComponentType<P>, errorBoundaryProps?: IErrorBoundaryProps): React.ComponentType<P>;
|
|
9
|
+
export default withErrorBoundary;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import "antd/lib/button/style";
|
|
2
|
+
import _Button from "antd/lib/button";
|
|
3
|
+
import "antd/lib/result/style";
|
|
4
|
+
import _Result from "antd/lib/result";
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import ErrorBoundary from '../ErrorBoundary';
|
|
7
|
+
|
|
8
|
+
var Fallback = function Fallback() {
|
|
9
|
+
return /*#__PURE__*/React.createElement(_Result, {
|
|
10
|
+
status: "warning",
|
|
11
|
+
title: "\u7EC4\u4EF6\u65E0\u6CD5\u6210\u529F\u6E32\u67D3\uFF0C\u8BF7\u5237\u65B0\u91CD\u8BD5",
|
|
12
|
+
style: {
|
|
13
|
+
width: '100%',
|
|
14
|
+
height: '100%'
|
|
15
|
+
},
|
|
16
|
+
extra: /*#__PURE__*/React.createElement(_Button, {
|
|
17
|
+
type: "primary",
|
|
18
|
+
key: "refresh",
|
|
19
|
+
onClick: function onClick() {
|
|
20
|
+
return window.location.reload();
|
|
21
|
+
}
|
|
22
|
+
}, "\u5237\u65B0\uFF0C\u91CD\u8BD5")
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* HOC
|
|
27
|
+
* @param Component 业务组件
|
|
28
|
+
* @param errorBoundaryProps error boundary的props
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
function withErrorBoundary(Component, errorBoundaryProps) {
|
|
33
|
+
var Wrapped = function Wrapped(props) {
|
|
34
|
+
return /*#__PURE__*/React.createElement(ErrorBoundary, Object.assign({
|
|
35
|
+
fallback: /*#__PURE__*/React.createElement(Fallback, null)
|
|
36
|
+
}, errorBoundaryProps), /*#__PURE__*/React.createElement(Component, Object.assign({}, props)));
|
|
37
|
+
}; // DevTools 显示的组件名
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
var name = Component.displayName || Component.name || 'Unknown';
|
|
41
|
+
Wrapped.displayName = "withErrorBoundary(".concat(name, ")");
|
|
42
|
+
return Wrapped;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default withErrorBoundary;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"private": false,
|
|
3
3
|
"name": "@cloud-app-dev/vidc",
|
|
4
4
|
"description": "Video Image Data Componennts",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "3.0.2",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "dumi dev",
|
|
8
8
|
"docs:build": "dumi build",
|
|
@@ -30,39 +30,36 @@
|
|
|
30
30
|
]
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"
|
|
34
|
-
"ahooks": "^3.1.0",
|
|
33
|
+
"ahooks": "^3.7.0",
|
|
35
34
|
"axios": "^0.27.2",
|
|
36
|
-
"chroma-js": "^2.1.2",
|
|
37
35
|
"flv.zv.js": "^2.2.0",
|
|
38
|
-
"hls.js": "^1.1
|
|
39
|
-
"immer": "^9.0.
|
|
36
|
+
"hls.js": "^1.2.1",
|
|
37
|
+
"immer": "^9.0.15",
|
|
40
38
|
"lodash-es": "^4.17.21",
|
|
41
|
-
"
|
|
39
|
+
"moment": "^2.29.4"
|
|
42
40
|
},
|
|
43
41
|
"devDependencies": {
|
|
44
|
-
"@cloud-app-dev/utils": "^
|
|
45
|
-
"@types/
|
|
46
|
-
"@types/chroma-js": "^2.1.3",
|
|
42
|
+
"@cloud-app-dev/utils": "^4.0.1",
|
|
43
|
+
"@types/leaflet": "^1.7.11",
|
|
47
44
|
"@types/lodash-es": "^4.17.6",
|
|
48
|
-
"@types/node": "^
|
|
49
|
-
"@types/react": "^18.0.
|
|
50
|
-
"@types/react-dom": "^18.0.
|
|
51
|
-
"@umijs/test": "^
|
|
52
|
-
"antd": "^4.
|
|
53
|
-
"babel-plugin-import": "^1.13.
|
|
54
|
-
"dumi": "^1.1.
|
|
45
|
+
"@types/node": "^18.7.6",
|
|
46
|
+
"@types/react": "^18.0.17",
|
|
47
|
+
"@types/react-dom": "^18.0.6",
|
|
48
|
+
"@umijs/test": "^4.0.12",
|
|
49
|
+
"antd": "^4.22.6",
|
|
50
|
+
"babel-plugin-import": "^1.13.5",
|
|
51
|
+
"dumi": "^1.1.47",
|
|
55
52
|
"eslint-config-react-app": "^7.0.1",
|
|
56
53
|
"father-build": "^1.22.3",
|
|
57
|
-
"gh-pages": "^
|
|
54
|
+
"gh-pages": "^4.0.0",
|
|
58
55
|
"history": "^5.3.0",
|
|
59
56
|
"lint-staged": "^10.0.7",
|
|
60
57
|
"prettier": "^2.2.1",
|
|
61
|
-
"react": "^18.
|
|
62
|
-
"react-dom": "^18.
|
|
58
|
+
"react": "^18.2.0",
|
|
59
|
+
"react-dom": "^18.2.0",
|
|
63
60
|
"react-router-dom": "^6.3.0",
|
|
64
61
|
"tslib": "^2.4.0",
|
|
65
|
-
"typescript": "^4.
|
|
62
|
+
"typescript": "^4.7.4",
|
|
66
63
|
"yorkie": "^2.0.0"
|
|
67
64
|
},
|
|
68
65
|
"repository": {
|
package/release-build.sh
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#! /bin/sh
|
|
2
|
+
|
|
3
|
+
pnpm install
|
|
4
|
+
if [ $? -eq 0 ]; then
|
|
5
|
+
echo "packages install success!"
|
|
6
|
+
else
|
|
7
|
+
echo "packages install failed!"
|
|
8
|
+
exit 1
|
|
9
|
+
fi
|
|
10
|
+
|
|
11
|
+
npm run build
|
|
12
|
+
if [ $? -eq 0 ]; then
|
|
13
|
+
echo "build success!"
|
|
14
|
+
else
|
|
15
|
+
echo "build failed!"
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
npm run deploy
|
|
20
|
+
if [ $? -eq 0 ]; then
|
|
21
|
+
echo "deploy success!"
|
|
22
|
+
else
|
|
23
|
+
echo "deploy failed!"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
nrm use npm
|
|
28
|
+
npm publish
|
|
29
|
+
if [ $? -eq 0 ]; then
|
|
30
|
+
echo "publish success!"
|
|
31
|
+
else
|
|
32
|
+
echo "publish failed!"
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
git add .
|
|
37
|
+
|
|
38
|
+
git commit -m "新版本构建发布"
|
|
39
|
+
|
|
40
|
+
git pull
|
|
41
|
+
|
|
42
|
+
git push
|
|
43
|
+
|
|
44
|
+
exit 1
|
package/test.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const data = [
|
|
2
|
+
{ beginTime: 1660492800000, endTime: 1660495901000 },
|
|
3
|
+
{ beginTime: 1660495901000, endTime: 1660500078000 },
|
|
4
|
+
{ beginTime: 1660500078000, endTime: 1660504255000 },
|
|
5
|
+
{ beginTime: 1660504255000, endTime: 1660508434000 },
|
|
6
|
+
{ beginTime: 1660508434000, endTime: 1660512614000 },
|
|
7
|
+
{ beginTime: 1660512614000, endTime: 1660516805000 },
|
|
8
|
+
{ beginTime: 1660516805000, endTime: 1660520999000 },
|
|
9
|
+
{ beginTime: 1660520999000, endTime: 1660525198000 },
|
|
10
|
+
{ beginTime: 1660525198000, endTime: 1660529393000 },
|
|
11
|
+
{ beginTime: 1660529393000, endTime: 1660533595000 },
|
|
12
|
+
{ beginTime: 1660533595000, endTime: 1660537792000 },
|
|
13
|
+
{ beginTime: 1660537792000, endTime: 1660541987000 },
|
|
14
|
+
{ beginTime: 1660541987000, endTime: 1660546174000 },
|
|
15
|
+
{ beginTime: 1660546174000, endTime: 1660550358000 },
|
|
16
|
+
{ beginTime: 1660550358000, endTime: 1660554546000 },
|
|
17
|
+
{ beginTime: 1660554546000, endTime: 1660557065000 },
|
|
18
|
+
{ beginTime: 1660557065000, endTime: 1660554546000 },
|
|
19
|
+
{ beginTime: 1660558743000, endTime: 1660562938000 },
|
|
20
|
+
{ beginTime: 1660562938000, endTime: 1660567141000 },
|
|
21
|
+
{ beginTime: 1660567141000, endTime: 1660571333000 },
|
|
22
|
+
{ beginTime: 1660571333000, endTime: 1660575521000 },
|
|
23
|
+
{ beginTime: 1660575521000, endTime: 1660579199000 },
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
function completionSegments(start, end, segments) {
|
|
27
|
+
const arr = [];
|
|
28
|
+
if (segments.length > 0 && start < +segments[0].beginTime) {
|
|
29
|
+
arr.push({ beginTime: start, endTime: +segments[0].beginTime - start });
|
|
30
|
+
}
|
|
31
|
+
segments.reduce((prev, current, idx) => {
|
|
32
|
+
if (arr.length === 0) {
|
|
33
|
+
prev.push(current);
|
|
34
|
+
} else if (segments[idx - 1].endTime !== current.beginTime) {
|
|
35
|
+
prev.push({ beginTime: segments[idx - 1].endTime, endTime: current.beginTime }, current);
|
|
36
|
+
} else {
|
|
37
|
+
prev.push(current);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return prev;
|
|
41
|
+
}, arr);
|
|
42
|
+
|
|
43
|
+
if (end > +segments[segments.length - 1].endTime) {
|
|
44
|
+
arr.push({ beginTime: segments[segments.length - 1].endTime, endTime: end });
|
|
45
|
+
}
|
|
46
|
+
return arr;
|
|
47
|
+
}
|
|
48
|
+
console.log(completionSegments(1660492800000, 1660579199000, data))
|
package/es/DeviceIcon/icon.d.ts
DELETED