@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.
- package/dist/api/sdoc-server-api.js +165 -170
- package/dist/api/seafile-api.js +180 -246
- package/dist/basic-sdk/comment/comment-decorate.js +23 -30
- package/dist/basic-sdk/comment/components/comment-all-participants/index.js +18 -18
- package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +13 -13
- package/dist/basic-sdk/comment/components/comment-delete-shadow.js +11 -9
- package/dist/basic-sdk/comment/components/comment-editor.js +37 -34
- package/dist/basic-sdk/comment/components/comment-input/comment-participant-item.js +16 -14
- package/dist/basic-sdk/comment/components/comment-input/index.js +110 -106
- package/dist/basic-sdk/comment/components/comment-item-content.js +29 -37
- package/dist/basic-sdk/comment/components/comment-item-reply.js +24 -33
- package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +5 -3
- package/dist/basic-sdk/comment/components/comment-item-wrapper.js +190 -285
- package/dist/basic-sdk/comment/components/comment-list.js +52 -72
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +23 -30
- package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +21 -19
- package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +16 -14
- package/dist/basic-sdk/comment/components/editor-comment.js +23 -32
- package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +18 -20
- package/dist/basic-sdk/comment/components/elements-comment-count/index.js +8 -8
- package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +23 -25
- package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +9 -7
- package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +9 -6
- package/dist/basic-sdk/comment/components/global-comment/index.js +63 -86
- package/dist/basic-sdk/comment/constants/index.js +9 -9
- package/dist/basic-sdk/comment/helper.js +27 -26
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +8 -7
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +19 -30
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +41 -71
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +8 -7
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +45 -64
- package/dist/basic-sdk/comment/hooks/use-participants.js +46 -53
- package/dist/basic-sdk/comment/index.js +22 -19
- package/dist/basic-sdk/comment/provider/comment-context-provider.js +9 -11
- package/dist/basic-sdk/comment/provider/index.js +4 -2
- package/dist/basic-sdk/comment/provider/notification-context-provider.js +9 -11
- package/dist/basic-sdk/comment/reducer/comment-reducer.js +151 -137
- package/dist/basic-sdk/comment/reducer/notification-reducer.js +20 -15
- package/dist/basic-sdk/comment/utils/index.js +180 -173
- package/dist/basic-sdk/comment/utils/notification-utils.js +15 -14
- package/dist/basic-sdk/constants/index.js +9 -9
- package/dist/basic-sdk/cursor/helper.js +13 -9
- package/dist/basic-sdk/cursor/use-cursors.js +9 -13
- package/dist/basic-sdk/decorates/index.js +8 -9
- package/dist/basic-sdk/editor/editable-article.js +63 -57
- package/dist/basic-sdk/editor/sdoc-editor.js +42 -47
- package/dist/basic-sdk/extension/commons/color-menu/color-item.js +6 -4
- package/dist/basic-sdk/extension/commons/color-menu/index.js +40 -50
- package/dist/basic-sdk/extension/commons/dropdown-menu-item/index.js +17 -16
- package/dist/basic-sdk/extension/commons/element-popover/index.js +27 -45
- package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +46 -59
- package/dist/basic-sdk/extension/commons/menu/menu-group.js +7 -21
- package/dist/basic-sdk/extension/commons/menu/menu-item.js +17 -14
- package/dist/basic-sdk/extension/commons/more-dropdown/index.js +9 -7
- package/dist/basic-sdk/extension/commons/select-file-dialog/helpers.js +3 -3
- package/dist/basic-sdk/extension/commons/select-file-dialog/index.js +26 -23
- package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +49 -80
- package/dist/basic-sdk/extension/constants/color.js +10 -10
- package/dist/basic-sdk/extension/constants/diff-view.js +3 -3
- package/dist/basic-sdk/extension/constants/element-type.js +29 -29
- package/dist/basic-sdk/extension/constants/font.js +44 -37
- package/dist/basic-sdk/extension/constants/index.js +27 -16
- package/dist/basic-sdk/extension/constants/keyboard.js +4 -4
- package/dist/basic-sdk/extension/constants/menus-config.js +234 -203
- package/dist/basic-sdk/extension/core/queries/index.js +185 -285
- package/dist/basic-sdk/extension/core/transforms/focus-editor.js +2 -2
- package/dist/basic-sdk/extension/core/transforms/move-children.js +14 -14
- package/dist/basic-sdk/extension/core/transforms/remove-node-children.js +6 -18
- package/dist/basic-sdk/extension/core/transforms/replace-node.js +22 -19
- package/dist/basic-sdk/extension/core/transforms/update-parent-node.js +6 -8
- package/dist/basic-sdk/extension/core/utils/index.js +12 -12
- package/dist/basic-sdk/extension/index.js +6 -6
- package/dist/basic-sdk/extension/plugins/blockquote/helpers.js +39 -54
- package/dist/basic-sdk/extension/plugins/blockquote/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/blockquote/menu/index.js +34 -44
- package/dist/basic-sdk/extension/plugins/blockquote/model.js +8 -9
- package/dist/basic-sdk/extension/plugins/blockquote/plugin.js +36 -37
- package/dist/basic-sdk/extension/plugins/blockquote/render-elem.js +7 -5
- package/dist/basic-sdk/extension/plugins/check-list/helpers.js +15 -25
- package/dist/basic-sdk/extension/plugins/check-list/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/check-list/menu/index.js +35 -45
- package/dist/basic-sdk/extension/plugins/check-list/model.js +9 -10
- package/dist/basic-sdk/extension/plugins/check-list/plugin.js +16 -10
- package/dist/basic-sdk/extension/plugins/check-list/render-elem.js +42 -56
- package/dist/basic-sdk/extension/plugins/clear-format/helpers.js +21 -36
- package/dist/basic-sdk/extension/plugins/clear-format/menu/index.js +12 -10
- package/dist/basic-sdk/extension/plugins/code-block/helpers.js +40 -58
- package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +38 -46
- package/dist/basic-sdk/extension/plugins/code-block/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/code-block/menu/index.js +9 -7
- package/dist/basic-sdk/extension/plugins/code-block/model.js +8 -9
- package/dist/basic-sdk/extension/plugins/code-block/plugin.js +44 -51
- package/dist/basic-sdk/extension/plugins/code-block/prismjs.js +27 -27
- package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +62 -58
- package/dist/basic-sdk/extension/plugins/file-link/constants/index.js +16 -14
- package/dist/basic-sdk/extension/plugins/file-link/helpers.js +34 -36
- package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +19 -23
- package/dist/basic-sdk/extension/plugins/file-link/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/file-link/menu/index.js +10 -8
- package/dist/basic-sdk/extension/plugins/file-link/plugin.js +17 -11
- package/dist/basic-sdk/extension/plugins/file-link/render-elem.js +34 -38
- package/dist/basic-sdk/extension/plugins/font/helpers.js +75 -78
- package/dist/basic-sdk/extension/plugins/font/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/font/menu/font-family/font-item.js +14 -13
- package/dist/basic-sdk/extension/plugins/font/menu/font-family/index.js +38 -55
- package/dist/basic-sdk/extension/plugins/font/menu/font-size/font-size-scale.js +12 -10
- package/dist/basic-sdk/extension/plugins/font/menu/font-size/index.js +29 -31
- package/dist/basic-sdk/extension/plugins/font/menu/index.js +5 -3
- package/dist/basic-sdk/extension/plugins/font/plugin.js +4 -4
- package/dist/basic-sdk/extension/plugins/header/helpers.js +32 -38
- package/dist/basic-sdk/extension/plugins/header/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/header/menu/index.js +101 -107
- package/dist/basic-sdk/extension/plugins/header/plugin.js +41 -44
- package/dist/basic-sdk/extension/plugins/header/render-elem.js +28 -20
- package/dist/basic-sdk/extension/plugins/html/helper.js +30 -28
- package/dist/basic-sdk/extension/plugins/html/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/html/plugin.js +12 -10
- package/dist/basic-sdk/extension/plugins/html/rules/blockquote.js +5 -3
- package/dist/basic-sdk/extension/plugins/html/rules/check-list.js +4 -2
- package/dist/basic-sdk/extension/plugins/html/rules/code-block.js +20 -24
- package/dist/basic-sdk/extension/plugins/html/rules/header.js +7 -5
- package/dist/basic-sdk/extension/plugins/html/rules/image.js +4 -2
- package/dist/basic-sdk/extension/plugins/html/rules/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/html/rules/link.js +5 -3
- package/dist/basic-sdk/extension/plugins/html/rules/list.js +6 -4
- package/dist/basic-sdk/extension/plugins/html/rules/paragraph.js +5 -3
- package/dist/basic-sdk/extension/plugins/html/rules/table.js +5 -3
- package/dist/basic-sdk/extension/plugins/html/rules/text.js +5 -3
- package/dist/basic-sdk/extension/plugins/image/constants/index.js +2 -2
- package/dist/basic-sdk/extension/plugins/image/dialogs/image-previewer.js +59 -75
- package/dist/basic-sdk/extension/plugins/image/helpers.js +74 -98
- package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +49 -62
- package/dist/basic-sdk/extension/plugins/image/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/menu/index.js +12 -9
- package/dist/basic-sdk/extension/plugins/image/model.js +11 -12
- package/dist/basic-sdk/extension/plugins/image/plugin.js +43 -35
- package/dist/basic-sdk/extension/plugins/image/render-elem.js +73 -91
- package/dist/basic-sdk/extension/plugins/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/link/dialog/add-link-dialog/index.js +30 -39
- package/dist/basic-sdk/extension/plugins/link/helpers.js +76 -100
- package/dist/basic-sdk/extension/plugins/link/hover/index.js +12 -9
- package/dist/basic-sdk/extension/plugins/link/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/link/menu/index.js +10 -8
- package/dist/basic-sdk/extension/plugins/link/model.js +10 -11
- package/dist/basic-sdk/extension/plugins/link/plugin.js +28 -31
- package/dist/basic-sdk/extension/plugins/link/render-elem.js +66 -74
- package/dist/basic-sdk/extension/plugins/list/helpers.js +45 -57
- package/dist/basic-sdk/extension/plugins/list/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/list/menu/index.js +37 -49
- package/dist/basic-sdk/extension/plugins/list/model.js +11 -12
- package/dist/basic-sdk/extension/plugins/list/plugin/index.js +16 -12
- package/dist/basic-sdk/extension/plugins/list/plugin/insert-break-list.js +4 -4
- package/dist/basic-sdk/extension/plugins/list/plugin/insert-fragment-list.js +54 -70
- package/dist/basic-sdk/extension/plugins/list/plugin/normalize-list.js +16 -20
- package/dist/basic-sdk/extension/plugins/list/plugin/on-tab-handle.js +19 -14
- package/dist/basic-sdk/extension/plugins/list/plugin/shortcut.js +20 -28
- package/dist/basic-sdk/extension/plugins/list/queries/index.js +16 -18
- package/dist/basic-sdk/extension/plugins/list/render-elem.js +23 -15
- package/dist/basic-sdk/extension/plugins/list/transforms/insert-list-item.js +20 -24
- package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-down.js +16 -19
- package/dist/basic-sdk/extension/plugins/list/transforms/move-list-item-up.js +31 -35
- package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items-to-list.js +18 -18
- package/dist/basic-sdk/extension/plugins/list/transforms/move-list-items.js +23 -24
- package/dist/basic-sdk/extension/plugins/list/transforms/normalize-list-item.js +38 -55
- package/dist/basic-sdk/extension/plugins/list/transforms/normalize-nested-list.js +11 -13
- package/dist/basic-sdk/extension/plugins/list/transforms/remove-first-list-item.js +8 -8
- package/dist/basic-sdk/extension/plugins/list/transforms/toggle-list.js +42 -50
- package/dist/basic-sdk/extension/plugins/list/transforms/unwrap-list.js +11 -14
- package/dist/basic-sdk/extension/plugins/markdown/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/markdown/plugin.js +59 -52
- package/dist/basic-sdk/extension/plugins/paragraph/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/paragraph/render-elem.js +12 -10
- package/dist/basic-sdk/extension/plugins/sdoc-link/constants/index.js +16 -14
- package/dist/basic-sdk/extension/plugins/sdoc-link/helpers.js +66 -65
- package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +19 -23
- package/dist/basic-sdk/extension/plugins/sdoc-link/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/sdoc-link/menu/index.js +10 -8
- package/dist/basic-sdk/extension/plugins/sdoc-link/plugin.js +23 -15
- package/dist/basic-sdk/extension/plugins/sdoc-link/render-elem.js +35 -39
- package/dist/basic-sdk/extension/plugins/table/constants/index.js +16 -14
- package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/index.js +17 -24
- package/dist/basic-sdk/extension/plugins/table/dialog/custom-table-size-dialog/number-input.js +9 -7
- package/dist/basic-sdk/extension/plugins/table/helpers.js +466 -440
- package/dist/basic-sdk/extension/plugins/table/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-bg-color-menu.js +16 -13
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/cell-text-align-menu.js +16 -18
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/common-menu.js +58 -65
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/index.js +7 -5
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/remove-table-menu.js +11 -9
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-column-menu.js +13 -14
- package/dist/basic-sdk/extension/plugins/table/menu/active-table-menu/table-row-menu.js +13 -14
- package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +92 -105
- package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +62 -66
- package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +9 -7
- package/dist/basic-sdk/extension/plugins/table/model.js +14 -15
- package/dist/basic-sdk/extension/plugins/table/plugin.js +130 -112
- package/dist/basic-sdk/extension/plugins/table/popover/table-size-popover/index.js +31 -45
- package/dist/basic-sdk/extension/plugins/table/popover/table-template/index.js +12 -14
- package/dist/basic-sdk/extension/plugins/table/popover/table-template/sample-table.js +15 -19
- package/dist/basic-sdk/extension/plugins/table/render/hooks.js +25 -32
- package/dist/basic-sdk/extension/plugins/table/render/index.js +57 -67
- package/dist/basic-sdk/extension/plugins/table/render/render-cell.js +42 -36
- package/dist/basic-sdk/extension/plugins/table/render/render-row.js +44 -49
- package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/first-column-left-resize-handler.js +36 -45
- package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/index.js +10 -8
- package/dist/basic-sdk/extension/plugins/table/render/resize-handlers/resize-handler.js +41 -50
- package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/column-header.js +30 -29
- package/dist/basic-sdk/extension/plugins/table/render/table-header/columns-header/index.js +21 -33
- package/dist/basic-sdk/extension/plugins/table/render/table-header/index.js +17 -15
- package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-columns-header.js +7 -5
- package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/index.js +22 -32
- package/dist/basic-sdk/extension/plugins/table/render/table-header/rows-header/row-header.js +41 -43
- package/dist/basic-sdk/extension/plugins/table/render/table-root.js +16 -20
- package/dist/basic-sdk/extension/plugins/text-align/helpers.js +19 -24
- package/dist/basic-sdk/extension/plugins/text-align/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +20 -26
- package/dist/basic-sdk/extension/plugins/text-style/caret.js +9 -7
- package/dist/basic-sdk/extension/plugins/text-style/helpers.js +17 -24
- package/dist/basic-sdk/extension/plugins/text-style/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +38 -37
- package/dist/basic-sdk/extension/plugins/text-style/plugin.js +6 -6
- package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +14 -10
- package/dist/basic-sdk/extension/render/custom-element.js +30 -49
- package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/index.js +6 -4
- package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-delete-modify-decorate.js +13 -10
- package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-delete-decorate.js +13 -10
- package/dist/basic-sdk/extension/render/element-decorate/rebase-decorate/rebase-modify-modify-decorate.js +21 -19
- package/dist/basic-sdk/extension/render/render-element.js +5 -3
- package/dist/basic-sdk/extension/render/render-leaf.js +4 -6
- package/dist/basic-sdk/extension/toolbar/context-toolbar/index.js +18 -16
- package/dist/basic-sdk/extension/toolbar/header-toolbar/index.js +5 -3
- package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +29 -29
- package/dist/basic-sdk/extension/toolbar/header-toolbar/redo-undo.js +45 -53
- package/dist/basic-sdk/extension/toolbar/side-toolbar/event.js +8 -8
- package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +45 -49
- package/dist/basic-sdk/extension/toolbar/side-toolbar/index.js +50 -72
- package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-below-menu.js +5 -3
- package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +25 -26
- package/dist/basic-sdk/extension/toolbar/side-toolbar/side-menu.js +24 -26
- package/dist/basic-sdk/extension/toolbar/side-toolbar/transform-menus.js +14 -16
- package/dist/basic-sdk/extension/utils/index.js +4 -4
- package/dist/basic-sdk/highlight/index.js +8 -13
- package/dist/basic-sdk/highlight/setNodeToDecorations.js +43 -73
- package/dist/basic-sdk/hooks/use-color-context.js +27 -35
- package/dist/basic-sdk/hooks/use-scroll-context.js +6 -4
- package/dist/basic-sdk/hooks/use-selection-element.js +5 -7
- package/dist/basic-sdk/hooks/use-selection-position.js +13 -15
- package/dist/basic-sdk/hooks/use-selection-update.js +6 -11
- package/dist/basic-sdk/layout/article-container.js +20 -23
- package/dist/basic-sdk/layout/editor-container.js +6 -4
- package/dist/basic-sdk/layout/editor-content.js +15 -15
- package/dist/basic-sdk/node-id/constants.js +9 -9
- package/dist/basic-sdk/node-id/helpers.js +44 -29
- package/dist/basic-sdk/node-id/index.js +13 -11
- package/dist/basic-sdk/outline/index.js +24 -27
- package/dist/basic-sdk/outline/outline-item.js +39 -44
- package/dist/basic-sdk/socket/helpers.js +99 -90
- package/dist/basic-sdk/socket/socket-client.js +175 -171
- package/dist/basic-sdk/socket/socket-manager.js +316 -297
- package/dist/basic-sdk/socket/with-socket-io.js +38 -30
- package/dist/basic-sdk/utils/debug.js +4 -4
- package/dist/basic-sdk/utils/diff-text.js +191 -193
- package/dist/basic-sdk/utils/diff.js +115 -106
- package/dist/basic-sdk/utils/document-utils.js +10 -13
- package/dist/basic-sdk/utils/dom-utils.js +18 -16
- package/dist/basic-sdk/utils/event-bus.js +26 -39
- package/dist/basic-sdk/utils/event-handler.js +81 -79
- package/dist/basic-sdk/utils/mouse-event.js +29 -27
- package/dist/basic-sdk/utils/object-utils.js +35 -53
- package/dist/basic-sdk/utils/rebase.js +101 -76
- package/dist/basic-sdk/views/published-revision-diff-viewer.js +19 -22
- package/dist/basic-sdk/views/readonly-article.js +7 -5
- package/dist/basic-sdk/views/revision-diff-viewer.js +15 -18
- package/dist/basic-sdk/views/sdoc-diff-viewer.js +8 -6
- package/dist/basic-sdk/views/sdoc-viewer.js +9 -7
- package/dist/components/common-loading/index.js +1 -1
- package/dist/components/doc-info/index.js +25 -23
- package/dist/components/doc-operations/collaborators-operation/collaborators-popover.js +36 -49
- package/dist/components/doc-operations/collaborators-operation/index.js +58 -76
- package/dist/components/doc-operations/comments-operation/index.js +7 -13
- package/dist/components/doc-operations/history-operation.js +5 -5
- package/dist/components/doc-operations/index.js +10 -9
- package/dist/components/doc-operations/more-operations.js +15 -21
- package/dist/components/doc-operations/revision-operations/changes-count/index.js +15 -16
- package/dist/components/doc-operations/revision-operations/index.js +65 -71
- package/dist/components/doc-operations/revision-operations/more-revision-operations/index.js +13 -17
- package/dist/components/doc-operations/revision-operations/publish-revision/index.js +8 -5
- package/dist/components/doc-operations/revision-operations/revisions/index.js +13 -19
- package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +56 -87
- package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +14 -16
- package/dist/components/doc-operations/revision-operations/view-changes/index.js +25 -32
- package/dist/components/doc-operations/share-operation/index.js +2 -2
- package/dist/components/doc-operations/tag-operation/constans.js +1 -1
- package/dist/components/doc-operations/tag-operation/file-tag-quick-view/index.js +26 -42
- package/dist/components/doc-operations/tag-operation/index.js +1 -1
- package/dist/components/doc-operations/tag-operation/tag-popover/index.js +95 -175
- package/dist/components/doc-operations/tag-operation/utils.js +2 -6
- package/dist/components/draft-dropdown/index.js +44 -53
- package/dist/components/loading/index.js +8 -22
- package/dist/components/modal-portal/index.js +15 -32
- package/dist/components/switch/index.js +8 -6
- package/dist/components/tip-dialog/index.js +21 -23
- package/dist/components/tip-message/index.js +93 -92
- package/dist/components/toast/alert.js +73 -88
- package/dist/components/toast/index.js +1 -1
- package/dist/components/toast/toast.js +76 -103
- package/dist/components/toast/toastManager.js +55 -89
- package/dist/components/toast/toaster.js +54 -56
- package/dist/components/tooltip/index.js +15 -16
- package/dist/constants/index.js +26 -6
- package/dist/constants/transfer-types.js +3 -3
- package/dist/context.js +242 -339
- package/dist/hooks/use-collaborators.js +18 -20
- package/dist/hooks/use-document.js +33 -45
- package/dist/layout/content.js +13 -26
- package/dist/layout/header.js +13 -26
- package/dist/layout/layout.js +11 -9
- package/dist/model/notification.js +10 -11
- package/dist/model/revision.js +27 -28
- package/dist/model/user.js +10 -11
- package/dist/pages/error-boundary.js +18 -36
- package/dist/pages/error-page.js +14 -26
- package/dist/pages/published-revision-viewer.js +23 -35
- package/dist/pages/simple-editor.js +39 -46
- package/dist/pages/simple-viewer.js +70 -104
- package/dist/utils/date-utils.js +67 -81
- package/dist/utils/get-event-transfer.js +13 -15
- package/dist/utils/hotkey.js +24 -24
- package/dist/utils/index.js +20 -20
- package/dist/utils/local-storage-utils.js +41 -58
- package/package.json +10 -10
- package/public/locales/cs/sdoc-editor.json +3 -1
- package/public/locales/de/sdoc-editor.json +3 -1
- package/public/locales/en/sdoc-editor.json +1 -0
- package/public/locales/es/sdoc-editor.json +3 -1
- package/public/locales/fr/sdoc-editor.json +3 -1
- package/public/locales/it/sdoc-editor.json +3 -1
- package/public/locales/ru/sdoc-editor.json +3 -1
- 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 { Transforms, Path, Editor, Element } from '@seafile/slate';
|
|
3
2
|
import toaster from '../../../../components/toast';
|
|
4
3
|
import context from '../../../../context';
|
|
@@ -7,17 +6,21 @@ import { focusEditor } from '../../core';
|
|
|
7
6
|
import { getErrorMsg } from '../../../../utils';
|
|
8
7
|
import { getSlateFragmentAttribute } from '../../../utils/document-utils';
|
|
9
8
|
import { INSERT_POSITION, CLIPBOARD_FORMAT_KEY, CLIPBOARD_ORIGIN_SDOC_KEY, IMAGE } from '../../constants';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
const withImage = editor => {
|
|
10
|
+
const {
|
|
11
|
+
isInline,
|
|
12
|
+
isVoid,
|
|
13
|
+
insertData,
|
|
14
|
+
deleteBackward,
|
|
15
|
+
insertFragment
|
|
16
|
+
} = editor;
|
|
17
|
+
const newEditor = editor;
|
|
17
18
|
|
|
18
19
|
// rewrite isInline
|
|
19
|
-
newEditor.isInline =
|
|
20
|
-
|
|
20
|
+
newEditor.isInline = elem => {
|
|
21
|
+
const {
|
|
22
|
+
type
|
|
23
|
+
} = elem;
|
|
21
24
|
if (type === IMAGE) {
|
|
22
25
|
return true;
|
|
23
26
|
}
|
|
@@ -25,33 +28,35 @@ var withImage = function withImage(editor) {
|
|
|
25
28
|
};
|
|
26
29
|
|
|
27
30
|
// rewrite isVoid
|
|
28
|
-
newEditor.isVoid =
|
|
29
|
-
|
|
31
|
+
newEditor.isVoid = elem => {
|
|
32
|
+
const {
|
|
33
|
+
type
|
|
34
|
+
} = elem;
|
|
30
35
|
if (type === IMAGE) {
|
|
31
36
|
return true;
|
|
32
37
|
}
|
|
33
38
|
return isVoid(elem);
|
|
34
39
|
};
|
|
35
|
-
newEditor.insertData =
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
newEditor.insertData = data => {
|
|
41
|
+
const fragment = data.getData("application/".concat(CLIPBOARD_FORMAT_KEY)) || getSlateFragmentAttribute(data);
|
|
42
|
+
const originSdocUuid = data.getData("text/".concat(CLIPBOARD_ORIGIN_SDOC_KEY));
|
|
38
43
|
if (fragment && originSdocUuid) {
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
const decoded = decodeURIComponent(window.atob(fragment));
|
|
45
|
+
const fragmentData = JSON.parse(decoded);
|
|
41
46
|
if (hasSdocImages(originSdocUuid, fragmentData)) {
|
|
42
|
-
|
|
43
|
-
context.copyImage(originSdocUuid, imageData).then(
|
|
47
|
+
const imageData = getImageData(fragmentData);
|
|
48
|
+
context.copyImage(originSdocUuid, imageData).then(res => {
|
|
44
49
|
if (res.status === 200) {
|
|
45
50
|
queryCopyMoveProgressView(res.data.task_id);
|
|
46
51
|
}
|
|
47
|
-
}).catch(
|
|
48
|
-
|
|
52
|
+
}).catch(error => {
|
|
53
|
+
const errorMessage = getErrorMsg(error);
|
|
49
54
|
toaster.danger(errorMessage);
|
|
50
55
|
});
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
if (data.types && data.types.includes('Files') && data.files[0].type.includes(IMAGE)) {
|
|
54
|
-
context.uploadLocalImage(data.files[0]).then(
|
|
59
|
+
context.uploadLocalImage(data.files[0]).then(fileUrl => {
|
|
55
60
|
insertImage(newEditor, fileUrl, editor.selection, INSERT_POSITION.CURRENT);
|
|
56
61
|
resetCursor(newEditor);
|
|
57
62
|
});
|
|
@@ -59,19 +64,23 @@ var withImage = function withImage(editor) {
|
|
|
59
64
|
}
|
|
60
65
|
insertData(data);
|
|
61
66
|
};
|
|
62
|
-
newEditor.insertFragment =
|
|
67
|
+
newEditor.insertFragment = data => {
|
|
63
68
|
if (isSingleImage(data)) {
|
|
64
69
|
resetCursor(newEditor);
|
|
65
70
|
}
|
|
66
71
|
return insertFragment(data);
|
|
67
72
|
};
|
|
68
|
-
newEditor.imageOnKeyDown =
|
|
73
|
+
newEditor.imageOnKeyDown = e => {
|
|
69
74
|
if (e.keyCode === 13) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
const {
|
|
76
|
+
selection
|
|
77
|
+
} = newEditor;
|
|
78
|
+
const {
|
|
79
|
+
focus
|
|
80
|
+
} = selection;
|
|
81
|
+
const parentPath = Path.parent(focus.path);
|
|
82
|
+
const nextPath = Path.next(parentPath);
|
|
83
|
+
const nextSelection = {
|
|
75
84
|
anchor: {
|
|
76
85
|
offset: 0,
|
|
77
86
|
path: nextPath
|
|
@@ -85,14 +94,13 @@ var withImage = function withImage(editor) {
|
|
|
85
94
|
return;
|
|
86
95
|
}
|
|
87
96
|
};
|
|
88
|
-
newEditor.deleteBackward =
|
|
97
|
+
newEditor.deleteBackward = unit => {
|
|
89
98
|
deleteBackward(unit);
|
|
90
99
|
// After the delete operation, if the selected image is selected, the cursor moves backward one position
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
path = _Editor$parent2[1];
|
|
100
|
+
const {
|
|
101
|
+
selection
|
|
102
|
+
} = editor;
|
|
103
|
+
const [node, path] = Editor.parent(editor, selection);
|
|
96
104
|
if (Element.isElement(node) && node.type === IMAGE) {
|
|
97
105
|
focusEditor(editor, Path.next(path));
|
|
98
106
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
2
|
import React, { useState, useCallback, useRef, useEffect } from 'react';
|
|
4
3
|
import { ReactEditor, useSelected, useReadOnly } from '@seafile/slate-react';
|
|
@@ -13,83 +12,63 @@ import { useScrollContext } from '../../../hooks/use-scroll-context';
|
|
|
13
12
|
import { IMAGE_BORDER_TYPE } from './constants';
|
|
14
13
|
import { ADDED_STYLE, DELETED_STYLE } from '../../constants';
|
|
15
14
|
import imagePlaceholder from '../../../assets/images/image-placeholder.png';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
15
|
+
const Image = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
element,
|
|
18
|
+
editor,
|
|
19
|
+
style,
|
|
20
|
+
className,
|
|
21
|
+
attributes,
|
|
22
|
+
children,
|
|
23
|
+
isSelected,
|
|
24
|
+
t
|
|
25
|
+
} = _ref;
|
|
26
|
+
const {
|
|
27
|
+
data,
|
|
28
|
+
display_type,
|
|
29
|
+
align,
|
|
30
|
+
border_type = IMAGE_BORDER_TYPE[0].type
|
|
31
|
+
} = element;
|
|
32
|
+
const imageWrapStyle = _objectSpread(_objectSpread({}, style), {}, {
|
|
31
33
|
display: display_type === 'Block' ? 'block' : 'inline-block',
|
|
32
34
|
paddingTop: display_type === 'Block' ? '8px' : '',
|
|
33
35
|
textAlign: display_type === 'Block' ? align : ''
|
|
34
36
|
});
|
|
35
|
-
|
|
36
|
-
border: IMAGE_BORDER_TYPE.find(
|
|
37
|
-
return item.type === border_type;
|
|
38
|
-
}).value
|
|
37
|
+
const imageStyle = {
|
|
38
|
+
border: IMAGE_BORDER_TYPE.find(item => item.type === border_type).value
|
|
39
39
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
54
|
-
isShowImagePlaceholder = _useState6[0],
|
|
55
|
-
setIsShowImagePlaceholder = _useState6[1];
|
|
56
|
-
var _useState7 = useState(false),
|
|
57
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
58
|
-
isShowImageHoverMenu = _useState8[0],
|
|
59
|
-
setIsShowImageHoverMenu = _useState8[1];
|
|
60
|
-
var _useState9 = useState({}),
|
|
61
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
62
|
-
menuPosition = _useState10[0],
|
|
63
|
-
setMenuPosition = _useState10[1];
|
|
64
|
-
var _useState11 = useState((data === null || data === void 0 ? void 0 : data.caption) || ''),
|
|
65
|
-
_useState12 = _slicedToArray(_useState11, 2),
|
|
66
|
-
caption = _useState12[0],
|
|
67
|
-
setCaption = _useState12[1];
|
|
68
|
-
var _useState13 = useState(false),
|
|
69
|
-
_useState14 = _slicedToArray(_useState13, 2),
|
|
70
|
-
isShowCaption = _useState14[0],
|
|
71
|
-
setIsShowCaption = _useState14[1];
|
|
72
|
-
var registerEvent = useCallback(function (eventList) {
|
|
73
|
-
eventList.forEach(function (element) {
|
|
40
|
+
const readOnly = useReadOnly();
|
|
41
|
+
const imageRef = useRef(null);
|
|
42
|
+
const resizerRef = useRef(null);
|
|
43
|
+
const scrollRef = useScrollContext();
|
|
44
|
+
const [movingWidth, setMovingWidth] = useState(null);
|
|
45
|
+
const [isResizing, setIsResizing] = useState(false);
|
|
46
|
+
const [isShowImagePlaceholder, setIsShowImagePlaceholder] = useState(false);
|
|
47
|
+
const [isShowImageHoverMenu, setIsShowImageHoverMenu] = useState(false);
|
|
48
|
+
const [menuPosition, setMenuPosition] = useState({});
|
|
49
|
+
const [caption, setCaption] = useState((data === null || data === void 0 ? void 0 : data.caption) || '');
|
|
50
|
+
const [isShowCaption, setIsShowCaption] = useState(false);
|
|
51
|
+
const registerEvent = useCallback(eventList => {
|
|
52
|
+
eventList.forEach(element => {
|
|
74
53
|
document.addEventListener(element.eventName, element.event);
|
|
75
54
|
});
|
|
76
55
|
}, []);
|
|
77
|
-
|
|
78
|
-
eventList.forEach(
|
|
56
|
+
const unregisterEvent = useCallback(eventList => {
|
|
57
|
+
eventList.forEach(element => {
|
|
79
58
|
document.removeEventListener(element.eventName, element.event);
|
|
80
59
|
});
|
|
81
60
|
}, []);
|
|
82
|
-
|
|
61
|
+
const onMouseMove = useCallback(event => {
|
|
83
62
|
var _resizerRef$current;
|
|
84
63
|
event.preventDefault();
|
|
85
64
|
event.stopPropagation();
|
|
86
|
-
|
|
87
|
-
|
|
65
|
+
const changeX = event.clientX - ((_resizerRef$current = resizerRef.current) === null || _resizerRef$current === void 0 ? void 0 : _resizerRef$current.getBoundingClientRect().left) - 5;
|
|
66
|
+
const imageWidth = imageRef.current.width + changeX;
|
|
88
67
|
if (imageWidth < 20) return;
|
|
89
68
|
imageRef.current.width = imageWidth;
|
|
90
69
|
setMovingWidth(imageWidth);
|
|
91
70
|
}, []);
|
|
92
|
-
|
|
71
|
+
const onResizeEnd = useCallback(event => {
|
|
93
72
|
event.preventDefault();
|
|
94
73
|
event.stopPropagation();
|
|
95
74
|
unregisterEvent([{
|
|
@@ -99,20 +78,20 @@ var Image = function Image(_ref) {
|
|
|
99
78
|
'eventName': 'mouseup',
|
|
100
79
|
'event': onResizeEnd
|
|
101
80
|
}]);
|
|
102
|
-
|
|
81
|
+
const newData = _objectSpread(_objectSpread({}, element.data), {}, {
|
|
103
82
|
width: imageRef.current.width
|
|
104
83
|
});
|
|
105
84
|
updateImage(editor, newData);
|
|
106
85
|
|
|
107
86
|
// Reset hover menu position
|
|
108
|
-
setTimeout(
|
|
87
|
+
setTimeout(() => {
|
|
109
88
|
setIsResizing(false);
|
|
110
89
|
setIsShowImageHoverMenu(true);
|
|
111
90
|
setPosition();
|
|
112
91
|
}, 100);
|
|
113
92
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
93
|
}, [editor, element.data, imageRef.current]);
|
|
115
|
-
|
|
94
|
+
const onResizeStart = useCallback(event => {
|
|
116
95
|
event.preventDefault();
|
|
117
96
|
event.stopPropagation();
|
|
118
97
|
setIsShowImageHoverMenu(false);
|
|
@@ -125,26 +104,26 @@ var Image = function Image(_ref) {
|
|
|
125
104
|
'event': onResizeEnd
|
|
126
105
|
}]);
|
|
127
106
|
}, [onMouseMove, onResizeEnd, registerEvent]);
|
|
128
|
-
|
|
129
|
-
|
|
107
|
+
const getImageStyle = useCallback(() => {
|
|
108
|
+
let imageWidth = element.data.width || '';
|
|
130
109
|
if (movingWidth) imageWidth = movingWidth;
|
|
131
110
|
return {
|
|
132
111
|
width: imageWidth
|
|
133
112
|
};
|
|
134
113
|
}, [element.data, movingWidth]);
|
|
135
|
-
|
|
114
|
+
const onScroll = useCallback(() => {
|
|
136
115
|
setPosition();
|
|
137
116
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
138
117
|
}, []);
|
|
139
|
-
|
|
118
|
+
const onHideImageHoverMenu = useCallback(e => {
|
|
140
119
|
var _imagePreviewer$;
|
|
141
120
|
if (isResizing) return;
|
|
142
|
-
|
|
121
|
+
const imagePreviewer = document.getElementsByClassName('sf-editor-image-previewer');
|
|
143
122
|
if (e.target === imageRef.current || ((_imagePreviewer$ = imagePreviewer[0]) === null || _imagePreviewer$ === void 0 ? void 0 : _imagePreviewer$.contains(e.target))) return;
|
|
144
123
|
setIsShowImageHoverMenu(false);
|
|
145
124
|
}, [isResizing]);
|
|
146
|
-
useEffect(
|
|
147
|
-
|
|
125
|
+
useEffect(() => {
|
|
126
|
+
let observerRefValue = null;
|
|
148
127
|
if (isShowImageHoverMenu) {
|
|
149
128
|
registerEvent([{
|
|
150
129
|
'eventName': 'click',
|
|
@@ -159,7 +138,7 @@ var Image = function Image(_ref) {
|
|
|
159
138
|
}]);
|
|
160
139
|
scrollRef.current && scrollRef.current.removeEventListener('scroll', onScroll);
|
|
161
140
|
}
|
|
162
|
-
return
|
|
141
|
+
return () => {
|
|
163
142
|
unregisterEvent([{
|
|
164
143
|
'eventName': 'click',
|
|
165
144
|
'event': onHideImageHoverMenu
|
|
@@ -170,38 +149,39 @@ var Image = function Image(_ref) {
|
|
|
170
149
|
};
|
|
171
150
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
172
151
|
}, [isShowImageHoverMenu, onHideImageHoverMenu]);
|
|
173
|
-
|
|
152
|
+
const setPosition = useCallback(() => {
|
|
174
153
|
if (imageRef.current) {
|
|
175
|
-
|
|
176
|
-
top
|
|
177
|
-
left
|
|
154
|
+
const {
|
|
155
|
+
top,
|
|
156
|
+
left
|
|
157
|
+
} = imageRef.current.getBoundingClientRect();
|
|
178
158
|
setMenuPosition({
|
|
179
159
|
top: top - 42,
|
|
180
160
|
left: left - 3
|
|
181
161
|
});
|
|
182
162
|
}
|
|
183
163
|
}, []);
|
|
184
|
-
|
|
164
|
+
const onClickImage = useCallback(e => {
|
|
185
165
|
setPosition();
|
|
186
166
|
setIsShowImageHoverMenu(true);
|
|
187
167
|
}, [setPosition]);
|
|
188
|
-
|
|
168
|
+
const reloadImage = useCallback(() => {
|
|
189
169
|
if (imageRef) {
|
|
190
170
|
imageRef.current['src'] = getImageURL(data.src);
|
|
191
171
|
}
|
|
192
172
|
}, [data.src]);
|
|
193
|
-
|
|
173
|
+
const onImageLoadError = useCallback(() => {
|
|
194
174
|
setIsShowImagePlaceholder(true);
|
|
195
175
|
// External network images do not reload after failure to load
|
|
196
176
|
if (!data.src.startsWith('http')) {
|
|
197
|
-
|
|
177
|
+
const eventBus = EventBus.getInstance();
|
|
198
178
|
eventBus.subscribe(INTERNAL_EVENT.RELOAD_IMAGE, reloadImage);
|
|
199
179
|
}
|
|
200
180
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
201
181
|
}, []);
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
182
|
+
const onSetCaption = useCallback(e => {
|
|
183
|
+
const path = ReactEditor.findPath(editor, element);
|
|
184
|
+
const newData = _objectSpread(_objectSpread({}, data), {}, {
|
|
205
185
|
caption: e.target.value.trim()
|
|
206
186
|
});
|
|
207
187
|
if (path) {
|
|
@@ -258,33 +238,35 @@ var Image = function Image(_ref) {
|
|
|
258
238
|
placeholder: t('Insert_caption'),
|
|
259
239
|
value: caption,
|
|
260
240
|
onBlur: onSetCaption,
|
|
261
|
-
onChange:
|
|
241
|
+
onChange: e => {
|
|
262
242
|
setCaption(e.target.value.trim());
|
|
263
243
|
},
|
|
264
|
-
onCompositionStart:
|
|
244
|
+
onCompositionStart: e => {
|
|
265
245
|
e.stopPropagation();
|
|
266
246
|
}
|
|
267
247
|
}))), children), isShowImageHoverMenu && !readOnly && /*#__PURE__*/React.createElement(ImageHoverMenu, {
|
|
268
248
|
editor: editor,
|
|
269
249
|
menuPosition: menuPosition,
|
|
270
250
|
element: element,
|
|
271
|
-
onHideImageHoverMenu:
|
|
251
|
+
onHideImageHoverMenu: () => {
|
|
272
252
|
setIsShowImageHoverMenu(false);
|
|
273
253
|
},
|
|
274
|
-
onShowCaption:
|
|
254
|
+
onShowCaption: () => {
|
|
275
255
|
setIsShowCaption(true);
|
|
276
256
|
}
|
|
277
257
|
})));
|
|
278
258
|
};
|
|
279
|
-
|
|
259
|
+
const SdocImage = withTranslation('sdoc-editor')(Image);
|
|
280
260
|
function renderImage(props, editor) {
|
|
281
261
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
282
|
-
|
|
262
|
+
const isSelected = useSelected();
|
|
283
263
|
|
|
284
264
|
// decorate diff-viewer
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
265
|
+
const {
|
|
266
|
+
element,
|
|
267
|
+
leaf
|
|
268
|
+
} = props;
|
|
269
|
+
let style = _objectSpread({}, props.style);
|
|
288
270
|
if (leaf && leaf.computed_background_color) {
|
|
289
271
|
style['backgroundColor'] = leaf.computed_background_color;
|
|
290
272
|
}
|
|
@@ -14,6 +14,6 @@ import FontPlugin from './font';
|
|
|
14
14
|
import SdocLinkPlugin from './sdoc-link';
|
|
15
15
|
import FileLinkPlugin from './file-link';
|
|
16
16
|
import ParagraphPlugin from './paragraph';
|
|
17
|
-
|
|
17
|
+
const Plugins = [MarkDownPlugin, HtmlPlugin, HeaderPlugin, LinkPlugin, BlockquotePlugin, ListPlugin, CheckListPlugin, CodeBlockPlugin, ImagePlugin, TablePlugin, TextPlugin, TextAlignPlugin, FontPlugin, SdocLinkPlugin, FileLinkPlugin];
|
|
18
18
|
export default Plugins;
|
|
19
19
|
export { MarkDownPlugin, HeaderPlugin, LinkPlugin, BlockquotePlugin, ListPlugin, CheckListPlugin, CodeBlockPlugin, ImagePlugin, TablePlugin, TextPlugin, HtmlPlugin, TextAlignPlugin, FontPlugin, SdocLinkPlugin, ParagraphPlugin, FileLinkPlugin };
|
|
@@ -1,40 +1,31 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import React, { Fragment, useCallback, useState } from 'react';
|
|
3
2
|
import { useTranslation } from 'react-i18next';
|
|
4
3
|
import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Alert, Label } from 'reactstrap';
|
|
5
4
|
import { insertLink, updateLink, checkLink } from '../../helpers';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
31
|
-
title = _useState6[0],
|
|
32
|
-
setTitle = _useState6[1];
|
|
33
|
-
var _useState7 = useState(oldURL),
|
|
34
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
35
|
-
url = _useState8[0],
|
|
36
|
-
setURL = _useState8[1];
|
|
37
|
-
var submit = useCallback(function () {
|
|
5
|
+
const AddLinkDialog = _ref => {
|
|
6
|
+
let {
|
|
7
|
+
editor,
|
|
8
|
+
className,
|
|
9
|
+
element,
|
|
10
|
+
insertPosition,
|
|
11
|
+
slateNode,
|
|
12
|
+
closeDialog
|
|
13
|
+
} = _ref;
|
|
14
|
+
const {
|
|
15
|
+
t
|
|
16
|
+
} = useTranslation();
|
|
17
|
+
const [linkErrorMessage, setLinkErrorMessage] = useState('');
|
|
18
|
+
const [titleErrorMessage, setTitleErrorMessage] = useState('');
|
|
19
|
+
const {
|
|
20
|
+
title: oldTitle,
|
|
21
|
+
href: oldURL
|
|
22
|
+
} = element || {
|
|
23
|
+
title: '',
|
|
24
|
+
href: ''
|
|
25
|
+
};
|
|
26
|
+
const [title, setTitle] = useState(oldTitle);
|
|
27
|
+
const [url, setURL] = useState(oldURL);
|
|
28
|
+
const submit = useCallback(() => {
|
|
38
29
|
setLinkErrorMessage('');
|
|
39
30
|
setTitleErrorMessage('');
|
|
40
31
|
if (!url) {
|
|
@@ -49,7 +40,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
|
|
|
49
40
|
setLinkErrorMessage(t('The_link_address_is_invalid'));
|
|
50
41
|
return;
|
|
51
42
|
}
|
|
52
|
-
|
|
43
|
+
const isEdit = oldURL && oldTitle;
|
|
53
44
|
if (isEdit) {
|
|
54
45
|
updateLink(editor, title, url);
|
|
55
46
|
} else {
|
|
@@ -59,7 +50,7 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
|
|
|
59
50
|
|
|
60
51
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
61
52
|
}, [editor, url, title, oldTitle, oldURL, insertPosition]);
|
|
62
|
-
|
|
53
|
+
const onKeyDown = useCallback(event => {
|
|
63
54
|
if (event.keyCode === 13) {
|
|
64
55
|
event.preventDefault();
|
|
65
56
|
submit();
|
|
@@ -68,13 +59,13 @@ var AddLinkDialog = function AddLinkDialog(_ref) {
|
|
|
68
59
|
|
|
69
60
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
70
61
|
}, [editor, url, title, oldTitle, oldURL, insertPosition]);
|
|
71
|
-
|
|
72
|
-
|
|
62
|
+
const handleUrlChange = useCallback(event => {
|
|
63
|
+
const value = event.target.value.trim();
|
|
73
64
|
if (value === url) return;
|
|
74
65
|
setURL(value);
|
|
75
66
|
}, [url]);
|
|
76
|
-
|
|
77
|
-
|
|
67
|
+
const handleTitleChange = useCallback(event => {
|
|
68
|
+
const value = event.target.value;
|
|
78
69
|
if (value === title) return;
|
|
79
70
|
setTitle(value);
|
|
80
71
|
}, [title]);
|