@cloud-app-dev/vidc 3.0.15 → 3.0.16
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.
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ILivePlayerProps } from './interface';
|
|
3
3
|
import './index.less';
|
|
4
|
-
declare function LivePlayer({ list, children, onIndexChange, onClose, onCloseAll, snapshot, defaultScreen, screenChange, defaultSelectIndex }: ILivePlayerProps): JSX.Element;
|
|
4
|
+
declare function LivePlayer({ list, children, onIndexChange, onClose, onCloseAll, snapshot, defaultScreen, screenChange, defaultSelectIndex, ...options }: ILivePlayerProps): JSX.Element;
|
|
5
5
|
declare namespace LivePlayer {
|
|
6
6
|
var defaultProps: {
|
|
7
7
|
list: any[];
|
package/es/ScreenPlayer/Live.js
CHANGED
|
@@ -20,6 +20,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
20
20
|
|
|
21
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
22
|
|
|
23
|
+
import { __rest } from "tslib";
|
|
23
24
|
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
24
25
|
import { ScreenType, mergeFill } from './utils';
|
|
25
26
|
import { LivePlayerWithExt } from './PlayerWithExt';
|
|
@@ -27,16 +28,17 @@ import Tools from './LiveTools';
|
|
|
27
28
|
import useVideoFit from './useVideoFit';
|
|
28
29
|
import "./index.css";
|
|
29
30
|
|
|
30
|
-
function LivePlayer(
|
|
31
|
-
var list =
|
|
32
|
-
children =
|
|
33
|
-
onIndexChange =
|
|
34
|
-
onClose =
|
|
35
|
-
onCloseAll =
|
|
36
|
-
snapshot =
|
|
37
|
-
defaultScreen =
|
|
38
|
-
screenChange =
|
|
39
|
-
defaultSelectIndex =
|
|
31
|
+
function LivePlayer(_a) {
|
|
32
|
+
var list = _a.list,
|
|
33
|
+
children = _a.children,
|
|
34
|
+
onIndexChange = _a.onIndexChange,
|
|
35
|
+
onClose = _a.onClose,
|
|
36
|
+
onCloseAll = _a.onCloseAll,
|
|
37
|
+
snapshot = _a.snapshot,
|
|
38
|
+
defaultScreen = _a.defaultScreen,
|
|
39
|
+
screenChange = _a.screenChange,
|
|
40
|
+
defaultSelectIndex = _a.defaultSelectIndex,
|
|
41
|
+
options = __rest(_a, ["list", "children", "onIndexChange", "onClose", "onCloseAll", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex"]);
|
|
40
42
|
|
|
41
43
|
var _useState = useState({
|
|
42
44
|
screenNum: defaultScreen !== null && defaultScreen !== void 0 ? defaultScreen : 4,
|
|
@@ -51,18 +53,24 @@ function LivePlayer(_ref) {
|
|
|
51
53
|
|
|
52
54
|
var _useVideoFit = useVideoFit(domRef, []),
|
|
53
55
|
fit = _useVideoFit.fit,
|
|
54
|
-
toggleFit = _useVideoFit.toggleFit; //
|
|
56
|
+
toggleFit = _useVideoFit.toggleFit; // 若外部来控制screenNum 则由外部完全控制
|
|
55
57
|
|
|
56
58
|
|
|
59
|
+
var screenNum = useMemo(function () {
|
|
60
|
+
var _a;
|
|
61
|
+
|
|
62
|
+
return (_a = options.screenNum) !== null && _a !== void 0 ? _a : state.screenNum;
|
|
63
|
+
}, [options.screenNum, state.screenNum]); // 缓存所有player对象
|
|
64
|
+
|
|
57
65
|
var playerRef = useRef([]);
|
|
58
66
|
var screenType = useMemo(function () {
|
|
59
67
|
return ScreenType.find(function (v) {
|
|
60
|
-
return v.name ===
|
|
68
|
+
return v.name === screenNum;
|
|
61
69
|
});
|
|
62
|
-
}, [
|
|
70
|
+
}, [screenNum]);
|
|
63
71
|
var screenList = useMemo(function () {
|
|
64
|
-
return mergeFill(
|
|
65
|
-
}, [list,
|
|
72
|
+
return mergeFill(screenNum, list, {});
|
|
73
|
+
}, [list, screenNum]); // 获取选中player对象
|
|
66
74
|
|
|
67
75
|
var getPlayerItem = function getPlayerItem() {
|
|
68
76
|
var _a;
|
|
@@ -75,9 +83,15 @@ function LivePlayer(_ref) {
|
|
|
75
83
|
var obj = {};
|
|
76
84
|
|
|
77
85
|
if (newState.hasOwnProperty('screenNum')) {
|
|
78
|
-
|
|
86
|
+
if (options.screenNum) {
|
|
87
|
+
// 若外部控制,不需要update state
|
|
88
|
+
screenChange === null || screenChange === void 0 ? void 0 : screenChange(newState.screenNum);
|
|
89
|
+
} else {
|
|
90
|
+
obj.screenNum = newState.screenNum;
|
|
91
|
+
} // 修正选中索引
|
|
92
|
+
|
|
79
93
|
|
|
80
|
-
if (
|
|
94
|
+
if (newState.screenNum < state.selectIndex) {
|
|
81
95
|
obj.selectIndex = 0;
|
|
82
96
|
}
|
|
83
97
|
}
|
|
@@ -166,7 +180,7 @@ function LivePlayer(_ref) {
|
|
|
166
180
|
disabled: !segmentItem.url,
|
|
167
181
|
toggleFit: toggleFit,
|
|
168
182
|
getPlayerItem: getPlayerItem,
|
|
169
|
-
screenNum:
|
|
183
|
+
screenNum: screenNum,
|
|
170
184
|
mode: state.modes[state.selectIndex],
|
|
171
185
|
containerRef: domRef,
|
|
172
186
|
updateState: updateState,
|
|
@@ -6,5 +6,5 @@ import './index.less';
|
|
|
6
6
|
* @param param0
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, }: IRecordPlayerProps): JSX.Element;
|
|
9
|
+
declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, ...options }: IRecordPlayerProps): JSX.Element;
|
|
10
10
|
export default RecordPlayer;
|
|
@@ -27,7 +27,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
27
27
|
|
|
28
28
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
29
29
|
|
|
30
|
-
import { __awaiter } from "tslib";
|
|
30
|
+
import { __awaiter, __rest } from "tslib";
|
|
31
31
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
32
32
|
import { ScreenType, mergeFill, differenceWithIndexs, FILTER_KEY } from './utils';
|
|
33
33
|
import { SegmentPlayerWithExt, FrontendPlayerWithExt } from './PlayerWithExt';
|
|
@@ -53,39 +53,46 @@ var defaultState = {
|
|
|
53
53
|
* @returns
|
|
54
54
|
*/
|
|
55
55
|
|
|
56
|
-
function RecordPlayer(
|
|
56
|
+
function RecordPlayer(_a) {
|
|
57
57
|
var _this = this;
|
|
58
58
|
|
|
59
|
-
var list =
|
|
60
|
-
children =
|
|
61
|
-
queryRecord =
|
|
62
|
-
onIndexChange =
|
|
63
|
-
onClose =
|
|
64
|
-
onCloseAll =
|
|
65
|
-
download =
|
|
66
|
-
snapshot =
|
|
67
|
-
defaultScreen =
|
|
68
|
-
screenChange =
|
|
69
|
-
defaultSelectIndex =
|
|
59
|
+
var list = _a.list,
|
|
60
|
+
children = _a.children,
|
|
61
|
+
queryRecord = _a.queryRecord,
|
|
62
|
+
onIndexChange = _a.onIndexChange,
|
|
63
|
+
onClose = _a.onClose,
|
|
64
|
+
onCloseAll = _a.onCloseAll,
|
|
65
|
+
download = _a.download,
|
|
66
|
+
snapshot = _a.snapshot,
|
|
67
|
+
defaultScreen = _a.defaultScreen,
|
|
68
|
+
screenChange = _a.screenChange,
|
|
69
|
+
defaultSelectIndex = _a.defaultSelectIndex,
|
|
70
|
+
options = __rest(_a, ["list", "children", "queryRecord", "onIndexChange", "onClose", "onCloseAll", "download", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex"]);
|
|
70
71
|
|
|
71
72
|
var _useState = useState(Object.assign(Object.assign({}, defaultState), {
|
|
72
73
|
screenNum: defaultScreen !== null && defaultScreen !== void 0 ? defaultScreen : defaultState.screenNum
|
|
73
74
|
})),
|
|
74
75
|
_useState2 = _slicedToArray(_useState, 2),
|
|
75
76
|
state = _useState2[0],
|
|
76
|
-
setState = _useState2[1];
|
|
77
|
+
setState = _useState2[1]; // 若外部来控制screenNum 则由外部完全控制
|
|
77
78
|
|
|
79
|
+
|
|
80
|
+
var screenNum = useMemo(function () {
|
|
81
|
+
var _a;
|
|
82
|
+
|
|
83
|
+
return (_a = options.screenNum) !== null && _a !== void 0 ? _a : state.screenNum;
|
|
84
|
+
}, [options.screenNum, state.screenNum]);
|
|
78
85
|
var domRef = useRef(null);
|
|
79
86
|
var screenType = useMemo(function () {
|
|
80
87
|
return ScreenType.find(function (v) {
|
|
81
|
-
return v.name ===
|
|
88
|
+
return v.name === screenNum;
|
|
82
89
|
});
|
|
83
|
-
}, [
|
|
90
|
+
}, [screenNum]);
|
|
84
91
|
var screenList = useMemo(function () {
|
|
85
|
-
return mergeFill(
|
|
92
|
+
return mergeFill(screenNum, list, {
|
|
86
93
|
recordType: 1
|
|
87
94
|
});
|
|
88
|
-
}, [
|
|
95
|
+
}, [screenNum, list]);
|
|
89
96
|
|
|
90
97
|
var _useVideoFit = useVideoFit(domRef, []),
|
|
91
98
|
fit = _useVideoFit.fit,
|
|
@@ -198,9 +205,15 @@ function RecordPlayer(_ref) {
|
|
|
198
205
|
var obj = {};
|
|
199
206
|
|
|
200
207
|
if (newState.hasOwnProperty('screenNum')) {
|
|
201
|
-
|
|
208
|
+
if (options.screenNum) {
|
|
209
|
+
// 若外部控制,不需要update state
|
|
210
|
+
screenChange === null || screenChange === void 0 ? void 0 : screenChange(newState.screenNum);
|
|
211
|
+
} else {
|
|
212
|
+
obj.screenNum = newState.screenNum;
|
|
213
|
+
} // 修正选中索引
|
|
214
|
+
|
|
202
215
|
|
|
203
|
-
if (
|
|
216
|
+
if (newState.screenNum < state.selectIndex) {
|
|
204
217
|
obj.selectIndex = 0;
|
|
205
218
|
}
|
|
206
219
|
}
|
|
@@ -404,7 +417,7 @@ function RecordPlayer(_ref) {
|
|
|
404
417
|
fit: fit,
|
|
405
418
|
toggleFit: toggleFit,
|
|
406
419
|
getPlayerItem: getPlayerItem,
|
|
407
|
-
screenNum:
|
|
420
|
+
screenNum: screenNum,
|
|
408
421
|
mode: state.modes[state.selectIndex],
|
|
409
422
|
containerRef: domRef,
|
|
410
423
|
updateState: updateState,
|
|
@@ -46,6 +46,8 @@ export interface IRecordPlayerProps {
|
|
|
46
46
|
|
|
47
47
|
defaultScreen?: 1 | 4 | 6 | 9 | 16;
|
|
48
48
|
|
|
49
|
+
screenNum?: 1 | 4 | 6 | 9 | 16;
|
|
50
|
+
|
|
49
51
|
defaultSelectIndex?: number;
|
|
50
52
|
}
|
|
51
53
|
|
|
@@ -122,6 +124,8 @@ export interface ILivePlayerProps {
|
|
|
122
124
|
|
|
123
125
|
defaultScreen?: 1 | 4 | 6 | 9 | 16;
|
|
124
126
|
|
|
127
|
+
screenNum?: 1 | 4 | 6 | 9 | 16;
|
|
128
|
+
|
|
125
129
|
defaultSelectIndex?: number;
|
|
126
130
|
}
|
|
127
131
|
|
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": "3.0.
|
|
5
|
+
"version": "3.0.16",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "dumi dev",
|
|
8
8
|
"docs:build": "dumi build",
|
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@cloud-app-dev/utils": "^4.0.1",
|
|
45
|
+
"@testing-library/react-hooks": "^8.0.1",
|
|
46
|
+
"@types/jest": "^29.0.1",
|
|
45
47
|
"@types/leaflet": "^1.7.11",
|
|
46
48
|
"@types/lodash-es": "^4.17.6",
|
|
47
49
|
"@types/node": "^18.7.6",
|