@cloud-app-dev/vidc 3.2.11 → 3.2.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.
- package/.dumirc.ts +71 -0
- package/.editorconfig +0 -3
- package/.eslintrc.js +3 -0
- package/.fatherrc.ts +19 -0
- package/.husky/commit-msg +5 -0
- package/.husky/pre-commit +4 -0
- package/.prettierrc.js +16 -0
- package/README.md +14 -26
- package/es/Api/index.js +100 -30
- package/es/AppContext/Sync.js +19 -3
- package/es/AppContext/index.js +86 -42
- package/es/AppContext/static.js +7 -0
- package/es/Auth/index.js +11 -4
- package/es/AutoExit/index.js +11 -3
- package/es/Box/BetweenBox/index.js +19 -10
- package/es/Box/BetweenBox/{index.css → index.less} +0 -0
- package/es/Box/InfoBox/index.js +24 -18
- package/es/Box/InfoBox/index.less +22 -0
- package/es/Box/TwoColumnBox/index.js +42 -25
- package/es/Box/TwoColumnBox/index.less +70 -0
- package/es/Box/deps/grid-factory.d.ts +2 -2
- package/es/Box/deps/grid-factory.js +12 -0
- package/es/Box/index.js +29 -16
- package/es/Box/{index.css → index.less} +5 -4
- package/es/CheckGroupFixed/demo.d.ts +3 -0
- package/es/CheckGroupFixed/demo.js +28 -0
- package/es/CheckGroupFixed/index.js +117 -82
- package/es/CheckGroupFixed/index.less +50 -0
- package/es/Config/index.js +5 -1
- package/es/Config/utils.js +18 -3
- package/es/ConfigContext/index.js +8 -4
- package/es/CustomRenderSelect/index.js +71 -36
- package/es/CustomRenderSelect/index.less +25 -0
- package/es/DisableMark/index.js +14 -11
- package/es/DisableMark/{index.css → index.less} +0 -0
- package/es/DomMove/demo.js +14 -10
- package/es/DomMove/index.js +52 -30
- package/es/DomMove/utils.js +8 -3
- package/es/Drag/DragAndDropItem.js +44 -20
- package/es/Drag/DropItem.js +22 -6
- package/es/Drag/index.js +2 -2
- package/es/Drag/{index.css → index.less} +0 -0
- package/es/Drawer/Footer.js +22 -15
- package/es/Drawer/{Demo.d.ts → demo.d.ts} +0 -0
- package/es/Drawer/demo.js +109 -0
- package/es/Drawer/index.js +98 -60
- package/es/Drawer/index.less +42 -0
- package/es/ErrorFallback/index.js +23 -14
- package/es/FrontendPlayer/index.js +1 -1
- package/es/FullScreen/index.js +30 -17
- package/es/FullScreen/index.less +16 -0
- package/es/HightLevel/index.js +11 -4
- package/es/HightLevel/{index.css → index.less} +0 -0
- package/es/IconFont/index.js +39 -18
- package/es/ImageView/index.js +37 -13
- package/es/ImageView/index.less +10 -0
- package/es/Input/demo.d.ts +3 -0
- package/es/Input/demo.js +16 -0
- package/es/Input/index.js +46 -22
- package/es/Input/index.less +12 -0
- package/es/InstanceHistory/index.js +2 -0
- package/es/LabelValue/index.js +25 -18
- package/es/LabelValue/index.less +20 -0
- package/es/List/DynamicGridList/Demo.d.ts +1 -0
- package/es/List/DynamicGridList/Demo.js +52 -32
- package/es/List/DynamicGridList/index.d.ts +3 -3
- package/es/List/DynamicGridList/index.js +41 -26
- package/es/List/DynamicList/index.js +76 -56
- package/es/List/DynamicList/index.less +15 -0
- package/es/List/GridList/Demo.d.ts +1 -0
- package/es/List/GridList/Demo.js +60 -38
- package/es/List/GridList/hook.d.ts +1 -1
- package/es/List/GridList/hook.js +66 -35
- package/es/List/GridList/index.js +33 -29
- package/es/List/GridList/{index.css → index.less} +0 -0
- package/es/List/GridList/utils.d.ts +2 -2
- package/es/List/GridList/utils.js +1 -0
- package/es/List/VList/index.d.ts +1 -1
- package/es/List/VList/index.js +32 -19
- package/es/List/VList/{index.css → index.less} +0 -0
- package/es/List/VList/utils.d.ts +2 -2
- package/es/List/VList/utils.js +8 -6
- package/es/List/demo.d.ts +3 -0
- package/es/List/demo.js +26 -0
- package/es/List/index.d.ts +1 -1
- package/es/List/index.js +31 -23
- package/es/List/{index.css → index.less} +5 -4
- package/es/ListWithSizeAnimate/demo.d.ts +2 -0
- package/es/ListWithSizeAnimate/demo.js +19 -0
- package/es/ListWithSizeAnimate/index.d.ts +9 -0
- package/es/ListWithSizeAnimate/index.js +71 -0
- package/es/ListWithSizeAnimate/index.less +13 -0
- package/es/LoaderApp/index.js +59 -25
- package/es/LoaderApp/{index.css → index.less} +0 -0
- package/es/LoaderApp/loader.js +40 -23
- package/es/LoaderApp/sandbox.back.js +101 -24
- package/es/LoaderApp/sandbox.js +26 -9
- package/es/LoaderApp/utils.d.ts +1 -1
- package/es/LoaderApp/utils.js +68 -25
- package/es/LoaderScript/index.js +25 -10
- package/es/LoaderScript/utils.js +151 -87
- package/es/Map/BasicMap/AMapInstance.d.ts +1 -1
- package/es/Map/BasicMap/AMapInstance.js +25 -3
- package/es/Map/BasicMap/LeafletInstance.js +28 -11
- package/es/Map/BasicMap/index.js +67 -27
- package/es/Map/BasicMap/index.less +24 -0
- package/es/Map/ClusterLayer/hook.d.ts +2 -2
- package/es/Map/ClusterLayer/hook.js +51 -23
- package/es/Map/ClusterLayer/index.d.ts +1 -1
- package/es/Map/ClusterLayer/index.js +14 -6
- package/es/Map/ClusterLayer/index.less +27 -0
- package/es/Map/Config/index.js +44 -16
- package/es/Map/Config/utils.js +17 -3
- package/es/Map/Context/index.js +43 -9
- package/es/Map/FindPio/index.js +5 -2
- package/es/Map/FindPio/{index.css → index.less} +0 -0
- package/es/Map/InfoWindow/MakerLikeWindow.d.ts +1 -1
- package/es/Map/InfoWindow/MakerLikeWindow.js +41 -18
- package/es/Map/InfoWindow/demo.d.ts +1 -0
- package/es/Map/InfoWindow/demo.js +51 -29
- package/es/Map/InfoWindow/index.d.ts +1 -1
- package/es/Map/InfoWindow/index.js +39 -18
- package/es/Map/LevelCenter/DragMarker/index.js +16 -10
- package/es/Map/LevelCenter/demo.d.ts +1 -0
- package/es/Map/LevelCenter/demo.js +41 -22
- package/es/Map/LevelCenter/index.js +41 -29
- package/es/Map/LevelCenter/index.less +2 -0
- package/es/Map/LoaderMap/index.js +38 -22
- package/es/Map/MapDrawSelect/demo.d.ts +1 -0
- package/es/Map/MapDrawSelect/demo.js +65 -46
- package/es/Map/MapDrawSelect/index.js +43 -31
- package/es/Map/MapDrawSelect/index.less +2 -0
- package/es/Map/MouseTool/index.js +32 -18
- package/es/Map/MouseTool/useMouseTools.js +37 -8
- package/es/Map/ResetTools/index.js +58 -44
- package/es/Map/ResetTools/index.less +35 -0
- package/es/Map/SinglePoint/index.js +39 -27
- package/es/Map/SinglePoint/index.less +41 -0
- package/es/Map/hook/useMapEvent.js +8 -4
- package/es/Map/hook/useMapType.js +3 -2
- package/es/Map/index.d.ts +1 -0
- package/es/Map/index.js +11 -11
- package/es/Map/useMarker/index.d.ts +1 -1
- package/es/Map/useMarker/index.js +33 -13
- package/es/Map/{LevelCenter/index.css → useMarker/index.less} +0 -0
- package/es/Map/withMap/index.d.ts +1 -0
- package/es/Map/withMap/index.js +14 -4
- package/es/Modal/demo.d.ts +3 -0
- package/es/Modal/demo.js +106 -0
- package/es/Modal/index.js +94 -57
- package/es/Modal/index.less +45 -0
- package/es/Picture/component/DefaultRects/RectInfo.js +59 -37
- package/es/Picture/component/DefaultRects/index.js +46 -32
- package/es/Picture/component/DefaultRects/index.less +188 -0
- package/es/Picture/component/DrawRect/index.js +37 -24
- package/es/Picture/component/DrawRect/{index.css → index.less} +0 -0
- package/es/Picture/component/RectMenu/index.js +35 -26
- package/es/Picture/component/RectMenu/index.less +31 -0
- package/es/Picture/component/RectMenu/utils.js +6 -3
- package/es/Picture/component/Tools/index.js +91 -69
- package/es/Picture/component/Tools/index.less +43 -0
- package/es/Picture/component/WheelScale/index.js +9 -4
- package/es/Picture/demo.js +14 -11
- package/es/Picture/dragBound.d.ts +1 -1
- package/es/Picture/dragBound.js +17 -4
- package/es/Picture/index.d.ts +2 -2
- package/es/Picture/index.js +201 -137
- package/es/Picture/index.less +14 -0
- package/es/Picture/interface.d.ts +0 -6
- package/es/Picture/loadCaptureRectImage.d.ts +1 -1
- package/es/Picture/loadCaptureRectImage.js +39 -14
- package/es/Picture/useDraw.js +40 -20
- package/es/Picture/utils.d.ts +9 -9
- package/es/Picture/utils.js +18 -3
- package/es/Player/api/index.d.ts +3 -3
- package/es/Player/api/index.js +117 -82
- package/es/Player/context.js +21 -7
- package/es/Player/contraller_bar/bar.d.ts +1 -1
- package/es/Player/contraller_bar/bar.js +28 -10
- package/es/Player/contraller_bar/contraller_event.js +34 -12
- package/es/Player/contraller_bar/index.js +30 -22
- package/es/Player/contraller_bar/left_bar.js +62 -39
- package/es/Player/contraller_bar/right_bar.js +34 -18
- package/es/Player/contraller_bar/time.js +19 -8
- package/es/Player/contraller_bar/useBarStatus.js +29 -11
- package/es/Player/contraller_bar/volume.d.ts +1 -1
- package/es/Player/contraller_bar/volume.js +43 -21
- package/es/Player/demo.d.ts +1 -0
- package/es/Player/demo.js +258 -215
- package/es/Player/event/errorEvent.js +41 -16
- package/es/Player/event/eventName.js +12 -1
- package/es/Player/event/index.js +66 -24
- package/es/Player/fps_play.js +33 -15
- package/es/Player/frontend_player.js +42 -20
- package/es/Player/frontend_timeline.js +95 -55
- package/es/Player/iconfont.js +23 -8
- package/es/Player/index.js +1 -1
- package/es/Player/live_heart.js +15 -3
- package/es/Player/message.js +68 -37
- package/es/Player/segment_player.js +113 -62
- package/es/Player/segment_timeline.js +145 -97
- package/es/Player/single_player.js +153 -111
- package/es/Player/style/bar.less +39 -0
- package/es/Player/style/iconfont.js +17 -10
- package/es/Player/style/index.less +30 -0
- package/es/Player/style/message.less +50 -0
- package/es/Player/style/slider.less +103 -0
- package/es/Player/style/timeline.less +106 -0
- package/es/Player/style/volume.less +21 -0
- package/es/Player/timeline.d.ts +1 -1
- package/es/Player/timeline.js +59 -32
- package/es/Player/util.js +46 -7
- package/es/PlayerExt/demo.d.ts +1 -0
- package/es/PlayerExt/demo.js +145 -112
- package/es/PlayerExt/index.d.ts +2 -2
- package/es/PlayerExt/index.js +139 -87
- package/es/PlayerExt/{index.css → index.less} +0 -0
- package/es/Progress/index.js +18 -5
- package/es/Progress/index.less +20 -0
- package/es/ROI/demo.d.ts +1 -0
- package/es/ROI/demo.js +12 -8
- package/es/ROI/index.js +45 -35
- package/es/ROI/index.less +29 -0
- package/es/ScreenPlayer/Live.d.ts +2 -2
- package/es/ScreenPlayer/Live.js +172 -109
- package/es/ScreenPlayer/LiveTools.d.ts +2 -2
- package/es/ScreenPlayer/LiveTools.js +156 -116
- package/es/ScreenPlayer/PlayerWithExt.d.ts +2 -2
- package/es/ScreenPlayer/PlayerWithExt.js +172 -115
- package/es/ScreenPlayer/RatePick.js +35 -22
- package/es/ScreenPlayer/Record.d.ts +1 -1
- package/es/ScreenPlayer/Record.js +307 -192
- package/es/ScreenPlayer/RecordTools.d.ts +2 -2
- package/es/ScreenPlayer/RecordTools.js +201 -149
- package/es/ScreenPlayer/ScreenSelect.js +37 -28
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +1 -1
- package/es/ScreenPlayer/SegmentTimeLine.js +24 -17
- package/es/ScreenPlayer/TimeMode.js +22 -16
- package/es/ScreenPlayer/TimeSelect.js +86 -65
- package/es/ScreenPlayer/demo.js +16 -18
- package/es/ScreenPlayer/demo2.js +193 -178
- package/es/ScreenPlayer/index.d.ts +1 -0
- package/es/ScreenPlayer/index.js +3 -3
- package/es/ScreenPlayer/index.less +178 -0
- package/es/ScreenPlayer/interface.d.ts +2 -2
- package/es/ScreenPlayer/useTimeSlider.d.ts +8 -8
- package/es/ScreenPlayer/useTimeSlider.js +167 -60
- package/es/ScreenPlayer/useVideoFit.d.ts +1 -1
- package/es/ScreenPlayer/useVideoFit.js +18 -5
- package/es/ScreenPlayer/utils.d.ts +1 -1
- package/es/ScreenPlayer/utils.js +10 -1
- package/es/SegmentPlayer/index.js +1 -1
- package/es/Service/fetch-adapter.d.ts +1 -1
- package/es/Service/fetch-adapter.js +48 -5
- package/es/Service/http.js +46 -16
- package/es/Service/index.js +2 -2
- package/es/TableLayout/index.js +18 -12
- package/es/TableLayout/{index.css → index.less} +0 -0
- package/es/ThemeAntd/demo.d.ts +1 -0
- package/es/ThemeAntd/demo.js +126 -76
- package/es/ThemeAntd/{demo.css → demo.less} +4 -3
- package/es/ThemeAntd/index.js +6 -2
- package/es/ThemeAntd/index.less +16 -0
- package/es/ThemeAntd/style/button.less +67 -0
- package/es/ThemeAntd/style/checkbox.less +72 -0
- package/es/ThemeAntd/style/form.less +12 -0
- package/es/ThemeAntd/style/input.less +83 -0
- package/es/ThemeAntd/style/pagination.less +95 -0
- package/es/ThemeAntd/style/picker.less +106 -0
- package/es/ThemeAntd/style/popover.less +5 -0
- package/es/ThemeAntd/style/radio.less +87 -0
- package/es/ThemeAntd/style/{scrollbar.css → scrollbar.less} +4 -2
- package/es/ThemeAntd/style/select.less +81 -0
- package/es/ThemeAntd/style/table.less +57 -0
- package/es/ThemeAntd/style/tree.less +18 -0
- package/es/Timeout/index.js +36 -12
- package/es/Tree/demo.js +26 -21
- package/es/Tree/index.js +51 -30
- package/es/Tree/index.less +59 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +48 -47
- package/es/useDrawROI/index.js +130 -65
- package/es/useEventEmitterHandle/index.js +6 -2
- package/es/useFullscreen/demo.js +44 -27
- package/es/useFullscreen/index.js +30 -8
- package/es/useHistory/index.js +3 -1
- package/es/useInfiniteScroll/index.js +50 -19
- package/es/useRafInterval/index.js +28 -4
- package/es/useSimpleState/index.js +23 -6
- package/es/useVirtualList/index.js +58 -20
- package/es/utils.d.ts +1 -1
- package/es/utils.js +53 -14
- package/package.json +37 -32
- package/tsconfig.json +8 -32
- package/.eslintrc +0 -4
- package/.fatherrc.js +0 -25
- package/.prettierrc +0 -11
- package/.umirc.ts +0 -55
- package/clear-cache.sh +0 -4
- package/es/Box/InfoBox/index.css +0 -22
- package/es/Box/TwoColumnBox/index.css +0 -70
- package/es/CheckGroupFixed/index.css +0 -49
- package/es/CustomRenderSelect/index.css +0 -20
- package/es/Drawer/Demo.js +0 -59
- package/es/Drawer/index.css +0 -40
- package/es/FullScreen/index.css +0 -16
- package/es/ImageView/index.css +0 -10
- package/es/Input/index.css +0 -8
- package/es/LabelValue/index.css +0 -18
- package/es/List/DynamicList/index.css +0 -15
- package/es/Map/BasicMap/index.css +0 -24
- package/es/Map/ClusterLayer/index.css +0 -26
- package/es/Map/MapDrawSelect/index.css +0 -0
- package/es/Map/ResetTools/index.css +0 -32
- package/es/Map/SinglePoint/icon/Place_icon_OnLine_Hover.svg +0 -15
- package/es/Map/SinglePoint/icon/Place_icon_OnLine_Normal.svg +0 -15
- package/es/Map/SinglePoint/icon/Place_icon_OutLine_Hover.svg +0 -15
- package/es/Map/SinglePoint/icon/Place_icon_OutLine_Normal.svg +0 -15
- package/es/Map/SinglePoint/index.css +0 -29
- package/es/Map/useMarker/index.css +0 -0
- package/es/Modal/index.css +0 -43
- package/es/Picture/component/DefaultRects/index.css +0 -247
- package/es/Picture/component/RectMenu/index.css +0 -31
- package/es/Picture/component/Tools/index.css +0 -42
- package/es/Picture/index.css +0 -12
- package/es/Player/style/bar.css +0 -38
- package/es/Player/style/index.css +0 -30
- package/es/Player/style/message.css +0 -49
- package/es/Player/style/slider.css +0 -96
- package/es/Player/style/timeline.css +0 -99
- package/es/Player/style/volume.css +0 -19
- package/es/Progress/index.css +0 -20
- package/es/ROI/index.css +0 -29
- package/es/ScreenPlayer/index.css +0 -166
- package/es/ThemeAntd/index.css +0 -620
- package/es/ThemeAntd/style/button.css +0 -55
- package/es/ThemeAntd/style/checkbox.css +0 -64
- package/es/ThemeAntd/style/form.css +0 -10
- package/es/ThemeAntd/style/input.css +0 -68
- package/es/ThemeAntd/style/pagination.css +0 -82
- package/es/ThemeAntd/style/picker.css +0 -98
- package/es/ThemeAntd/style/popover.css +0 -3
- package/es/ThemeAntd/style/radio.css +0 -80
- package/es/ThemeAntd/style/select.css +0 -76
- package/es/ThemeAntd/style/table.css +0 -46
- package/es/ThemeAntd/style/tree.css +0 -16
- package/es/Tree/index.css +0 -64
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ISegmentType } from '../Player/player';
|
|
3
3
|
export interface ITimeSliderOptions {
|
|
4
|
-
hoursPer
|
|
5
|
-
begin
|
|
4
|
+
hoursPer: number;
|
|
5
|
+
begin: number;
|
|
6
6
|
segments?: TimeCellItem[];
|
|
7
|
-
currentTime
|
|
8
|
-
onTimeChange
|
|
7
|
+
currentTime: number;
|
|
8
|
+
onTimeChange: (options: {
|
|
9
9
|
currentTime?: number;
|
|
10
10
|
begin?: number;
|
|
11
11
|
}, outTimeline?: boolean) => void;
|
|
12
|
-
onHoursPerChange
|
|
12
|
+
onHoursPerChange: (hour: number) => void;
|
|
13
13
|
}
|
|
14
14
|
export declare type ITimeSliderState = {
|
|
15
15
|
hoursPer: number;
|
|
16
16
|
begin: number;
|
|
17
17
|
currentTime: number;
|
|
18
18
|
hover: {
|
|
19
|
-
x
|
|
20
|
-
time
|
|
19
|
+
x?: number;
|
|
20
|
+
time?: number;
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
23
|
export declare type TimeCellItem = ISegmentType;
|
|
24
|
-
declare function useTimeSlider(canvasRef: React.
|
|
24
|
+
declare function useTimeSlider(canvasRef: React.RefObject<HTMLCanvasElement>, { hoursPer, begin, currentTime, segments, onTimeChange, onHoursPerChange }: ITimeSliderOptions): void;
|
|
25
25
|
export default useTimeSlider;
|
|
@@ -2,12 +2,25 @@ import _nextTick from "@cloud-app-dev/utils/es/nextTick";
|
|
|
2
2
|
import _useEventListener from "ahooks/es/useEventListener";
|
|
3
3
|
import _useUpdateEffect from "ahooks/es/useUpdateEffect";
|
|
4
4
|
import _useSize from "ahooks/es/useSize";
|
|
5
|
+
|
|
6
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
7
|
+
|
|
8
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
|
+
|
|
10
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
|
|
5
12
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13
|
+
|
|
6
14
|
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."); }
|
|
15
|
+
|
|
7
16
|
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); }
|
|
17
|
+
|
|
8
18
|
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; }
|
|
19
|
+
|
|
9
20
|
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; }
|
|
21
|
+
|
|
10
22
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
+
|
|
11
24
|
import moment from 'moment';
|
|
12
25
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
13
26
|
var hours = [1, 6, 12, 24];
|
|
@@ -20,6 +33,7 @@ var distance_between_gtitle = 80;
|
|
|
20
33
|
/**
|
|
21
34
|
* 下一个刻度
|
|
22
35
|
*/
|
|
36
|
+
|
|
23
37
|
function ms_to_next_step(timestamp, step) {
|
|
24
38
|
var remainder = timestamp % step;
|
|
25
39
|
return remainder ? step - remainder : 0;
|
|
@@ -28,6 +42,8 @@ function ms_to_next_step(timestamp, step) {
|
|
|
28
42
|
* 返回 2018-01-01 10:00:00 格式时间
|
|
29
43
|
* @param {*} time
|
|
30
44
|
*/
|
|
45
|
+
|
|
46
|
+
|
|
31
47
|
function formartTimestemp(time) {
|
|
32
48
|
return moment(time).format('YYYY-MM-DD HH:mm:ss');
|
|
33
49
|
}
|
|
@@ -35,19 +51,25 @@ function formartTimestemp(time) {
|
|
|
35
51
|
* 返回时间轴上刻度的时间
|
|
36
52
|
* @param {*} datetime new Date 格式
|
|
37
53
|
*/
|
|
54
|
+
|
|
55
|
+
|
|
38
56
|
function graduation_title(datetime) {
|
|
39
57
|
var mom = moment(datetime);
|
|
40
58
|
var h = mom.get('hours');
|
|
41
59
|
var m = mom.get('minutes');
|
|
42
60
|
var s = mom.get('seconds');
|
|
61
|
+
|
|
43
62
|
if (h === 0 && m === 0 && s === 0) {
|
|
44
63
|
return mom.format('YYYY.MM.DD');
|
|
45
64
|
}
|
|
65
|
+
|
|
46
66
|
return mom.format('HH:mm');
|
|
47
67
|
}
|
|
48
68
|
/**
|
|
49
69
|
* 绘制线条
|
|
50
70
|
*/
|
|
71
|
+
|
|
72
|
+
|
|
51
73
|
function drawLine(ctx, beginX, beginY, endX, endY, color, width) {
|
|
52
74
|
ctx.beginPath();
|
|
53
75
|
ctx.moveTo(beginX, beginY);
|
|
@@ -56,81 +78,104 @@ function drawLine(ctx, beginX, beginY, endX, endY, color, width) {
|
|
|
56
78
|
ctx.lineWidth = width;
|
|
57
79
|
ctx.stroke();
|
|
58
80
|
}
|
|
81
|
+
|
|
59
82
|
function drawText(ctx, _ref) {
|
|
60
83
|
var fillStyle = _ref.fillStyle,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
84
|
+
font = _ref.font,
|
|
85
|
+
text = _ref.text,
|
|
86
|
+
x = _ref.x,
|
|
87
|
+
y = _ref.y;
|
|
65
88
|
ctx.fillStyle = fillStyle;
|
|
66
89
|
ctx.font = font;
|
|
67
90
|
ctx.fillText(text, x, y);
|
|
68
91
|
}
|
|
92
|
+
|
|
69
93
|
function useTimeSlider(canvasRef, _ref2) {
|
|
70
94
|
var hoursPer = _ref2.hoursPer,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
95
|
+
begin = _ref2.begin,
|
|
96
|
+
currentTime = _ref2.currentTime,
|
|
97
|
+
_ref2$segments = _ref2.segments,
|
|
98
|
+
segments = _ref2$segments === void 0 ? [] : _ref2$segments,
|
|
99
|
+
onTimeChange = _ref2.onTimeChange,
|
|
100
|
+
onHoursPerChange = _ref2.onHoursPerChange;
|
|
101
|
+
|
|
77
102
|
var _useState = useState({
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
hoursPer: hoursPer,
|
|
104
|
+
begin: begin,
|
|
105
|
+
currentTime: currentTime,
|
|
106
|
+
hover: {
|
|
107
|
+
x: 0,
|
|
108
|
+
time: undefined
|
|
109
|
+
}
|
|
110
|
+
}),
|
|
111
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
112
|
+
state = _useState2[0],
|
|
113
|
+
setState = _useState2[1];
|
|
114
|
+
|
|
89
115
|
var extRef = useRef({
|
|
90
|
-
mousedownTime:
|
|
116
|
+
mousedownTime: undefined,
|
|
91
117
|
mousedownX: 0
|
|
92
118
|
});
|
|
119
|
+
|
|
93
120
|
var size = _useSize(canvasRef);
|
|
121
|
+
|
|
94
122
|
var canvas = canvasRef.current;
|
|
123
|
+
|
|
95
124
|
var _useMemo = useMemo(function () {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
125
|
+
return size ? size : {
|
|
126
|
+
width: 0,
|
|
127
|
+
height: 0
|
|
128
|
+
};
|
|
129
|
+
}, [size]),
|
|
130
|
+
width = _useMemo.width,
|
|
131
|
+
height = _useMemo.height;
|
|
132
|
+
|
|
103
133
|
var ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
|
|
134
|
+
|
|
104
135
|
var update = function update() {
|
|
105
136
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
106
137
|
return setState(function (old) {
|
|
107
|
-
return
|
|
138
|
+
return _objectSpread(_objectSpread({}, old), params);
|
|
108
139
|
});
|
|
109
140
|
};
|
|
141
|
+
|
|
110
142
|
var clearCanvas = function clearCanvas() {
|
|
111
|
-
return ctx.clearRect(0, 0, width, height);
|
|
143
|
+
return ctx === null || ctx === void 0 ? void 0 : ctx.clearRect(0, 0, width, height);
|
|
112
144
|
};
|
|
113
145
|
/**
|
|
114
146
|
* 绘制覆盖时间刻度颜色,表示有录像的部分
|
|
115
147
|
*/
|
|
148
|
+
|
|
149
|
+
|
|
116
150
|
var drawOverlay = function drawOverlay() {
|
|
117
151
|
segments.forEach(function (item) {
|
|
118
|
-
var _a;
|
|
119
152
|
var px_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
|
|
153
|
+
|
|
120
154
|
var beginX = (item.beginTime - state.begin) * px_ms;
|
|
121
155
|
var scale_width = (item.endTime - item.beginTime) * px_ms;
|
|
122
|
-
|
|
123
|
-
ctx
|
|
156
|
+
|
|
157
|
+
if (ctx) {
|
|
158
|
+
var _item$style;
|
|
159
|
+
|
|
160
|
+
ctx.fillStyle = item.url ? ((_item$style = item.style) === null || _item$style === void 0 ? void 0 : _item$style.background) || hoverLineColor : '#242C3D';
|
|
161
|
+
ctx.fillRect(beginX, height - 10, scale_width + 1, height);
|
|
162
|
+
}
|
|
124
163
|
});
|
|
125
164
|
};
|
|
126
165
|
/**
|
|
127
166
|
* 绘制刻度相关的
|
|
128
167
|
*/
|
|
168
|
+
|
|
169
|
+
|
|
129
170
|
var drawScale = function drawScale() {
|
|
130
171
|
var px_per_min = width / (state.hoursPer * 60); // px/min
|
|
172
|
+
|
|
131
173
|
var px_per_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
|
|
174
|
+
|
|
132
175
|
var px_per_step = minStepSize; // px/格 默认最小值20px
|
|
176
|
+
|
|
133
177
|
var min_per_step = px_per_step / px_per_min; // min/格
|
|
178
|
+
|
|
134
179
|
for (var i = 0; i < minPerStep.length; i++) {
|
|
135
180
|
if (min_per_step <= minPerStep[i]) {
|
|
136
181
|
//让每格时间在minutes_per_step规定的范围内
|
|
@@ -139,22 +184,33 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
139
184
|
break;
|
|
140
185
|
}
|
|
141
186
|
}
|
|
187
|
+
|
|
142
188
|
var medium_step = 30;
|
|
189
|
+
|
|
143
190
|
for (var _i2 = 0; _i2 < minPerStep.length; _i2++) {
|
|
144
191
|
if (distance_between_gtitle / px_per_min <= minPerStep[_i2]) {
|
|
145
192
|
medium_step = minPerStep[_i2];
|
|
146
193
|
break;
|
|
147
194
|
}
|
|
148
195
|
}
|
|
196
|
+
|
|
149
197
|
var num_steps = width / px_per_step; //总格数
|
|
198
|
+
|
|
150
199
|
var ms_offset = ms_to_next_step(state.begin, min_per_step * 60 * 1000); //开始的偏移时间 ms
|
|
200
|
+
|
|
151
201
|
var px_offset = ms_offset * px_per_ms; //开始的偏移距离 px
|
|
202
|
+
|
|
152
203
|
var ms_per_step = px_per_step / px_per_ms; // ms/step
|
|
204
|
+
|
|
153
205
|
var graduation_left, graduation_time, lineH;
|
|
206
|
+
|
|
154
207
|
for (var _i3 = 0; _i3 < num_steps; _i3++) {
|
|
155
208
|
graduation_left = px_offset + _i3 * px_per_step; // 距离=开始的偏移距离+格数*px/格
|
|
209
|
+
|
|
156
210
|
graduation_time = state.begin + ms_offset + _i3 * ms_per_step; //时间=左侧开始时间+偏移时间+格数*ms/格
|
|
211
|
+
|
|
157
212
|
var date = moment(graduation_time);
|
|
213
|
+
|
|
158
214
|
if (date.get('hours') === 0 && date.get('minutes') === 0) {
|
|
159
215
|
lineH = 10;
|
|
160
216
|
var big_date = graduation_title(date.valueOf());
|
|
@@ -169,7 +225,9 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
169
225
|
} else if (graduation_time / (60 * 1000) % medium_step === 0) {
|
|
170
226
|
lineH = 10;
|
|
171
227
|
var middle_date = graduation_title(date.valueOf());
|
|
228
|
+
|
|
172
229
|
var _x = graduation_left - (middle_date.length > 5 ? 24 : 12);
|
|
230
|
+
|
|
173
231
|
drawText(ctx, {
|
|
174
232
|
fillStyle: normalLineColor,
|
|
175
233
|
font: '10px Arial',
|
|
@@ -180,6 +238,7 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
180
238
|
} else {
|
|
181
239
|
lineH = 5;
|
|
182
240
|
}
|
|
241
|
+
|
|
183
242
|
drawLine(ctx, graduation_left, height - lineH, graduation_left, height, normalLineColor, 2);
|
|
184
243
|
}
|
|
185
244
|
};
|
|
@@ -187,17 +246,22 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
187
246
|
* 绘制当前刻度
|
|
188
247
|
* @returns
|
|
189
248
|
*/
|
|
249
|
+
|
|
250
|
+
|
|
190
251
|
var drawCurrentLine = function drawCurrentLine() {
|
|
191
252
|
var currentTime = state.currentTime,
|
|
192
|
-
|
|
193
|
-
|
|
253
|
+
begin = state.begin,
|
|
254
|
+
hoursPer = state.hoursPer;
|
|
194
255
|
var time = currentTime;
|
|
195
256
|
var range = [begin, currentTime + hoursPer * 3600 * 1000];
|
|
257
|
+
|
|
196
258
|
if (time < range[0] || time > range[1]) {
|
|
197
259
|
return;
|
|
198
260
|
}
|
|
261
|
+
|
|
199
262
|
var ms_current = time - begin;
|
|
200
263
|
var px_per_ms = width / (hoursPer * 60 * 60 * 1000); // px/ms
|
|
264
|
+
|
|
201
265
|
var left = px_per_ms * ms_current;
|
|
202
266
|
drawText(ctx, {
|
|
203
267
|
fillStyle: '#ffffff',
|
|
@@ -211,52 +275,67 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
211
275
|
/**
|
|
212
276
|
* 绘制提示时间
|
|
213
277
|
*/
|
|
278
|
+
|
|
279
|
+
|
|
214
280
|
var drawHoverLine = function drawHoverLine() {
|
|
281
|
+
var _state$hover$x, _state$hover$time, _state$hover$x2, _state$hover$x3;
|
|
282
|
+
|
|
215
283
|
drawText(ctx, {
|
|
216
284
|
fillStyle: hoverLineColor,
|
|
217
285
|
font: '12px Arial',
|
|
218
|
-
x: state.hover.x - 50,
|
|
286
|
+
x: (_state$hover$x = state.hover.x) !== null && _state$hover$x !== void 0 ? _state$hover$x : 0 - 50,
|
|
219
287
|
y: 12,
|
|
220
|
-
text: formartTimestemp(state.hover.time)
|
|
288
|
+
text: formartTimestemp((_state$hover$time = state.hover.time) !== null && _state$hover$time !== void 0 ? _state$hover$time : 0)
|
|
221
289
|
});
|
|
222
|
-
drawLine(ctx, state.hover.x, 20, state.hover.x, height, hoverLineColor, 1);
|
|
290
|
+
drawLine(ctx, (_state$hover$x2 = state.hover.x) !== null && _state$hover$x2 !== void 0 ? _state$hover$x2 : 0, 20, (_state$hover$x3 = state.hover.x) !== null && _state$hover$x3 !== void 0 ? _state$hover$x3 : 0, height, hoverLineColor, 1);
|
|
223
291
|
};
|
|
224
292
|
/**
|
|
225
293
|
* 获取鼠标posx
|
|
226
294
|
* @param {*} e
|
|
227
295
|
*/
|
|
296
|
+
|
|
297
|
+
|
|
228
298
|
var get_cursor_x_position = function get_cursor_x_position(e) {
|
|
229
299
|
return e.offsetX;
|
|
230
300
|
};
|
|
231
301
|
/**
|
|
232
302
|
* 更新画布大小
|
|
233
303
|
*/
|
|
304
|
+
|
|
305
|
+
|
|
234
306
|
_useUpdateEffect(function () {
|
|
235
307
|
if (canvas) {
|
|
236
308
|
canvas.width = width;
|
|
237
309
|
canvas.height = height;
|
|
238
310
|
}
|
|
239
311
|
}, [canvas, height, width]);
|
|
312
|
+
|
|
240
313
|
useEffect(function () {
|
|
241
314
|
if (canvas) {
|
|
242
315
|
clearCanvas();
|
|
243
316
|
drawOverlay();
|
|
244
317
|
drawScale();
|
|
245
318
|
drawCurrentLine();
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
319
|
+
|
|
320
|
+
if (state.hover.time) {
|
|
321
|
+
drawHoverLine();
|
|
322
|
+
}
|
|
323
|
+
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
324
|
+
|
|
249
325
|
}, [canvas, state.begin, state.currentTime, state.hoursPer, segments, state.hover, size]);
|
|
326
|
+
|
|
250
327
|
_useUpdateEffect(function () {
|
|
251
328
|
return update({
|
|
252
329
|
begin: begin
|
|
253
330
|
});
|
|
254
331
|
}, [begin]);
|
|
332
|
+
|
|
255
333
|
_useUpdateEffect(function () {
|
|
256
334
|
return update({
|
|
257
335
|
hoursPer: hoursPer
|
|
258
336
|
});
|
|
259
337
|
}, [hoursPer]);
|
|
338
|
+
|
|
260
339
|
_useUpdateEffect(function () {
|
|
261
340
|
return update({
|
|
262
341
|
currentTime: currentTime
|
|
@@ -265,12 +344,16 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
265
344
|
/**
|
|
266
345
|
* 触发绘制范围单位(hour)
|
|
267
346
|
*/
|
|
347
|
+
|
|
348
|
+
|
|
268
349
|
_useEventListener('mousewheel', function (event) {
|
|
269
350
|
event.preventDefault();
|
|
270
351
|
var delta = Math.max(-1, Math.min(1, event.wheelDelta || -event.detail));
|
|
271
352
|
var middle_time = state.begin + state.hoursPer * 3600 * 1000 / 2; //ms 记住当前中间的时间
|
|
353
|
+
|
|
272
354
|
var new_hoursPer = state.hoursPer;
|
|
273
355
|
var index = hours.indexOf(new_hoursPer);
|
|
356
|
+
|
|
274
357
|
if (delta < 0) {
|
|
275
358
|
// 缩小
|
|
276
359
|
if (index === hours.length - 1) {
|
|
@@ -286,13 +369,16 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
286
369
|
new_hoursPer = hours[index - 1];
|
|
287
370
|
}
|
|
288
371
|
}
|
|
372
|
+
|
|
289
373
|
var new_begin = middle_time - state.hoursPer * 3600 * 1000 / 2; //new_begin = 当前中间的时间 - hoursPer/2
|
|
374
|
+
|
|
290
375
|
setState(function (old) {
|
|
291
|
-
return
|
|
376
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
292
377
|
begin: new_begin,
|
|
293
378
|
hoursPer: new_hoursPer
|
|
294
379
|
});
|
|
295
380
|
});
|
|
381
|
+
|
|
296
382
|
_nextTick(function () {
|
|
297
383
|
return onHoursPerChange === null || onHoursPerChange === void 0 ? void 0 : onHoursPerChange(new_hoursPer);
|
|
298
384
|
});
|
|
@@ -302,12 +388,14 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
302
388
|
/**
|
|
303
389
|
* 用于处理canvas移除hover效果
|
|
304
390
|
*/
|
|
391
|
+
|
|
392
|
+
|
|
305
393
|
_useEventListener('mouseout', function () {
|
|
306
394
|
return setState(function (old) {
|
|
307
|
-
return
|
|
395
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
308
396
|
hover: {
|
|
309
397
|
x: 0,
|
|
310
|
-
time:
|
|
398
|
+
time: undefined
|
|
311
399
|
}
|
|
312
400
|
});
|
|
313
401
|
});
|
|
@@ -317,13 +405,15 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
317
405
|
/**
|
|
318
406
|
* hover效果绘制
|
|
319
407
|
*/
|
|
408
|
+
|
|
409
|
+
|
|
320
410
|
_useEventListener('mousemove', function (e) {
|
|
321
411
|
if (extRef.current.mousedownTime) {
|
|
322
412
|
setState(function (old) {
|
|
323
|
-
return
|
|
413
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
324
414
|
hover: old.hover.time ? {
|
|
325
415
|
x: 0,
|
|
326
|
-
time:
|
|
416
|
+
time: undefined
|
|
327
417
|
} : old.hover
|
|
328
418
|
});
|
|
329
419
|
});
|
|
@@ -331,9 +421,10 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
331
421
|
// 触发绘制hover tips
|
|
332
422
|
var pos_x = get_cursor_x_position(e);
|
|
333
423
|
var ms_per_px = state.hoursPer * 3600 * 1000 / width; // ms/px
|
|
424
|
+
|
|
334
425
|
var current_timestamp = state.begin + pos_x * ms_per_px;
|
|
335
426
|
setState(function (old) {
|
|
336
|
-
return
|
|
427
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
337
428
|
hover: {
|
|
338
429
|
x: pos_x,
|
|
339
430
|
time: current_timestamp
|
|
@@ -347,6 +438,8 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
347
438
|
/**
|
|
348
439
|
* 标记点击、拖动的触发器
|
|
349
440
|
*/
|
|
441
|
+
|
|
442
|
+
|
|
350
443
|
_useEventListener('mousedown', function (e) {
|
|
351
444
|
extRef.current.mousedownTime = Date.now();
|
|
352
445
|
extRef.current.mousedownX = get_cursor_x_position(e); //记住mousedown的位置
|
|
@@ -356,53 +449,66 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
356
449
|
/**
|
|
357
450
|
* 处理点击、结束拖动的处理
|
|
358
451
|
*/
|
|
452
|
+
|
|
453
|
+
|
|
359
454
|
_useEventListener('mouseup', function (e) {
|
|
360
455
|
if (!extRef.current.mousedownTime) {
|
|
361
456
|
// 未在canvas上触发mousedown 过滤
|
|
362
457
|
return;
|
|
363
458
|
}
|
|
459
|
+
|
|
364
460
|
var clickDelay = Date.now() - extRef.current.mousedownTime;
|
|
461
|
+
|
|
365
462
|
if (clickDelay < 200 && e.target === canvas) {
|
|
366
463
|
// click 事件
|
|
367
464
|
var pos_x = get_cursor_x_position(e); //鼠标距离 px
|
|
465
|
+
|
|
368
466
|
var ms_per_px = state.hoursPer * 3600 * 1000 / width; // ms/px
|
|
467
|
+
|
|
369
468
|
var new_current = state.begin + pos_x * ms_per_px;
|
|
370
469
|
var segmentItem = segments.find(function (v) {
|
|
371
470
|
return new_current >= v.beginTime && new_current < v.endTime;
|
|
372
|
-
});
|
|
373
|
-
|
|
374
|
-
var
|
|
375
|
-
// const new_begin = new_current - (state.hoursPer * 60 * 60 * 1000) / 2;
|
|
471
|
+
}); // 当前片段没有录像的时候
|
|
472
|
+
|
|
473
|
+
var _outTimeline = segmentItem && !segmentItem.url; // const new_begin = new_current - (state.hoursPer * 60 * 60 * 1000) / 2;
|
|
376
474
|
// setState((old) => ({ ...old, begin: new_begin, current: new_current }));
|
|
475
|
+
|
|
476
|
+
|
|
377
477
|
setState(function (old) {
|
|
378
|
-
return
|
|
478
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
379
479
|
current: new_current
|
|
380
480
|
});
|
|
381
481
|
});
|
|
482
|
+
|
|
382
483
|
_nextTick(function () {
|
|
383
484
|
return onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange({
|
|
384
485
|
currentTime: new_current
|
|
385
|
-
},
|
|
486
|
+
}, _outTimeline);
|
|
386
487
|
});
|
|
387
|
-
}
|
|
388
|
-
|
|
389
|
-
|
|
488
|
+
} // 清楚拖拽关联信息
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
extRef.current.mousedownTime = undefined;
|
|
390
492
|
extRef.current.mousedownX = 0;
|
|
391
493
|
}, {
|
|
392
494
|
target: document
|
|
393
495
|
});
|
|
394
|
-
|
|
496
|
+
|
|
497
|
+
var moveTimerRef = useRef();
|
|
395
498
|
/**
|
|
396
499
|
* 拖动处理
|
|
397
500
|
*/
|
|
501
|
+
|
|
398
502
|
_useEventListener('mousemove', function (e) {
|
|
399
503
|
if (!extRef.current.mousedownTime) {
|
|
400
504
|
return;
|
|
401
505
|
}
|
|
402
|
-
|
|
403
|
-
// 触发拖动
|
|
506
|
+
|
|
507
|
+
clearTimeout(moveTimerRef.current); // 触发拖动
|
|
508
|
+
|
|
404
509
|
var pos_x = get_cursor_x_position(e);
|
|
405
510
|
var px_per_ms = width / (state.hoursPer * 60 * 60 * 1000); // px/ms
|
|
511
|
+
|
|
406
512
|
var diff_x = pos_x - extRef.current.mousedownX;
|
|
407
513
|
var new_begin = state.begin - Math.round(diff_x / px_per_ms);
|
|
408
514
|
extRef.current.mousedownX = pos_x;
|
|
@@ -418,4 +524,5 @@ function useTimeSlider(canvasRef, _ref2) {
|
|
|
418
524
|
target: document
|
|
419
525
|
});
|
|
420
526
|
}
|
|
527
|
+
|
|
421
528
|
export default useTimeSlider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export default function useVideoFit(containerRef: React.
|
|
2
|
+
export default function useVideoFit(containerRef: React.RefObject<HTMLDivElement>, deps?: any[]): {
|
|
3
3
|
fit: string;
|
|
4
4
|
toggleFit: () => void;
|
|
5
5
|
};
|
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
import _useToggle3 from "ahooks/es/useToggle";
|
|
2
|
+
|
|
2
3
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
+
|
|
3
5
|
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."); }
|
|
6
|
+
|
|
4
7
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
+
|
|
5
9
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
+
|
|
6
11
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
+
|
|
7
13
|
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."); }
|
|
14
|
+
|
|
8
15
|
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); }
|
|
16
|
+
|
|
9
17
|
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; }
|
|
18
|
+
|
|
10
19
|
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; }
|
|
20
|
+
|
|
11
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
+
|
|
12
23
|
import { useEffect, useMemo } from 'react';
|
|
13
24
|
export default function useVideoFit(containerRef) {
|
|
14
25
|
var deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
26
|
+
|
|
15
27
|
var _useToggle = _useToggle3('contain', 'fill'),
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
_useToggle2 = _slicedToArray(_useToggle, 2),
|
|
29
|
+
fit = _useToggle2[0],
|
|
30
|
+
toggle = _useToggle2[1].toggle;
|
|
31
|
+
|
|
19
32
|
useEffect(function () {
|
|
20
33
|
if (!containerRef.current) {
|
|
21
34
|
return;
|
|
22
35
|
}
|
|
36
|
+
|
|
23
37
|
var videos = containerRef.current.querySelectorAll('video');
|
|
24
38
|
Array.from(videos).forEach(function (item) {
|
|
25
39
|
item.style.objectFit = fit;
|
|
26
|
-
});
|
|
27
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
|
+
}); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
41
|
}, [].concat(_toConsumableArray(deps), [fit]));
|
|
29
42
|
return useMemo(function () {
|
|
30
43
|
return {
|
|
@@ -8,7 +8,7 @@ export declare const ScreenType: {
|
|
|
8
8
|
export declare const TimeModeLibs: {
|
|
9
9
|
name: number;
|
|
10
10
|
}[];
|
|
11
|
-
export declare function mergeFill<T, S>(len: number, mergeArr: T[], fillItem: S): (T | S)[];
|
|
11
|
+
export declare function mergeFill<T, S>(len: number, mergeArr: T[] | undefined, fillItem: S): (T | S)[];
|
|
12
12
|
/**
|
|
13
13
|
* unix时间戳
|
|
14
14
|
* @param start
|
package/es/ScreenPlayer/utils.js
CHANGED
|
@@ -33,7 +33,9 @@ export var TimeModeLibs = [{
|
|
|
33
33
|
}, {
|
|
34
34
|
name: 24
|
|
35
35
|
}];
|
|
36
|
-
export function mergeFill(len
|
|
36
|
+
export function mergeFill(len) {
|
|
37
|
+
var mergeArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
38
|
+
var fillItem = arguments.length > 2 ? arguments[2] : undefined;
|
|
37
39
|
return new Array(len).fill(fillItem).map(function (v, i) {
|
|
38
40
|
return mergeArr[i] ? mergeArr[i] : v;
|
|
39
41
|
});
|
|
@@ -44,14 +46,17 @@ export function mergeFill(len, mergeArr, fillItem) {
|
|
|
44
46
|
* @param end
|
|
45
47
|
* @param segments
|
|
46
48
|
*/
|
|
49
|
+
|
|
47
50
|
export var completionSegments = function completionSegments(start, end, segments) {
|
|
48
51
|
var arr = [];
|
|
52
|
+
|
|
49
53
|
if (segments.length > 0 && start < +segments[0].beginTime) {
|
|
50
54
|
arr.push({
|
|
51
55
|
beginTime: start,
|
|
52
56
|
endTime: +segments[0].beginTime
|
|
53
57
|
});
|
|
54
58
|
}
|
|
59
|
+
|
|
55
60
|
segments.reduce(function (prev, current, idx) {
|
|
56
61
|
if (arr.length === 0 && idx === 0) {
|
|
57
62
|
prev.push(current);
|
|
@@ -63,17 +68,21 @@ export var completionSegments = function completionSegments(start, end, segments
|
|
|
63
68
|
} else {
|
|
64
69
|
prev.push(current);
|
|
65
70
|
}
|
|
71
|
+
|
|
66
72
|
return prev;
|
|
67
73
|
}, arr);
|
|
74
|
+
|
|
68
75
|
if (end > +segments[segments.length - 1].endTime) {
|
|
69
76
|
arr.push({
|
|
70
77
|
beginTime: segments[segments.length - 1].endTime,
|
|
71
78
|
endTime: end
|
|
72
79
|
});
|
|
73
80
|
}
|
|
81
|
+
|
|
74
82
|
return arr;
|
|
75
83
|
};
|
|
76
84
|
export function sleep(time) {
|
|
85
|
+
// eslint-disable-next-line no-promise-executor-return
|
|
77
86
|
return new Promise(function (reslove) {
|
|
78
87
|
return setTimeout(function () {
|
|
79
88
|
return reslove(time);
|