@seafile/sdoc-editor 0.3.6 → 0.3.7

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 (339) hide show
  1. package/dist/api/sdoc-server-api.js +165 -170
  2. package/dist/api/seafile-api.js +180 -246
  3. package/dist/basic-sdk/comment/comment-decorate.js +23 -30
  4. package/dist/basic-sdk/comment/components/comment-all-participants/index.js +18 -18
  5. package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +13 -13
  6. package/dist/basic-sdk/comment/components/comment-delete-shadow.js +11 -9
  7. package/dist/basic-sdk/comment/components/comment-editor.js +37 -34
  8. package/dist/basic-sdk/comment/components/comment-input/comment-participant-item.js +16 -14
  9. package/dist/basic-sdk/comment/components/comment-input/index.js +110 -106
  10. package/dist/basic-sdk/comment/components/comment-item-content.js +29 -37
  11. package/dist/basic-sdk/comment/components/comment-item-reply.js +24 -33
  12. package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +5 -3
  13. package/dist/basic-sdk/comment/components/comment-item-wrapper.js +190 -285
  14. package/dist/basic-sdk/comment/components/comment-list.js +52 -72
  15. package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +23 -30
  16. package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +21 -19
  17. package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +16 -14
  18. package/dist/basic-sdk/comment/components/editor-comment.js +23 -32
  19. package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +18 -20
  20. package/dist/basic-sdk/comment/components/elements-comment-count/index.js +8 -8
  21. package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +23 -25
  22. package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +9 -7
  23. package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +9 -6
  24. package/dist/basic-sdk/comment/components/global-comment/index.js +63 -86
  25. package/dist/basic-sdk/comment/constants/index.js +9 -9
  26. package/dist/basic-sdk/comment/helper.js +27 -26
  27. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +8 -7
  28. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +19 -30
  29. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +41 -71
  30. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +8 -7
  31. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +45 -64
  32. package/dist/basic-sdk/comment/hooks/use-participants.js +46 -53
  33. package/dist/basic-sdk/comment/index.js +22 -19
  34. package/dist/basic-sdk/comment/provider/comment-context-provider.js +9 -11
  35. package/dist/basic-sdk/comment/provider/index.js +4 -2
  36. package/dist/basic-sdk/comment/provider/notification-context-provider.js +9 -11
  37. package/dist/basic-sdk/comment/reducer/comment-reducer.js +151 -137
  38. package/dist/basic-sdk/comment/reducer/notification-reducer.js +20 -15
  39. package/dist/basic-sdk/comment/utils/index.js +180 -173
  40. package/dist/basic-sdk/comment/utils/notification-utils.js +15 -14
  41. package/dist/basic-sdk/constants/index.js +9 -9
  42. package/dist/basic-sdk/cursor/helper.js +13 -9
  43. package/dist/basic-sdk/cursor/use-cursors.js +9 -13
  44. package/dist/basic-sdk/decorates/index.js +8 -9
  45. package/dist/basic-sdk/editor/editable-article.js +63 -57
  46. package/dist/basic-sdk/editor/sdoc-editor.js +42 -47
  47. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +6 -4
  48. package/dist/basic-sdk/extension/commons/color-menu/index.js +40 -50
  49. package/dist/basic-sdk/extension/commons/dropdown-menu-item/index.js +17 -16
  50. package/dist/basic-sdk/extension/commons/element-popover/index.js +27 -45
  51. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +46 -59
  52. package/dist/basic-sdk/extension/commons/menu/menu-group.js +7 -21
  53. package/dist/basic-sdk/extension/commons/menu/menu-item.js +17 -14
  54. package/dist/basic-sdk/extension/commons/more-dropdown/index.js +9 -7
  55. package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +3 -3
  56. package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +26 -23
  57. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +49 -80
  58. package/dist/basic-sdk/extension/constants/color.js +10 -10
  59. package/dist/basic-sdk/extension/constants/diff-view.js +3 -3
  60. package/dist/basic-sdk/extension/constants/element-type.js +29 -29
  61. package/dist/basic-sdk/extension/constants/font.js +44 -37
  62. package/dist/basic-sdk/extension/constants/index.js +27 -16
  63. package/dist/basic-sdk/extension/constants/keyboard.js +4 -4
  64. package/dist/basic-sdk/extension/constants/menus-config.js +234 -203
  65. package/dist/basic-sdk/extension/core/queries/index.js +185 -285
  66. package/dist/basic-sdk/extension/core/transforms/focus-editor.js +2 -2
  67. package/dist/basic-sdk/extension/core/transforms/move-children.js +14 -14
  68. package/dist/basic-sdk/extension/core/transforms/remove-node-children.js +6 -18
  69. package/dist/basic-sdk/extension/core/transforms/replace-node.js +22 -19
  70. package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +6 -8
  71. package/dist/basic-sdk/extension/core/utils/index.js +12 -12
  72. package/dist/basic-sdk/extension/index.js +6 -6
  73. package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +39 -54
  74. package/dist/basic-sdk/extension/plugins/blockquote/index.js +1 -1
  75. package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +34 -44
  76. package/dist/basic-sdk/extension/plugins/blockquote/model.js +8 -9
  77. package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +36 -37
  78. package/dist/basic-sdk/extension/plugins/blockquote/render-elem.js +7 -5
  79. package/dist/basic-sdk/extension/plugins/check-list/helpers.js +15 -25
  80. package/dist/basic-sdk/extension/plugins/check-list/index.js +1 -1
  81. package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +35 -45
  82. package/dist/basic-sdk/extension/plugins/check-list/model.js +9 -10
  83. package/dist/basic-sdk/extension/plugins/check-list/plugin.js +16 -10
  84. package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +42 -56
  85. package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +21 -36
  86. package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +12 -10
  87. package/dist/basic-sdk/extension/plugins/code-block/helpers.js +40 -58
  88. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +38 -46
  89. package/dist/basic-sdk/extension/plugins/code-block/index.js +1 -1
  90. package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +9 -7
  91. package/dist/basic-sdk/extension/plugins/code-block/model.js +8 -9
  92. package/dist/basic-sdk/extension/plugins/code-block/plugin.js +44 -51
  93. package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +27 -27
  94. package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +62 -58
  95. package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +16 -14
  96. package/dist/basic-sdk/extension/plugins/file-link/helpers.js +34 -36
  97. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +19 -23
  98. package/dist/basic-sdk/extension/plugins/file-link/index.js +1 -1
  99. package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +10 -8
  100. package/dist/basic-sdk/extension/plugins/file-link/plugin.js +17 -11
  101. package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +34 -38
  102. package/dist/basic-sdk/extension/plugins/font/helpers.js +75 -78
  103. package/dist/basic-sdk/extension/plugins/font/index.js +1 -1
  104. package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +14 -13
  105. package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +38 -55
  106. package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +12 -10
  107. package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +29 -31
  108. package/dist/basic-sdk/extension/plugins/font/menu/index.js +5 -3
  109. package/dist/basic-sdk/extension/plugins/font/plugin.js +4 -4
  110. package/dist/basic-sdk/extension/plugins/header/helpers.js +32 -38
  111. package/dist/basic-sdk/extension/plugins/header/index.js +1 -1
  112. package/dist/basic-sdk/extension/plugins/header/menu/index.js +101 -107
  113. package/dist/basic-sdk/extension/plugins/header/plugin.js +41 -44
  114. package/dist/basic-sdk/extension/plugins/header/render-elem.js +28 -20
  115. package/dist/basic-sdk/extension/plugins/html/helper.js +30 -28
  116. package/dist/basic-sdk/extension/plugins/html/index.js +1 -1
  117. package/dist/basic-sdk/extension/plugins/html/plugin.js +12 -10
  118. package/dist/basic-sdk/extension/plugins/html/rules/blockquote.js +5 -3
  119. package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +4 -2
  120. package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +20 -24
  121. package/dist/basic-sdk/extension/plugins/html/rules/header.js +7 -5
  122. package/dist/basic-sdk/extension/plugins/html/rules/image.js +4 -2
  123. package/dist/basic-sdk/extension/plugins/html/rules/index.js +1 -1
  124. package/dist/basic-sdk/extension/plugins/html/rules/link.js +5 -3
  125. package/dist/basic-sdk/extension/plugins/html/rules/list.js +6 -4
  126. package/dist/basic-sdk/extension/plugins/html/rules/paragraph.js +5 -3
  127. package/dist/basic-sdk/extension/plugins/html/rules/table.js +5 -3
  128. package/dist/basic-sdk/extension/plugins/html/rules/text.js +5 -3
  129. package/dist/basic-sdk/extension/plugins/image/constants/index.js +2 -2
  130. package/dist/basic-sdk/extension/plugins/image/dialogs/image-previewer.js +59 -75
  131. package/dist/basic-sdk/extension/plugins/image/helpers.js +74 -98
  132. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +49 -62
  133. package/dist/basic-sdk/extension/plugins/image/index.js +1 -1
  134. package/dist/basic-sdk/extension/plugins/image/menu/index.js +12 -9
  135. package/dist/basic-sdk/extension/plugins/image/model.js +11 -12
  136. package/dist/basic-sdk/extension/plugins/image/plugin.js +43 -35
  137. package/dist/basic-sdk/extension/plugins/image/render-elem.js +73 -91
  138. package/dist/basic-sdk/extension/plugins/index.js +1 -1
  139. package/dist/basic-sdk/extension/plugins/link/dialog/add-link-dialog/index.js +30 -39
  140. package/dist/basic-sdk/extension/plugins/link/helpers.js +76 -100
  141. package/dist/basic-sdk/extension/plugins/link/hover/index.js +12 -9
  142. package/dist/basic-sdk/extension/plugins/link/index.js +1 -1
  143. package/dist/basic-sdk/extension/plugins/link/menu/index.js +10 -8
  144. package/dist/basic-sdk/extension/plugins/link/model.js +10 -11
  145. package/dist/basic-sdk/extension/plugins/link/plugin.js +28 -31
  146. package/dist/basic-sdk/extension/plugins/link/render-elem.js +66 -74
  147. package/dist/basic-sdk/extension/plugins/list/helpers.js +45 -57
  148. package/dist/basic-sdk/extension/plugins/list/index.js +1 -1
  149. package/dist/basic-sdk/extension/plugins/list/menu/index.js +37 -49
  150. package/dist/basic-sdk/extension/plugins/list/model.js +11 -12
  151. package/dist/basic-sdk/extension/plugins/list/plugin/index.js +16 -12
  152. package/dist/basic-sdk/extension/plugins/list/plugin/insert-break-list.js +4 -4
  153. package/dist/basic-sdk/extension/plugins/list/plugin/insert-fragment-list.js +54 -70
  154. package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +16 -20
  155. package/dist/basic-sdk/extension/plugins/list/plugin/on-tab-handle.js +19 -14
  156. package/dist/basic-sdk/extension/plugins/list/plugin/shortcut.js +20 -28
  157. package/dist/basic-sdk/extension/plugins/list/queries/index.js +16 -18
  158. package/dist/basic-sdk/extension/plugins/list/render-elem.js +23 -15
  159. package/dist/basic-sdk/extension/plugins/list/transforms/insert-list-item.js +20 -24
  160. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-down.js +16 -19
  161. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-up.js +31 -35
  162. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items-to-list.js +18 -18
  163. package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items.js +23 -24
  164. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +38 -55
  165. package/dist/basic-sdk/extension/plugins/list/transforms/normalize-nested-list.js +11 -13
  166. package/dist/basic-sdk/extension/plugins/list/transforms/remove-first-list-item.js +8 -8
  167. package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +42 -50
  168. package/dist/basic-sdk/extension/plugins/list/transforms/unwrap-list.js +11 -14
  169. package/dist/basic-sdk/extension/plugins/markdown/index.js +1 -1
  170. package/dist/basic-sdk/extension/plugins/markdown/plugin.js +59 -52
  171. package/dist/basic-sdk/extension/plugins/paragraph/index.js +1 -1
  172. package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +12 -10
  173. package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +16 -14
  174. package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +66 -65
  175. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +19 -23
  176. package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +1 -1
  177. package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +10 -8
  178. package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +23 -15
  179. package/dist/basic-sdk/extension/plugins/sdoc-link/render-elem.js +35 -39
  180. package/dist/basic-sdk/extension/plugins/table/constants/index.js +16 -14
  181. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.js +17 -24
  182. package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/number-input.js +9 -7
  183. package/dist/basic-sdk/extension/plugins/table/helpers.js +466 -440
  184. package/dist/basic-sdk/extension/plugins/table/index.js +1 -1
  185. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-bg-color-menu.js +16 -13
  186. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-text-align-menu.js +16 -18
  187. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +58 -65
  188. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +7 -5
  189. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/remove-table-menu.js +11 -9
  190. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-column-menu.js +13 -14
  191. package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-row-menu.js +13 -14
  192. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +92 -105
  193. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +62 -66
  194. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +9 -7
  195. package/dist/basic-sdk/extension/plugins/table/model.js +14 -15
  196. package/dist/basic-sdk/extension/plugins/table/plugin.js +130 -112
  197. package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +31 -45
  198. package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +12 -14
  199. package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +15 -19
  200. package/dist/basic-sdk/extension/plugins/table/render/hooks.js +25 -32
  201. package/dist/basic-sdk/extension/plugins/table/render/index.js +57 -67
  202. package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +42 -36
  203. package/dist/basic-sdk/extension/plugins/table/render/render-row.js +44 -49
  204. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +36 -45
  205. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +10 -8
  206. package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/resize-handler.js +41 -50
  207. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +30 -29
  208. package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +21 -33
  209. package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +17 -15
  210. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +7 -5
  211. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +22 -32
  212. package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +41 -43
  213. package/dist/basic-sdk/extension/plugins/table/render/table-root.js +16 -20
  214. package/dist/basic-sdk/extension/plugins/text-align/helpers.js +19 -24
  215. package/dist/basic-sdk/extension/plugins/text-align/index.js +1 -1
  216. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +20 -26
  217. package/dist/basic-sdk/extension/plugins/text-style/caret.js +9 -7
  218. package/dist/basic-sdk/extension/plugins/text-style/helpers.js +17 -24
  219. package/dist/basic-sdk/extension/plugins/text-style/index.js +1 -1
  220. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +38 -37
  221. package/dist/basic-sdk/extension/plugins/text-style/plugin.js +6 -6
  222. package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +14 -10
  223. package/dist/basic-sdk/extension/render/custom-element.js +30 -49
  224. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.js +6 -4
  225. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +13 -10
  226. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +13 -10
  227. package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +21 -19
  228. package/dist/basic-sdk/extension/render/render-element.js +5 -3
  229. package/dist/basic-sdk/extension/render/render-leaf.js +4 -6
  230. package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +18 -16
  231. package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +5 -3
  232. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +29 -29
  233. package/dist/basic-sdk/extension/toolbar/header-toolbar/redo-undo.js +45 -53
  234. package/dist/basic-sdk/extension/toolbar/side-toolbar/event.js +8 -8
  235. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +45 -49
  236. package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +50 -72
  237. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-below-menu.js +5 -3
  238. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +25 -26
  239. package/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.js +24 -26
  240. package/dist/basic-sdk/extension/toolbar/side-toolbar/transform-menus.js +14 -16
  241. package/dist/basic-sdk/extension/utils/index.js +4 -4
  242. package/dist/basic-sdk/highlight/index.js +8 -13
  243. package/dist/basic-sdk/highlight/setNodeToDecorations.js +43 -73
  244. package/dist/basic-sdk/hooks/use-color-context.js +27 -35
  245. package/dist/basic-sdk/hooks/use-scroll-context.js +6 -4
  246. package/dist/basic-sdk/hooks/use-selection-element.js +5 -7
  247. package/dist/basic-sdk/hooks/use-selection-position.js +13 -15
  248. package/dist/basic-sdk/hooks/use-selection-update.js +6 -11
  249. package/dist/basic-sdk/layout/article-container.js +20 -23
  250. package/dist/basic-sdk/layout/editor-container.js +6 -4
  251. package/dist/basic-sdk/layout/editor-content.js +15 -15
  252. package/dist/basic-sdk/node-id/constants.js +9 -9
  253. package/dist/basic-sdk/node-id/helpers.js +44 -29
  254. package/dist/basic-sdk/node-id/index.js +13 -11
  255. package/dist/basic-sdk/outline/index.js +24 -27
  256. package/dist/basic-sdk/outline/outline-item.js +39 -44
  257. package/dist/basic-sdk/socket/helpers.js +99 -90
  258. package/dist/basic-sdk/socket/socket-client.js +175 -171
  259. package/dist/basic-sdk/socket/socket-manager.js +316 -297
  260. package/dist/basic-sdk/socket/with-socket-io.js +38 -30
  261. package/dist/basic-sdk/utils/debug.js +4 -4
  262. package/dist/basic-sdk/utils/diff-text.js +191 -193
  263. package/dist/basic-sdk/utils/diff.js +115 -106
  264. package/dist/basic-sdk/utils/document-utils.js +10 -13
  265. package/dist/basic-sdk/utils/dom-utils.js +18 -16
  266. package/dist/basic-sdk/utils/event-bus.js +26 -39
  267. package/dist/basic-sdk/utils/event-handler.js +81 -79
  268. package/dist/basic-sdk/utils/mouse-event.js +29 -27
  269. package/dist/basic-sdk/utils/object-utils.js +35 -53
  270. package/dist/basic-sdk/utils/rebase.js +101 -76
  271. package/dist/basic-sdk/views/published-revision-diff-viewer.js +19 -22
  272. package/dist/basic-sdk/views/readonly-article.js +7 -5
  273. package/dist/basic-sdk/views/revision-diff-viewer.js +15 -18
  274. package/dist/basic-sdk/views/sdoc-diff-viewer.js +8 -6
  275. package/dist/basic-sdk/views/sdoc-viewer.js +9 -7
  276. package/dist/components/common-loading/index.js +1 -1
  277. package/dist/components/doc-info/index.js +25 -23
  278. package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +36 -49
  279. package/dist/components/doc-operations/collaborators-operation/index.js +58 -76
  280. package/dist/components/doc-operations/comments-operation/index.js +7 -13
  281. package/dist/components/doc-operations/history-operation.js +5 -5
  282. package/dist/components/doc-operations/index.js +10 -9
  283. package/dist/components/doc-operations/more-operations.js +15 -21
  284. package/dist/components/doc-operations/revision-operations/changes-count/index.js +15 -16
  285. package/dist/components/doc-operations/revision-operations/index.js +65 -71
  286. package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +13 -17
  287. package/dist/components/doc-operations/revision-operations/publish-revision/index.js +8 -5
  288. package/dist/components/doc-operations/revision-operations/revisions/index.js +13 -19
  289. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +56 -87
  290. package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +14 -16
  291. package/dist/components/doc-operations/revision-operations/view-changes/index.js +25 -32
  292. package/dist/components/doc-operations/share-operation/index.js +2 -2
  293. package/dist/components/doc-operations/tag-operation/constans.js +1 -1
  294. package/dist/components/doc-operations/tag-operation/file-tag-quick-view/index.js +26 -42
  295. package/dist/components/doc-operations/tag-operation/index.js +1 -1
  296. package/dist/components/doc-operations/tag-operation/tag-popover/index.js +95 -175
  297. package/dist/components/doc-operations/tag-operation/utils.js +2 -6
  298. package/dist/components/draft-dropdown/index.js +44 -53
  299. package/dist/components/loading/index.js +8 -22
  300. package/dist/components/modal-portal/index.js +15 -32
  301. package/dist/components/switch/index.js +8 -6
  302. package/dist/components/tip-dialog/index.js +21 -23
  303. package/dist/components/tip-message/index.js +93 -92
  304. package/dist/components/toast/alert.js +73 -88
  305. package/dist/components/toast/index.js +1 -1
  306. package/dist/components/toast/toast.js +76 -103
  307. package/dist/components/toast/toastManager.js +55 -89
  308. package/dist/components/toast/toaster.js +54 -56
  309. package/dist/components/tooltip/index.js +15 -16
  310. package/dist/constants/index.js +26 -6
  311. package/dist/constants/transfer-types.js +3 -3
  312. package/dist/context.js +242 -339
  313. package/dist/hooks/use-collaborators.js +18 -20
  314. package/dist/hooks/use-document.js +33 -45
  315. package/dist/layout/content.js +13 -26
  316. package/dist/layout/header.js +13 -26
  317. package/dist/layout/layout.js +11 -9
  318. package/dist/model/notification.js +10 -11
  319. package/dist/model/revision.js +27 -28
  320. package/dist/model/user.js +10 -11
  321. package/dist/pages/error-boundary.js +18 -36
  322. package/dist/pages/error-page.js +14 -26
  323. package/dist/pages/published-revision-viewer.js +23 -35
  324. package/dist/pages/simple-editor.js +39 -46
  325. package/dist/pages/simple-viewer.js +70 -104
  326. package/dist/utils/date-utils.js +67 -81
  327. package/dist/utils/get-event-transfer.js +13 -15
  328. package/dist/utils/hotkey.js +24 -24
  329. package/dist/utils/index.js +20 -20
  330. package/dist/utils/local-storage-utils.js +41 -58
  331. package/package.json +10 -10
  332. package/public/locales/cs/sdoc-editor.json +3 -1
  333. package/public/locales/de/sdoc-editor.json +3 -1
  334. package/public/locales/en/sdoc-editor.json +1 -0
  335. package/public/locales/es/sdoc-editor.json +3 -1
  336. package/public/locales/fr/sdoc-editor.json +3 -1
  337. package/public/locales/it/sdoc-editor.json +3 -1
  338. package/public/locales/ru/sdoc-editor.json +3 -1
  339. package/public/locales/zh_CN/sdoc-editor.json +1 -0
@@ -1,4 +1,3 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import React, { useCallback, useState } from 'react';
3
2
  import { withTranslation } from 'react-i18next';
4
3
  import { Dropdown, DropdownItem, DropdownMenu, DropdownToggle } from 'reactstrap';
@@ -8,44 +7,38 @@ import CommentEditor from './comment-editor';
8
7
  import CommentDeleteShadow from './comment-delete-shadow';
9
8
  import { textToHtml } from '../utils';
10
9
  import { useNotificationContext } from '../hooks/notification-hooks';
11
- var CommentItemReply = function CommentItemReply(_ref) {
12
- var isActive = _ref.isActive,
13
- container = _ref.container,
14
- reply = _ref.reply,
15
- deleteReply = _ref.deleteReply,
16
- updateReply = _ref.updateReply,
17
- t = _ref.t;
18
- var _useState = useState(false),
19
- _useState2 = _slicedToArray(_useState, 2),
20
- isDropdownOpen = _useState2[0],
21
- setDropdownOpen = _useState2[1];
22
- var _useNotificationConte = useNotificationContext(),
23
- notificationsInfo = _useNotificationConte.notificationsInfo;
24
- var isUnseen = notificationsInfo.notifications_map["sdoc_notification_".concat(reply.comment_id, "_").concat(reply.id)] ? true : false;
25
- var _useState3 = useState(false),
26
- _useState4 = _slicedToArray(_useState3, 2),
27
- isEditing = _useState4[0],
28
- setIsEditing = _useState4[1];
29
- var onEditToggle = useCallback(function (event) {
10
+ const CommentItemReply = _ref => {
11
+ let {
12
+ isActive,
13
+ container,
14
+ reply,
15
+ deleteReply,
16
+ updateReply,
17
+ t
18
+ } = _ref;
19
+ const [isDropdownOpen, setDropdownOpen] = useState(false);
20
+ const {
21
+ notificationsInfo
22
+ } = useNotificationContext();
23
+ const isUnseen = notificationsInfo.notifications_map["sdoc_notification_".concat(reply.comment_id, "_").concat(reply.id)] ? true : false;
24
+ const [isEditing, setIsEditing] = useState(false);
25
+ const onEditToggle = useCallback(event => {
30
26
  event.stopPropagation();
31
27
  setIsEditing(true);
32
28
  }, []);
33
- var _useState5 = useState(false),
34
- _useState6 = _slicedToArray(_useState5, 2),
35
- isShowDeleteDialog = _useState6[0],
36
- setIsShowDeleteDialog = _useState6[1];
37
- var onDeleteToggle = useCallback(function (event) {
29
+ const [isShowDeleteDialog, setIsShowDeleteDialog] = useState(false);
30
+ const onDeleteToggle = useCallback(event => {
38
31
  event.stopPropagation();
39
32
  setIsShowDeleteDialog(true);
40
33
  }, []);
41
- var _deleteReply = useCallback(function () {
34
+ const _deleteReply = useCallback(() => {
42
35
  deleteReply(reply.id);
43
36
  setIsShowDeleteDialog(false);
44
37
  }, [reply.id, deleteReply]);
45
- var updateContent = useCallback(function (content) {
38
+ const updateContent = useCallback(content => {
46
39
  if (reply.reply !== content) {
47
- var time = dayjs().format('YYYY-MM-DD HH:mm:ss');
48
- var newReply = {
40
+ const time = dayjs().format('YYYY-MM-DD HH:mm:ss');
41
+ const newReply = {
49
42
  reply: content,
50
43
  updated_at: time
51
44
  };
@@ -53,7 +46,7 @@ var CommentItemReply = function CommentItemReply(_ref) {
53
46
  }
54
47
  setIsEditing(false);
55
48
  }, [reply, updateReply]);
56
- var user = context.getUserInfo();
49
+ const user = context.getUserInfo();
57
50
  return /*#__PURE__*/React.createElement("li", {
58
51
  className: "comment-item"
59
52
  }, /*#__PURE__*/React.createElement("div", {
@@ -77,9 +70,7 @@ var CommentItemReply = function CommentItemReply(_ref) {
77
70
  className: "sdoc-unread-message-text-tip"
78
71
  }, t('New')))))), isActive && user.username === reply.author && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, {
79
72
  isOpen: isDropdownOpen,
80
- toggle: function toggle() {
81
- return setDropdownOpen(!isDropdownOpen);
82
- }
73
+ toggle: () => setDropdownOpen(!isDropdownOpen)
83
74
  }, /*#__PURE__*/React.createElement(DropdownToggle, {
84
75
  tag: "div",
85
76
  className: "comment-operation"
@@ -1,9 +1,11 @@
1
1
  import React, { Fragment } from 'react';
2
2
  import { withTranslation } from 'react-i18next';
3
3
  import dayjs from 'dayjs';
4
- var CommentItemResolvedReply = function CommentItemResolvedReply(_ref) {
5
- var reply = _ref.reply,
6
- t = _ref.t;
4
+ const CommentItemResolvedReply = _ref => {
5
+ let {
6
+ reply,
7
+ t
8
+ } = _ref;
7
9
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("li", {
8
10
  className: "comment-item"
9
11
  }, /*#__PURE__*/React.createElement("div", {
@@ -1,7 +1,4 @@
1
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
5
2
  import React, { useCallback, useEffect, useRef, useState } from 'react';
6
3
  import dayjs from 'dayjs';
7
4
  import classNames from 'classnames';
@@ -14,227 +11,164 @@ import CommentItemResolvedReply from './comment-item-resolved-reply';
14
11
  import CommentDeleteShadow from './comment-delete-shadow';
15
12
  import { COMMENT_URL_CLASSNAME } from '../constants';
16
13
  export default function CommentItemWrapper(_ref) {
17
- var container = _ref.container,
18
- isActive = _ref.isActive,
19
- comment = _ref.comment,
20
- onCommentClick = _ref.onCommentClick,
21
- updateScrollPosition = _ref.updateScrollPosition,
22
- hiddenComment = _ref.hiddenComment;
23
- var listRef = useRef(null);
24
- var _useCommentContext = useCommentContext(),
25
- dispatch = _useCommentContext.dispatch;
26
- var deleteComment = useCallback( /*#__PURE__*/function () {
27
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(commentId) {
28
- var elementId;
29
- return _regeneratorRuntime().wrap(function _callee$(_context) {
30
- while (1) switch (_context.prev = _context.next) {
31
- case 0:
32
- _context.next = 2;
33
- return context.deleteComment(commentId);
34
- case 2:
35
- elementId = comment.detail.element_id;
36
- dispatch({
37
- type: 'DELETE_COMMENT',
38
- payload: {
39
- element_id: elementId,
40
- comment_id: commentId
41
- }
42
- });
43
- case 4:
44
- case "end":
45
- return _context.stop();
46
- }
47
- }, _callee);
48
- }));
49
- return function (_x) {
50
- return _ref2.apply(this, arguments);
51
- };
52
- }(), [comment.detail, dispatch]);
53
- var updateComment = useCallback( /*#__PURE__*/function () {
54
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(commentId, newComment) {
55
- var elementId;
56
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
57
- while (1) switch (_context2.prev = _context2.next) {
58
- case 0:
59
- _context2.next = 2;
60
- return context.updateComment(commentId, newComment);
61
- case 2:
62
- elementId = comment.detail.element_id;
63
- dispatch({
64
- type: 'UPDATE_COMMENT',
65
- payload: {
66
- element_id: elementId,
67
- comment_id: commentId,
68
- comment: newComment
69
- }
70
- });
71
- case 4:
72
- case "end":
73
- return _context2.stop();
74
- }
75
- }, _callee2);
76
- }));
77
- return function (_x2, _x3) {
78
- return _ref3.apply(this, arguments);
14
+ let {
15
+ container,
16
+ isActive,
17
+ comment,
18
+ onCommentClick,
19
+ updateScrollPosition,
20
+ hiddenComment
21
+ } = _ref;
22
+ const listRef = useRef(null);
23
+ const {
24
+ dispatch
25
+ } = useCommentContext();
26
+ const deleteComment = useCallback(async commentId => {
27
+ await context.deleteComment(commentId);
28
+ const {
29
+ element_id: elementId
30
+ } = comment.detail;
31
+ dispatch({
32
+ type: 'DELETE_COMMENT',
33
+ payload: {
34
+ element_id: elementId,
35
+ comment_id: commentId
36
+ }
37
+ });
38
+ }, [comment.detail, dispatch]);
39
+ const updateComment = useCallback(async (commentId, newComment) => {
40
+ await context.updateComment(commentId, newComment);
41
+ const {
42
+ element_id: elementId
43
+ } = comment.detail;
44
+ dispatch({
45
+ type: 'UPDATE_COMMENT',
46
+ payload: {
47
+ element_id: elementId,
48
+ comment_id: commentId,
49
+ comment: newComment
50
+ }
51
+ });
52
+ }, [comment.detail, dispatch]);
53
+ const updateCommentState = useCallback(async (commentId, newComment) => {
54
+ const time = dayjs().format('YYYY-MM-DD HH:mm:ss');
55
+ const user = context.getUserInfo();
56
+ const reply = {
57
+ type: 'comment',
58
+ reply: newComment.resolved,
59
+ updated_at: time,
60
+ author: user.username
79
61
  };
80
- }(), [comment.detail, dispatch]);
81
- var updateCommentState = useCallback( /*#__PURE__*/function () {
82
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(commentId, newComment) {
83
- var time, user, reply, res, returnReply, newReply, elementId;
84
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
85
- while (1) switch (_context3.prev = _context3.next) {
86
- case 0:
87
- time = dayjs().format('YYYY-MM-DD HH:mm:ss');
88
- user = context.getUserInfo();
89
- reply = {
90
- type: 'comment',
91
- reply: newComment.resolved,
92
- updated_at: time,
93
- author: user.username
94
- }; // When updating comment status, add a new reply
95
- _context3.next = 5;
96
- return context.insertReply(commentId, reply);
97
- case 5:
98
- res = _context3.sent;
99
- returnReply = res.data.reply;
100
- newReply = _objectSpread(_objectSpread({}, reply), {}, {
101
- id: returnReply.id,
102
- reply: returnReply.reply,
103
- user_name: returnReply.user_name,
104
- avatar_url: returnReply.avatar_url
105
- });
106
- elementId = comment.detail.element_id;
107
- dispatch({
108
- type: 'INSERT_REPLY',
109
- payload: {
110
- element_id: elementId,
111
- comment_id: commentId,
112
- reply: newReply
113
- }
114
- });
115
62
 
116
- // Modify comment status
117
- _context3.next = 12;
118
- return context.updateComment(commentId, newComment);
119
- case 12:
120
- dispatch({
121
- type: 'UPDATE_COMMENT_STATE',
122
- payload: {
123
- element_id: elementId,
124
- comment_id: commentId,
125
- comment: newComment
126
- }
127
- });
63
+ // When updating comment status, add a new reply
64
+ const res = await context.insertReply(commentId, reply);
65
+ const {
66
+ reply: returnReply
67
+ } = res.data;
68
+ const newReply = _objectSpread(_objectSpread({}, reply), {}, {
69
+ id: returnReply.id,
70
+ reply: returnReply.reply,
71
+ user_name: returnReply.user_name,
72
+ avatar_url: returnReply.avatar_url
73
+ });
74
+ const {
75
+ element_id: elementId
76
+ } = comment.detail;
77
+ dispatch({
78
+ type: 'INSERT_REPLY',
79
+ payload: {
80
+ element_id: elementId,
81
+ comment_id: commentId,
82
+ reply: newReply
83
+ }
84
+ });
85
+
86
+ // Modify comment status
87
+ await context.updateComment(commentId, newComment);
88
+ dispatch({
89
+ type: 'UPDATE_COMMENT_STATE',
90
+ payload: {
91
+ element_id: elementId,
92
+ comment_id: commentId,
93
+ comment: newComment
94
+ }
95
+ });
128
96
 
129
- // If the status of the comment is set to resolved, the page jumps to the position of the comment
130
- if (newComment.resolved === true) {
131
- setTimeout(function () {
132
- updateScrollPosition && updateScrollPosition();
133
- }, 100);
134
- }
135
- case 14:
136
- case "end":
137
- return _context3.stop();
97
+ // If the status of the comment is set to resolved, the page jumps to the position of the comment
98
+ if (newComment.resolved === true) {
99
+ setTimeout(() => {
100
+ updateScrollPosition && updateScrollPosition();
101
+ }, 100);
102
+ }
103
+ }, [comment.detail, dispatch, updateScrollPosition]);
104
+ const insertReply = useCallback(async (commentId, replies) => {
105
+ const {
106
+ element_id: elementId
107
+ } = comment.detail;
108
+ for (let i = 0; i < replies.length; i++) {
109
+ const reply = replies[i];
110
+ const res = await context.insertReply(commentId, reply);
111
+ const {
112
+ reply: returnReply
113
+ } = res.data;
114
+ const newReply = _objectSpread(_objectSpread({}, reply), {}, {
115
+ id: returnReply.id,
116
+ reply: returnReply.reply,
117
+ user_name: returnReply.user_name,
118
+ avatar_url: returnReply.avatar_url
119
+ });
120
+ dispatch({
121
+ type: 'INSERT_REPLY',
122
+ payload: {
123
+ element_id: elementId,
124
+ comment_id: commentId,
125
+ reply: newReply
138
126
  }
139
- }, _callee3);
140
- }));
141
- return function (_x4, _x5) {
142
- return _ref4.apply(this, arguments);
143
- };
144
- }(), [comment.detail, dispatch, updateScrollPosition]);
145
- var insertReply = useCallback( /*#__PURE__*/function () {
146
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(commentId, replies) {
147
- var elementId, i, reply, res, returnReply, newReply, newComment;
148
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
149
- while (1) switch (_context4.prev = _context4.next) {
150
- case 0:
151
- elementId = comment.detail.element_id;
152
- i = 0;
153
- case 2:
154
- if (!(i < replies.length)) {
155
- _context4.next = 13;
156
- break;
157
- }
158
- reply = replies[i];
159
- _context4.next = 6;
160
- return context.insertReply(commentId, reply);
161
- case 6:
162
- res = _context4.sent;
163
- returnReply = res.data.reply;
164
- newReply = _objectSpread(_objectSpread({}, reply), {}, {
165
- id: returnReply.id,
166
- reply: returnReply.reply,
167
- user_name: returnReply.user_name,
168
- avatar_url: returnReply.avatar_url
169
- });
170
- dispatch({
171
- type: 'INSERT_REPLY',
172
- payload: {
173
- element_id: elementId,
174
- comment_id: commentId,
175
- reply: newReply
176
- }
177
- });
178
- case 10:
179
- i++;
180
- _context4.next = 2;
181
- break;
182
- case 13:
183
- if (!(replies.length > 1)) {
184
- _context4.next = 18;
185
- break;
186
- }
187
- newComment = {
188
- resolved: false
189
- };
190
- _context4.next = 17;
191
- return context.updateComment(commentId, newComment);
192
- case 17:
193
- dispatch({
194
- type: 'UPDATE_COMMENT_STATE',
195
- payload: {
196
- element_id: elementId,
197
- comment_id: commentId,
198
- comment: newComment
199
- }
200
- });
201
- case 18:
202
- setTimeout(function () {
203
- var options = {
204
- top: 10000,
205
- behavior: 'smooth'
206
- };
207
- listRef.current.scrollTo(options);
208
- }, 0);
209
- case 19:
210
- case "end":
211
- return _context4.stop();
127
+ });
128
+ }
129
+
130
+ // If the number of replies is greater than one, it means that the comment needs to be resubmitted and the status of the comment should be modified
131
+ if (replies.length > 1) {
132
+ const newComment = {
133
+ resolved: false
134
+ };
135
+ await context.updateComment(commentId, newComment);
136
+ dispatch({
137
+ type: 'UPDATE_COMMENT_STATE',
138
+ payload: {
139
+ element_id: elementId,
140
+ comment_id: commentId,
141
+ comment: newComment
212
142
  }
213
- }, _callee4);
214
- }));
215
- return function (_x6, _x7) {
216
- return _ref5.apply(this, arguments);
217
- };
218
- }(), [comment.detail, dispatch]);
219
- var insertContent = useCallback(function (content) {
220
- var user = context.getUserInfo();
221
- var replies = [];
143
+ });
144
+ }
145
+ setTimeout(() => {
146
+ const options = {
147
+ top: 10000,
148
+ behavior: 'smooth'
149
+ };
150
+ listRef.current.scrollTo(options);
151
+ }, 0);
152
+ }, [comment.detail, dispatch]);
153
+ const insertContent = useCallback(content => {
154
+ const user = context.getUserInfo();
155
+ const replies = [];
222
156
 
223
157
  // The comment has already been resolved, when adding a new reply, resubmit the comment
224
158
  if (comment.resolved) {
225
- var _time = dayjs().format('YYYY-MM-DD HH:mm:ss');
226
- var stateChangeReply = {
159
+ const time = dayjs().format('YYYY-MM-DD HH:mm:ss');
160
+ const stateChangeReply = {
227
161
  type: 'comment',
228
162
  reply: false,
229
- updated_at: _time,
163
+ updated_at: time,
230
164
  author: user.username
231
165
  };
232
166
  replies.push(stateChangeReply);
233
167
  }
234
168
 
235
169
  // User added reply
236
- var time = dayjs().format('YYYY-MM-DD HH:mm:ss');
237
- var reply = {
170
+ const time = dayjs().format('YYYY-MM-DD HH:mm:ss');
171
+ const reply = {
238
172
  type: 'reply',
239
173
  reply: content,
240
174
  updated_at: time,
@@ -243,90 +177,59 @@ export default function CommentItemWrapper(_ref) {
243
177
  replies.push(reply);
244
178
  insertReply(comment.id, replies);
245
179
  }, [comment.id, comment.resolved, insertReply]);
246
- var deleteReply = useCallback( /*#__PURE__*/function () {
247
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(replyId) {
248
- var commentId, elementId;
249
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
250
- while (1) switch (_context5.prev = _context5.next) {
251
- case 0:
252
- commentId = comment.id;
253
- elementId = comment.detail.element_id;
254
- _context5.next = 4;
255
- return context.deleteReply(commentId, replyId);
256
- case 4:
257
- dispatch({
258
- type: 'DELETE_REPLY',
259
- payload: {
260
- element_id: elementId,
261
- comment_id: commentId,
262
- reply_id: replyId
263
- }
264
- });
265
- case 5:
266
- case "end":
267
- return _context5.stop();
268
- }
269
- }, _callee5);
270
- }));
271
- return function (_x8) {
272
- return _ref6.apply(this, arguments);
273
- };
274
- }(), [comment.detail, comment.id, dispatch]);
275
- var updateReply = useCallback( /*#__PURE__*/function () {
276
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(replyId, newReply) {
277
- var commentId, elementId;
278
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
279
- while (1) switch (_context6.prev = _context6.next) {
280
- case 0:
281
- commentId = comment.id;
282
- elementId = comment.detail.element_id;
283
- _context6.next = 4;
284
- return context.updateReply(commentId, replyId, newReply);
285
- case 4:
286
- dispatch({
287
- type: 'UPDATE_REPLY',
288
- payload: {
289
- element_id: elementId,
290
- comment_id: commentId,
291
- reply_id: replyId,
292
- reply: newReply
293
- }
294
- });
295
- case 5:
296
- case "end":
297
- return _context6.stop();
298
- }
299
- }, _callee6);
300
- }));
301
- return function (_x9, _x10) {
302
- return _ref7.apply(this, arguments);
303
- };
304
- }(), [comment.detail, comment.id, dispatch]);
305
- var onItemClick = useCallback(function (event) {
180
+ const deleteReply = useCallback(async replyId => {
181
+ const commentId = comment.id;
182
+ const {
183
+ element_id: elementId
184
+ } = comment.detail;
185
+ await context.deleteReply(commentId, replyId);
186
+ dispatch({
187
+ type: 'DELETE_REPLY',
188
+ payload: {
189
+ element_id: elementId,
190
+ comment_id: commentId,
191
+ reply_id: replyId
192
+ }
193
+ });
194
+ }, [comment.detail, comment.id, dispatch]);
195
+ const updateReply = useCallback(async (replyId, newReply) => {
196
+ const commentId = comment.id;
197
+ const {
198
+ element_id: elementId
199
+ } = comment.detail;
200
+ await context.updateReply(commentId, replyId, newReply);
201
+ dispatch({
202
+ type: 'UPDATE_REPLY',
203
+ payload: {
204
+ element_id: elementId,
205
+ comment_id: commentId,
206
+ reply_id: replyId,
207
+ reply: newReply
208
+ }
209
+ });
210
+ }, [comment.detail, comment.id, dispatch]);
211
+ const onItemClick = useCallback(event => {
306
212
  if (event.target.className === COMMENT_URL_CLASSNAME) return;
307
213
  onCommentClick(comment);
308
214
  }, [comment, onCommentClick]);
309
- var _useState = useState(false),
310
- _useState2 = _slicedToArray(_useState, 2),
311
- isShowDeleteDialog = _useState2[0],
312
- setIsShowDeleteDialog = _useState2[1];
313
- var onDeleteComment = useCallback(function () {
215
+ const [isShowDeleteDialog, setIsShowDeleteDialog] = useState(false);
216
+ const onDeleteComment = useCallback(() => {
314
217
  setIsShowDeleteDialog(true);
315
218
  }, []);
316
- var _deleteComment = useCallback(function () {
219
+ const _deleteComment = useCallback(() => {
317
220
  deleteComment(comment.id);
318
221
  setIsShowDeleteDialog(false);
319
222
  }, [comment.id, deleteComment]);
320
- useEffect(function () {
223
+ useEffect(() => {
321
224
  if (!isActive) {
322
225
  setIsShowDeleteDialog(false);
323
226
  }
324
227
  }, [isActive]);
325
- var className = classNames('comment-ui-container', {
228
+ const className = classNames('comment-ui-container', {
326
229
  'active': isActive,
327
230
  'sdoc-resolved': comment.resolved
328
231
  });
329
- var tip = comment.resolved ? 'Reopen_discussion' : 'Enter_a_reply';
232
+ const tip = comment.resolved ? 'Reopen_discussion' : 'Enter_a_reply';
330
233
  return /*#__PURE__*/React.createElement("div", {
331
234
  id: "comment-item-wrapper_".concat(comment.id),
332
235
  className: className,
@@ -342,18 +245,20 @@ export default function CommentItemWrapper(_ref) {
342
245
  updateComment: updateComment,
343
246
  updateCommentState: updateCommentState,
344
247
  onDeleteComment: onDeleteComment
345
- }), comment.replies && comment.replies.length > 0 && comment.replies.map(function (reply) {
346
- var type = reply.type;
248
+ }), comment.replies && comment.replies.length > 0 && comment.replies.map(reply => {
249
+ const {
250
+ type
251
+ } = reply;
347
252
 
348
253
  // type is reply | comment
349
254
  if (type === 'reply') {
350
- var props = {
255
+ const props = {
351
256
  key: reply.id,
352
- isActive: isActive,
353
- container: container,
354
- reply: reply,
355
- deleteReply: deleteReply,
356
- updateReply: updateReply
257
+ isActive,
258
+ container,
259
+ reply,
260
+ deleteReply,
261
+ updateReply
357
262
  };
358
263
  return /*#__PURE__*/React.createElement(CommentItemReply, props);
359
264
  }