@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,94 +1,96 @@
1
- import _createClass from "@babel/runtime/helpers/esm/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
1
  import isHotkey from 'is-hotkey';
4
2
  import EventBus from '../utils/event-bus';
5
3
  import { getSelectedNodeByType } from '../extension/core/queries/';
6
4
  import { setOriginSdocKey } from './document-utils';
7
5
  import { ELEMENT_TYPE } from '../extension/constants';
8
6
  import { INTERNAL_EVENT } from '../constants';
9
- var EventProxy = /*#__PURE__*/_createClass(function EventProxy(_editor) {
10
- var _this = this;
11
- _classCallCheck(this, EventProxy);
12
- this.onKeyDown = function (event) {
13
- var editor = _this.editor;
14
- if (editor.onHotKeyDown) {
15
- var isHandled = editor.onHotKeyDown(event);
16
- if (isHandled) return;
17
- }
7
+ class EventProxy {
8
+ constructor(_editor) {
9
+ this.onKeyDown = event => {
10
+ const editor = this.editor;
11
+ if (editor.onHotKeyDown) {
12
+ const isHandled = editor.onHotKeyDown(event);
13
+ if (isHandled) return;
14
+ }
18
15
 
19
- // bold
20
- if (isHotkey('mod+b', event)) {
21
- event.preventDefault();
22
- editor.toggleTextBold();
23
- }
16
+ // bold
17
+ if (isHotkey('mod+b', event)) {
18
+ event.preventDefault();
19
+ editor.toggleTextBold();
20
+ }
24
21
 
25
- // italic
26
- if (isHotkey('mod+i', event)) {
27
- event.preventDefault();
28
- editor.toggleTextItalic();
29
- }
22
+ // italic
23
+ if (isHotkey('mod+i', event)) {
24
+ event.preventDefault();
25
+ editor.toggleTextItalic();
26
+ }
30
27
 
31
- // font scale
32
- if (isHotkey('opt+.', event)) {
33
- event.preventDefault();
34
- editor.increaseFontSize();
35
- }
36
- if (isHotkey('opt+,', event)) {
37
- event.preventDefault();
38
- editor.reduceFontSize();
39
- }
28
+ // font scale
29
+ if (isHotkey('opt+.', event)) {
30
+ event.preventDefault();
31
+ editor.increaseFontSize();
32
+ }
33
+ if (isHotkey('opt+,', event)) {
34
+ event.preventDefault();
35
+ editor.reduceFontSize();
36
+ }
40
37
 
41
- // disable the default 'save page'
42
- if (isHotkey('mod+s', event)) {
43
- event.preventDefault();
44
- }
38
+ // disable the default 'save page'
39
+ if (isHotkey('mod+s', event)) {
40
+ event.preventDefault();
41
+ }
45
42
 
46
- // redo
47
- if (isHotkey('mod+y', event)) {
48
- event.preventDefault();
49
- var history = editor.history;
50
- if (history.redos.length === 0) {
51
- return false;
43
+ // redo
44
+ if (isHotkey('mod+y', event)) {
45
+ event.preventDefault();
46
+ const {
47
+ history
48
+ } = editor;
49
+ if (history.redos.length === 0) {
50
+ return false;
51
+ }
52
+ editor.redo();
52
53
  }
53
- editor.redo();
54
- }
55
54
 
56
- // undo
57
- if (isHotkey('mod+z', event)) {
58
- event.preventDefault();
59
- var _history = editor.history;
60
- if (_history.undos.length === 0) {
61
- return false;
55
+ // undo
56
+ if (isHotkey('mod+z', event)) {
57
+ event.preventDefault();
58
+ const {
59
+ history
60
+ } = editor;
61
+ if (history.undos.length === 0) {
62
+ return false;
63
+ }
64
+ editor.undo();
65
+ }
66
+ if (isHotkey('tab', event) || isHotkey('shift+tab', event)) {
67
+ editor.handleTab && editor.handleTab(event);
68
+ }
69
+ const node = getSelectedNodeByType(editor, ELEMENT_TYPE.TABLE);
70
+ if (node) {
71
+ this.editor.tableOnKeyDown(event);
72
+ }
73
+ const imageNode = getSelectedNodeByType(editor, ELEMENT_TYPE.IMAGE);
74
+ if (imageNode) {
75
+ this.editor.imageOnKeyDown(event);
76
+ }
77
+ if (getSelectedNodeByType(editor, ELEMENT_TYPE.CODE_BLOCK)) {
78
+ this.editor.codeBlockOnKeyDown(event);
79
+ const eventBus = EventBus.getInstance();
80
+ eventBus.dispatch(INTERNAL_EVENT.HIDDEN_CODE_BLOCK_HOVER_MENU);
81
+ }
82
+ };
83
+ this.onCopy = event => {
84
+ setOriginSdocKey(event);
85
+ };
86
+ this.onCut = event => {
87
+ setOriginSdocKey(event);
88
+ if (this.editor.cut) {
89
+ this.editor.cut(event);
62
90
  }
63
- editor.undo();
64
- }
65
- if (isHotkey('tab', event) || isHotkey('shift+tab', event)) {
66
- editor.handleTab && editor.handleTab(event);
67
- }
68
- var node = getSelectedNodeByType(editor, ELEMENT_TYPE.TABLE);
69
- if (node) {
70
- _this.editor.tableOnKeyDown(event);
71
- }
72
- var imageNode = getSelectedNodeByType(editor, ELEMENT_TYPE.IMAGE);
73
- if (imageNode) {
74
- _this.editor.imageOnKeyDown(event);
75
- }
76
- if (getSelectedNodeByType(editor, ELEMENT_TYPE.CODE_BLOCK)) {
77
- _this.editor.codeBlockOnKeyDown(event);
78
- var eventBus = EventBus.getInstance();
79
- eventBus.dispatch(INTERNAL_EVENT.HIDDEN_CODE_BLOCK_HOVER_MENU);
80
- }
81
- };
82
- this.onCopy = function (event) {
83
- setOriginSdocKey(event);
84
- };
85
- this.onCut = function (event) {
86
- setOriginSdocKey(event);
87
- if (_this.editor.cut) {
88
- _this.editor.cut(event);
89
- }
90
- };
91
- this.onPaste = function (event) {};
92
- this.editor = _editor;
93
- });
91
+ };
92
+ this.onPaste = event => {};
93
+ this.editor = _editor;
94
+ }
95
+ }
94
96
  export default EventProxy;
@@ -1,25 +1,25 @@
1
- export var eventStopPropagation = function eventStopPropagation(event) {
1
+ export const eventStopPropagation = event => {
2
2
  if (!event) return;
3
3
  event.stopPropagation();
4
4
  event.nativeEvent && event.nativeEvent.stopImmediatePropagation && event.nativeEvent.stopImmediatePropagation();
5
5
  };
6
- export var registerResizeEvents = function registerResizeEvents() {
7
- var eventsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
- for (var key in eventsMap) {
6
+ export const registerResizeEvents = function () {
7
+ let eventsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
8
+ for (let key in eventsMap) {
9
9
  document.addEventListener(key, eventsMap[key]);
10
10
  }
11
11
  };
12
- export var unregisterResizeEvents = function unregisterResizeEvents() {
13
- var eventsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
- for (var key in eventsMap) {
12
+ export const unregisterResizeEvents = function () {
13
+ let eventsMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ for (let key in eventsMap) {
15
15
  document.removeEventListener(key, eventsMap[key]);
16
16
  }
17
17
  };
18
- export var getMouseDownInfo = function getMouseDownInfo(event, scrollContainer) {
19
- var positionX = 0;
20
- var positionY = 0;
21
- var scrollLeft = 0;
22
- var scrollTop = 0;
18
+ export const getMouseDownInfo = (event, scrollContainer) => {
19
+ let positionX = 0;
20
+ let positionY = 0;
21
+ let scrollLeft = 0;
22
+ let scrollTop = 0;
23
23
  if (event) {
24
24
  positionX = event.clientX;
25
25
  positionY = event.clientY;
@@ -29,23 +29,25 @@ export var getMouseDownInfo = function getMouseDownInfo(event, scrollContainer)
29
29
  scrollTop = scrollContainer.scrollTop;
30
30
  }
31
31
  return {
32
- positionX: positionX,
33
- positionY: positionY,
34
- scrollLeft: scrollLeft,
35
- scrollTop: scrollTop
32
+ positionX,
33
+ positionY,
34
+ scrollLeft,
35
+ scrollTop
36
36
  };
37
37
  };
38
- export var getMouseMoveInfo = function getMouseMoveInfo(event, mouseDownInfo, scrollContainer) {
39
- var displacementX = 0;
40
- var displacementY = 0;
38
+ export const getMouseMoveInfo = (event, mouseDownInfo, scrollContainer) => {
39
+ let displacementX = 0;
40
+ let displacementY = 0;
41
41
  if (!event) return {
42
- displacementX: displacementX,
43
- displacementY: displacementY
42
+ displacementX,
43
+ displacementY
44
44
  };
45
- var currPositionX = event.clientX,
46
- currPositionY = event.clientY;
47
- var scrollLeft = 0;
48
- var scrollTop = 0;
45
+ const {
46
+ clientX: currPositionX,
47
+ clientY: currPositionY
48
+ } = event;
49
+ let scrollLeft = 0;
50
+ let scrollTop = 0;
49
51
  if (scrollContainer) {
50
52
  scrollLeft = scrollContainer.scrollLeft || 0;
51
53
  scrollTop = scrollContainer.scrollTop || 0;
@@ -53,7 +55,7 @@ export var getMouseMoveInfo = function getMouseMoveInfo(event, mouseDownInfo, sc
53
55
  displacementX = currPositionX - mouseDownInfo.positionX + scrollLeft - (mouseDownInfo.scrollLeft || 0);
54
56
  displacementY = currPositionY - mouseDownInfo.positionY + scrollTop - (mouseDownInfo.scrollTop || 0);
55
57
  return {
56
- displacementX: displacementX,
57
- displacementY: displacementY
58
+ displacementX,
59
+ displacementY
58
60
  };
59
61
  };
@@ -1,65 +1,47 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
2
  var _class;
5
- var ObjectUtils = /*#__PURE__*/function () {
6
- function ObjectUtils() {
7
- _classCallCheck(this, ObjectUtils);
8
- }
9
- _createClass(ObjectUtils, null, [{
10
- key: "getDataType",
11
- value: function getDataType(data) {
12
- var type = typeof data;
13
- if (type !== 'object') {
14
- return type;
15
- }
16
- return Object.prototype.toString.call(data).replace(/^\[object (\S+)\]$/, '$1');
3
+ class ObjectUtils {
4
+ static getDataType(data) {
5
+ let type = typeof data;
6
+ if (type !== 'object') {
7
+ return type;
17
8
  }
18
- }, {
19
- key: "iterable",
20
- value: function iterable(data) {
21
- return ['Object', 'Array'].includes(this.getDataType(data));
9
+ return Object.prototype.toString.call(data).replace(/^\[object (\S+)\]$/, '$1');
10
+ }
11
+ static iterable(data) {
12
+ return ['Object', 'Array'].includes(this.getDataType(data));
13
+ }
14
+ static isObjectChanged(source, comparison, notIncludeKeys) {
15
+ if (!this.iterable(source)) {
16
+ throw new Error("source should be a Object or Array , but got ".concat(this.getDataType(source)));
22
17
  }
23
- }, {
24
- key: "isObjectChanged",
25
- value: function isObjectChanged(source, comparison, notIncludeKeys) {
26
- var _this = this;
27
- if (!this.iterable(source)) {
28
- throw new Error("source should be a Object or Array , but got ".concat(this.getDataType(source)));
29
- }
30
- if (this.getDataType(source) !== this.getDataType(comparison)) {
31
- return true;
32
- }
33
- var sourceKeys = Object.keys(source);
34
- var comparisonKeys = Object.keys(_objectSpread(_objectSpread({}, source), comparison)).filter(function (key) {
35
- return !notIncludeKeys.includes(key);
36
- });
37
- if (sourceKeys.length !== comparisonKeys.length) {
38
- return true;
39
- }
40
- return comparisonKeys.some(function (key) {
41
- if (_this.iterable(source[key])) {
42
- return _this.isObjectChanged(source[key], comparison[key], notIncludeKeys);
43
- } else {
44
- return source[key] !== comparison[key];
45
- }
46
- });
18
+ if (this.getDataType(source) !== this.getDataType(comparison)) {
19
+ return true;
47
20
  }
48
- }, {
49
- key: "isSameObject",
50
- value: function isSameObject(source, comparison) {
51
- var notIncludeKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
52
- if (!source || !comparison) return false;
53
- return !this.isObjectChanged(source, comparison, notIncludeKeys);
21
+ const sourceKeys = Object.keys(source);
22
+ const comparisonKeys = Object.keys(_objectSpread(_objectSpread({}, source), comparison)).filter(key => !notIncludeKeys.includes(key));
23
+ if (sourceKeys.length !== comparisonKeys.length) {
24
+ return true;
54
25
  }
55
- }]);
56
- return ObjectUtils;
57
- }();
26
+ return comparisonKeys.some(key => {
27
+ if (this.iterable(source[key])) {
28
+ return this.isObjectChanged(source[key], comparison[key], notIncludeKeys);
29
+ } else {
30
+ return source[key] !== comparison[key];
31
+ }
32
+ });
33
+ }
34
+ static isSameObject(source, comparison) {
35
+ let notIncludeKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
36
+ if (!source || !comparison) return false;
37
+ return !this.isObjectChanged(source, comparison, notIncludeKeys);
38
+ }
39
+ }
58
40
  _class = ObjectUtils;
59
- ObjectUtils.isObject = function (data) {
41
+ ObjectUtils.isObject = data => {
60
42
  return _class.getDataType(data) === 'Object';
61
43
  };
62
- ObjectUtils.hasProperty = function (obj, prop) {
44
+ ObjectUtils.hasProperty = (obj, prop) => {
63
45
  if (!obj) return false;
64
46
  return Object.prototype.hasOwnProperty.call(obj, prop);
65
47
  };
@@ -1,53 +1,55 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
2
  import { generateIdMapAndIds, getIdDiffs } from './diff';
5
3
  import ObjectUtils from './object-utils';
6
4
  import { MODIFY_TYPE, REBASE_TYPE, REBASE_MARK_KEY, REBASE_ORIGIN } from '../constants';
7
5
  import { ELEMENT_TYPE } from '../extension/constants';
8
6
  import { replaceNodeId } from '../node-id/helpers';
9
- export var hasConflict = function hasConflict(content) {
7
+ export const hasConflict = content => {
10
8
  if (!Array.isArray(content) || content.length === 0) return false;
11
- return content.filter(function (item) {
12
- return item.rebase_type;
13
- }).length !== 0;
9
+ return content.filter(item => item.rebase_type).length !== 0;
14
10
  };
15
- var getChanges = function getChanges(masterContent, revisionContent) {
16
- var _generateIdMapAndIds = generateIdMapAndIds(masterContent.children),
17
- masterContentMap = _generateIdMapAndIds.map,
18
- masterIds = _generateIdMapAndIds.ids;
19
- var _generateIdMapAndIds2 = generateIdMapAndIds(revisionContent.children),
20
- currentContentMap = _generateIdMapAndIds2.map,
21
- currentIds = _generateIdMapAndIds2.ids;
22
- var idDiffs = getIdDiffs(masterIds, currentIds);
23
- var content = [];
24
- idDiffs.forEach(function (idDiff) {
25
- var value = idDiff.value,
26
- added = idDiff.added,
27
- removed = idDiff.removed;
11
+ const getChanges = (masterContent, revisionContent) => {
12
+ const {
13
+ map: masterContentMap,
14
+ ids: masterIds
15
+ } = generateIdMapAndIds(masterContent.children);
16
+ const {
17
+ map: currentContentMap,
18
+ ids: currentIds
19
+ } = generateIdMapAndIds(revisionContent.children);
20
+ const idDiffs = getIdDiffs(masterIds, currentIds);
21
+ let content = [];
22
+ idDiffs.forEach(idDiff => {
23
+ const {
24
+ value,
25
+ added,
26
+ removed
27
+ } = idDiff;
28
28
  if (added) {
29
- var addedList = value.map(function (item) {
30
- return _objectSpread(_objectSpread({}, currentContentMap[item]), {}, _defineProperty({}, REBASE_MARK_KEY.MODIFY_TYPE, MODIFY_TYPE.ADD));
31
- });
32
- content.push.apply(content, _toConsumableArray(addedList));
29
+ const addedList = value.map(item => _objectSpread(_objectSpread({}, currentContentMap[item]), {}, {
30
+ [REBASE_MARK_KEY.MODIFY_TYPE]: MODIFY_TYPE.ADD
31
+ }));
32
+ content.push(...addedList);
33
33
  } else if (removed) {
34
- var deletedList = value.map(function (item) {
35
- return _objectSpread(_objectSpread({}, masterContentMap[item]), {}, _defineProperty({}, REBASE_MARK_KEY.MODIFY_TYPE, MODIFY_TYPE.DELETE));
36
- });
37
- content.push.apply(content, _toConsumableArray(deletedList));
34
+ const deletedList = value.map(item => _objectSpread(_objectSpread({}, masterContentMap[item]), {}, {
35
+ [REBASE_MARK_KEY.MODIFY_TYPE]: MODIFY_TYPE.DELETE
36
+ }));
37
+ content.push(...deletedList);
38
38
  } else {
39
- value.forEach(function (elementId) {
39
+ value.forEach(elementId => {
40
40
  if (ObjectUtils.isSameObject(masterContentMap[elementId], currentContentMap[elementId])) {
41
41
  content.push(currentContentMap[elementId]);
42
42
  } else {
43
- var _objectSpread4;
44
- var oldElement = masterContentMap[elementId];
45
- var currentElement = currentContentMap[elementId];
46
- var newElement = _objectSpread(_objectSpread({}, currentElement), {}, (_objectSpread4 = {}, _defineProperty(_objectSpread4, REBASE_MARK_KEY.MODIFY_TYPE, MODIFY_TYPE.MODIFY), _defineProperty(_objectSpread4, REBASE_MARK_KEY.OLD_ELEMENT, oldElement), _objectSpread4));
43
+ const oldElement = masterContentMap[elementId];
44
+ const currentElement = currentContentMap[elementId];
45
+ let newElement = _objectSpread(_objectSpread({}, currentElement), {}, {
46
+ [REBASE_MARK_KEY.MODIFY_TYPE]: MODIFY_TYPE.MODIFY,
47
+ [REBASE_MARK_KEY.OLD_ELEMENT]: oldElement
48
+ });
47
49
  if (currentElement.type === oldElement.type) {
48
- var elementType = currentElement.type;
50
+ const elementType = currentElement.type;
49
51
  if ([ELEMENT_TYPE.UNORDERED_LIST, ELEMENT_TYPE.ORDERED_LIST].includes(elementType)) {
50
- var listContent = getChanges(oldElement, currentElement);
52
+ const listContent = getChanges(oldElement, currentElement);
51
53
  newElement[REBASE_MARK_KEY.MODIFY_TYPE] = MODIFY_TYPE.CHILDREN_MODIFY;
52
54
  newElement['children'] = listContent;
53
55
  }
@@ -59,9 +61,9 @@ var getChanges = function getChanges(masterContent, revisionContent) {
59
61
  });
60
62
  return content;
61
63
  };
62
- var getMergeElement = function getMergeElement(diffElement, baseElement) {
63
- var modifyType = diffElement[REBASE_MARK_KEY.MODIFY_TYPE];
64
- var newElement = _objectSpread({}, diffElement);
64
+ const getMergeElement = (diffElement, baseElement) => {
65
+ const modifyType = diffElement[REBASE_MARK_KEY.MODIFY_TYPE];
66
+ const newElement = _objectSpread({}, diffElement);
65
67
  newElement[REBASE_MARK_KEY.MODIFY_TYPE] && delete newElement[REBASE_MARK_KEY.MODIFY_TYPE];
66
68
 
67
69
  // revision does not have this element, master has this element
@@ -96,14 +98,19 @@ var getMergeElement = function getMergeElement(diffElement, baseElement) {
96
98
 
97
99
  // Elements that differ between revision and master
98
100
  if (modifyType === MODIFY_TYPE.MODIFY) {
99
- var _objectSpread7, _objectSpread8;
100
- var masterElement = _objectSpread({}, diffElement[REBASE_MARK_KEY.OLD_ELEMENT]);
101
+ const masterElement = _objectSpread({}, diffElement[REBASE_MARK_KEY.OLD_ELEMENT]);
101
102
  delete newElement[REBASE_MARK_KEY.OLD_ELEMENT];
102
103
 
103
104
  // revision and master both add a new element, but the content is different. ===》 At present, this situation does not exist, it only exists in the theoretical stage.
104
105
  if (!baseElement) {
105
- var _objectSpread5, _objectSpread6;
106
- return [_objectSpread(_objectSpread({}, replaceNodeId(masterElement)), {}, (_objectSpread5 = {}, _defineProperty(_objectSpread5, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread5, REBASE_MARK_KEY.OLD_ELEMENT, masterElement), _defineProperty(_objectSpread5, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.OTHER), _objectSpread5)), _objectSpread(_objectSpread({}, newElement), {}, (_objectSpread6 = {}, _defineProperty(_objectSpread6, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread6, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.MY), _objectSpread6))];
106
+ return [_objectSpread(_objectSpread({}, replaceNodeId(masterElement)), {}, {
107
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
108
+ [REBASE_MARK_KEY.OLD_ELEMENT]: masterElement,
109
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.OTHER
110
+ }), _objectSpread(_objectSpread({}, newElement), {}, {
111
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
112
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.MY
113
+ })];
107
114
  }
108
115
 
109
116
  // master is the same as base, indicating that revision has modified the content
@@ -113,54 +120,71 @@ var getMergeElement = function getMergeElement(diffElement, baseElement) {
113
120
  if (ObjectUtils.isSameObject(newElement, baseElement)) return [masterElement];
114
121
 
115
122
  // They are all different. Revision and master were modified at the same time. If there is a conflict, the conflict needs to be resolved manually.
116
- return [_objectSpread(_objectSpread({}, replaceNodeId(masterElement)), {}, (_objectSpread7 = {}, _defineProperty(_objectSpread7, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread7, REBASE_MARK_KEY.OLD_ELEMENT, masterElement), _defineProperty(_objectSpread7, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.OTHER), _objectSpread7)), _objectSpread(_objectSpread({}, newElement), {}, (_objectSpread8 = {}, _defineProperty(_objectSpread8, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread8, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.MY), _objectSpread8))];
123
+ return [_objectSpread(_objectSpread({}, replaceNodeId(masterElement)), {}, {
124
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
125
+ [REBASE_MARK_KEY.OLD_ELEMENT]: masterElement,
126
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.OTHER
127
+ }), _objectSpread(_objectSpread({}, newElement), {}, {
128
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
129
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.MY
130
+ })];
117
131
  }
118
132
  if (modifyType === MODIFY_TYPE.CHILDREN_MODIFY) {
119
- var _masterElement = _objectSpread({}, diffElement[REBASE_MARK_KEY.OLD_ELEMENT]);
133
+ const masterElement = _objectSpread({}, diffElement[REBASE_MARK_KEY.OLD_ELEMENT]);
120
134
  delete newElement[REBASE_MARK_KEY.OLD_ELEMENT];
121
135
 
122
136
  // revision and master both add a new element, but the content is different. ===》 At present, this situation does not exist, it only exists in the theoretical stage.
123
137
  if (!baseElement) {
124
- var _objectSpread9, _objectSpread10;
125
- return [_objectSpread(_objectSpread({}, replaceNodeId(_masterElement)), {}, (_objectSpread9 = {}, _defineProperty(_objectSpread9, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread9, REBASE_MARK_KEY.OLD_ELEMENT, _masterElement), _defineProperty(_objectSpread9, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.OTHER), _objectSpread9)), _objectSpread(_objectSpread({}, newElement), {}, (_objectSpread10 = {}, _defineProperty(_objectSpread10, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.MODIFY_MODIFY), _defineProperty(_objectSpread10, REBASE_MARK_KEY.ORIGIN, REBASE_ORIGIN.MY), _objectSpread10))];
138
+ return [_objectSpread(_objectSpread({}, replaceNodeId(masterElement)), {}, {
139
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
140
+ [REBASE_MARK_KEY.OLD_ELEMENT]: masterElement,
141
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.OTHER
142
+ }), _objectSpread(_objectSpread({}, newElement), {}, {
143
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.MODIFY_MODIFY,
144
+ [REBASE_MARK_KEY.ORIGIN]: REBASE_ORIGIN.MY
145
+ })];
126
146
  }
127
- if (ObjectUtils.isSameObject(_masterElement, baseElement)) return [newElement];
128
- if (ObjectUtils.isSameObject(newElement, baseElement)) return [_masterElement];
129
- if (ObjectUtils.isSameObject(_masterElement, newElement, ['type'])) {
130
- if (ObjectUtils.isSameObject(_masterElement, baseElement, ['type'])) return [newElement];
131
- if (ObjectUtils.isSameObject(newElement, baseElement, ['type'])) return [_masterElement];
147
+ if (ObjectUtils.isSameObject(masterElement, baseElement)) return [newElement];
148
+ if (ObjectUtils.isSameObject(newElement, baseElement)) return [masterElement];
149
+ if (ObjectUtils.isSameObject(masterElement, newElement, ['type'])) {
150
+ if (ObjectUtils.isSameObject(masterElement, baseElement, ['type'])) return [newElement];
151
+ if (ObjectUtils.isSameObject(newElement, baseElement, ['type'])) return [masterElement];
132
152
  }
133
153
 
134
154
  // The content of the subnode has changed and needs to be solved manually.
135
- var _getMergeContent = getMergeContent(baseElement, diffElement.children),
136
- childrenContent = _getMergeContent.content;
137
- return [_objectSpread(_objectSpread({}, newElement), {}, _defineProperty({
138
- children: childrenContent
139
- }, REBASE_MARK_KEY.REBASE_TYPE, REBASE_TYPE.CHILDREN_MODIFY))];
155
+ const {
156
+ content: childrenContent
157
+ } = getMergeContent(baseElement, diffElement.children);
158
+ return [_objectSpread(_objectSpread({}, newElement), {}, {
159
+ children: childrenContent,
160
+ [REBASE_MARK_KEY.REBASE_TYPE]: REBASE_TYPE.CHILDREN_MODIFY
161
+ })];
140
162
  }
141
163
  newElement[REBASE_MARK_KEY.OLD_ELEMENT] && delete newElement[REBASE_MARK_KEY.OLD_ELEMENT];
142
164
  return [newElement];
143
165
  };
144
- var getMergeContent = function getMergeContent(baseContent, diffChanges) {
145
- var _generateIdMapAndIds3 = generateIdMapAndIds(diffChanges),
146
- diffChangesContentMap = _generateIdMapAndIds3.map,
147
- diffChangesContentIds = _generateIdMapAndIds3.ids;
148
- var _generateIdMapAndIds4 = generateIdMapAndIds(baseContent.children),
149
- baseContentMap = _generateIdMapAndIds4.map;
150
- var content = [];
151
- diffChangesContentIds.forEach(function (elementId) {
152
- var diffElement = diffChangesContentMap[elementId];
153
- var baseElement = baseContentMap[elementId];
154
- var mergeElements = getMergeElement(diffElement, baseElement);
155
- content.push.apply(content, _toConsumableArray(mergeElements));
166
+ const getMergeContent = (baseContent, diffChanges) => {
167
+ const {
168
+ map: diffChangesContentMap,
169
+ ids: diffChangesContentIds
170
+ } = generateIdMapAndIds(diffChanges);
171
+ const {
172
+ map: baseContentMap
173
+ } = generateIdMapAndIds(baseContent.children);
174
+ let content = [];
175
+ diffChangesContentIds.forEach(elementId => {
176
+ const diffElement = diffChangesContentMap[elementId];
177
+ const baseElement = baseContentMap[elementId];
178
+ const mergeElements = getMergeElement(diffElement, baseElement);
179
+ content.push(...mergeElements);
156
180
  });
157
- var canMerge = !hasConflict(content);
181
+ const canMerge = !hasConflict(content);
158
182
  return {
159
- content: content,
160
- canMerge: canMerge
183
+ content,
184
+ canMerge
161
185
  };
162
186
  };
163
- export var getRebase = function getRebase(masterContent, baseContent, revisionContent) {
187
+ export const getRebase = (masterContent, baseContent, revisionContent) => {
164
188
  // master no changes, merged directly
165
189
  if (masterContent.version === baseContent.version) {
166
190
  return {
@@ -178,12 +202,13 @@ export var getRebase = function getRebase(masterContent, baseContent, revisionCo
178
202
  value: masterContent
179
203
  };
180
204
  }
181
- var diffChanges = getChanges(masterContent, revisionContent);
182
- var _getMergeContent2 = getMergeContent(baseContent, diffChanges),
183
- canMerge = _getMergeContent2.canMerge,
184
- content = _getMergeContent2.content;
205
+ const diffChanges = getChanges(masterContent, revisionContent);
206
+ const {
207
+ canMerge,
208
+ content
209
+ } = getMergeContent(baseContent, diffChanges);
185
210
  return {
186
- canMerge: canMerge,
211
+ canMerge,
187
212
  isNeedReplaceMaster: true,
188
213
  value: _objectSpread(_objectSpread({}, revisionContent), {}, {
189
214
  children: content,