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