@seafile/sdoc-editor 1.0.206-test0.3.8 → 1.0.206-test0.4.0
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.
|
@@ -43,15 +43,15 @@ const isInsertVideoMenuDisabled = (editor, readonly) => {
|
|
|
43
43
|
return false;
|
|
44
44
|
};
|
|
45
45
|
exports.isInsertVideoMenuDisabled = isInsertVideoMenuDisabled;
|
|
46
|
-
const generateVideoNode = (src,
|
|
46
|
+
const generateVideoNode = (src, videoInfo) => {
|
|
47
47
|
const element = (0, _core.generateEmptyElement)(_constants.VIDEO);
|
|
48
|
-
return {
|
|
48
|
+
return [{
|
|
49
49
|
...element,
|
|
50
50
|
data: {
|
|
51
51
|
src,
|
|
52
|
-
|
|
52
|
+
videoInfo
|
|
53
53
|
}
|
|
54
|
-
};
|
|
54
|
+
}];
|
|
55
55
|
};
|
|
56
56
|
exports.generateVideoNode = generateVideoNode;
|
|
57
57
|
const parseVideoLink = url => {
|
|
@@ -90,26 +90,24 @@ const parseVideoLink = url => {
|
|
|
90
90
|
};
|
|
91
91
|
exports.parseVideoLink = parseVideoLink;
|
|
92
92
|
const insertVideo = function (editor, videoFiles, srcList, selection) {
|
|
93
|
-
var _videoFiles$;
|
|
94
93
|
let position = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _constants.INSERT_POSITION.CURRENT;
|
|
95
94
|
if (!srcList) return;
|
|
96
95
|
if (position !== _constants.INSERT_POSITION.AFTER) {
|
|
97
96
|
if (isInsertVideoMenuDisabled(editor)) return;
|
|
98
97
|
}
|
|
99
98
|
console.log(videoFiles[0]);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
const videoInfo = {
|
|
100
|
+
name: videoFiles[0].name || null,
|
|
101
|
+
size: videoFiles[0].size || null,
|
|
102
|
+
isEmbeddableLink: videoFiles[0].isEmbeddableLink || false
|
|
103
|
+
};
|
|
104
|
+
console.log(videoInfo);
|
|
105
|
+
// Return when embedding invalid youtube, tencent or bilibili video url
|
|
106
|
+
if (videoInfo.isEmbeddableLink) {
|
|
103
107
|
const parsedSrc = parseVideoLink(srcList[0]);
|
|
104
108
|
if (!parsedSrc) return;
|
|
105
|
-
videoNodes = [parsedSrc].map(src => {
|
|
106
|
-
return generateVideoNode(src, videoFiles);
|
|
107
|
-
});
|
|
108
|
-
} else {
|
|
109
|
-
videoNodes = srcList.map(src => {
|
|
110
|
-
return generateVideoNode(src, videoFiles);
|
|
111
|
-
});
|
|
112
109
|
}
|
|
110
|
+
const videoNodes = generateVideoNode(srcList[0], videoInfo);
|
|
113
111
|
const validSelection = selection || editor.selection;
|
|
114
112
|
let path = _slate.Editor.path(editor, validSelection);
|
|
115
113
|
if (position === _constants.INSERT_POSITION.AFTER) {
|
|
@@ -12,7 +12,7 @@ var _reactI18next = require("react-i18next");
|
|
|
12
12
|
var _helpers = require("./helpers");
|
|
13
13
|
require("./index.css");
|
|
14
14
|
const Video = _ref => {
|
|
15
|
-
var _data$
|
|
15
|
+
var _data$videoInfo, _data$videoInfo2, _data$videoInfo3, _videoStates$element$;
|
|
16
16
|
let {
|
|
17
17
|
element,
|
|
18
18
|
editor
|
|
@@ -24,9 +24,9 @@ const Video = _ref => {
|
|
|
24
24
|
const [isLoaded, setIsLoaded] = (0, _react.useState)(false);
|
|
25
25
|
const [isSelected, setIsSelected] = (0, _react.useState)(false);
|
|
26
26
|
const [videoStates, setVideoStates] = (0, _react.useState)({});
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const isEmbeddableLink =
|
|
27
|
+
const videoName = ((_data$videoInfo = data.videoInfo) === null || _data$videoInfo === void 0 ? void 0 : _data$videoInfo.name) || data.src || null;
|
|
28
|
+
const videoSize = ((_data$videoInfo2 = data.videoInfo) === null || _data$videoInfo2 === void 0 ? void 0 : _data$videoInfo2.size) || null;
|
|
29
|
+
const isEmbeddableLink = ((_data$videoInfo3 = data.videoInfo) === null || _data$videoInfo3 === void 0 ? void 0 : _data$videoInfo3.isEmbeddableLink) || false;
|
|
30
30
|
const handlePlay = () => {
|
|
31
31
|
setVideoStates(prev => ({
|
|
32
32
|
...prev,
|
|
@@ -76,9 +76,9 @@ const Video = _ref => {
|
|
|
76
76
|
alt: ""
|
|
77
77
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
78
78
|
className: "video-file-info"
|
|
79
|
-
}, /*#__PURE__*/_react.default.createElement("div", null,
|
|
79
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, videoName), /*#__PURE__*/_react.default.createElement("div", {
|
|
80
80
|
className: "file-size"
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _helpers.formatFileSize)(
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, (0, _helpers.formatFileSize)(videoSize), " \u2014 "), /*#__PURE__*/_react.default.createElement("div", {
|
|
82
82
|
className: "loading-spinner"
|
|
83
83
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
84
84
|
className: "spinner"
|