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

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 (306) 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 +0 -191
  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 +3 -3
  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 +2 -5
  22. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +1 -1
  23. package/dist/basic-sdk/extension/plugins/image/plugin.js +0 -14
  24. package/dist/basic-sdk/extension/plugins/image/render-elem.js +0 -7
  25. package/dist/basic-sdk/extension/plugins/index.js +1 -102
  26. package/dist/basic-sdk/extension/plugins/link/helpers.js +2 -16
  27. package/dist/basic-sdk/extension/plugins/link/plugin.js +5 -13
  28. package/dist/basic-sdk/extension/plugins/list/helpers.js +0 -4
  29. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +1 -1
  30. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-sublist-to-list-item-sublist.js +2 -9
  31. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +1 -1
  32. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +1 -6
  33. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +1 -9
  34. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +0 -8
  35. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +0 -75
  36. package/dist/basic-sdk/extension/render/render-comment-editor-element.js +3 -9
  37. package/dist/basic-sdk/extension/utils/index.js +1 -51
  38. package/dist/basic-sdk/index.js +1 -40
  39. package/dist/basic-sdk/slate-convert/html-to-slate/constants.js +3 -18
  40. package/dist/basic-sdk/slate-convert/html-to-slate/index.js +0 -1
  41. package/dist/basic-sdk/slate-convert/html-to-slate/rules/index.js +1 -4
  42. package/dist/basic-sdk/slate-convert/md-to-slate/transform.js +1 -90
  43. package/dist/basic-sdk/slate-convert/slate-to-md/transform.js +0 -89
  44. package/dist/basic-sdk/utils/common-utils.js +1 -39
  45. package/dist/basic-sdk/utils/document-utils.js +2 -31
  46. package/dist/basic-sdk/utils/event-handler.js +2 -18
  47. package/dist/basic-sdk/utils/mouse-event.js +2 -57
  48. package/dist/constants/index.js +2 -59
  49. package/dist/pages/seafile-comment-editor.js +7 -8
  50. package/package.json +1 -14
  51. package/public/index.html +0 -1
  52. package/dist/assets/css/simple-editor.css +0 -9
  53. package/dist/assets/images/content-replaced.png +0 -0
  54. package/dist/assets/images/revision-avatar.png +0 -0
  55. package/dist/assets/images/sdoc-freezed.png +0 -0
  56. package/dist/basic-sdk/android/constants.js +0 -10
  57. package/dist/basic-sdk/android/js-bridge.js +0 -74
  58. package/dist/basic-sdk/android/outline-module.js +0 -29
  59. package/dist/basic-sdk/api/sdoc-server-api.js +0 -189
  60. package/dist/basic-sdk/api/seafile-api.js +0 -220
  61. package/dist/basic-sdk/assets/css/diff-viewer.css +0 -5
  62. package/dist/basic-sdk/assets/images/sdoc-ask-ai.png +0 -0
  63. package/dist/basic-sdk/components/file-loading/index.css +0 -57
  64. package/dist/basic-sdk/components/file-loading/index.js +0 -15
  65. package/dist/basic-sdk/constants/plugin.js +0 -10
  66. package/dist/basic-sdk/constants/z-index.js +0 -8
  67. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +0 -33
  68. package/dist/basic-sdk/extension/commons/color-menu/index.css +0 -161
  69. package/dist/basic-sdk/extension/commons/color-menu/index.js +0 -210
  70. package/dist/basic-sdk/extension/commons/file-insert-dialog/index.js +0 -282
  71. package/dist/basic-sdk/extension/commons/file-insert-dialog/style.css +0 -91
  72. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +0 -44
  73. package/dist/basic-sdk/extension/commons/search-list/index.css +0 -28
  74. package/dist/basic-sdk/extension/commons/search-list/index.js +0 -149
  75. package/dist/basic-sdk/extension/commons/select/_option.js +0 -39
  76. package/dist/basic-sdk/extension/commons/select/field-setting.js +0 -109
  77. package/dist/basic-sdk/extension/commons/select/index.js +0 -142
  78. package/dist/basic-sdk/extension/commons/select/menu/index.js +0 -11
  79. package/dist/basic-sdk/extension/commons/select/menu/item.js +0 -39
  80. package/dist/basic-sdk/extension/commons/select/menu/menu.js +0 -34
  81. package/dist/basic-sdk/extension/commons/select/menu/style.css +0 -43
  82. package/dist/basic-sdk/extension/commons/select/style.css +0 -149
  83. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +0 -54
  84. package/dist/basic-sdk/extension/commons/select-file-dialog/index.css +0 -135
  85. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +0 -207
  86. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.css +0 -114
  87. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +0 -193
  88. package/dist/basic-sdk/extension/commons/wiki-file-insert-dialog/index.js +0 -274
  89. package/dist/basic-sdk/extension/commons/wiki-file-insert-dialog/style.css +0 -116
  90. package/dist/basic-sdk/extension/constants/color.js +0 -282
  91. package/dist/basic-sdk/extension/constants/diff-view.js +0 -20
  92. package/dist/basic-sdk/extension/constants/font.js +0 -537
  93. package/dist/basic-sdk/extension/constants/keyboard.js +0 -45
  94. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +0 -34
  95. package/dist/basic-sdk/extension/plugins/ai/ai-icon/index.js +0 -26
  96. package/dist/basic-sdk/extension/plugins/ai/ai-icon/style.css +0 -22
  97. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-context-menu.js +0 -41
  98. package/dist/basic-sdk/extension/plugins/ai/ai-menu/ai-dropdown-menu.js +0 -35
  99. package/dist/basic-sdk/extension/plugins/ai/ai-menu/index.js +0 -20
  100. package/dist/basic-sdk/extension/plugins/ai/ai-menu/menu-item.js +0 -58
  101. package/dist/basic-sdk/extension/plugins/ai/ai-menu/style.css +0 -12
  102. package/dist/basic-sdk/extension/plugins/ai/ai-module/adjust-sub-menu.js +0 -44
  103. package/dist/basic-sdk/extension/plugins/ai/ai-module/helpers.js +0 -72
  104. package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +0 -600
  105. package/dist/basic-sdk/extension/plugins/ai/ai-module/lang-sub-menu.js +0 -55
  106. package/dist/basic-sdk/extension/plugins/ai/ai-module/style.css +0 -148
  107. package/dist/basic-sdk/extension/plugins/ai/ai-module/tip-dialog.js +0 -41
  108. package/dist/basic-sdk/extension/plugins/ai/constants/index.js +0 -137
  109. package/dist/basic-sdk/extension/plugins/ai/index.js +0 -1
  110. package/dist/basic-sdk/extension/plugins/callout/constant.js +0 -58
  111. package/dist/basic-sdk/extension/plugins/callout/helper.js +0 -281
  112. package/dist/basic-sdk/extension/plugins/callout/index.js +0 -19
  113. package/dist/basic-sdk/extension/plugins/callout/menu/index.css +0 -16
  114. package/dist/basic-sdk/extension/plugins/callout/menu/index.js +0 -52
  115. package/dist/basic-sdk/extension/plugins/callout/plugin.js +0 -109
  116. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-color-selector/index.js +0 -65
  117. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-color-selector/style.css +0 -39
  118. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-hover-menu/index.js +0 -90
  119. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-hover-menu/style.css +0 -45
  120. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-icon/index.js +0 -45
  121. package/dist/basic-sdk/extension/plugins/callout/render-elem/callout-icon/style.css +0 -33
  122. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.css +0 -52
  123. package/dist/basic-sdk/extension/plugins/callout/render-elem/index.js +0 -134
  124. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +0 -121
  125. package/dist/basic-sdk/extension/plugins/check-list/index.js +0 -16
  126. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +0 -58
  127. package/dist/basic-sdk/extension/plugins/check-list/model.js +0 -17
  128. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +0 -110
  129. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +0 -71
  130. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +0 -54
  131. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +0 -35
  132. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +0 -206
  133. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.css +0 -148
  134. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +0 -259
  135. package/dist/basic-sdk/extension/plugins/code-block/index.js +0 -19
  136. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +0 -35
  137. package/dist/basic-sdk/extension/plugins/code-block/model.js +0 -16
  138. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +0 -229
  139. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +0 -189
  140. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +0 -182
  141. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +0 -26
  142. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +0 -125
  143. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.css +0 -89
  144. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +0 -122
  145. package/dist/basic-sdk/extension/plugins/file-link/index.js +0 -18
  146. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +0 -38
  147. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +0 -72
  148. package/dist/basic-sdk/extension/plugins/file-link/render-elem.css +0 -56
  149. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +0 -164
  150. package/dist/basic-sdk/extension/plugins/font/helpers.js +0 -173
  151. package/dist/basic-sdk/extension/plugins/font/index.js +0 -13
  152. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +0 -39
  153. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.css +0 -40
  154. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +0 -145
  155. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +0 -38
  156. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.css +0 -40
  157. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +0 -103
  158. package/dist/basic-sdk/extension/plugins/font/menu/index.js +0 -24
  159. package/dist/basic-sdk/extension/plugins/font/plugin.js +0 -18
  160. package/dist/basic-sdk/extension/plugins/group/index.js +0 -13
  161. package/dist/basic-sdk/extension/plugins/group/render-elem.js +0 -25
  162. package/dist/basic-sdk/extension/plugins/header/helpers.js +0 -69
  163. package/dist/basic-sdk/extension/plugins/header/index.js +0 -17
  164. package/dist/basic-sdk/extension/plugins/header/menu/index.js +0 -153
  165. package/dist/basic-sdk/extension/plugins/header/menu/style.css +0 -79
  166. package/dist/basic-sdk/extension/plugins/header/plugin.js +0 -140
  167. package/dist/basic-sdk/extension/plugins/header/render-elem.js +0 -90
  168. package/dist/basic-sdk/extension/plugins/history/history-menu.js +0 -70
  169. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +0 -27
  170. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +0 -89
  171. package/dist/basic-sdk/extension/plugins/html/rules/header.js +0 -32
  172. package/dist/basic-sdk/extension/plugins/html/rules/table.js +0 -41
  173. package/dist/basic-sdk/extension/plugins/multi-column/constants/index.js +0 -7
  174. package/dist/basic-sdk/extension/plugins/multi-column/helper.js +0 -192
  175. package/dist/basic-sdk/extension/plugins/multi-column/index.js +0 -17
  176. package/dist/basic-sdk/extension/plugins/multi-column/plugin.js +0 -153
  177. package/dist/basic-sdk/extension/plugins/multi-column/render/index.css +0 -51
  178. package/dist/basic-sdk/extension/plugins/multi-column/render/index.js +0 -91
  179. package/dist/basic-sdk/extension/plugins/multi-column/render/multi-column-root.js +0 -23
  180. package/dist/basic-sdk/extension/plugins/multi-column/render/render-column.js +0 -46
  181. package/dist/basic-sdk/extension/plugins/multi-column/render-elem.js +0 -20
  182. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/column-resize-handler.js +0 -28
  183. package/dist/basic-sdk/extension/plugins/multi-column/resize-handlers/index.js +0 -148
  184. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +0 -26
  185. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +0 -291
  186. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.css +0 -89
  187. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +0 -121
  188. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +0 -19
  189. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +0 -38
  190. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +0 -102
  191. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.css +0 -68
  192. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.js +0 -180
  193. package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-file-link-temp-input.js +0 -34
  194. package/dist/basic-sdk/extension/plugins/search-replace/constant.js +0 -8
  195. package/dist/basic-sdk/extension/plugins/search-replace/helper.js +0 -355
  196. package/dist/basic-sdk/extension/plugins/search-replace/index.js +0 -17
  197. package/dist/basic-sdk/extension/plugins/search-replace/menu/index.css +0 -14
  198. package/dist/basic-sdk/extension/plugins/search-replace/menu/index.js +0 -89
  199. package/dist/basic-sdk/extension/plugins/search-replace/plugin.js +0 -28
  200. package/dist/basic-sdk/extension/plugins/search-replace/popover/index.css +0 -98
  201. package/dist/basic-sdk/extension/plugins/search-replace/popover/index.js +0 -238
  202. package/dist/basic-sdk/extension/plugins/search-replace/popover/replace-all-confirm-modal.js +0 -50
  203. package/dist/basic-sdk/extension/plugins/table/constants/index.js +0 -64
  204. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/index.css +0 -7
  205. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/index.js +0 -102
  206. package/dist/basic-sdk/extension/plugins/table/dialogs/custom-table-size-dialog/number-input.js +0 -31
  207. package/dist/basic-sdk/extension/plugins/table/dialogs/index.js +0 -20
  208. package/dist/basic-sdk/extension/plugins/table/dialogs/split-cell-setting-dialog.js +0 -115
  209. package/dist/basic-sdk/extension/plugins/table/helpers.js +0 -2124
  210. package/dist/basic-sdk/extension/plugins/table/index.js +0 -21
  211. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +0 -83
  212. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/color-item.js +0 -33
  213. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/index.js +0 -173
  214. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/style.css +0 -7
  215. package/dist/basic-sdk/extension/plugins/table/menu/horizontal-align-popover/index.js +0 -79
  216. package/dist/basic-sdk/extension/plugins/table/menu/index.js +0 -20
  217. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.css +0 -40
  218. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +0 -232
  219. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +0 -97
  220. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +0 -40
  221. package/dist/basic-sdk/extension/plugins/table/menu/vertical-align-popover/index.js +0 -81
  222. package/dist/basic-sdk/extension/plugins/table/menu/vertical-align-popover/style.css +0 -24
  223. package/dist/basic-sdk/extension/plugins/table/model.js +0 -54
  224. package/dist/basic-sdk/extension/plugins/table/plugin.js +0 -621
  225. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.css +0 -69
  226. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +0 -265
  227. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.css +0 -43
  228. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +0 -129
  229. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +0 -44
  230. package/dist/basic-sdk/extension/plugins/table/render/alternate-color.css +0 -37
  231. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/column-drag-handler.js +0 -24
  232. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/index.js +0 -53
  233. package/dist/basic-sdk/extension/plugins/table/render/drag-handlers/row-drag-handler.js +0 -24
  234. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +0 -76
  235. package/dist/basic-sdk/extension/plugins/table/render/index.css +0 -169
  236. package/dist/basic-sdk/extension/plugins/table/render/index.js +0 -271
  237. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +0 -253
  238. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +0 -15
  239. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/column-resize-handler.js +0 -114
  240. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +0 -100
  241. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +0 -74
  242. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/row-resize-handler.js +0 -90
  243. package/dist/basic-sdk/extension/plugins/table/render/resize-mask/index.js +0 -136
  244. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +0 -104
  245. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +0 -92
  246. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.css +0 -84
  247. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +0 -114
  248. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +0 -32
  249. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +0 -90
  250. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +0 -126
  251. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +0 -60
  252. package/dist/basic-sdk/extension/plugins/table/render-elem.js +0 -27
  253. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +0 -51
  254. package/dist/basic-sdk/extension/plugins/text-align/index.js +0 -8
  255. package/dist/basic-sdk/extension/plugins/text-align/menu/index.css +0 -5
  256. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +0 -98
  257. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +0 -164
  258. package/dist/basic-sdk/extension/plugins/video/constants/index.js +0 -10
  259. package/dist/basic-sdk/extension/plugins/video/dialog/add-video-link-dialog/index.js +0 -108
  260. package/dist/basic-sdk/extension/plugins/video/helpers.js +0 -241
  261. package/dist/basic-sdk/extension/plugins/video/index.css +0 -73
  262. package/dist/basic-sdk/extension/plugins/video/index.js +0 -20
  263. package/dist/basic-sdk/extension/plugins/video/menu/index.js +0 -76
  264. package/dist/basic-sdk/extension/plugins/video/plugin.js +0 -52
  265. package/dist/basic-sdk/extension/plugins/video/render-elem.js +0 -154
  266. package/dist/basic-sdk/extension/plugins/wiki-link/helpers.js +0 -77
  267. package/dist/basic-sdk/extension/plugins/wiki-link/index.js +0 -16
  268. package/dist/basic-sdk/extension/render/helper.js +0 -64
  269. package/dist/basic-sdk/highlight/index.js +0 -26
  270. package/dist/basic-sdk/highlight/setNodeToDecorations.js +0 -83
  271. package/dist/basic-sdk/hooks/use-color-context.js +0 -49
  272. package/dist/basic-sdk/hooks/use-force-update.js +0 -15
  273. package/dist/basic-sdk/hooks/use-selection-element.js +0 -26
  274. package/dist/basic-sdk/hooks/use-selection-position.js +0 -68
  275. package/dist/basic-sdk/slate-convert/html-to-slate/rules/code-block.js +0 -90
  276. package/dist/basic-sdk/slate-convert/html-to-slate/rules/header.js +0 -24
  277. package/dist/basic-sdk/slate-convert/html-to-slate/rules/table.js +0 -45
  278. package/dist/basic-sdk/socket/helpers.js +0 -312
  279. package/dist/basic-sdk/utils/Kebab-to-camel.js +0 -10
  280. package/dist/basic-sdk/utils/debounce.js +0 -20
  281. package/dist/basic-sdk/utils/debug.js +0 -20
  282. package/dist/basic-sdk/utils/default-mode.js +0 -28
  283. package/dist/basic-sdk/utils/diff-text.js +0 -297
  284. package/dist/basic-sdk/utils/diff.js +0 -328
  285. package/dist/basic-sdk/utils/dom-utils.js +0 -57
  286. package/dist/basic-sdk/utils/full-width-mode.js +0 -36
  287. package/dist/basic-sdk/utils/local-storage-utils.js +0 -52
  288. package/dist/basic-sdk/utils/rebase.js +0 -309
  289. package/dist/components/error-boundary/error-page.css +0 -16
  290. package/dist/components/error-boundary/error-page.js +0 -36
  291. package/dist/components/error-boundary/index.js +0 -33
  292. package/dist/components/modal-header/index.css +0 -18
  293. package/dist/components/modal-header/index.js +0 -29
  294. package/dist/components/modal-portal/index.js +0 -26
  295. package/dist/components/tip-dialog/index.css +0 -48
  296. package/dist/components/tip-dialog/index.js +0 -115
  297. package/dist/utils/date-utils.js +0 -78
  298. package/dist/utils/index.js +0 -45
  299. package/public/media/dtable-font.css +0 -1568
  300. package/public/media/dtable-fonts/dtable-font.eot +0 -0
  301. package/public/media/dtable-fonts/dtable-font.svg +0 -793
  302. package/public/media/dtable-fonts/dtable-font.ttf +0 -0
  303. package/public/media/dtable-fonts/dtable-font.woff +0 -0
  304. package/public/media/dtable-fonts/dtable-font.woff2 +0 -0
  305. package/public/media/seafile-logo.png +0 -0
  306. /package/dist/basic-sdk/{extension/plugins/header → components/placeholder}/placeholder.js +0 -0
@@ -1,125 +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.unwrapLinkNode = exports.onCopyFileLinkNode = exports.isMenuDisabled = exports.insertFileLink = exports.getUrl = exports.getType = exports.getFileLinkEntry = exports.generateFileNode = void 0;
8
- var _slate = require("@seafile/slate");
9
- var _slateReact = require("@seafile/slate-react");
10
- var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
11
- var _slugid = _interopRequireDefault(require("slugid"));
12
- var _context = _interopRequireDefault(require("../../../context"));
13
- var _constants = require("../../constants");
14
- var _core = require("../../core");
15
- const isMenuDisabled = (editor, readonly) => {
16
- if (readonly) return true;
17
- if (editor.selection == null) return true;
18
- const selectedElems = (0, _core.getSelectedElems)(editor);
19
- const notMatch = selectedElems.some(elem => {
20
- const {
21
- type
22
- } = elem;
23
- if (editor.isVoid(elem)) return true;
24
- if ([_constants.CODE_BLOCK, _constants.CODE_LINE, _constants.LINK, _constants.TITLE, _constants.SUBTITLE, ..._constants.HEADERS].includes(type)) return true;
25
- return false;
26
- });
27
- if (notMatch) return true; // disabled
28
- return false; // enable
29
- };
30
- exports.isMenuDisabled = isMenuDisabled;
31
- const generateFileNode = (uuid, text) => {
32
- const fileNode = {
33
- id: _slugid.default.nice(),
34
- type: _constants.FILE_LINK,
35
- doc_uuid: uuid,
36
- title: text,
37
- display_type: _constants.INSERT_FILE_DISPLAY_TYPE[1],
38
- children: [{
39
- id: _slugid.default.nice(),
40
- text: text || ''
41
- }]
42
- };
43
- return fileNode;
44
- };
45
- exports.generateFileNode = generateFileNode;
46
- const getType = editor => {
47
- const [match] = _slate.Editor.nodes(editor, {
48
- match: n => (0, _core.getNodeType)(n) === _constants.FILE_LINK,
49
- universal: true
50
- });
51
- if (!match) return _constants.PARAGRAPH;
52
- const [n] = match;
53
- return (0, _core.getNodeType)(n);
54
- };
55
- exports.getType = getType;
56
- const insertFileLink = (editor, text, uuid) => {
57
- if (isMenuDisabled(editor)) return;
58
- // Selection folded or not
59
- const {
60
- selection
61
- } = editor;
62
- if (selection == null) return;
63
- const isCollapsed = _slate.Range.isCollapsed(selection);
64
- if (isCollapsed) {
65
- const fileNode = generateFileNode(uuid, text);
66
- _slate.Transforms.insertNodes(editor, fileNode);
67
- } else {
68
- const selectedText = _slate.Editor.string(editor, selection); // Selected text
69
- if (selectedText !== text) {
70
- // If the selected text is different from the typed text, delete the text and insert the link
71
- editor.deleteFragment();
72
- const fileNode = generateFileNode(uuid, text);
73
- _slate.Transforms.insertNodes(editor, fileNode);
74
- } else {
75
- // If the selected text is the same as the entered text, only the link can be wrapped
76
- const fileNode = generateFileNode(uuid, text);
77
- _slate.Transforms.wrapNodes(editor, fileNode, {
78
- split: true
79
- });
80
- _slate.Transforms.collapse(editor, {
81
- edge: 'end'
82
- });
83
- }
84
- }
85
- };
86
- exports.insertFileLink = insertFileLink;
87
- const unwrapLinkNode = (editor, element) => {
88
- if (editor.selection == null) return;
89
- const path = _slateReact.ReactEditor.findPath(editor, element);
90
- if (path) {
91
- _slate.Transforms.unwrapNodes(editor, {
92
- at: path
93
- });
94
- }
95
- };
96
- exports.unwrapLinkNode = unwrapLinkNode;
97
- const getUrl = uuid => {
98
- return _context.default.getSdocLocalFileUrl(uuid);
99
- };
100
- exports.getUrl = getUrl;
101
- const onCopyFileLinkNode = (editor, element) => {
102
- if (editor.selection == null || _slate.Range.isExpanded(editor.selection)) return;
103
- const p = _slateReact.ReactEditor.findPath(editor, element);
104
- _slate.Transforms.select(editor, p);
105
- const newData = editor.setFragmentData(new DataTransfer());
106
- (0, _copyToClipboard.default)('copy', {
107
- onCopy: clipboardData => {
108
- newData.types.forEach(type => {
109
- const data = newData.getData(type);
110
- clipboardData.setData(type, data);
111
- });
112
- }
113
- });
114
- };
115
- exports.onCopyFileLinkNode = onCopyFileLinkNode;
116
- const getFileLinkEntry = function (editor) {
117
- let at = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : editor.selection;
118
- const aboveNodeEntry = _slate.Editor.above(editor, {
119
- match: n => n.type === _constants.FILE_LINK,
120
- mode: 'highest',
121
- at
122
- });
123
- return aboveNodeEntry;
124
- };
125
- exports.getFileLinkEntry = getFileLinkEntry;
@@ -1,89 +0,0 @@
1
- .sdoc-file-link-hover-menu-container {
2
- position: absolute;
3
- height: 42px;
4
- z-index: 101;
5
- width: auto;
6
- }
7
-
8
- .sdoc-file-link-hover-menu-container .hover-menu-container {
9
- height: 36px;
10
- padding: 7px 8px;
11
- background-color: #fff;
12
- display: flex;
13
- justify-content: flex-start;
14
- align-items: center;
15
- border-radius: 3px;
16
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
17
- border: 1px solid #e8e8e8;
18
- }
19
-
20
- .sdoc-file-link-hover-menu-container .hover-menu-container > span:not(:last-of-type) {
21
- padding-right: 8px;
22
- border-right: 1px solid #e5e5e5;
23
- }
24
-
25
- .sdoc-file-link-hover-menu-container .hover-menu-container .op-item {
26
- position: relative;
27
- font-size: 12px;
28
- color: #212529;
29
- padding: 0 5px;
30
- border-radius: 2px;
31
- min-width: 24px;
32
- height: 24px;
33
- display: inline-flex;
34
- align-items: center;
35
- justify-content: center;
36
- }
37
-
38
- .sdoc-file-link-hover-menu-container .hover-menu-container .op-item:hover {
39
- color: #212529;
40
- text-decoration: none;
41
- background: #f1f1f1;
42
- }
43
-
44
- .sdoc-file-link-hover-menu-container .op-group-item:last-child .op-item {
45
- margin-left: 8px;
46
- }
47
-
48
- .sdoc-file-link-hover-menu-container .hover-menu-container .link-style-icon-active {
49
- background: #f1f1f1;
50
- }
51
-
52
- .sdoc-file-link-hover-menu-container .hover-menu-container .op-tooltip:hover::after {
53
- position: absolute;
54
- color: #212529;
55
- content: attr(op-item-tooltip);
56
- top: -40px;
57
- left: -20px;
58
- width: 70px;
59
- height: 30px;
60
- display: flex;
61
- justify-content: center;
62
- align-items: center;
63
- background-color: #fff;
64
- border-radius: 3px;
65
- border: 1px solid #e8e8e8;
66
- font-size: 12px;
67
- box-shadow: 0 0 5px #ccc;
68
- }
69
-
70
- .sdoc-file-link-hover-menu-container .hover-menu-container .icon-font {
71
- font-size: 12px;
72
- color: #999999;
73
- }
74
-
75
- .sdoc-file-link-hover-menu-container .sdoc-file-display-style-popover {
76
- position: absolute;
77
- top: 37px;
78
- right: -80px;
79
- padding: 8px 0;
80
- background-color: #fff;
81
- border: 1px solid #e5e6e8;
82
- border-radius: 2px;
83
- box-shadow: 0 0 10px #ccc;
84
- display: flex;
85
- flex-direction: column;
86
- align-items: flex-start;
87
- z-index: 101;
88
- white-space: nowrap;
89
- }
@@ -1,122 +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 _slate = require("@seafile/slate");
12
- var _slateReact = require("@seafile/slate-react");
13
- var _classnames = _interopRequireDefault(require("classnames"));
14
- var _toast = _interopRequireDefault(require("../../../../components/toast"));
15
- var _commons = require("../../../commons");
16
- var _constants = require("../../../constants");
17
- var _core = require("../../../core");
18
- var _constants2 = require("../constants");
19
- var _helpers = require("../helpers");
20
- require("./index.css");
21
- const FileLinkHoverMenu = _ref => {
22
- let {
23
- editor,
24
- menuPosition,
25
- element,
26
- onUnwrapFileLinkNode,
27
- onHideInsertHoverMenu
28
- } = _ref;
29
- const {
30
- t
31
- } = (0, _reactI18next.useTranslation)('sdoc-editor');
32
- const readOnly = (0, _slateReact.useReadOnly)();
33
- const [isShowDisplayStylePopover, setIsShowDisplayStylePopover] = (0, _react.useState)(false);
34
- const onCopy = (0, _react.useCallback)(e => {
35
- e.stopPropagation();
36
- (0, _helpers.onCopyFileLinkNode)(editor, element);
37
- _toast.default.success(t('Copied'), {
38
- hasCloseButton: false,
39
- duration: 2
40
- });
41
- onHideInsertHoverMenu();
42
- // eslint-disable-next-line react-hooks/exhaustive-deps
43
- }, []);
44
- const onShowProver = (0, _react.useCallback)(e => {
45
- setIsShowDisplayStylePopover(true);
46
- }, []);
47
- const onSelect = (0, _react.useCallback)((event, value) => {
48
- event.stopPropagation();
49
- const path = _slateReact.ReactEditor.findPath(editor, element);
50
- if (path) {
51
- _slate.Transforms.setNodes(editor, {
52
- display_type: value
53
- }, {
54
- at: path
55
- });
56
- }
57
- onHideInsertHoverMenu();
58
- // eslint-disable-next-line react-hooks/exhaustive-deps
59
- }, []);
60
- const selectedType = element.display_type || _constants2.FILE_LINK_TYPE.TEXT_LINK;
61
- const id = `file-link-display-type-${element.id}`;
62
- const newFileLinkTypes = _constants2.FILE_LINK_TYPES.filter(fileLinkType => (0, _core.getCurrentNode)(editor)[0].type === _constants.TABLE_CELL ? fileLinkType !== _constants2.FILE_LINK_TYPE.CARD_LINK : true);
63
- return /*#__PURE__*/_react.default.createElement(_commons.ElementPopover, null, /*#__PURE__*/_react.default.createElement("div", {
64
- className: "sdoc-file-link-hover-menu-container",
65
- style: menuPosition
66
- }, /*#__PURE__*/_react.default.createElement("div", {
67
- className: "hover-menu-container"
68
- }, /*#__PURE__*/_react.default.createElement("span", {
69
- className: "op-group-item"
70
- }, /*#__PURE__*/_react.default.createElement("span", {
71
- role: "button",
72
- className: (0, _classnames.default)('op-item', {
73
- 'ml-0': readOnly
74
- })
75
- }, /*#__PURE__*/_react.default.createElement("a", {
76
- href: (0, _helpers.getUrl)(element.doc_uuid),
77
- target: "_blank",
78
- rel: "noopener noreferrer",
79
- className: "link-op-menu-link"
80
- }, t('Open_link')))), !readOnly && /*#__PURE__*/_react.default.createElement("span", {
81
- className: "op-group-item"
82
- }, /*#__PURE__*/_react.default.createElement("span", {
83
- role: "button",
84
- className: "op-item",
85
- onClick: onCopy
86
- }, /*#__PURE__*/_react.default.createElement("i", {
87
- className: "sdocfont sdoc-copy icon-font"
88
- })), /*#__PURE__*/_react.default.createElement("span", {
89
- role: "button",
90
- className: (0, _classnames.default)('op-item', {
91
- 'link-style-icon-active': isShowDisplayStylePopover
92
- }),
93
- onClick: onShowProver,
94
- id: id
95
- }, /*#__PURE__*/_react.default.createElement("i", {
96
- className: (0, _classnames.default)('icon-font mr-1', _constants2.FILE_LINK_TYPE_CONFIG[selectedType].icon)
97
- }), /*#__PURE__*/_react.default.createElement("i", {
98
- className: "sdocfont sdoc-drop-down icon-font"
99
- })), /*#__PURE__*/_react.default.createElement("span", {
100
- role: "button",
101
- className: "op-item",
102
- onClick: onUnwrapFileLinkNode
103
- }, /*#__PURE__*/_react.default.createElement("i", {
104
- className: "sdocfont sdoc-unlink icon-font"
105
- })))), isShowDisplayStylePopover && /*#__PURE__*/_react.default.createElement("div", {
106
- className: "sdoc-file-display-style-popover sdoc-dropdown-menu"
107
- }, newFileLinkTypes.map(fileLinkType => {
108
- return /*#__PURE__*/_react.default.createElement("div", {
109
- key: fileLinkType,
110
- "date-type": fileLinkType,
111
- className: "sdoc-dropdown-menu-item sdoc-dropdown-item-with-left-icon pr-2",
112
- onClick: event => onSelect(event, fileLinkType)
113
- }, /*#__PURE__*/_react.default.createElement("div", {
114
- className: "sdoc-dropdown-item-content"
115
- }, /*#__PURE__*/_react.default.createElement("i", {
116
- className: (0, _classnames.default)('sdoc-dropdown-item-content-icon', _constants2.FILE_LINK_TYPE_CONFIG[fileLinkType].icon)
117
- }), /*#__PURE__*/_react.default.createElement("span", null, t(_constants2.FILE_LINK_TYPE_CONFIG[fileLinkType].text))), selectedType === fileLinkType && /*#__PURE__*/_react.default.createElement("i", {
118
- className: "sdocfont sdoc-check-mark sdoc-dropdown-item-right-icon"
119
- }));
120
- }))));
121
- };
122
- var _default = exports.default = FileLinkHoverMenu;
@@ -1,18 +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 = _interopRequireDefault(require("./render-elem"));
12
- const FileLinkPlugin = {
13
- type: _constants.FILE_LINK,
14
- editorMenus: [_menu.default],
15
- editorPlugin: _plugin.default,
16
- renderElements: [_renderElem.default]
17
- };
18
- var _default = exports.default = FileLinkPlugin;
@@ -1,38 +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 _constants = require("../../../../constants");
11
- var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
12
- var _constants2 = require("../../../constants");
13
- var _helpers = require("../helpers");
14
- const FileLinkMenu = _ref => {
15
- let {
16
- editor,
17
- readonly,
18
- toggle,
19
- eventBus
20
- } = _ref;
21
- const disabled = (0, _helpers.isMenuDisabled)(editor, readonly);
22
- const menuConfig = _constants2.MENUS_CONFIG_MAP[_constants2.FILE_LINK];
23
- const openSelectFileDialog = (0, _react.useCallback)(() => {
24
- eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
25
- type: _constants2.ELEMENT_TYPE.FILE_LINK,
26
- insertFileLinkCallback: _helpers.insertFileLink
27
- });
28
- toggle && toggle();
29
-
30
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
- }, [toggle, eventBus]);
32
- return /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
33
- disabled: disabled,
34
- menuConfig: menuConfig,
35
- onClick: openSelectFileDialog
36
- });
37
- };
38
- var _default = exports.default = FileLinkMenu;
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _slate = require("@seafile/slate");
8
- var _constants = require("../../constants");
9
- var _helpers = require("./helpers");
10
- const withFileLink = editor => {
11
- const {
12
- isInline,
13
- deleteBackward,
14
- onHotKeyDown
15
- } = editor;
16
- const newEditor = editor;
17
-
18
- // Rewrite isInline
19
- newEditor.isInline = elem => {
20
- const {
21
- type
22
- } = elem;
23
- if (type === _constants.FILE_LINK) {
24
- return true;
25
- }
26
- return isInline(elem);
27
- };
28
- newEditor.deleteBackward = unit => {
29
- const {
30
- selection
31
- } = newEditor;
32
- if (selection === null) {
33
- return deleteBackward(unit);
34
- }
35
-
36
- // Delete file link node
37
- const nodeEntry = _slate.Editor.node(newEditor, newEditor.selection);
38
- if (nodeEntry && _slate.Node.string(nodeEntry[0]).length === 0) {
39
- const beforePath = nodeEntry[1];
40
- beforePath.splice(-1, 1, Math.max(nodeEntry[1].at(-1) - 1, 0));
41
- const beforeNodeEntry = _slate.Editor.node(newEditor, beforePath);
42
- if (beforeNodeEntry && beforeNodeEntry[0].type === _constants.FILE_LINK) {
43
- _slate.Transforms.delete(newEditor, {
44
- at: beforeNodeEntry[1]
45
- });
46
- return;
47
- }
48
- return deleteBackward(unit);
49
- }
50
- return deleteBackward(unit);
51
- };
52
- newEditor.onHotKeyDown = e => {
53
- const fileLinkEntry = (0, _helpers.getFileLinkEntry)(editor);
54
- if (fileLinkEntry) {
55
- if (e.key === 'ArrowLeft') {
56
- const beforePointFileLink = _slate.Editor.before(newEditor, fileLinkEntry[1]);
57
- _slate.Transforms.select(newEditor, beforePointFileLink);
58
- e.preventDefault();
59
- return;
60
- }
61
- if (e.key === 'ArrowRight') {
62
- const afterPointFileLink = _slate.Editor.after(newEditor, fileLinkEntry[1]);
63
- _slate.Transforms.select(newEditor, afterPointFileLink);
64
- e.preventDefault();
65
- return;
66
- }
67
- }
68
- return onHotKeyDown && onHotKeyDown(e);
69
- };
70
- return newEditor;
71
- };
72
- var _default = exports.default = withFileLink;
@@ -1,56 +0,0 @@
1
- .file-link-selected,
2
- .sdoc-file-link-render:hover {
3
- background-color: #e5e5e5 !important;
4
- }
5
-
6
- .sdoc-file-card-link {
7
- position: relative;
8
- background-color: #f3f3f3;
9
- border: 1px solid transparent;
10
- border-radius: 4px;
11
- cursor: pointer;
12
- display: inline-block;
13
- height: 50px;
14
- width: 420px;
15
- margin-bottom: -3px;
16
- }
17
-
18
- .sdoc-file-link-render .sdoc-file-link-icon {
19
- padding-right: 5px;
20
- color: #ff9800;
21
- }
22
-
23
- .sdoc-file-card-link .sdoc-file-link-icon :first-child {
24
- font-size: 24px;
25
- }
26
-
27
- .sdoc-file-card-link .sdoc-file-link-icon {
28
- position: absolute;
29
- left: 12px;
30
- top: 50%;
31
- transform: translateY(-50%);
32
- }
33
-
34
- .sdoc-file-link-render .sdoc-file-link-icon .file-link-img {
35
- width: 20px;
36
- }
37
-
38
- .sdoc-file-card-link .sdoc-file-link-icon .file-link-img {
39
- width: 28px;
40
- }
41
-
42
- .sdoc-file-card-link .sdoc-file-text-link {
43
- position: absolute;
44
- left: 42px;
45
- top: 50%;
46
- transform: translateY(-50%);
47
- width: 330px;
48
- overflow: hidden;
49
- text-overflow: ellipsis;
50
- white-space: nowrap;
51
- }
52
-
53
- .sdoc-file-card-link .sdoc-file-text-link a {
54
- text-decoration: none;
55
- color: #333;
56
- }
@@ -1,164 +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 _slateReact = require("@seafile/slate-react");
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _useScrollContext = require("../../../hooks/use-scroll-context");
13
- var _helpers = require("../../commons/select-file-dialog/helpers");
14
- var _constants = require("../../constants");
15
- var _constants2 = require("./constants");
16
- var _helpers2 = require("./helpers");
17
- var _hoverMenu = _interopRequireDefault(require("./hover-menu"));
18
- require("./render-elem.css");
19
- const FileLink = _ref => {
20
- let {
21
- editor,
22
- element,
23
- children,
24
- attributes
25
- } = _ref;
26
- const fileRef = (0, _react.useRef)(null);
27
- const scrollRef = (0, _useScrollContext.useScrollContext)();
28
- const readOnly = (0, _slateReact.useReadOnly)();
29
- const [isShowInsertHoverMenu, setIsShowInsertHoverMenu] = (0, _react.useState)(false);
30
- const [menuPosition, setMenuPosition] = (0, _react.useState)({});
31
- const isSelected = (0, _slateReact.useSelected)();
32
-
33
- // Get file type icon
34
- const fileTypeIcon = (0, _helpers.parcelFileTypeIcon)(element.title);
35
- const registerEventHandle = (0, _react.useCallback)(() => {
36
- document.addEventListener('click', onHideInsertHoverMenu);
37
- // eslint-disable-next-line react-hooks/exhaustive-deps
38
- }, []);
39
- const unregisterEventHandle = (0, _react.useCallback)(() => {
40
- document.removeEventListener('click', onHideInsertHoverMenu);
41
- // eslint-disable-next-line react-hooks/exhaustive-deps
42
- }, []);
43
- (0, _react.useEffect)(() => {
44
- return () => {
45
- unregisterEventHandle();
46
- };
47
- // eslint-disable-next-line react-hooks/exhaustive-deps
48
- }, []);
49
- const setPosition = (0, _react.useCallback)(elem => {
50
- if (elem) {
51
- const {
52
- top,
53
- left
54
- } = elem.getBoundingClientRect();
55
- const menuTop = top - 42; // top = top distance - menu height
56
- const menuLeft = left - 18; // left = left distance - (menu width / 2)
57
- const newMenuPosition = {
58
- top: menuTop,
59
- left: menuLeft
60
- };
61
- setMenuPosition(newMenuPosition);
62
- }
63
- // eslint-disable-next-line react-hooks/exhaustive-deps
64
- }, []);
65
- const onScroll = (0, _react.useCallback)(e => {
66
- setPosition(fileRef.current);
67
- // eslint-disable-next-line react-hooks/exhaustive-deps
68
- }, []);
69
- (0, _react.useEffect)(() => {
70
- let observerRefValue = null;
71
- if (isShowInsertHoverMenu) {
72
- scrollRef.current && scrollRef.current.addEventListener('scroll', onScroll);
73
- observerRefValue = scrollRef.current;
74
- } else {
75
- scrollRef.current && scrollRef.current.removeEventListener('scroll', onScroll);
76
- }
77
- return () => {
78
- if (observerRefValue) {
79
- observerRefValue.removeEventListener('scroll', onScroll);
80
- }
81
- };
82
- // eslint-disable-next-line react-hooks/exhaustive-deps
83
- }, [isShowInsertHoverMenu]);
84
- const onClickFile = (0, _react.useCallback)(e => {
85
- if (readOnly) {
86
- window.open((0, _helpers2.getUrl)(element.doc_uuid));
87
- return;
88
- }
89
- if (isShowInsertHoverMenu) {
90
- e.stopPropagation();
91
- }
92
- setPosition(e.currentTarget);
93
- setIsShowInsertHoverMenu(true);
94
- setTimeout(() => {
95
- registerEventHandle();
96
- }, 0);
97
- // eslint-disable-next-line react-hooks/exhaustive-deps
98
- }, [isShowInsertHoverMenu]);
99
- const onHideInsertHoverMenu = (0, _react.useCallback)(e => {
100
- setIsShowInsertHoverMenu(false);
101
- unregisterEventHandle();
102
- // eslint-disable-next-line react-hooks/exhaustive-deps
103
- }, []);
104
- const onUnwrapFileLinkNode = (0, _react.useCallback)(event => {
105
- event.stopPropagation();
106
- (0, _helpers2.unwrapLinkNode)(editor, element);
107
- // eslint-disable-next-line react-hooks/exhaustive-deps
108
- }, []);
109
- let style = {};
110
- if (element.add) {
111
- style = {
112
- ..._constants.ADDED_STYLE
113
- };
114
- } else if (element.delete) {
115
- style = {
116
- ..._constants.DELETED_STYLE
117
- };
118
- }
119
- if (style.computed_background_color) {
120
- style['backgroundColor'] = style.computed_background_color;
121
- }
122
- return /*#__PURE__*/_react.default.createElement("span", Object.assign({}, attributes, {
123
- "data-id": element.id,
124
- contentEditable: false,
125
- className: (0, _classnames.default)('sdoc-file-link-render', {
126
- 'file-link-selected': isSelected
127
- }, {
128
- 'sdoc-file-card-link': element.display_type === _constants2.FILE_LINK_TYPE.CARD_LINK
129
- }),
130
- onClick: onClickFile,
131
- style: element.display_type === _constants2.FILE_LINK_TYPE.CARD_LINK ? style : {}
132
- }), /*#__PURE__*/_react.default.createElement("span", {
133
- ref: fileRef
134
- }, [_constants2.FILE_LINK_TYPE.ICON_LINK, _constants2.FILE_LINK_TYPE.CARD_LINK].includes(element.display_type) && /*#__PURE__*/_react.default.createElement("span", {
135
- className: "sdoc-file-link-icon",
136
- style: style
137
- }, !fileTypeIcon && /*#__PURE__*/_react.default.createElement("i", {
138
- className: "sdocfont sdoc-link-file"
139
- }), fileTypeIcon && /*#__PURE__*/_react.default.createElement("img", {
140
- className: "file-link-img",
141
- src: fileTypeIcon,
142
- alt: ""
143
- })), /*#__PURE__*/_react.default.createElement("span", {
144
- className: "sdoc-file-text-link",
145
- style: style
146
- }, /*#__PURE__*/_react.default.createElement("a", {
147
- href: (0, _helpers2.getUrl)(element.doc_uuid),
148
- onClick: e => e.preventDefault(),
149
- onDragStart: e => e.preventDefault(),
150
- title: element.title
151
- }, children))), isShowInsertHoverMenu && /*#__PURE__*/_react.default.createElement(_hoverMenu.default, {
152
- editor: editor,
153
- menuPosition: menuPosition,
154
- element: element,
155
- onUnwrapFileLinkNode: onUnwrapFileLinkNode,
156
- onHideInsertHoverMenu: onHideInsertHoverMenu
157
- }));
158
- };
159
- const renderFileLink = (props, editor) => {
160
- return /*#__PURE__*/_react.default.createElement(FileLink, Object.assign({}, props, {
161
- editor: editor
162
- }));
163
- };
164
- var _default = exports.default = renderFileLink;