@seafile/comment-editor 0.0.1-alpha.9 → 0.0.2

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 (313) hide show
  1. package/README.md +2 -8
  2. package/dist/basic-sdk/constants/index.js +2 -91
  3. package/dist/basic-sdk/context.js +7 -212
  4. package/dist/basic-sdk/cursor/helper.js +2 -31
  5. package/dist/basic-sdk/decorates/index.js +1 -2
  6. package/dist/basic-sdk/editor/comment-editor.js +10 -22
  7. package/dist/basic-sdk/extension/commons/index.js +1 -22
  8. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +0 -136
  9. package/dist/basic-sdk/extension/commons/menu/menu-item.js +1 -6
  10. package/dist/basic-sdk/extension/constants/element-type.js +2 -36
  11. package/dist/basic-sdk/extension/constants/index.js +4 -421
  12. package/dist/basic-sdk/extension/constants/menus-config.js +2 -402
  13. package/dist/basic-sdk/extension/core/queries/index.js +0 -3
  14. package/dist/basic-sdk/extension/core/transforms/index.js +0 -11
  15. package/dist/basic-sdk/extension/index.js +3 -24
  16. package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +1 -28
  17. package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +2 -2
  18. package/dist/basic-sdk/extension/plugins/html/helper.js +0 -1
  19. package/dist/basic-sdk/extension/plugins/html/plugin.js +0 -24
  20. package/dist/basic-sdk/extension/plugins/html/rules/index.js +1 -4
  21. package/dist/basic-sdk/extension/plugins/image/helpers.js +4 -6
  22. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +5 -3
  23. package/dist/basic-sdk/extension/plugins/image/plugin.js +0 -14
  24. package/dist/basic-sdk/extension/plugins/image/render-elem.js +7 -12
  25. package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +4 -2
  26. package/dist/basic-sdk/extension/plugins/index.js +1 -102
  27. package/dist/basic-sdk/extension/plugins/link/helpers.js +2 -16
  28. package/dist/basic-sdk/extension/plugins/link/plugin.js +5 -13
  29. package/dist/basic-sdk/extension/plugins/list/helpers.js +0 -4
  30. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +1 -1
  31. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-sublist-to-list-item-sublist.js +2 -9
  32. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +1 -1
  33. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +1 -6
  34. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +1 -9
  35. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +0 -8
  36. package/dist/basic-sdk/extension/plugins/text-style/menu/comemnt-editor-menu.js +1 -2
  37. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +0 -75
  38. package/dist/basic-sdk/extension/render/render-comment-editor-element.js +0 -7
  39. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +13 -9
  40. package/dist/basic-sdk/extension/utils/index.js +1 -51
  41. package/dist/basic-sdk/hooks/use-comment.js +23 -11
  42. package/dist/basic-sdk/index.js +1 -40
  43. package/dist/basic-sdk/model/index.js +1 -8
  44. package/dist/basic-sdk/slate-convert/html-to-slate/constants.js +3 -18
  45. package/dist/basic-sdk/slate-convert/html-to-slate/index.js +0 -1
  46. package/dist/basic-sdk/slate-convert/html-to-slate/rules/index.js +1 -4
  47. package/dist/basic-sdk/slate-convert/md-to-slate/transform.js +1 -90
  48. package/dist/basic-sdk/slate-convert/slate-to-md/transform.js +0 -89
  49. package/dist/basic-sdk/utils/common-utils.js +1 -39
  50. package/dist/basic-sdk/utils/document-utils.js +2 -31
  51. package/dist/basic-sdk/utils/event-handler.js +2 -18
  52. package/dist/basic-sdk/utils/mouse-event.js +2 -57
  53. package/dist/constants/index.js +2 -59
  54. package/dist/pages/seafile-comment-editor.js +31 -20
  55. package/package.json +6 -19
  56. package/public/index.html +0 -1
  57. package/dist/assets/css/simple-editor.css +0 -9
  58. package/dist/assets/images/content-replaced.png +0 -0
  59. package/dist/assets/images/revision-avatar.png +0 -0
  60. package/dist/assets/images/sdoc-freezed.png +0 -0
  61. package/dist/basic-sdk/android/constants.js +0 -10
  62. package/dist/basic-sdk/android/js-bridge.js +0 -74
  63. package/dist/basic-sdk/android/outline-module.js +0 -29
  64. package/dist/basic-sdk/api/sdoc-server-api.js +0 -189
  65. package/dist/basic-sdk/api/seafile-api.js +0 -220
  66. package/dist/basic-sdk/assets/css/diff-viewer.css +0 -5
  67. package/dist/basic-sdk/assets/images/sdoc-ask-ai.png +0 -0
  68. package/dist/basic-sdk/components/file-loading/index.css +0 -57
  69. package/dist/basic-sdk/components/file-loading/index.js +0 -15
  70. package/dist/basic-sdk/constants/plugin.js +0 -10
  71. package/dist/basic-sdk/constants/z-index.js +0 -8
  72. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +0 -31
  73. package/dist/basic-sdk/extension/commons/color-menu/index.css +0 -161
  74. package/dist/basic-sdk/extension/commons/color-menu/index.js +0 -208
  75. package/dist/basic-sdk/extension/commons/file-insert-dialog/index.js +0 -282
  76. package/dist/basic-sdk/extension/commons/file-insert-dialog/style.css +0 -91
  77. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +0 -44
  78. package/dist/basic-sdk/extension/commons/search-list/index.css +0 -28
  79. package/dist/basic-sdk/extension/commons/search-list/index.js +0 -149
  80. package/dist/basic-sdk/extension/commons/select/_option.js +0 -39
  81. package/dist/basic-sdk/extension/commons/select/field-setting.js +0 -109
  82. package/dist/basic-sdk/extension/commons/select/index.js +0 -142
  83. package/dist/basic-sdk/extension/commons/select/menu/index.js +0 -11
  84. package/dist/basic-sdk/extension/commons/select/menu/item.js +0 -39
  85. package/dist/basic-sdk/extension/commons/select/menu/menu.js +0 -34
  86. package/dist/basic-sdk/extension/commons/select/menu/style.css +0 -43
  87. package/dist/basic-sdk/extension/commons/select/style.css +0 -149
  88. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +0 -54
  89. package/dist/basic-sdk/extension/commons/select-file-dialog/index.css +0 -135
  90. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +0 -207
  91. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.css +0 -114
  92. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +0 -191
  93. package/dist/basic-sdk/extension/commons/wiki-file-insert-dialog/index.js +0 -274
  94. package/dist/basic-sdk/extension/commons/wiki-file-insert-dialog/style.css +0 -116
  95. package/dist/basic-sdk/extension/constants/color.js +0 -282
  96. package/dist/basic-sdk/extension/constants/diff-view.js +0 -20
  97. package/dist/basic-sdk/extension/constants/font.js +0 -537
  98. package/dist/basic-sdk/extension/constants/keyboard.js +0 -45
  99. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +0 -34
  100. package/dist/basic-sdk/extension/plugins/ai/ai-icon/index.js +0 -26
  101. package/dist/basic-sdk/extension/plugins/ai/ai-icon/style.css +0 -22
  102. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-context-menu.js +0 -41
  103. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-dropdown-menu.js +0 -35
  104. package/dist/basic-sdk/extension/plugins/ai/ai-menu/index.js +0 -20
  105. package/dist/basic-sdk/extension/plugins/ai/ai-menu/menu-item.js +0 -58
  106. package/dist/basic-sdk/extension/plugins/ai/ai-menu/style.css +0 -12
  107. package/dist/basic-sdk/extension/plugins/ai/ai-module/adjust-sub-menu.js +0 -44
  108. package/dist/basic-sdk/extension/plugins/ai/ai-module/helpers.js +0 -72
  109. package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +0 -600
  110. package/dist/basic-sdk/extension/plugins/ai/ai-module/lang-sub-menu.js +0 -55
  111. package/dist/basic-sdk/extension/plugins/ai/ai-module/style.css +0 -148
  112. package/dist/basic-sdk/extension/plugins/ai/ai-module/tip-dialog.js +0 -41
  113. package/dist/basic-sdk/extension/plugins/ai/constants/index.js +0 -137
  114. package/dist/basic-sdk/extension/plugins/ai/index.js +0 -1
  115. package/dist/basic-sdk/extension/plugins/callout/constant.js +0 -58
  116. package/dist/basic-sdk/extension/plugins/callout/helper.js +0 -281
  117. package/dist/basic-sdk/extension/plugins/callout/index.js +0 -19
  118. package/dist/basic-sdk/extension/plugins/callout/menu/index.css +0 -16
  119. package/dist/basic-sdk/extension/plugins/callout/menu/index.js +0 -52
  120. package/dist/basic-sdk/extension/plugins/callout/plugin.js +0 -109
  121. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-color-selector/index.js +0 -65
  122. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-color-selector/style.css +0 -39
  123. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-hover-menu/index.js +0 -90
  124. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-hover-menu/style.css +0 -45
  125. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-icon/index.js +0 -45
  126. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-icon/style.css +0 -33
  127. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.css +0 -52
  128. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.js +0 -134
  129. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +0 -121
  130. package/dist/basic-sdk/extension/plugins/check-list/index.js +0 -16
  131. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +0 -58
  132. package/dist/basic-sdk/extension/plugins/check-list/model.js +0 -17
  133. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +0 -110
  134. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +0 -71
  135. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +0 -54
  136. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +0 -35
  137. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +0 -206
  138. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.css +0 -148
  139. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +0 -257
  140. package/dist/basic-sdk/extension/plugins/code-block/index.js +0 -19
  141. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +0 -35
  142. package/dist/basic-sdk/extension/plugins/code-block/model.js +0 -16
  143. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +0 -229
  144. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +0 -189
  145. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +0 -182
  146. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +0 -26
  147. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +0 -125
  148. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.css +0 -89
  149. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +0 -120
  150. package/dist/basic-sdk/extension/plugins/file-link/index.js +0 -18
  151. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +0 -38
  152. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +0 -72
  153. package/dist/basic-sdk/extension/plugins/file-link/render-elem.css +0 -56
  154. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +0 -164
  155. package/dist/basic-sdk/extension/plugins/font/helpers.js +0 -173
  156. package/dist/basic-sdk/extension/plugins/font/index.js +0 -13
  157. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +0 -39
  158. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.css +0 -40
  159. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +0 -145
  160. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +0 -38
  161. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.css +0 -40
  162. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +0 -103
  163. package/dist/basic-sdk/extension/plugins/font/menu/index.js +0 -24
  164. package/dist/basic-sdk/extension/plugins/font/plugin.js +0 -18
  165. package/dist/basic-sdk/extension/plugins/group/index.js +0 -13
  166. package/dist/basic-sdk/extension/plugins/group/render-elem.js +0 -25
  167. package/dist/basic-sdk/extension/plugins/header/helpers.js +0 -69
  168. package/dist/basic-sdk/extension/plugins/header/index.js +0 -17
  169. package/dist/basic-sdk/extension/plugins/header/menu/index.js +0 -153
  170. package/dist/basic-sdk/extension/plugins/header/menu/style.css +0 -79
  171. package/dist/basic-sdk/extension/plugins/header/plugin.js +0 -140
  172. package/dist/basic-sdk/extension/plugins/header/render-elem.js +0 -90
  173. package/dist/basic-sdk/extension/plugins/history/history-menu.js +0 -70
  174. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +0 -27
  175. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +0 -89
  176. package/dist/basic-sdk/extension/plugins/html/rules/header.js +0 -32
  177. package/dist/basic-sdk/extension/plugins/html/rules/table.js +0 -41
  178. package/dist/basic-sdk/extension/plugins/multi-column/constants/index.js +0 -7
  179. package/dist/basic-sdk/extension/plugins/multi-column/helper.js +0 -192
  180. package/dist/basic-sdk/extension/plugins/multi-column/index.js +0 -17
  181. package/dist/basic-sdk/extension/plugins/multi-column/plugin.js +0 -153
  182. package/dist/basic-sdk/extension/plugins/multi-column/render/index.css +0 -51
  183. package/dist/basic-sdk/extension/plugins/multi-column/render/index.js +0 -91
  184. package/dist/basic-sdk/extension/plugins/multi-column/render/multi-column-root.js +0 -23
  185. package/dist/basic-sdk/extension/plugins/multi-column/render/render-column.js +0 -46
  186. package/dist/basic-sdk/extension/plugins/multi-column/render-elem.js +0 -20
  187. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/column-resize-handler.js +0 -28
  188. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/index.js +0 -148
  189. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +0 -26
  190. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +0 -291
  191. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.css +0 -89
  192. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +0 -119
  193. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +0 -19
  194. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +0 -38
  195. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +0 -102
  196. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.css +0 -68
  197. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.js +0 -180
  198. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-file-link-temp-input.js +0 -34
  199. package/dist/basic-sdk/extension/plugins/search-replace/constant.js +0 -8
  200. package/dist/basic-sdk/extension/plugins/search-replace/helper.js +0 -355
  201. package/dist/basic-sdk/extension/plugins/search-replace/index.js +0 -17
  202. package/dist/basic-sdk/extension/plugins/search-replace/menu/index.css +0 -14
  203. package/dist/basic-sdk/extension/plugins/search-replace/menu/index.js +0 -89
  204. package/dist/basic-sdk/extension/plugins/search-replace/plugin.js +0 -28
  205. package/dist/basic-sdk/extension/plugins/search-replace/popover/index.css +0 -98
  206. package/dist/basic-sdk/extension/plugins/search-replace/popover/index.js +0 -238
  207. package/dist/basic-sdk/extension/plugins/search-replace/popover/replace-all-confirm-modal.js +0 -50
  208. package/dist/basic-sdk/extension/plugins/table/constants/index.js +0 -64
  209. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/index.css +0 -7
  210. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/index.js +0 -102
  211. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js +0 -31
  212. package/dist/basic-sdk/extension/plugins/table/dialogs/index.js +0 -20
  213. package/dist/basic-sdk/extension/plugins/table/dialogs/split-cell-setting-dialog.js +0 -115
  214. package/dist/basic-sdk/extension/plugins/table/helpers.js +0 -2124
  215. package/dist/basic-sdk/extension/plugins/table/index.js +0 -21
  216. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +0 -83
  217. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/color-item.js +0 -31
  218. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/index.js +0 -173
  219. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/style.css +0 -7
  220. package/dist/basic-sdk/extension/plugins/table/menu/horizontal-align-popover/index.js +0 -79
  221. package/dist/basic-sdk/extension/plugins/table/menu/index.js +0 -20
  222. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.css +0 -40
  223. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +0 -232
  224. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +0 -97
  225. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +0 -41
  226. package/dist/basic-sdk/extension/plugins/table/menu/vertical-align-popover/index.js +0 -81
  227. package/dist/basic-sdk/extension/plugins/table/menu/vertical-align-popover/style.css +0 -24
  228. package/dist/basic-sdk/extension/plugins/table/model.js +0 -54
  229. package/dist/basic-sdk/extension/plugins/table/plugin.js +0 -621
  230. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.css +0 -69
  231. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +0 -265
  232. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.css +0 -43
  233. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +0 -129
  234. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +0 -44
  235. package/dist/basic-sdk/extension/plugins/table/render/alternate-color.css +0 -37
  236. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/column-drag-handler.js +0 -24
  237. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/index.js +0 -53
  238. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/row-drag-handler.js +0 -24
  239. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +0 -76
  240. package/dist/basic-sdk/extension/plugins/table/render/index.css +0 -169
  241. package/dist/basic-sdk/extension/plugins/table/render/index.js +0 -271
  242. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +0 -253
  243. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +0 -15
  244. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/column-resize-handler.js +0 -114
  245. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +0 -100
  246. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +0 -74
  247. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/row-resize-handler.js +0 -90
  248. package/dist/basic-sdk/extension/plugins/table/render/resize-mask/index.js +0 -136
  249. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +0 -104
  250. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +0 -92
  251. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.css +0 -84
  252. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +0 -114
  253. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +0 -32
  254. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +0 -90
  255. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +0 -126
  256. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +0 -60
  257. package/dist/basic-sdk/extension/plugins/table/render-elem.js +0 -27
  258. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +0 -51
  259. package/dist/basic-sdk/extension/plugins/text-align/index.js +0 -8
  260. package/dist/basic-sdk/extension/plugins/text-align/menu/index.css +0 -5
  261. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +0 -98
  262. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +0 -162
  263. package/dist/basic-sdk/extension/plugins/video/constants/index.js +0 -10
  264. package/dist/basic-sdk/extension/plugins/video/dialog/add-video-link-dialog/index.js +0 -108
  265. package/dist/basic-sdk/extension/plugins/video/helpers.js +0 -241
  266. package/dist/basic-sdk/extension/plugins/video/index.css +0 -73
  267. package/dist/basic-sdk/extension/plugins/video/index.js +0 -20
  268. package/dist/basic-sdk/extension/plugins/video/menu/index.js +0 -76
  269. package/dist/basic-sdk/extension/plugins/video/plugin.js +0 -52
  270. package/dist/basic-sdk/extension/plugins/video/render-elem.js +0 -155
  271. package/dist/basic-sdk/extension/plugins/wiki-link/helpers.js +0 -77
  272. package/dist/basic-sdk/extension/plugins/wiki-link/index.js +0 -16
  273. package/dist/basic-sdk/extension/render/helper.js +0 -64
  274. package/dist/basic-sdk/highlight/index.js +0 -26
  275. package/dist/basic-sdk/highlight/setNodeToDecorations.js +0 -83
  276. package/dist/basic-sdk/hooks/use-color-context.js +0 -49
  277. package/dist/basic-sdk/hooks/use-force-update.js +0 -15
  278. package/dist/basic-sdk/hooks/use-selection-element.js +0 -26
  279. package/dist/basic-sdk/hooks/use-selection-position.js +0 -68
  280. package/dist/basic-sdk/model/notification.js +0 -18
  281. package/dist/basic-sdk/slate-convert/html-to-slate/rules/code-block.js +0 -90
  282. package/dist/basic-sdk/slate-convert/html-to-slate/rules/header.js +0 -24
  283. package/dist/basic-sdk/slate-convert/html-to-slate/rules/table.js +0 -45
  284. package/dist/basic-sdk/utils/Kebab-to-camel.js +0 -10
  285. package/dist/basic-sdk/utils/debounce.js +0 -20
  286. package/dist/basic-sdk/utils/debug.js +0 -20
  287. package/dist/basic-sdk/utils/default-mode.js +0 -28
  288. package/dist/basic-sdk/utils/diff-text.js +0 -297
  289. package/dist/basic-sdk/utils/diff.js +0 -328
  290. package/dist/basic-sdk/utils/dom-utils.js +0 -57
  291. package/dist/basic-sdk/utils/full-width-mode.js +0 -36
  292. package/dist/basic-sdk/utils/local-storage-utils.js +0 -52
  293. package/dist/basic-sdk/utils/rebase.js +0 -309
  294. package/dist/components/error-boundary/error-page.css +0 -16
  295. package/dist/components/error-boundary/error-page.js +0 -36
  296. package/dist/components/error-boundary/index.js +0 -33
  297. package/dist/components/modal-header/index.css +0 -18
  298. package/dist/components/modal-header/index.js +0 -29
  299. package/dist/components/modal-portal/index.js +0 -26
  300. package/dist/components/tip-dialog/index.css +0 -48
  301. package/dist/components/tip-dialog/index.js +0 -115
  302. package/dist/components/tip-message/index.js +0 -194
  303. package/dist/components/tip-message/style.css +0 -15
  304. package/dist/utils/date-utils.js +0 -78
  305. package/dist/utils/index.js +0 -45
  306. package/public/media/dtable-font.css +0 -1568
  307. package/public/media/dtable-fonts/dtable-font.eot +0 -0
  308. package/public/media/dtable-fonts/dtable-font.svg +0 -793
  309. package/public/media/dtable-fonts/dtable-font.ttf +0 -0
  310. package/public/media/dtable-fonts/dtable-font.woff +0 -0
  311. package/public/media/dtable-fonts/dtable-font.woff2 +0 -0
  312. package/public/media/seafile-logo.png +0 -0
  313. /package/dist/basic-sdk/{extension/plugins/header → components/placeholder}/placeholder.js +0 -0
@@ -1,241 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.videoFileIcon = exports.parseVideoLink = exports.onCopyNode = exports.isInsertVideoMenuDisabled = exports.insertVideo = exports.getVideoURL = exports.generateVideoNode = exports.formatFileSize = void 0;
8
- var _slate = require("@seafile/slate");
9
- var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
10
- var _urlJoin = _interopRequireDefault(require("url-join"));
11
- var _context = _interopRequireDefault(require("../../../context"));
12
- var _constants = require("../../constants");
13
- var _core = require("../../core");
14
- var _helpers = require("../../plugins/code-block/helpers");
15
- var _constants2 = require("../../plugins/table/constants");
16
- var _constants3 = require("./constants");
17
- const isInsertVideoMenuDisabled = (editor, readonly) => {
18
- if (readonly) return true;
19
- const {
20
- selection
21
- } = editor;
22
- if (selection === null) return true;
23
- if (!_slate.Range.isCollapsed(selection)) return true;
24
- const [match] = _slate.Editor.nodes(editor, {
25
- match: n => {
26
- let type = (0, _core.getNodeType)(n);
27
- if (!type && (0, _core.isTextNode)(n) && n.id) {
28
- const parentNode = (0, _core.getParentNode)(editor.children, n.id);
29
- type = (0, _core.getNodeType)(parentNode);
30
- }
31
- if (type === _constants.CODE_BLOCK) return true;
32
- if (type.startsWith('header')) return true;
33
- if (type === _constants.TITLE) return true;
34
- if (type === _constants.SUBTITLE) return true;
35
- if (type === _constants.LIST_ITEM) return true;
36
- if (type === _constants.CHECK_LIST_ITEM) return true;
37
- if (type === _constants.MULTI_COLUMN) return true;
38
- if (type === _constants.BLOCKQUOTE) return true;
39
- if (type === _constants.CALL_OUT) return true;
40
- if (type === _constants.TABLE) return true;
41
- if (_slate.Editor.isVoid(editor, n)) return true;
42
- return false;
43
- },
44
- universal: true
45
- });
46
- if (match) return true;
47
- return false;
48
- };
49
- exports.isInsertVideoMenuDisabled = isInsertVideoMenuDisabled;
50
- const generateVideoNode = (src, videoInfo) => {
51
- const element = (0, _core.generateEmptyElement)(_constants.VIDEO);
52
- const {
53
- name,
54
- size,
55
- is_embeddable_link
56
- } = videoInfo;
57
- return [{
58
- ...element,
59
- data: {
60
- src,
61
- name,
62
- size,
63
- is_embeddable_link
64
- }
65
- }];
66
- };
67
- exports.generateVideoNode = generateVideoNode;
68
- const parseVideoLink = url => {
69
- if (!url) return false;
70
-
71
- // Youtube url conversion
72
- if (url.includes('youtube.com')) {
73
- const videoId = new URL(url).searchParams.get('v');
74
- const videoUrl = videoId ? `https://www.youtube.com/embed/${videoId}/?rel=0` : false;
75
- return videoUrl;
76
- }
77
-
78
- // Tencent url conversion
79
- if (url.includes('v.qq.com')) {
80
- const vidMatch = url.match(/\/([^\/]+)\.html/);
81
- const videoUrl = vidMatch !== null && vidMatch !== void 0 && vidMatch[1] ? `https://v.qq.com/txp/iframe/player.html?vid=${vidMatch[1]}` : false;
82
- return videoUrl;
83
- }
84
-
85
- // Bilibili url conversion
86
- if (url.includes('bilibili.com')) {
87
- const vidMatch = url.match(/\/video\/(BV[0-9A-Za-z]+)/);
88
- const videoUrl = vidMatch !== null && vidMatch !== void 0 && vidMatch[1] ? `https://player.bilibili.com/player.html?bvid=${vidMatch[1]}` : false;
89
- return videoUrl;
90
- }
91
-
92
- // Youku url conversion
93
- if (url.includes('v.youku.com')) {
94
- const vidMatch = url.match(/id_([A-Za-z0-9=]+)\.html/);
95
- const videoUrl = vidMatch !== null && vidMatch !== void 0 && vidMatch[1] ? `https://player.youku.com/embed/${vidMatch[1]}` : false;
96
- return videoUrl;
97
- }
98
-
99
- // Unsupported url
100
- return false;
101
- };
102
- exports.parseVideoLink = parseVideoLink;
103
- const insertVideo = function (editor, videoFiles, srcList, selection) {
104
- let position = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : _constants.INSERT_POSITION.CURRENT;
105
- if (!srcList) return;
106
- if (position !== _constants.INSERT_POSITION.AFTER) {
107
- if (isInsertVideoMenuDisabled(editor)) return;
108
- }
109
- const videoInfo = {
110
- name: videoFiles[0].name || null,
111
- size: videoFiles[0].size || null,
112
- is_embeddable_link: videoFiles[0].isEmbeddableLink || false
113
- };
114
- let videoNodes;
115
- // Return when embedding an invalid youtube, tencent or bilibili video url
116
- if (videoInfo.is_embeddable_link) {
117
- const parsedSrc = parseVideoLink(srcList[0]);
118
- if (!parsedSrc) return;
119
- videoNodes = generateVideoNode(parsedSrc, videoInfo);
120
- } else {
121
- videoNodes = generateVideoNode(srcList[0], videoInfo);
122
- }
123
- const validSelection = selection || editor.selection;
124
- let path = _slate.Editor.path(editor, validSelection);
125
- if (position === _constants.INSERT_POSITION.AFTER) {
126
- const p = (0, _core.generateEmptyElement)(_constants.ELEMENT_TYPE.PARAGRAPH);
127
- videoNodes.forEach((item, index) => {
128
- p.children[index] = item;
129
- });
130
- _slate.Transforms.insertNodes(editor, p, {
131
- at: [path[0] + 1]
132
- });
133
- (0, _core.focusEditor)(editor, [path[0] + 1, 2]);
134
- return;
135
- }
136
- const aboveNodeEntry = (0, _core.getAboveBlockNode)(editor);
137
- const nodePath = [aboveNodeEntry[1][0]];
138
- const nextPath = _slate.Path.next(nodePath);
139
- const isEmptyParagraph = aboveNodeEntry[0].type === _constants.PARAGRAPH && _slate.Node.string(aboveNodeEntry[0]).length === 0;
140
- if (videoNodes.length === 1 && isEmptyParagraph) {
141
- _slate.Transforms.setNodes(editor, videoNodes[0], {
142
- at: validSelection
143
- });
144
- _slate.Transforms.insertNodes(editor, (0, _core.generateDefaultParagraph)(), {
145
- at: nextPath
146
- });
147
- const endOfFirstNode = _slate.Editor.start(editor, nextPath);
148
- const range = {
149
- anchor: endOfFirstNode,
150
- focus: endOfFirstNode
151
- };
152
- (0, _core.focusEditor)(editor, range);
153
- return;
154
- }
155
- let videoEndSelection;
156
- if ((0, _core.isLastNode)(editor, aboveNodeEntry[0]) && _slate.Editor.isEnd(editor, validSelection.anchor, [validSelection.anchor.path[0]])) {
157
- // Insert video into empty paragraph node at the end if in the last position
158
- _slate.Transforms.splitNodes(editor, {
159
- at: selection,
160
- always: true
161
- });
162
- _slate.Transforms.insertNodes(editor, videoNodes[0], {
163
- at: validSelection
164
- });
165
- _slate.Transforms.insertNodes(editor, (0, _core.generateDefaultParagraph)(), {
166
- at: [nextPath[0] + 1]
167
- });
168
- videoEndSelection = [nextPath[0] + 1];
169
- } else {
170
- _slate.Transforms.splitNodes(editor, {
171
- at: selection,
172
- always: true
173
- });
174
- _slate.Transforms.insertNodes(editor, videoNodes[0], {
175
- at: validSelection
176
- });
177
- videoEndSelection = _slate.Editor.start(editor, _slate.Path.next(nextPath));
178
- }
179
- (0, _core.focusEditor)(editor, videoEndSelection);
180
- };
181
- exports.insertVideo = insertVideo;
182
- const getVideoURL = data => {
183
- const {
184
- src: url
185
- } = data;
186
- if (url && url.startsWith('http')) return url;
187
- const serviceUrl = _context.default.getSetting('serviceUrl');
188
- const assetsUrl = _context.default.getSetting('assetsUrl');
189
- return (0, _urlJoin.default)(serviceUrl, assetsUrl, url);
190
- };
191
- exports.getVideoURL = getVideoURL;
192
- const formatFileSize = size => {
193
- if (typeof size !== 'number') {
194
- return '';
195
- }
196
- if (size >= _constants3.ONE_GB) {
197
- return (size / _constants3.ONE_GB).toFixed(1) + ' G';
198
- }
199
- if (size >= _constants3.ONE_MB) {
200
- return (size / _constants3.ONE_MB).toFixed(1) + ' M';
201
- }
202
- if (size >= _constants3.ONE_KB) {
203
- return (size / _constants3.ONE_KB).toFixed(1) + ' K';
204
- }
205
- return size.toFixed(1) + ' B';
206
- };
207
- exports.formatFileSize = formatFileSize;
208
- const videoFileIcon = () => {
209
- const server = _context.default.getSetting('serviceUrl');
210
- return `${server}/media/img/file/256/video.png`;
211
- };
212
- exports.videoFileIcon = videoFileIcon;
213
- const onCopyNode = (editor, element) => {
214
- if (element.type === _constants.ELEMENT_TYPE.CODE_BLOCK) {
215
- (0, _helpers.setClipboardCodeBlockData)(element);
216
- return;
217
- }
218
- if (element.type === _constants.ELEMENT_TYPE.TABLE) {
219
- const tableSize = [element.children.length, element.children[0].children.length];
220
- const tableSelectedRange = {
221
- minRowIndex: 0,
222
- maxRowIndex: tableSize[0] - 1,
223
- minColIndex: 0,
224
- maxColIndex: tableSize[1] - 1
225
- };
226
- editor.tableSelectedRange = tableSelectedRange;
227
- }
228
- const newData = editor.setFragmentData(new DataTransfer());
229
- (0, _copyToClipboard.default)('copy', {
230
- onCopy: clipboardData => {
231
- newData.types.forEach(type => {
232
- const data = newData.getData(type);
233
- clipboardData.setData(type, data);
234
- });
235
- }
236
- });
237
- if (element.type === _constants.ELEMENT_TYPE.TABLE) {
238
- editor.tableSelectedRange = _constants2.EMPTY_SELECTED_RANGE;
239
- }
240
- };
241
- exports.onCopyNode = onCopyNode;
@@ -1,73 +0,0 @@
1
- .video-loading-placeholder {
2
- background-color: #F2F2F2;
3
- width: 100%;
4
- height: auto;
5
- display: flex;
6
- align-items: center;
7
- }
8
-
9
- .video-loading-placeholder .video-file-icon {
10
- width: 35px;
11
- height: auto;
12
- }
13
-
14
- .video-loading-placeholder .video-file-info {
15
- display: flex;
16
- flex-direction: column;
17
- justify-content: center;
18
- align-items: flex-start;
19
- font-size: small;
20
- }
21
-
22
- .video-loading-placeholder .file-size {
23
- display: flex;
24
- align-items: center;
25
- color: #939393;
26
- }
27
-
28
- .video-loading-placeholder .loading-spinner {
29
- border: 3px solid #d8d8d8;
30
- border-top: 3px solid #939393;
31
- border-radius: 50%;
32
- width: 15px;
33
- height: 15px;
34
- animation: spin 1s linear infinite;
35
- }
36
-
37
- @keyframes spin {
38
- 0% { transform: rotate(0deg); }
39
- 100% { transform: rotate(360deg); }
40
- }
41
-
42
- .sdoc-video-wrapper{
43
- display: flex;
44
- }
45
- .sdoc-video-wrapper {
46
- position: relative;
47
- display: flex;
48
- }
49
-
50
- .sdoc-video-wrapper .sdoc-video-inner {
51
- position: relative;
52
- width: 100%;
53
- aspect-ratio: 16 / 9;
54
- display: flex;
55
- margin-top: 5px;
56
- margin-bottom: 10px;
57
- }
58
-
59
- .sdoc-video-inner .sdoc-video-element{
60
- width: 100%;
61
- }
62
-
63
- .sdoc-video-inner .sdoc-video-element:focus-visible {
64
- outline: none;
65
- }
66
-
67
- .sdoc-video-inner .sdoc-video-play {
68
- position: absolute;
69
- top: 36.75%;
70
- left: 46.3%;
71
- font-size: 48px;
72
- pointer-events: none;
73
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _constants = require("../../constants");
9
- var _menu = _interopRequireDefault(require("./menu"));
10
- var _plugin = _interopRequireDefault(require("./plugin"));
11
- var _renderElem = require("./render-elem");
12
- require("./index.css");
13
- const VideoPlugin = {
14
- type: _constants.VIDEO,
15
- nodeType: 'element',
16
- editorMenus: [_menu.default],
17
- editorPlugin: _plugin.default,
18
- renderElements: [_renderElem.renderVideo]
19
- };
20
- var _default = exports.default = VideoPlugin;
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactI18next = require("react-i18next");
11
- var _reactstrap = require("reactstrap");
12
- var _constants = require("../../../../constants");
13
- var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
14
- var _constants2 = require("../../../constants");
15
- var _helpers = require("../helpers");
16
- const VideoMenu = _ref => {
17
- let {
18
- editor,
19
- readonly,
20
- toggle,
21
- eventBus
22
- } = _ref;
23
- const disabled = (0, _helpers.isInsertVideoMenuDisabled)(editor, readonly);
24
- const menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.VIDEO];
25
- const {
26
- t
27
- } = (0, _reactI18next.useTranslation)('sdoc-editor');
28
- const openLocalVideoDialog = (0, _react.useCallback)(() => {
29
- eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
30
- type: _constants2.LOCAL_VIDEO,
31
- editor
32
- });
33
- }, [editor, eventBus]);
34
- const addVideoLink = (0, _react.useCallback)(() => {
35
- eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
36
- type: _constants2.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(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
44
- type: _constants2.ELEMENT_TYPE.VIDEO,
45
- insertVideo: _helpers.insertVideo
46
- });
47
- toggle && toggle();
48
- // eslint-disable-next-line react-hooks/exhaustive-deps
49
- }, [toggle, eventBus]);
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
51
- disabled: disabled,
52
- menuConfig: menuConfig,
53
- className: "pr-2"
54
- }, !disabled && /*#__PURE__*/_react.default.createElement("i", {
55
- className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
56
- })), !disabled && /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledPopover, {
57
- target: menuConfig.id,
58
- trigger: "hover",
59
- className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-video-menu-popover",
60
- placement: "right-start",
61
- hideArrow: true,
62
- fade: false
63
- }, /*#__PURE__*/_react.default.createElement("div", {
64
- className: "sdoc-insert-video-menu-popover-container sdoc-dropdown-menu-container 333"
65
- }, /*#__PURE__*/_react.default.createElement("div", {
66
- className: "sdoc-dropdown-menu-item",
67
- onClick: openLocalVideoDialog
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')))));
75
- };
76
- var _default = exports.default = VideoMenu;
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _slate = require("@seafile/slate");
9
- var _isHotkey = _interopRequireDefault(require("is-hotkey"));
10
- var _constants = require("../../constants");
11
- var _core = require("../../core");
12
- var _helpers = require("./helpers");
13
- const withVideo = editor => {
14
- const {
15
- isVoid,
16
- onHotKeyDown
17
- } = editor;
18
- const newEditor = editor;
19
-
20
- // Make video as void node
21
- newEditor.isVoid = elem => {
22
- const {
23
- type
24
- } = elem;
25
- if (type === _constants.VIDEO) {
26
- return true;
27
- }
28
- return isVoid(elem);
29
- };
30
- newEditor.onHotKeyDown = event => {
31
- const [videoNode, path] = (0, _core.getSelectedNodeEntryByType)(editor, _constants.VIDEO) || [];
32
- if (path) {
33
- // Insert empty paragraph node after video when clicking 'enter' on selected video
34
- if ((0, _isHotkey.default)('enter', event)) {
35
- event.preventDefault();
36
- const emptyParagraph = (0, _core.generateEmptyElement)(_constants.PARAGRAPH);
37
- _slate.Transforms.insertNodes(editor, emptyParagraph, {
38
- at: _slate.Path.next(path)
39
- });
40
- const focusPoint = _slate.Editor.end(editor, _slate.Path.next(path));
41
- (0, _core.focusEditor)(newEditor, focusPoint);
42
- }
43
- if ((0, _isHotkey.default)('mod+c', event)) {
44
- (0, _helpers.onCopyNode)(editor, videoNode);
45
- }
46
- return true;
47
- }
48
- return onHotKeyDown && onHotKeyDown(event);
49
- };
50
- return newEditor;
51
- };
52
- var _default = exports.default = withVideo;
@@ -1,155 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.renderVideo = renderVideo;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _reactI18next = require("react-i18next");
10
- var _slate = require("@seafile/slate");
11
- var _slateReact = require("@seafile/slate-react");
12
- var _helpers = require("./helpers");
13
- require("./index.css");
14
- const Video = _ref => {
15
- var _videoStates$element$;
16
- let {
17
- element,
18
- editor
19
- } = _ref;
20
- const {
21
- data
22
- } = element;
23
- const videoRef = (0, _react.useRef)(null);
24
- const [isLoaded, setIsLoaded] = (0, _react.useState)(false);
25
- const [isSelected, setIsSelected] = (0, _react.useState)(false);
26
- const [videoStates, setVideoStates] = (0, _react.useState)({});
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;
30
- const readonly = (0, _slateReact.useReadOnly)();
31
- const handlePlay = () => {
32
- setVideoStates(prev => ({
33
- ...prev,
34
- [element.id]: false
35
- }));
36
- };
37
- const handlePause = () => {
38
- setVideoStates(prev => ({
39
- ...prev,
40
- [element.id]: true
41
- }));
42
- };
43
- const isPaused = (_videoStates$element$ = videoStates[element.id]) !== null && _videoStates$element$ !== void 0 ? _videoStates$element$ : true;
44
- const handleVideoLoad = () => {
45
- setIsLoaded(true);
46
- };
47
- const onClickVideo = (0, _react.useCallback)(e => {
48
- e.stopPropagation();
49
- const path = _slateReact.ReactEditor.findPath(editor, element);
50
- _slate.Transforms.select(editor, path);
51
- setIsSelected(true);
52
- }, [editor, element]);
53
- const onClickOutside = (0, _react.useCallback)(e => {
54
- e.stopPropagation();
55
- if (videoRef.current && !videoRef.current.contains(e.target)) {
56
- setIsSelected(false);
57
- }
58
- }, []);
59
- (0, _react.useEffect)(() => {
60
- const videoElement = videoRef.current;
61
- if (videoElement) {
62
- videoElement.addEventListener('loadeddata', handleVideoLoad);
63
- }
64
- document.addEventListener('click', onClickOutside);
65
- return () => {
66
- if (videoElement) {
67
- videoElement.removeEventListener('loadeddata', handleVideoLoad);
68
- }
69
- document.removeEventListener('click', onClickOutside);
70
- };
71
- }, [onClickOutside]);
72
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isLoaded && /*#__PURE__*/_react.default.createElement("div", {
73
- className: "video-loading-placeholder"
74
- }, /*#__PURE__*/_react.default.createElement("img", {
75
- className: "video-file-icon",
76
- src: (0, _helpers.videoFileIcon)(),
77
- alt: ""
78
- }), /*#__PURE__*/_react.default.createElement("div", {
79
- className: "video-file-info"
80
- }, /*#__PURE__*/_react.default.createElement("div", null, videoName), /*#__PURE__*/_react.default.createElement("div", {
81
- className: "file-size"
82
- }, /*#__PURE__*/_react.default.createElement("span", null, (0, _helpers.formatFileSize)(videoSize), " \u2014 "), /*#__PURE__*/_react.default.createElement("div", {
83
- className: "loading-spinner"
84
- }, /*#__PURE__*/_react.default.createElement("div", {
85
- className: "spinner"
86
- }))))), /*#__PURE__*/_react.default.createElement("div", {
87
- "data-id": element.id,
88
- className: "sdoc-video-wrapper",
89
- style: {
90
- display: isLoaded ? 'block' : 'none'
91
- }
92
- }, /*#__PURE__*/_react.default.createElement("div", {
93
- className: "sdoc-video-inner",
94
- style: {
95
- visibility: isLoaded ? 'visible' : 'hidden'
96
- }
97
- }, !isEmbeddableLink && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("video", {
98
- className: "sdoc-video-element",
99
- ref: videoRef,
100
- src: (0, _helpers.getVideoURL)(data),
101
- controls: true,
102
- controlsList: readonly && 'nofullscreen',
103
- onClick: onClickVideo,
104
- draggable: false,
105
- onPlay: handlePlay,
106
- onPause: handlePause,
107
- onCanPlay: handleVideoLoad,
108
- style: {
109
- boxShadow: isSelected ? '0 0 0 2px #007bff' : 'none'
110
- }
111
- }), /*#__PURE__*/_react.default.createElement("div", {
112
- className: "sdoc-video-play sdocfont sdoc-play icon-font",
113
- style: {
114
- visibility: isPaused ? 'visible' : 'hidden'
115
- },
116
- contentEditable: "false"
117
- })), isEmbeddableLink && /*#__PURE__*/_react.default.createElement("iframe", {
118
- className: "sdoc-video-element",
119
- title: data.src,
120
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
121
- allowFullScreen: true,
122
- src: (0, _helpers.getVideoURL)(data),
123
- onLoad: handleVideoLoad,
124
- style: {
125
- width: '100%',
126
- height: '100%',
127
- border: 'none'
128
- }
129
- }))));
130
- };
131
- const SdocVideo = (0, _reactI18next.withTranslation)('sdoc-editor')(Video);
132
- function renderVideo(props, editor) {
133
- const {
134
- element,
135
- children,
136
- attributes
137
- } = props;
138
- return /*#__PURE__*/_react.default.createElement("div", Object.assign({
139
- className: "sdoc-video-wrapper"
140
- }, attributes, {
141
- contentEditable: "true",
142
- suppressContentEditableWarning: true
143
- }), /*#__PURE__*/_react.default.createElement("div", {
144
- className: "sdoc-video-children-wrapper",
145
- contentEditable: "false",
146
- suppressContentEditableWarning: true,
147
- style: {
148
- userSelect: 'none',
149
- pointerEvents: 'none'
150
- }
151
- }, children), /*#__PURE__*/_react.default.createElement(SdocVideo, {
152
- element: element,
153
- editor: editor
154
- }));
155
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.insertWikiPageLink = exports.getWikiUrl = exports.generateWikiFileNode = void 0;
8
- var _slate = require("@seafile/slate");
9
- var _slugid = _interopRequireDefault(require("slugid"));
10
- var _context = _interopRequireDefault(require("../../../context"));
11
- var _constants = require("../../constants");
12
- var _elementType = require("../../constants/element-type");
13
- var _helpers = require("../sdoc-link/helpers");
14
- const insertWikiPageLink = (editor, text, wikiRepoId, pageId, icon, isDir) => {
15
- if ((0, _helpers.isMenuDisabled)(editor)) return;
16
- // Selection folded or not
17
- const {
18
- selection
19
- } = editor;
20
- if (selection == null) return;
21
- const isCollapsed = _slate.Range.isCollapsed(selection);
22
-
23
- // Remove shortcut symbol,if trigger by shortcut
24
- (0, _helpers.removeShortCutSymbol)(editor);
25
- const wikiLinkNode = generateWikiFileNode(wikiRepoId, pageId, text, icon, isDir);
26
- if (isCollapsed) {
27
- _slate.Transforms.insertNodes(editor, wikiLinkNode);
28
- } else {
29
- const selectedText = _slate.Editor.string(editor, selection); // Selected text
30
- if (selectedText !== text) {
31
- // If the selected text is different from the typed text, delete the text and insert the link
32
- editor.deleteFragment();
33
- _slate.Transforms.insertNodes(editor, wikiLinkNode);
34
- } else {
35
- // If the selected text is the same as the entered text, only the link can be wrapped
36
- _slate.Transforms.wrapNodes(editor, wikiLinkNode, {
37
- split: true
38
- });
39
- _slate.Transforms.collapse(editor, {
40
- edge: 'end'
41
- });
42
- }
43
- }
44
- };
45
- exports.insertWikiPageLink = insertWikiPageLink;
46
- const generateWikiFileNode = function (wikiRepoId, pageId) {
47
- let title = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
48
- let icon = arguments.length > 3 ? arguments[3] : undefined;
49
- let isDir = arguments.length > 4 ? arguments[4] : undefined;
50
- const wikiPageLinkNode = {
51
- id: _slugid.default.nice(),
52
- type: _elementType.WIKI_LINK,
53
- wiki_repo_id: wikiRepoId,
54
- page_id: pageId,
55
- title: title,
56
- icon,
57
- isDir,
58
- display_type: _constants.INSERT_FILE_DISPLAY_TYPE[1],
59
- children: [{
60
- id: _slugid.default.nice(),
61
- text: title
62
- }]
63
- };
64
- return wikiPageLinkNode;
65
- };
66
- exports.generateWikiFileNode = generateWikiFileNode;
67
- const getWikiUrl = (wikiRepoId, pageId, readOnly) => {
68
- if (readOnly) {
69
- const siteRoot = _context.default.getSetting('siteRoot');
70
- const publishUrl = _context.default.getSetting('publishUrl');
71
- const DEFAULT_URL = 'wiki/publish';
72
- return `${siteRoot}${DEFAULT_URL}/${publishUrl}/${pageId}/`;
73
- }
74
- const siteRoot = _context.default.getSetting('siteRoot');
75
- return `${siteRoot}wikis/${wikiRepoId}/${pageId}/`;
76
- };
77
- exports.getWikiUrl = getWikiUrl;