@seafile/sdoc-editor 1.0.205 → 1.0.206-test-5.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.
Files changed (32) hide show
  1. package/dist/basic-sdk/comment/components/comment-item-content.js +5 -3
  2. package/dist/basic-sdk/extension/commons/file-insert-dialog/index.js +1 -1
  3. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +21 -0
  4. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +8 -3
  5. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +49 -8
  6. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.css +1 -0
  7. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +6 -2
  8. package/dist/basic-sdk/extension/constants/element-type.js +2 -1
  9. package/dist/basic-sdk/extension/constants/index.js +2 -1
  10. package/dist/basic-sdk/extension/core/queries/index.js +18 -14
  11. package/dist/basic-sdk/extension/plugins/callout/helper.js +1 -1
  12. package/dist/basic-sdk/extension/plugins/font/helpers.js +4 -0
  13. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +3 -3
  14. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.js +1 -1
  15. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +2 -0
  16. package/dist/basic-sdk/extension/plugins/video/dialog/add-video-link-dialog/index.js +99 -0
  17. package/dist/basic-sdk/extension/plugins/video/helpers.js +61 -8
  18. package/dist/basic-sdk/extension/plugins/video/index.css +4 -3
  19. package/dist/basic-sdk/extension/plugins/video/menu/index.js +24 -1
  20. package/dist/basic-sdk/extension/plugins/video/render-elem.js +20 -7
  21. package/dist/constants/index.js +1 -0
  22. package/package.json +1 -1
  23. package/public/locales/cs/sdoc-editor.json +6 -2
  24. package/public/locales/de/sdoc-editor.json +311 -307
  25. package/public/locales/en/sdoc-editor.json +6 -2
  26. package/public/locales/es/sdoc-editor.json +6 -2
  27. package/public/locales/es_AR/sdoc-editor.json +6 -2
  28. package/public/locales/es_MX/sdoc-editor.json +6 -2
  29. package/public/locales/fr/sdoc-editor.json +6 -2
  30. package/public/locales/it/sdoc-editor.json +6 -2
  31. package/public/locales/ru/sdoc-editor.json +7 -3
  32. package/public/locales/zh_CN/sdoc-editor.json +5 -1
@@ -17,6 +17,7 @@ const VideoMenu = _ref => {
17
17
  let {
18
18
  editor,
19
19
  readonly,
20
+ toggle,
20
21
  eventBus
21
22
  } = _ref;
22
23
  const disabled = (0, _helpers.isInsertVideoMenuDisabled)(editor, readonly);
@@ -30,6 +31,22 @@ const VideoMenu = _ref => {
30
31
  editor
31
32
  });
32
33
  }, [editor, eventBus]);
34
+ const addVideoLink = (0, _react.useCallback)(() => {
35
+ eventBus.dispatch(_constants2.INTERNAL_EVENT.INSERT_ELEMENT, {
36
+ type: _constants.ELEMENT_TYPE.VIDEO_LINK,
37
+ editor
38
+ });
39
+ toggle && toggle();
40
+ // eslint-disable-next-line react-hooks/exhaustive-deps
41
+ }, [editor, eventBus]);
42
+ const openSelectVideoFileDialog = (0, _react.useCallback)(() => {
43
+ eventBus.dispatch(_constants2.INTERNAL_EVENT.INSERT_ELEMENT, {
44
+ type: _constants.ELEMENT_TYPE.VIDEO,
45
+ insertVideo: _helpers.insertVideo
46
+ });
47
+ toggle && toggle();
48
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
+ }, [toggle, eventBus]);
33
50
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
34
51
  disabled: disabled,
35
52
  menuConfig: menuConfig,
@@ -48,6 +65,12 @@ const VideoMenu = _ref => {
48
65
  }, /*#__PURE__*/_react.default.createElement("div", {
49
66
  className: "sdoc-dropdown-menu-item",
50
67
  onClick: openLocalVideoDialog
51
- }, t('Upload_local_video')))));
68
+ }, t('Upload_local_video')), /*#__PURE__*/_react.default.createElement("div", {
69
+ className: "sdoc-dropdown-menu-item",
70
+ onClick: addVideoLink
71
+ }, t('Add_video_link')), /*#__PURE__*/_react.default.createElement("div", {
72
+ className: "sdoc-dropdown-menu-item",
73
+ onClick: openSelectVideoFileDialog
74
+ }, t('Link_Seafile_video_file')))));
52
75
  };
53
76
  var _default = exports.default = VideoMenu;
@@ -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$videoFiles$, _data$videoFiles$2, _videoStates$element$;
15
+ var _videoStates$element$;
16
16
  let {
17
17
  element,
18
18
  editor
@@ -24,8 +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 videoFileName = data.videoFiles && ((_data$videoFiles$ = data.videoFiles[0]) === null || _data$videoFiles$ === void 0 ? void 0 : _data$videoFiles$.name) || null;
28
- const videoFileSize = data.videoFiles && ((_data$videoFiles$2 = data.videoFiles[0]) === null || _data$videoFiles$2 === void 0 ? void 0 : _data$videoFiles$2.size) || null;
27
+ const videoName = (data === null || data === void 0 ? void 0 : data.name) || (data === null || data === void 0 ? void 0 : data.src);
28
+ const videoSize = data === null || data === void 0 ? void 0 : data.size;
29
+ const isEmbeddableLink = data === null || data === void 0 ? void 0 : data.is_embeddable_link;
29
30
  const handlePlay = () => {
30
31
  setVideoStates(prev => ({
31
32
  ...prev,
@@ -75,9 +76,9 @@ const Video = _ref => {
75
76
  alt: ""
76
77
  }), /*#__PURE__*/_react.default.createElement("div", {
77
78
  className: "video-file-info"
78
- }, /*#__PURE__*/_react.default.createElement("div", null, videoFileName), /*#__PURE__*/_react.default.createElement("div", {
79
+ }, /*#__PURE__*/_react.default.createElement("div", null, videoName), /*#__PURE__*/_react.default.createElement("div", {
79
80
  className: "file-size"
80
- }, /*#__PURE__*/_react.default.createElement("span", null, (0, _helpers.formatFileSize)(videoFileSize), " \u2014 "), /*#__PURE__*/_react.default.createElement("div", {
81
+ }, /*#__PURE__*/_react.default.createElement("span", null, (0, _helpers.formatFileSize)(videoSize), " \u2014 "), /*#__PURE__*/_react.default.createElement("div", {
81
82
  className: "loading-spinner"
82
83
  }, /*#__PURE__*/_react.default.createElement("div", {
83
84
  className: "spinner"
@@ -92,10 +93,10 @@ const Video = _ref => {
92
93
  style: {
93
94
  visibility: isLoaded ? 'visible' : 'hidden'
94
95
  }
95
- }, /*#__PURE__*/_react.default.createElement("video", {
96
+ }, !isEmbeddableLink && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("video", {
96
97
  className: "sdoc-video-element",
97
98
  ref: videoRef,
98
- src: (0, _helpers.getVideoURL)(data, editor),
99
+ src: (0, _helpers.getVideoURL)(data),
99
100
  controls: true,
100
101
  onClick: onClickVideo,
101
102
  draggable: false,
@@ -111,6 +112,18 @@ const Video = _ref => {
111
112
  visibility: isPaused ? 'visible' : 'hidden'
112
113
  },
113
114
  contentEditable: "false"
115
+ })), isEmbeddableLink && /*#__PURE__*/_react.default.createElement("iframe", {
116
+ className: "sdoc-video-element",
117
+ title: data.src,
118
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
119
+ allowFullScreen: true,
120
+ src: (0, _helpers.getVideoURL)(data),
121
+ onLoad: handleVideoLoad,
122
+ style: {
123
+ width: '100%',
124
+ height: '100%',
125
+ border: 'none'
126
+ }
114
127
  }))));
115
128
  };
116
129
  const SdocVideo = (0, _reactI18next.withTranslation)('sdoc-editor')(Video);
@@ -36,6 +36,7 @@ const EXTERNAL_EVENT = exports.EXTERNAL_EVENT = {
36
36
  PARTICIPANT_REMOVED: 'participant-removed',
37
37
  CREATE_SDOC_FILE: 'create_sdoc_file',
38
38
  CREATE_WIKI_PAGE: 'create_wiki_page',
39
+ ADD_VIDEO_LINK: 'add_video_link',
39
40
  // wiki
40
41
  INSERT_LINK: 'insert_link',
41
42
  // document
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "1.0.205",
3
+ "version": "1.0.206-test-5.0",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -573,7 +573,7 @@
573
573
  "Five_column": "5 columns",
574
574
  "Full_width_mode": "Full width mode",
575
575
  "Video": "Video",
576
- "Upload_local_video": "Upload_local_video",
576
+ "Upload_local_video": "Upload local video",
577
577
  "The_current_version_does_not_support_>5MB_video_file": "The_current_version_does_not_support_>5MB_video_file",
578
578
  "Token_expired_Please_refresh_the_page": "Token expired. Please refresh the page.",
579
579
  "Link_to_page": "Link to page",
@@ -606,5 +606,9 @@
606
606
  "Ask_AI": "Ask AI",
607
607
  "Enter_reply": "Enter reply",
608
608
  "Processing_content_cannot_be_empty": "Processing content cannot be empty",
609
- "AI_error_message": "Request error, please try again"
609
+ "AI_error_message": "Request error, please try again",
610
+ "Add_video_link": "Add video link",
611
+ "Link_Seafile_video_file": "Link Seafile video file",
612
+ "Select_video_file": "Select video file",
613
+ "Support_Youtube_Tencent_Bilibili_and_more": "Support Youtube, Tencent, Bilibili and more"
610
614
  }