@fiduswriter/editor 0.1.20 → 0.1.21
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/bibliography/tools.d.ts +14 -0
- package/dist/bibliography/tools.d.ts.map +1 -0
- package/dist/bibliography/tools.js +1 -1
- package/dist/bibliography/tools.js.map +1 -1
- package/dist/citations/index.d.ts +17 -0
- package/dist/citations/index.d.ts.map +1 -0
- package/dist/citations/index.js +22 -13
- package/dist/citations/index.js.map +1 -1
- package/dist/citations/render.d.ts +29 -0
- package/dist/citations/render.d.ts.map +1 -0
- package/dist/citations/render.js +25 -8
- package/dist/citations/render.js.map +1 -1
- package/dist/clipboard/copy/index.d.ts +2 -0
- package/dist/clipboard/copy/index.d.ts.map +1 -0
- package/dist/clipboard/copy/index.js.map +1 -1
- package/dist/clipboard/copy/schema.d.ts +4 -0
- package/dist/clipboard/copy/schema.d.ts.map +1 -0
- package/dist/clipboard/copy/schema.js +6 -5
- package/dist/clipboard/copy/schema.js.map +1 -1
- package/dist/clipboard/copy/serializers.d.ts +24 -0
- package/dist/clipboard/copy/serializers.d.ts.map +1 -0
- package/dist/clipboard/copy/serializers.js +19 -9
- package/dist/clipboard/copy/serializers.js.map +1 -1
- package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
- package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/fidus_writer.js +5 -2
- package/dist/clipboard/paste/fidus_writer.js.map +1 -1
- package/dist/clipboard/paste/general.d.ts +18 -0
- package/dist/clipboard/paste/general.d.ts.map +1 -0
- package/dist/clipboard/paste/general.js +18 -6
- package/dist/clipboard/paste/general.js.map +1 -1
- package/dist/clipboard/paste/google_docs.d.ts +6 -0
- package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
- package/dist/clipboard/paste/google_docs.js +3 -2
- package/dist/clipboard/paste/google_docs.js.map +1 -1
- package/dist/clipboard/paste/html.d.ts +22 -0
- package/dist/clipboard/paste/html.d.ts.map +1 -0
- package/dist/clipboard/paste/html.js +15 -0
- package/dist/clipboard/paste/html.js.map +1 -1
- package/dist/clipboard/paste/index.d.ts +3 -0
- package/dist/clipboard/paste/index.d.ts.map +1 -0
- package/dist/clipboard/paste/index.js.map +1 -1
- package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
- package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/libreoffice_writer.js +2 -2
- package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
- package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
- package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
- package/dist/clipboard/paste/microsoft_word.js +13 -14
- package/dist/clipboard/paste/microsoft_word.js.map +1 -1
- package/dist/clipboard/paste/text.d.ts +11 -0
- package/dist/clipboard/paste/text.d.ts.map +1 -0
- package/dist/clipboard/paste/text.js +5 -3
- package/dist/clipboard/paste/text.js.map +1 -1
- package/dist/collab/chat.d.ts +24 -0
- package/dist/collab/chat.d.ts.map +1 -0
- package/dist/collab/chat.js +46 -16
- package/dist/collab/chat.js.map +1 -1
- package/dist/collab/colors.d.ts +16 -0
- package/dist/collab/colors.d.ts.map +1 -0
- package/dist/collab/colors.js +6 -0
- package/dist/collab/colors.js.map +1 -1
- package/dist/collab/doc.d.ts +147 -0
- package/dist/collab/doc.d.ts.map +1 -0
- package/dist/collab/doc.js +77 -42
- package/dist/collab/doc.js.map +1 -1
- package/dist/collab/index.d.ts +23 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +14 -3
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/merge/changeset.d.ts +23 -0
- package/dist/collab/merge/changeset.d.ts.map +1 -0
- package/dist/collab/merge/changeset.js +5 -4
- package/dist/collab/merge/changeset.js.map +1 -1
- package/dist/collab/merge/editor.d.ts +53 -0
- package/dist/collab/merge/editor.d.ts.map +1 -0
- package/dist/collab/merge/editor.js +62 -35
- package/dist/collab/merge/editor.js.map +1 -1
- package/dist/collab/merge/footnotes.d.ts +26 -0
- package/dist/collab/merge/footnotes.d.ts.map +1 -0
- package/dist/collab/merge/footnotes.js +14 -5
- package/dist/collab/merge/footnotes.js.map +1 -1
- package/dist/collab/merge/index.d.ts +32 -0
- package/dist/collab/merge/index.d.ts.map +1 -0
- package/dist/collab/merge/index.js +38 -26
- package/dist/collab/merge/index.js.map +1 -1
- package/dist/collab/merge/recreate_transform.d.ts +4 -0
- package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
- package/dist/collab/merge/recreate_transform.js +25 -5
- package/dist/collab/merge/recreate_transform.js.map +1 -1
- package/dist/collab/merge/schema.d.ts +4 -0
- package/dist/collab/merge/schema.d.ts.map +1 -0
- package/dist/collab/merge/schema.js +35 -26
- package/dist/collab/merge/schema.js.map +1 -1
- package/dist/collab/merge/state_plugins/action.d.ts +16 -0
- package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/action.js +4 -5
- package/dist/collab/merge/state_plugins/action.js.map +1 -1
- package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
- package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/clipboard.js +1 -1
- package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
- package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
- package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/diff.js +108 -84
- package/dist/collab/merge/state_plugins/diff.js.map +1 -1
- package/dist/collab/merge/state_plugins/index.d.ts +3 -0
- package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/index.js.map +1 -1
- package/dist/collab/merge/tools.d.ts +11 -0
- package/dist/collab/merge/tools.d.ts.map +1 -0
- package/dist/collab/merge/tools.js +16 -14
- package/dist/collab/merge/tools.js.map +1 -1
- package/dist/collab/templates.d.ts +14 -0
- package/dist/collab/templates.d.ts.map +1 -0
- package/dist/collab/templates.js +1 -1
- package/dist/collab/templates.js.map +1 -1
- package/dist/comments/comment.d.ts +29 -0
- package/dist/comments/comment.d.ts.map +1 -0
- package/dist/comments/comment.js +12 -0
- package/dist/comments/comment.js.map +1 -1
- package/dist/comments/editors/answer.d.ts +14 -0
- package/dist/comments/editors/answer.d.ts.map +1 -0
- package/dist/comments/editors/answer.js +5 -3
- package/dist/comments/editors/answer.js.map +1 -1
- package/dist/comments/editors/comment.d.ts +65 -0
- package/dist/comments/editors/comment.d.ts.map +1 -0
- package/dist/comments/editors/comment.js +43 -14
- package/dist/comments/editors/comment.js.map +1 -1
- package/dist/comments/editors/index.d.ts +4 -0
- package/dist/comments/editors/index.d.ts.map +1 -0
- package/dist/comments/editors/index.js.map +1 -1
- package/dist/comments/editors/notify.d.ts +3 -0
- package/dist/comments/editors/notify.d.ts.map +1 -0
- package/dist/comments/editors/notify.js.map +1 -1
- package/dist/comments/editors/schema.d.ts +12 -0
- package/dist/comments/editors/schema.d.ts.map +1 -0
- package/dist/comments/editors/schema.js +5 -5
- package/dist/comments/editors/schema.js.map +1 -1
- package/dist/comments/index.d.ts +10 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +5 -2
- package/dist/comments/index.js.map +1 -1
- package/dist/comments/interactions.d.ts +49 -0
- package/dist/comments/interactions.d.ts.map +1 -0
- package/dist/comments/interactions.js +33 -18
- package/dist/comments/interactions.js.map +1 -1
- package/dist/comments/store.d.ts +59 -0
- package/dist/comments/store.d.ts.map +1 -0
- package/dist/comments/store.js +36 -16
- package/dist/comments/store.js.map +1 -1
- package/dist/contacts/add_dialog.d.ts +7 -0
- package/dist/contacts/add_dialog.d.ts.map +1 -0
- package/dist/contacts/add_dialog.js +25 -26
- package/dist/contacts/add_dialog.js.map +1 -1
- package/dist/contacts/templates.d.ts +12 -0
- package/dist/contacts/templates.d.ts.map +1 -0
- package/dist/contacts/templates.js +3 -2
- package/dist/contacts/templates.js.map +1 -1
- package/dist/copyright_dialog/index.d.ts +25 -0
- package/dist/copyright_dialog/index.d.ts.map +1 -0
- package/dist/copyright_dialog/index.js +34 -26
- package/dist/copyright_dialog/index.js.map +1 -1
- package/dist/copyright_dialog/templates.d.ts +17 -0
- package/dist/copyright_dialog/templates.d.ts.map +1 -0
- package/dist/copyright_dialog/templates.js.map +1 -1
- package/dist/databases/bibliography.d.ts +42 -0
- package/dist/databases/bibliography.d.ts.map +1 -0
- package/dist/databases/bibliography.js +24 -9
- package/dist/databases/bibliography.js.map +1 -1
- package/dist/databases/images.d.ts +66 -0
- package/dist/databases/images.d.ts.map +1 -0
- package/dist/databases/images.js +19 -9
- package/dist/databases/images.js.map +1 -1
- package/dist/databases/index.d.ts +26 -0
- package/dist/databases/index.d.ts.map +1 -0
- package/dist/databases/index.js +9 -8
- package/dist/databases/index.js.map +1 -1
- package/dist/dialogs/citation.d.ts +58 -0
- package/dist/dialogs/citation.d.ts.map +1 -0
- package/dist/dialogs/citation.js +43 -22
- package/dist/dialogs/citation.js.map +1 -1
- package/dist/dialogs/code_block.d.ts +25 -0
- package/dist/dialogs/code_block.d.ts.map +1 -0
- package/dist/dialogs/code_block.js +32 -11
- package/dist/dialogs/code_block.js.map +1 -1
- package/dist/dialogs/contributor.d.ts +13 -0
- package/dist/dialogs/contributor.d.ts.map +1 -0
- package/dist/dialogs/contributor.js +17 -20
- package/dist/dialogs/contributor.js.map +1 -1
- package/dist/dialogs/figure.d.ts +51 -0
- package/dist/dialogs/figure.d.ts.map +1 -0
- package/dist/dialogs/figure.js +123 -81
- package/dist/dialogs/figure.js.map +1 -1
- package/dist/dialogs/index.d.ts +11 -0
- package/dist/dialogs/index.d.ts.map +1 -0
- package/dist/dialogs/index.js.map +1 -1
- package/dist/dialogs/language.d.ts +10 -0
- package/dist/dialogs/language.d.ts.map +1 -0
- package/dist/dialogs/language.js +4 -1
- package/dist/dialogs/language.js.map +1 -1
- package/dist/dialogs/link.d.ts +30 -0
- package/dist/dialogs/link.d.ts.map +1 -0
- package/dist/dialogs/link.js +27 -15
- package/dist/dialogs/link.js.map +1 -1
- package/dist/dialogs/math.d.ts +22 -0
- package/dist/dialogs/math.d.ts.map +1 -0
- package/dist/dialogs/math.js +27 -14
- package/dist/dialogs/math.js.map +1 -1
- package/dist/dialogs/ordered_list.d.ts +22 -0
- package/dist/dialogs/ordered_list.d.ts.map +1 -0
- package/dist/dialogs/ordered_list.js +12 -5
- package/dist/dialogs/ordered_list.js.map +1 -1
- package/dist/dialogs/revision.d.ts +8 -0
- package/dist/dialogs/revision.d.ts.map +1 -0
- package/dist/dialogs/revision.js +2 -0
- package/dist/dialogs/revision.js.map +1 -1
- package/dist/dialogs/subsup.d.ts +5 -0
- package/dist/dialogs/subsup.d.ts.map +1 -0
- package/dist/dialogs/subsup.js +3 -3
- package/dist/dialogs/subsup.js.map +1 -1
- package/dist/dialogs/table.d.ts +33 -0
- package/dist/dialogs/table.d.ts.map +1 -0
- package/dist/dialogs/table.js +43 -21
- package/dist/dialogs/table.js.map +1 -1
- package/dist/dialogs/templates.d.ts +85 -0
- package/dist/dialogs/templates.d.ts.map +1 -0
- package/dist/dialogs/templates.js +8 -8
- package/dist/dialogs/templates.js.map +1 -1
- package/dist/document_template/exporter.d.ts +23 -0
- package/dist/document_template/exporter.d.ts.map +1 -0
- package/dist/document_template/exporter.js +14 -5
- package/dist/document_template/exporter.js.map +1 -1
- package/dist/document_template/index.d.ts +35 -0
- package/dist/document_template/index.d.ts.map +1 -0
- package/dist/document_template/index.js +61 -53
- package/dist/document_template/index.js.map +1 -1
- package/dist/document_template/schema.d.ts +13 -0
- package/dist/document_template/schema.d.ts.map +1 -0
- package/dist/document_template/schema.js +2 -2
- package/dist/document_template/schema.js.map +1 -1
- package/dist/documents/access_rights/index.d.ts +85 -0
- package/dist/documents/access_rights/index.d.ts.map +1 -0
- package/dist/documents/access_rights/index.js +96 -60
- package/dist/documents/access_rights/index.js.map +1 -1
- package/dist/documents/access_rights/templates.d.ts +47 -0
- package/dist/documents/access_rights/templates.d.ts.map +1 -0
- package/dist/documents/access_rights/templates.js.map +1 -1
- package/dist/e2ee/snapshot-manager.d.ts +120 -0
- package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
- package/dist/e2ee/snapshot-manager.js +27 -38
- package/dist/e2ee/snapshot-manager.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +16 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +51 -35
- package/dist/exporter/native/copy.js.map +1 -1
- package/dist/exporter/native/file.d.ts +6 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +1 -1
- package/dist/exporter/native/file.js.map +1 -1
- package/dist/exporter/native/index.d.ts +4 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js.map +1 -1
- package/dist/exporter/native/revision.d.ts +8 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +2 -2
- package/dist/exporter/native/revision.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +2 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js.map +1 -1
- package/dist/footnotes/editor.d.ts +25 -0
- package/dist/footnotes/editor.d.ts.map +1 -0
- package/dist/footnotes/editor.js +5 -3
- package/dist/footnotes/editor.js.map +1 -1
- package/dist/footnotes/index.d.ts +11 -0
- package/dist/footnotes/index.d.ts.map +1 -0
- package/dist/footnotes/index.js +5 -2
- package/dist/footnotes/index.js.map +1 -1
- package/dist/footnotes/layout.d.ts +15 -0
- package/dist/footnotes/layout.d.ts.map +1 -0
- package/dist/footnotes/layout.js +26 -17
- package/dist/footnotes/layout.js.map +1 -1
- package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
- package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/access_rights.js +1 -1
- package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
- package/dist/footnotes/state_plugins/index.d.ts +2 -0
- package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/index.js.map +1 -1
- package/dist/images/edit_dialog/model.d.ts +4 -0
- package/dist/images/edit_dialog/model.d.ts.map +1 -0
- package/dist/images/edit_dialog/model.js.map +1 -1
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +86 -59
- package/dist/index.js.map +1 -1
- package/dist/keymap.d.ts +5 -0
- package/dist/keymap.d.ts.map +1 -0
- package/dist/keymap.js +1 -1
- package/dist/keymap.js.map +1 -1
- package/dist/marginboxes/index.d.ts +107 -0
- package/dist/marginboxes/index.d.ts.map +1 -0
- package/dist/marginboxes/index.js +165 -88
- package/dist/marginboxes/index.js.map +1 -1
- package/dist/marginboxes/templates.d.ts +118 -0
- package/dist/marginboxes/templates.d.ts.map +1 -0
- package/dist/marginboxes/templates.js +25 -24
- package/dist/marginboxes/templates.js.map +1 -1
- package/dist/menus/code_block/index.d.ts +2 -0
- package/dist/menus/code_block/index.d.ts.map +1 -0
- package/dist/menus/code_block/index.js.map +1 -1
- package/dist/menus/code_block/model.d.ts +14 -0
- package/dist/menus/code_block/model.d.ts.map +1 -0
- package/dist/menus/code_block/model.js +5 -4
- package/dist/menus/code_block/model.js.map +1 -1
- package/dist/menus/figure/index.d.ts +3 -0
- package/dist/menus/figure/index.d.ts.map +1 -0
- package/dist/menus/figure/index.js.map +1 -1
- package/dist/menus/figure/model.d.ts +32 -0
- package/dist/menus/figure/model.d.ts.map +1 -0
- package/dist/menus/figure/model.js +11 -12
- package/dist/menus/figure/model.js.map +1 -1
- package/dist/menus/figure/utils.d.ts +3 -0
- package/dist/menus/figure/utils.d.ts.map +1 -0
- package/dist/menus/figure/utils.js +4 -1
- package/dist/menus/figure/utils.js.map +1 -1
- package/dist/menus/headerbar/index.d.ts +3 -0
- package/dist/menus/headerbar/index.d.ts.map +1 -0
- package/dist/menus/headerbar/index.js.map +1 -1
- package/dist/menus/headerbar/model.d.ts +192 -0
- package/dist/menus/headerbar/model.d.ts.map +1 -0
- package/dist/menus/headerbar/model.js +141 -110
- package/dist/menus/headerbar/model.js.map +1 -1
- package/dist/menus/headerbar/view.d.ts +89 -0
- package/dist/menus/headerbar/view.d.ts.map +1 -0
- package/dist/menus/headerbar/view.js +76 -45
- package/dist/menus/headerbar/view.js.map +1 -1
- package/dist/menus/image/index.d.ts +2 -0
- package/dist/menus/image/index.d.ts.map +1 -0
- package/dist/menus/image/index.js.map +1 -1
- package/dist/menus/image/model.d.ts +18 -0
- package/dist/menus/image/model.d.ts.map +1 -0
- package/dist/menus/image/model.js +2 -2
- package/dist/menus/image/model.js.map +1 -1
- package/dist/menus/index.d.ts +10 -0
- package/dist/menus/index.d.ts.map +1 -0
- package/dist/menus/index.js.map +1 -1
- package/dist/menus/navigator/index.d.ts +2 -0
- package/dist/menus/navigator/index.d.ts.map +1 -0
- package/dist/menus/navigator/index.js.map +1 -1
- package/dist/menus/navigator/model.d.ts +9 -0
- package/dist/menus/navigator/model.d.ts.map +1 -0
- package/dist/menus/navigator/model.js.map +1 -1
- package/dist/menus/ordered_list/index.d.ts +2 -0
- package/dist/menus/ordered_list/index.d.ts.map +1 -0
- package/dist/menus/ordered_list/index.js.map +1 -1
- package/dist/menus/ordered_list/model.d.ts +11 -0
- package/dist/menus/ordered_list/model.d.ts.map +1 -0
- package/dist/menus/ordered_list/model.js +1 -1
- package/dist/menus/ordered_list/model.js.map +1 -1
- package/dist/menus/selection/index.d.ts +3 -0
- package/dist/menus/selection/index.d.ts.map +1 -0
- package/dist/menus/selection/index.js.map +1 -1
- package/dist/menus/selection/model.d.ts +16 -0
- package/dist/menus/selection/model.d.ts.map +1 -0
- package/dist/menus/selection/model.js +18 -16
- package/dist/menus/selection/model.js.map +1 -1
- package/dist/menus/selection/view.d.ts +49 -0
- package/dist/menus/selection/view.d.ts.map +1 -0
- package/dist/menus/selection/view.js +33 -18
- package/dist/menus/selection/view.js.map +1 -1
- package/dist/menus/table/index.d.ts +2 -0
- package/dist/menus/table/index.d.ts.map +1 -0
- package/dist/menus/table/index.js.map +1 -1
- package/dist/menus/table/model.d.ts +39 -0
- package/dist/menus/table/model.d.ts.map +1 -0
- package/dist/menus/table/model.js +53 -50
- package/dist/menus/table/model.js.map +1 -1
- package/dist/menus/toolbar/index.d.ts +3 -0
- package/dist/menus/toolbar/index.d.ts.map +1 -0
- package/dist/menus/toolbar/index.js.map +1 -1
- package/dist/menus/toolbar/model.d.ts +125 -0
- package/dist/menus/toolbar/model.d.ts.map +1 -0
- package/dist/menus/toolbar/model.js +160 -140
- package/dist/menus/toolbar/model.js.map +1 -1
- package/dist/menus/toolbar/view.d.ts +72 -0
- package/dist/menus/toolbar/view.d.ts.map +1 -0
- package/dist/menus/toolbar/view.js +61 -36
- package/dist/menus/toolbar/view.js.map +1 -1
- package/dist/navigator/index.d.ts +38 -0
- package/dist/navigator/index.d.ts.map +1 -0
- package/dist/navigator/index.js +42 -21
- package/dist/navigator/index.js.map +1 -1
- package/dist/no_collab_save/index.d.ts +20 -0
- package/dist/no_collab_save/index.d.ts.map +1 -0
- package/dist/no_collab_save/index.js +20 -11
- package/dist/no_collab_save/index.js.map +1 -1
- package/dist/plugins/citation_dialog/index.d.ts +2 -0
- package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
- package/dist/plugins/citation_dialog/index.js.map +1 -1
- package/dist/plugins/editor/index.d.ts +2 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor/index.js.map +1 -1
- package/dist/state_plugins/access_rights.d.ts +6 -0
- package/dist/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/state_plugins/access_rights.js +5 -3
- package/dist/state_plugins/access_rights.js.map +1 -1
- package/dist/state_plugins/citation_render.d.ts +9 -0
- package/dist/state_plugins/citation_render.d.ts.map +1 -0
- package/dist/state_plugins/citation_render.js +12 -43
- package/dist/state_plugins/citation_render.js.map +1 -1
- package/dist/state_plugins/clipboard.d.ts +12 -0
- package/dist/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/state_plugins/clipboard.js +13 -11
- package/dist/state_plugins/clipboard.js.map +1 -1
- package/dist/state_plugins/code_block.d.ts +6 -0
- package/dist/state_plugins/code_block.d.ts.map +1 -0
- package/dist/state_plugins/code_block.js +23 -9
- package/dist/state_plugins/code_block.js.map +1 -1
- package/dist/state_plugins/collab_carets.d.ts +26 -0
- package/dist/state_plugins/collab_carets.d.ts.map +1 -0
- package/dist/state_plugins/collab_carets.js +24 -16
- package/dist/state_plugins/collab_carets.js.map +1 -1
- package/dist/state_plugins/comments.d.ts +15 -0
- package/dist/state_plugins/comments.d.ts.map +1 -0
- package/dist/state_plugins/comments.js +26 -21
- package/dist/state_plugins/comments.js.map +1 -1
- package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
- package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/dropup.js +19 -20
- package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
- package/dist/state_plugins/contributor_input/index.d.ts +3 -0
- package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/index.js.map +1 -1
- package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
- package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
- package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
- package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/plugin.js +14 -45
- package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
- package/dist/state_plugins/document_template.d.ts +33 -0
- package/dist/state_plugins/document_template.d.ts.map +1 -0
- package/dist/state_plugins/document_template.js +34 -15
- package/dist/state_plugins/document_template.js.map +1 -1
- package/dist/state_plugins/figure.d.ts +6 -0
- package/dist/state_plugins/figure.d.ts.map +1 -0
- package/dist/state_plugins/figure.js +26 -8
- package/dist/state_plugins/figure.js.map +1 -1
- package/dist/state_plugins/footnote_markers.d.ts +15 -0
- package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
- package/dist/state_plugins/footnote_markers.js +72 -153
- package/dist/state_plugins/footnote_markers.js.map +1 -1
- package/dist/state_plugins/headerbar.d.ts +6 -0
- package/dist/state_plugins/headerbar.d.ts.map +1 -0
- package/dist/state_plugins/headerbar.js +1 -1
- package/dist/state_plugins/headerbar.js.map +1 -1
- package/dist/state_plugins/index.d.ts +28 -0
- package/dist/state_plugins/index.d.ts.map +1 -0
- package/dist/state_plugins/index.js +13 -12
- package/dist/state_plugins/index.js.map +1 -1
- package/dist/state_plugins/inline_math.d.ts +6 -0
- package/dist/state_plugins/inline_math.d.ts.map +1 -0
- package/dist/state_plugins/inline_math.js +28 -19
- package/dist/state_plugins/inline_math.js.map +1 -1
- package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
- package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/dropup.js +17 -17
- package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
- package/dist/state_plugins/inline_reference/index.d.ts +2 -0
- package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/index.js.map +1 -1
- package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
- package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/plugin.js +68 -55
- package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
- package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
- package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
- package/dist/state_plugins/jump_hidden_nodes.js +35 -22
- package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
- package/dist/state_plugins/links.d.ts +11 -0
- package/dist/state_plugins/links.d.ts.map +1 -0
- package/dist/state_plugins/links.js +39 -25
- package/dist/state_plugins/links.js.map +1 -1
- package/dist/state_plugins/marginboxes.d.ts +6 -0
- package/dist/state_plugins/marginboxes.d.ts.map +1 -0
- package/dist/state_plugins/marginboxes.js +2 -1
- package/dist/state_plugins/marginboxes.js.map +1 -1
- package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
- package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
- package/dist/state_plugins/ordered_list_menu.js +20 -6
- package/dist/state_plugins/ordered_list_menu.js.map +1 -1
- package/dist/state_plugins/placeholders.d.ts +6 -0
- package/dist/state_plugins/placeholders.d.ts.map +1 -0
- package/dist/state_plugins/placeholders.js +18 -54
- package/dist/state_plugins/placeholders.js.map +1 -1
- package/dist/state_plugins/search.d.ts +34 -0
- package/dist/state_plugins/search.d.ts.map +1 -0
- package/dist/state_plugins/search.js +31 -27
- package/dist/state_plugins/search.js.map +1 -1
- package/dist/state_plugins/selection_menu.d.ts +6 -0
- package/dist/state_plugins/selection_menu.d.ts.map +1 -0
- package/dist/state_plugins/selection_menu.js +1 -1
- package/dist/state_plugins/selection_menu.js.map +1 -1
- package/dist/state_plugins/settings.d.ts +8 -0
- package/dist/state_plugins/settings.d.ts.map +1 -0
- package/dist/state_plugins/settings.js +31 -21
- package/dist/state_plugins/settings.js.map +1 -1
- package/dist/state_plugins/table.d.ts +6 -0
- package/dist/state_plugins/table.d.ts.map +1 -0
- package/dist/state_plugins/table.js +33 -13
- package/dist/state_plugins/table.js.map +1 -1
- package/dist/state_plugins/tag_input/index.d.ts +3 -0
- package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/index.js.map +1 -1
- package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
- package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/node_view.js.map +1 -1
- package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
- package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/plugin.js +7 -6
- package/dist/state_plugins/tag_input/plugin.js.map +1 -1
- package/dist/state_plugins/toc_render.d.ts +6 -0
- package/dist/state_plugins/toc_render.d.ts.map +1 -0
- package/dist/state_plugins/toc_render.js +59 -96
- package/dist/state_plugins/toc_render.js.map +1 -1
- package/dist/state_plugins/toolbar.d.ts +6 -0
- package/dist/state_plugins/toolbar.d.ts.map +1 -0
- package/dist/state_plugins/toolbar.js +1 -1
- package/dist/state_plugins/toolbar.js.map +1 -1
- package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
- package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
- package/dist/state_plugins/track/find_selected_changes.js +4 -3
- package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
- package/dist/state_plugins/track/helpers.d.ts +29 -0
- package/dist/state_plugins/track/helpers.d.ts.map +1 -0
- package/dist/state_plugins/track/helpers.js +9 -3
- package/dist/state_plugins/track/helpers.js.map +1 -1
- package/dist/state_plugins/track/index.d.ts +3 -0
- package/dist/state_plugins/track/index.d.ts.map +1 -0
- package/dist/state_plugins/track/index.js.map +1 -1
- package/dist/state_plugins/track/plugin.d.ts +14 -0
- package/dist/state_plugins/track/plugin.d.ts.map +1 -0
- package/dist/state_plugins/track/plugin.js +10 -6
- package/dist/state_plugins/track/plugin.js.map +1 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/key_bindings/index.d.ts +7 -0
- package/dist/tools/key_bindings/index.d.ts.map +1 -0
- package/dist/tools/key_bindings/index.js +1 -3
- package/dist/tools/key_bindings/index.js.map +1 -1
- package/dist/tools/key_bindings/templates.d.ts +2 -0
- package/dist/tools/key_bindings/templates.d.ts.map +1 -0
- package/dist/tools/key_bindings/templates.js.map +1 -1
- package/dist/tools/search_replace/index.d.ts +28 -0
- package/dist/tools/search_replace/index.d.ts.map +1 -0
- package/dist/tools/search_replace/index.js +53 -27
- package/dist/tools/search_replace/index.js.map +1 -1
- package/dist/tools/search_replace/templates.d.ts +6 -0
- package/dist/tools/search_replace/templates.d.ts.map +1 -0
- package/dist/tools/search_replace/templates.js.map +1 -1
- package/dist/tools/word_count/index.d.ts +15 -0
- package/dist/tools/word_count/index.d.ts.map +1 -0
- package/dist/tools/word_count/index.js +2 -1
- package/dist/tools/word_count/index.js.map +1 -1
- package/dist/tools/word_count/templates.d.ts +11 -0
- package/dist/tools/word_count/templates.d.ts.map +1 -0
- package/dist/tools/word_count/templates.js.map +1 -1
- package/dist/track/accept.d.ts +3 -0
- package/dist/track/accept.d.ts.map +1 -0
- package/dist/track/accept.js +10 -5
- package/dist/track/accept.js.map +1 -1
- package/dist/track/accept_all.d.ts +3 -0
- package/dist/track/accept_all.d.ts.map +1 -0
- package/dist/track/accept_all.js +2 -2
- package/dist/track/accept_all.js.map +1 -1
- package/dist/track/accept_all_no_insertions.d.ts +3 -0
- package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
- package/dist/track/accept_all_no_insertions.js +2 -2
- package/dist/track/accept_all_no_insertions.js.map +1 -1
- package/dist/track/amend_transaction.d.ts +5 -0
- package/dist/track/amend_transaction.d.ts.map +1 -0
- package/dist/track/amend_transaction.js +55 -32
- package/dist/track/amend_transaction.js.map +1 -1
- package/dist/track/delete.d.ts +3 -0
- package/dist/track/delete.d.ts.map +1 -0
- package/dist/track/delete.js +4 -3
- package/dist/track/delete.js.map +1 -1
- package/dist/track/index.d.ts +6 -0
- package/dist/track/index.d.ts.map +1 -0
- package/dist/track/index.js.map +1 -1
- package/dist/track/mod.d.ts +10 -0
- package/dist/track/mod.d.ts.map +1 -0
- package/dist/track/mod.js +9 -5
- package/dist/track/mod.js.map +1 -1
- package/dist/track/reject.d.ts +3 -0
- package/dist/track/reject.d.ts.map +1 -0
- package/dist/track/reject.js +14 -5
- package/dist/track/reject.js.map +1 -1
- package/dist/track/reject_all.d.ts +3 -0
- package/dist/track/reject_all.d.ts.map +1 -0
- package/dist/track/reject_all.js +6 -2
- package/dist/track/reject_all.js.map +1 -1
- package/dist/types.d.ts +182 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/package.json +38 -3
- package/src/bibliography/{tools.js → tools.ts} +16 -5
- package/src/citations/{index.js → index.ts} +100 -80
- package/src/citations/{render.js → render.ts} +43 -15
- package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
- package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
- package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
- package/src/clipboard/paste/{general.js → general.ts} +28 -13
- package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
- package/src/clipboard/paste/{html.js → html.ts} +35 -8
- package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
- package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
- package/src/clipboard/paste/{text.js → text.ts} +11 -7
- package/src/collab/{chat.js → chat.ts} +78 -27
- package/src/collab/{colors.js → colors.ts} +21 -5
- package/src/collab/{doc.js → doc.ts} +290 -184
- package/src/collab/{index.js → index.ts} +47 -13
- package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
- package/src/collab/merge/{editor.js → editor.ts} +211 -107
- package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
- package/src/collab/merge/{index.js → index.ts} +147 -70
- package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
- package/src/collab/merge/{schema.js → schema.ts} +55 -35
- package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
- package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
- package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
- package/src/collab/merge/{tools.js → tools.ts} +57 -27
- package/src/collab/{templates.js → templates.ts} +17 -2
- package/src/comments/{comment.js → comment.ts} +26 -0
- package/src/comments/editors/{answer.js → answer.ts} +27 -12
- package/src/comments/editors/{comment.js → comment.ts} +112 -36
- package/src/comments/editors/{notify.js → notify.ts} +6 -1
- package/src/comments/editors/{schema.js → schema.ts} +9 -8
- package/src/comments/index.ts +16 -0
- package/src/comments/{interactions.js → interactions.ts} +150 -89
- package/src/comments/{store.js → store.ts} +149 -73
- package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
- package/src/contacts/{templates.js → templates.ts} +9 -3
- package/src/copyright_dialog/{index.js → index.ts} +92 -57
- package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
- package/src/databases/{bibliography.js → bibliography.ts} +62 -36
- package/src/databases/{images.js → images.ts} +146 -96
- package/src/databases/index.ts +116 -0
- package/src/dialogs/{citation.js → citation.ts} +187 -106
- package/src/dialogs/{code_block.js → code_block.ts} +75 -33
- package/src/dialogs/{contributor.js → contributor.ts} +74 -49
- package/src/dialogs/{figure.js → figure.ts} +250 -149
- package/src/dialogs/{language.js → language.ts} +11 -6
- package/src/dialogs/{link.js → link.ts} +105 -60
- package/src/dialogs/{math.js → math.ts} +56 -28
- package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
- package/src/dialogs/{revision.js → revision.ts} +13 -9
- package/src/dialogs/{subsup.js → subsup.ts} +9 -7
- package/src/dialogs/{table.js → table.ts} +129 -70
- package/src/dialogs/{templates.js → templates.ts} +102 -22
- package/src/document_template/exporter.ts +158 -0
- package/src/document_template/{index.js → index.ts} +158 -117
- package/src/document_template/{schema.js → schema.ts} +31 -28
- package/src/documents/access_rights/{index.js → index.ts} +240 -123
- package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
- package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
- package/src/exporter/native/copy.ts +302 -0
- package/src/exporter/native/{file.js → file.ts} +12 -5
- package/src/exporter/native/{revision.js → revision.ts} +17 -9
- package/src/footnotes/{editor.js → editor.ts} +37 -18
- package/src/footnotes/index.ts +21 -0
- package/src/footnotes/{layout.js → layout.ts} +53 -36
- package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
- package/src/global.d.ts +29 -0
- package/src/images/edit_dialog/{model.js → model.ts} +1 -1
- package/src/{index.js → index.ts} +193 -132
- package/src/{keymap.js → keymap.ts} +36 -16
- package/src/marginboxes/{index.js → index.ts} +341 -171
- package/src/marginboxes/{templates.js → templates.ts} +236 -38
- package/src/menus/code_block/{model.js → model.ts} +16 -5
- package/src/menus/figure/{model.js → model.ts} +21 -16
- package/src/menus/figure/utils.ts +13 -0
- package/src/menus/headerbar/{model.js → model.ts} +243 -153
- package/src/menus/headerbar/{view.js → view.ts} +189 -92
- package/src/menus/image/{model.js → model.ts} +13 -4
- package/src/menus/navigator/{model.js → model.ts} +6 -1
- package/src/menus/ordered_list/{model.js → model.ts} +2 -1
- package/src/menus/selection/{model.js → model.ts} +38 -20
- package/src/menus/selection/{view.js → view.ts} +88 -35
- package/src/menus/table/{model.js → model.ts} +84 -63
- package/src/menus/toolbar/{model.js → model.ts} +267 -215
- package/src/menus/toolbar/{view.js → view.ts} +135 -65
- package/src/modules.d.ts +84 -0
- package/src/navigator/{index.js → index.ts} +90 -56
- package/src/no_collab_save/{index.js → index.ts} +54 -31
- package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
- package/src/state_plugins/citation_render.ts +63 -0
- package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
- package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
- package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
- package/src/state_plugins/{comments.js → comments.ts} +70 -40
- package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
- package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
- package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
- package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
- package/src/state_plugins/{figure.js → figure.ts} +61 -23
- package/src/state_plugins/footnote_markers.ts +142 -0
- package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
- package/src/state_plugins/{index.js → index.ts} +23 -56
- package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
- package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
- package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
- package/src/state_plugins/jump_hidden_nodes.ts +67 -0
- package/src/state_plugins/{links.js → links.ts} +153 -99
- package/src/state_plugins/marginboxes.ts +17 -0
- package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
- package/src/state_plugins/placeholders.ts +78 -0
- package/src/state_plugins/{search.js → search.ts} +110 -48
- package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
- package/src/state_plugins/{settings.js → settings.ts} +68 -39
- package/src/state_plugins/table.ts +169 -0
- package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
- package/src/state_plugins/tag_input/plugin.ts +292 -0
- package/src/state_plugins/toc_render.ts +133 -0
- package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
- package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
- package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
- package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
- package/src/tools/key_bindings/{index.js → index.ts} +7 -3
- package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
- package/src/tools/search_replace/{index.js → index.ts} +115 -69
- package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
- package/src/tools/word_count/{index.js → index.ts} +16 -6
- package/src/tools/word_count/{templates.js → templates.ts} +10 -1
- package/src/track/{accept.js → accept.ts} +20 -9
- package/src/track/{accept_all.js → accept_all.ts} +27 -17
- package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
- package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
- package/src/track/{delete.js → delete.ts} +15 -12
- package/src/track/{mod.js → mod.ts} +51 -32
- package/src/track/{reject.js → reject.ts} +34 -19
- package/src/track/{reject_all.js → reject_all.ts} +44 -24
- package/src/types.ts +214 -0
- package/src/comments/index.js +0 -11
- package/src/databases/index.js +0 -69
- package/src/document_template/exporter.js +0 -97
- package/src/exporter/native/copy.js +0 -191
- package/src/footnotes/index.js +0 -16
- package/src/menus/figure/utils.js +0 -5
- package/src/state_plugins/citation_render.js +0 -88
- package/src/state_plugins/footnote_markers.js +0 -238
- package/src/state_plugins/jump_hidden_nodes.js +0 -58
- package/src/state_plugins/marginboxes.js +0 -14
- package/src/state_plugins/placeholders.js +0 -123
- package/src/state_plugins/table.js +0 -127
- package/src/state_plugins/tag_input/plugin.js +0 -278
- package/src/state_plugins/toc_render.js +0 -160
- /package/src/clipboard/copy/{index.js → index.ts} +0 -0
- /package/src/clipboard/paste/{index.js → index.ts} +0 -0
- /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
- /package/src/comments/editors/{index.js → index.ts} +0 -0
- /package/src/dialogs/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{zip.js → zip.ts} +0 -0
- /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
- /package/src/menus/code_block/{index.js → index.ts} +0 -0
- /package/src/menus/figure/{index.js → index.ts} +0 -0
- /package/src/menus/headerbar/{index.js → index.ts} +0 -0
- /package/src/menus/image/{index.js → index.ts} +0 -0
- /package/src/menus/{index.js → index.ts} +0 -0
- /package/src/menus/navigator/{index.js → index.ts} +0 -0
- /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
- /package/src/menus/selection/{index.js → index.ts} +0 -0
- /package/src/menus/table/{index.js → index.ts} +0 -0
- /package/src/menus/toolbar/{index.js → index.ts} +0 -0
- /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
- /package/src/plugins/editor/{index.js → index.ts} +0 -0
- /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
- /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/track/{index.js → index.ts} +0 -0
- /package/src/tools/{index.js → index.ts} +0 -0
- /package/src/track/{index.js → index.ts} +0 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import {noSpaceTmp} from "fwtoolkit"
|
|
2
|
+
import type {Mark, Node, Schema} from "prosemirror-model"
|
|
2
3
|
import {DOMSerializer} from "prosemirror-model"
|
|
3
4
|
import {NodeSelection, Plugin, PluginKey} from "prosemirror-state"
|
|
5
|
+
import type {EditorState, Transaction} from "prosemirror-state"
|
|
4
6
|
import {Mapping} from "prosemirror-transform"
|
|
5
7
|
import {Decoration, DecorationSet} from "prosemirror-view"
|
|
8
|
+
import type {EditorView} from "prosemirror-view"
|
|
9
|
+
|
|
6
10
|
import {changeSet} from "../changeset.js"
|
|
7
11
|
import {readOnlyFnEditor} from "../footnotes.js"
|
|
8
12
|
import {
|
|
@@ -20,12 +24,37 @@ import {
|
|
|
20
24
|
removeDecoration
|
|
21
25
|
} from "./action.js"
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
interface DiffPluginState {
|
|
28
|
+
baseTr: Transaction | false
|
|
29
|
+
deletionClass: string | false
|
|
30
|
+
decos: DecorationSet
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
interface MergeEditorLike {
|
|
34
|
+
schema: Schema
|
|
35
|
+
cpDoc: Node
|
|
36
|
+
offlineDoc: Node
|
|
37
|
+
onlineDoc: Node
|
|
38
|
+
offlineTr: Transaction
|
|
39
|
+
onlineTr: Transaction
|
|
40
|
+
mergeView1: EditorView
|
|
41
|
+
mergeView2: EditorView
|
|
42
|
+
mergeView3: EditorView
|
|
43
|
+
imageDataModified: Record<string, number>
|
|
44
|
+
offlineTrackedSteps: number[]
|
|
45
|
+
editor: any
|
|
46
|
+
mergedDocMap: Mapping
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function createHiglightDecoration(
|
|
50
|
+
from: number,
|
|
51
|
+
to: number,
|
|
52
|
+
state: EditorState
|
|
53
|
+
): Decoration[] {
|
|
24
54
|
/* Creates a yellow coloured highlight decoration when the user
|
|
25
55
|
tries to look at a change */
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
deco.push(inlineDeco)
|
|
56
|
+
const deco: Decoration[] = []
|
|
57
|
+
deco.push(Decoration.inline(from, to, {class: "selected-dec"}))
|
|
29
58
|
state.doc.nodesBetween(from, to, (node, pos) => {
|
|
30
59
|
if (
|
|
31
60
|
pos < from ||
|
|
@@ -45,26 +74,36 @@ function createHiglightDecoration(from, to, state) {
|
|
|
45
74
|
)
|
|
46
75
|
)
|
|
47
76
|
}
|
|
77
|
+
return true
|
|
48
78
|
})
|
|
49
79
|
return deco
|
|
50
80
|
}
|
|
51
81
|
|
|
52
|
-
function createDeletionHighlight(
|
|
82
|
+
function createDeletionHighlight(
|
|
83
|
+
decos: DecorationSet,
|
|
84
|
+
from: number,
|
|
85
|
+
to: number,
|
|
86
|
+
state: EditorState,
|
|
87
|
+
options: {merge: MergeEditorLike}
|
|
88
|
+
): DecorationSet {
|
|
53
89
|
/* Creates a yellow coloured highlight decoration when the user
|
|
54
90
|
tries to look at a deletion change in offline editor */
|
|
55
91
|
|
|
56
|
-
decos.find(
|
|
57
|
-
const decoId =
|
|
92
|
+
decos.find(undefined, undefined, spec => {
|
|
93
|
+
const decoId = spec.id as number | undefined
|
|
58
94
|
if (decoId !== undefined) {
|
|
59
95
|
const specDecoration = options.merge.mergeView2.dom.querySelector(
|
|
60
|
-
|
|
96
|
+
`[data-decoid="${decoId}"]`
|
|
61
97
|
)
|
|
62
|
-
const parentEl = specDecoration
|
|
63
|
-
parentEl
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
const parentEl = specDecoration?.closest(".deletion-decoration")
|
|
99
|
+
if (parentEl) {
|
|
100
|
+
parentEl.querySelectorAll(".online-deleted").forEach(ele => {
|
|
101
|
+
ele.classList.add("selected-dec")
|
|
102
|
+
ele.classList.add("deletion-highlight")
|
|
103
|
+
})
|
|
104
|
+
}
|
|
67
105
|
}
|
|
106
|
+
return false
|
|
68
107
|
})
|
|
69
108
|
const inlineDeco = Decoration.inline(
|
|
70
109
|
from,
|
|
@@ -72,7 +111,7 @@ function createDeletionHighlight(decos, from, to, state, options) {
|
|
|
72
111
|
{class: "selected-dec"},
|
|
73
112
|
{type: "deletion-highlight"}
|
|
74
113
|
)
|
|
75
|
-
const deco = []
|
|
114
|
+
const deco: Decoration[] = []
|
|
76
115
|
deco.push(inlineDeco)
|
|
77
116
|
state.doc.nodesBetween(from, to, (node, pos) => {
|
|
78
117
|
if (
|
|
@@ -93,11 +132,12 @@ function createDeletionHighlight(decos, from, to, state, options) {
|
|
|
93
132
|
)
|
|
94
133
|
)
|
|
95
134
|
}
|
|
135
|
+
return true
|
|
96
136
|
})
|
|
97
|
-
|
|
98
|
-
return decos
|
|
137
|
+
return decos.add(state.doc, deco)
|
|
99
138
|
}
|
|
100
|
-
|
|
139
|
+
|
|
140
|
+
function createLinkDropUp(mark: Mark): HTMLElement {
|
|
101
141
|
const dom = document.createElement("span")
|
|
102
142
|
dom.classList.add("link-drop-up-outer")
|
|
103
143
|
dom.innerHTML = noSpaceTmp`
|
|
@@ -108,15 +148,19 @@ function createLinkDropUp(mark) {
|
|
|
108
148
|
return dom
|
|
109
149
|
}
|
|
110
150
|
|
|
111
|
-
function getDecos(
|
|
151
|
+
function getDecos(
|
|
152
|
+
decos: DecorationSet,
|
|
153
|
+
merge: MergeEditorLike,
|
|
154
|
+
state: EditorState
|
|
155
|
+
): DecorationSet {
|
|
112
156
|
/* Creates PM deco for the change popup */
|
|
113
157
|
const $head = state.selection.$head
|
|
114
|
-
const currentMarks = []
|
|
115
|
-
|
|
158
|
+
const currentMarks: Mark[] = []
|
|
159
|
+
const diffMark = $head.marks().find(mark => mark.type.name === "diffdata")
|
|
116
160
|
const linkMark = $head.marks().find(mark => mark.type.name === "link")
|
|
117
161
|
|
|
118
162
|
decos = decos.remove(
|
|
119
|
-
decos.find(
|
|
163
|
+
decos.find(undefined, undefined, spec => {
|
|
120
164
|
if (spec.type && spec.type == "deletion") {
|
|
121
165
|
return false
|
|
122
166
|
} else {
|
|
@@ -133,34 +177,47 @@ function getDecos(decos, merge, state) {
|
|
|
133
177
|
state.selection instanceof NodeSelection
|
|
134
178
|
? state.selection.node
|
|
135
179
|
: state.selection.$head.parent
|
|
136
|
-
const markFound
|
|
180
|
+
const markFound: {
|
|
181
|
+
attrs?: {
|
|
182
|
+
diff?: string
|
|
183
|
+
from?: number
|
|
184
|
+
to?: number
|
|
185
|
+
steps?: string
|
|
186
|
+
}
|
|
187
|
+
} = {}
|
|
137
188
|
if (node && node.attrs.diffdata && node.attrs.diffdata.length > 0) {
|
|
138
|
-
markFound
|
|
139
|
-
markFound
|
|
140
|
-
markFound
|
|
141
|
-
markFound
|
|
142
|
-
markFound
|
|
189
|
+
markFound.attrs = {}
|
|
190
|
+
markFound.attrs.diff = node.attrs.diffdata[0].type as string
|
|
191
|
+
markFound.attrs.from = node.attrs.diffdata[0].from as number
|
|
192
|
+
markFound.attrs.to = node.attrs.diffdata[0].to as number
|
|
193
|
+
markFound.attrs.steps = JSON.stringify(
|
|
143
194
|
node.attrs.diffdata[0].steps
|
|
144
195
|
)
|
|
145
196
|
|
|
146
197
|
const startPos = $head.pos // position of block start.
|
|
147
|
-
const dom = createDropUp(
|
|
198
|
+
const dom = createDropUp(
|
|
199
|
+
merge,
|
|
200
|
+
markFound as unknown as Mark,
|
|
201
|
+
linkMark
|
|
202
|
+
),
|
|
148
203
|
deco = Decoration.widget(startPos, dom)
|
|
149
204
|
const highlightDecos = createHiglightDecoration(
|
|
150
|
-
markFound
|
|
151
|
-
markFound
|
|
205
|
+
markFound.attrs.from,
|
|
206
|
+
markFound.attrs.to,
|
|
152
207
|
state
|
|
153
208
|
)
|
|
154
209
|
highlightDecos.push(deco)
|
|
155
210
|
return decos.add(state.doc, highlightDecos)
|
|
156
211
|
} else if (node.marks.find(mark => mark.type.name == "diffdata")) {
|
|
157
|
-
const
|
|
212
|
+
const foundMark = node.marks.find(
|
|
213
|
+
mark => mark.type.name == "diffdata"
|
|
214
|
+
)!
|
|
158
215
|
const startPos = $head.pos // position of block start.
|
|
159
|
-
const dom = createDropUp(merge,
|
|
216
|
+
const dom = createDropUp(merge, foundMark, linkMark),
|
|
160
217
|
deco = Decoration.widget(startPos, dom)
|
|
161
218
|
const highlightDecos = createHiglightDecoration(
|
|
162
|
-
|
|
163
|
-
|
|
219
|
+
foundMark.attrs.from as number,
|
|
220
|
+
foundMark.attrs.to as number,
|
|
164
221
|
state
|
|
165
222
|
)
|
|
166
223
|
highlightDecos.push(deco)
|
|
@@ -173,34 +230,43 @@ function getDecos(decos, merge, state) {
|
|
|
173
230
|
}
|
|
174
231
|
return decos
|
|
175
232
|
}
|
|
176
|
-
|
|
233
|
+
if (!diffMark) {
|
|
234
|
+
return decos
|
|
235
|
+
}
|
|
236
|
+
const startPos = diffMark.attrs.to as number
|
|
177
237
|
const dom = createDropUp(merge, diffMark, linkMark),
|
|
178
238
|
deco = Decoration.widget(startPos, dom)
|
|
179
239
|
const highlightDecos = createHiglightDecoration(
|
|
180
|
-
diffMark.attrs.from,
|
|
181
|
-
diffMark.attrs.to,
|
|
240
|
+
diffMark.attrs.from as number,
|
|
241
|
+
diffMark.attrs.to as number,
|
|
182
242
|
state
|
|
183
243
|
)
|
|
184
244
|
highlightDecos.push(deco)
|
|
185
245
|
return decos.add(state.doc, highlightDecos)
|
|
186
246
|
}
|
|
187
247
|
|
|
188
|
-
function deletionDecorations(
|
|
248
|
+
function deletionDecorations(
|
|
249
|
+
decos: DecorationSet,
|
|
250
|
+
merge: MergeEditorLike,
|
|
251
|
+
doc: Node,
|
|
252
|
+
tr: Transaction,
|
|
253
|
+
deletionClass: string
|
|
254
|
+
): DecorationSet {
|
|
189
255
|
let index = 0
|
|
190
|
-
let stepsTrackedByChangeset = []
|
|
256
|
+
let stepsTrackedByChangeset: number[] = []
|
|
191
257
|
const changeset = new changeSet(tr).getChangeSet(),
|
|
192
258
|
schema = merge.schema,
|
|
193
259
|
commonDoc = merge.cpDoc,
|
|
194
260
|
mapping = tr.mapping
|
|
195
261
|
changeset.changes.forEach(change => {
|
|
196
262
|
if (change.deleted.length > 0) {
|
|
197
|
-
|
|
263
|
+
const dom = document.createElement("span")
|
|
198
264
|
const slice = commonDoc.slice(change.fromA, change.toA)
|
|
199
265
|
|
|
200
266
|
// Apply the marks before trying to serialize!!!!
|
|
201
|
-
let stepsInvolved = []
|
|
267
|
+
let stepsInvolved: number[] = []
|
|
202
268
|
change.deleted.forEach(deletion =>
|
|
203
|
-
stepsInvolved.push(Number.parseInt(deletion.data.step))
|
|
269
|
+
stepsInvolved.push(Number.parseInt(String(deletion.data.step)))
|
|
204
270
|
)
|
|
205
271
|
const stepsSet = new Set(stepsInvolved)
|
|
206
272
|
stepsInvolved = Array.from(stepsSet)
|
|
@@ -222,33 +288,39 @@ function deletionDecorations(decos, merge, doc, tr, deletionClass) {
|
|
|
222
288
|
|
|
223
289
|
// Parse HTML to accomodate minor changes
|
|
224
290
|
if (deletedContent.querySelector("tr,td")) {
|
|
225
|
-
|
|
226
|
-
|
|
291
|
+
const tbody = document.createElement("tbody")
|
|
292
|
+
tbody.appendChild(deletedContent)
|
|
293
|
+
dom.appendChild(tbody)
|
|
227
294
|
} else {
|
|
228
295
|
dom.appendChild(deletedContent)
|
|
229
296
|
}
|
|
230
297
|
dom.querySelectorAll("span.footnote-marker").forEach(
|
|
231
298
|
footnoteElement => {
|
|
232
|
-
const newFnElement = readOnlyFnEditor(
|
|
299
|
+
const newFnElement = readOnlyFnEditor(
|
|
300
|
+
footnoteElement as HTMLElement
|
|
301
|
+
)
|
|
233
302
|
newFnElement.classList.add("deleted-footnote-element")
|
|
234
303
|
newFnElement.classList.add(deletionClass)
|
|
235
|
-
footnoteElement.parentNode
|
|
304
|
+
footnoteElement.parentNode!.appendChild(newFnElement)
|
|
236
305
|
footnoteElement.remove()
|
|
237
306
|
}
|
|
238
307
|
)
|
|
239
308
|
dom.classList.add("deletion-decoration")
|
|
240
|
-
dom.dataset.delfrom = change.fromA
|
|
241
|
-
dom.dataset.delto = change.toA
|
|
309
|
+
dom.dataset.delfrom = String(change.fromA)
|
|
310
|
+
dom.dataset.delto = String(change.toA)
|
|
242
311
|
|
|
243
312
|
const dropUp = createDropUp(merge, deletionMark, undefined)
|
|
244
|
-
dropUp.dataset.decoid = index
|
|
313
|
+
dropUp.dataset.decoid = String(index)
|
|
245
314
|
dropUp.style.display = "none"
|
|
246
315
|
dom.appendChild(dropUp)
|
|
247
316
|
|
|
248
317
|
// Put decoration in proper place. In case of a footnote change, the original content
|
|
249
318
|
// is put first, decoration is shown after the content
|
|
250
319
|
let pos = mapping.map(change.fromA)
|
|
251
|
-
if (
|
|
320
|
+
if (
|
|
321
|
+
(change as any).lenA == (change as any).lenB &&
|
|
322
|
+
stepsInvolved.length == 1
|
|
323
|
+
) {
|
|
252
324
|
const JSONSlice = slice.toJSON()
|
|
253
325
|
if (
|
|
254
326
|
JSONSlice.content &&
|
|
@@ -265,27 +337,32 @@ function deletionDecorations(decos, merge, doc, tr, deletionClass) {
|
|
|
265
337
|
}
|
|
266
338
|
})
|
|
267
339
|
if (deletionClass == "offline-deleted") {
|
|
268
|
-
merge.offlineTrackedSteps =
|
|
269
|
-
stepsTrackedByChangeset
|
|
270
|
-
)
|
|
340
|
+
merge.offlineTrackedSteps =
|
|
341
|
+
merge.offlineTrackedSteps.concat(stepsTrackedByChangeset)
|
|
271
342
|
}
|
|
272
343
|
return decos
|
|
273
344
|
}
|
|
274
345
|
|
|
275
|
-
function createDropUp(
|
|
346
|
+
function createDropUp(
|
|
347
|
+
merge: MergeEditorLike,
|
|
348
|
+
diffMark: Mark,
|
|
349
|
+
linkMark: Mark | undefined
|
|
350
|
+
): HTMLElement {
|
|
276
351
|
/* The actual function that creates a drop up */
|
|
277
|
-
const dropUp = document.createElement("span")
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
352
|
+
const dropUp = document.createElement("span")
|
|
353
|
+
const requiredPx = 10
|
|
354
|
+
const tr =
|
|
355
|
+
String(diffMark.attrs.diff).search("offline") != -1
|
|
356
|
+
? merge.offlineTr
|
|
357
|
+
: merge.onlineTr
|
|
358
|
+
const trType =
|
|
359
|
+
String(diffMark.attrs.diff).search("offline") != -1
|
|
360
|
+
? "offline"
|
|
361
|
+
: "online"
|
|
362
|
+
const opType =
|
|
363
|
+
String(diffMark.attrs.diff).search("inserted") != -1
|
|
364
|
+
? "insertion"
|
|
365
|
+
: "deletion"
|
|
289
366
|
let textToBeDisplayed = ""
|
|
290
367
|
|
|
291
368
|
if (diffMark.attrs.markOnly) {
|
|
@@ -305,7 +382,7 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
305
382
|
}
|
|
306
383
|
}
|
|
307
384
|
}
|
|
308
|
-
|
|
385
|
+
const safeLinkMark = linkMark === undefined ? false : linkMark
|
|
309
386
|
dropUp.classList.add("drop-up-outer")
|
|
310
387
|
dropUp.innerHTML = noSpaceTmp`
|
|
311
388
|
<div class="link drop-up-inner" style="top: -${requiredPx}px;">
|
|
@@ -318,13 +395,13 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
318
395
|
: ""
|
|
319
396
|
}
|
|
320
397
|
${
|
|
321
|
-
|
|
322
|
-
? `<div> Link : ${
|
|
398
|
+
safeLinkMark
|
|
399
|
+
? `<div> Link : ${safeLinkMark.attrs.href}</div>`
|
|
323
400
|
: ""
|
|
324
401
|
}
|
|
325
402
|
${
|
|
326
|
-
|
|
327
|
-
? `<div> Type : ${
|
|
403
|
+
safeLinkMark
|
|
404
|
+
? `<div> Type : ${safeLinkMark.attrs.href[0] == "#" ? "internal" : "external"}</div>`
|
|
328
405
|
: ""
|
|
329
406
|
}
|
|
330
407
|
</div>
|
|
@@ -353,13 +430,16 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
353
430
|
if (opType == "insertion") {
|
|
354
431
|
dispatchRemoveDiffdata(
|
|
355
432
|
merge.mergeView2,
|
|
356
|
-
diffMark.attrs.from,
|
|
357
|
-
diffMark.attrs.to
|
|
433
|
+
diffMark.attrs.from as number,
|
|
434
|
+
diffMark.attrs.to as number
|
|
358
435
|
)
|
|
359
436
|
} else {
|
|
360
437
|
// remove online deletion decoration
|
|
361
438
|
const decorationId = dropUp.dataset.decoid
|
|
362
|
-
removeDecoration(
|
|
439
|
+
removeDecoration(
|
|
440
|
+
merge.mergeView2,
|
|
441
|
+
decorationId as string
|
|
442
|
+
)
|
|
363
443
|
}
|
|
364
444
|
} else {
|
|
365
445
|
if (opType == "insertion") {
|
|
@@ -373,14 +453,19 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
373
453
|
} else {
|
|
374
454
|
// remove offline deletion decoration
|
|
375
455
|
const decorationId = dropUp.dataset.decoid
|
|
376
|
-
if (
|
|
456
|
+
if (
|
|
457
|
+
deleteContent(merge, merge.mergeView2, diffMark)
|
|
458
|
+
) {
|
|
377
459
|
merge.mergeView2.dispatch(
|
|
378
460
|
merge.mergeView2.state.tr.setMeta(
|
|
379
461
|
"removeHighlight",
|
|
380
462
|
true
|
|
381
463
|
)
|
|
382
464
|
)
|
|
383
|
-
removeDecoration(
|
|
465
|
+
removeDecoration(
|
|
466
|
+
merge.mergeView3,
|
|
467
|
+
decorationId as string
|
|
468
|
+
)
|
|
384
469
|
}
|
|
385
470
|
}
|
|
386
471
|
}
|
|
@@ -394,7 +479,7 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
394
479
|
|
|
395
480
|
// Handle merge failure
|
|
396
481
|
merge.editor.mod.collab.doc.merge.handleMergeFailure(
|
|
397
|
-
error,
|
|
482
|
+
error as Error,
|
|
398
483
|
offlineDoc,
|
|
399
484
|
onlineDoc,
|
|
400
485
|
merge
|
|
@@ -420,8 +505,8 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
420
505
|
)
|
|
421
506
|
dispatchRemoveDiffdata(
|
|
422
507
|
merge.mergeView2,
|
|
423
|
-
diffMark.attrs.from,
|
|
424
|
-
diffMark.attrs.to
|
|
508
|
+
diffMark.attrs.from as number,
|
|
509
|
+
diffMark.attrs.to as number
|
|
425
510
|
)
|
|
426
511
|
} else {
|
|
427
512
|
deleteContent(
|
|
@@ -441,23 +526,31 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
441
526
|
)
|
|
442
527
|
) {
|
|
443
528
|
const decorationId = dropUp.dataset.decoid
|
|
444
|
-
removeDecoration(
|
|
529
|
+
removeDecoration(
|
|
530
|
+
merge.mergeView2,
|
|
531
|
+
decorationId as string
|
|
532
|
+
)
|
|
445
533
|
}
|
|
446
534
|
}
|
|
447
535
|
} else {
|
|
448
536
|
if (opType == "insertion") {
|
|
449
537
|
dispatchRemoveDiffdata(
|
|
450
538
|
merge.mergeView3,
|
|
451
|
-
diffMark.attrs.from,
|
|
452
|
-
diffMark.attrs.to
|
|
539
|
+
diffMark.attrs.from as number,
|
|
540
|
+
diffMark.attrs.to as number
|
|
453
541
|
)
|
|
454
542
|
} else {
|
|
455
543
|
// remove offline deletion decoration
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
"deletion-decoration"
|
|
544
|
+
const target = event.target as HTMLElement
|
|
545
|
+
const parentEl = target.closest(
|
|
546
|
+
".deletion-decoration"
|
|
459
547
|
)
|
|
460
|
-
|
|
548
|
+
if (!parentEl) {
|
|
549
|
+
return
|
|
550
|
+
}
|
|
551
|
+
parentEl.classList.remove("offline-deleted")
|
|
552
|
+
parentEl.classList.remove("deletion-decoration")
|
|
553
|
+
parentEl
|
|
461
554
|
.querySelectorAll(".offline-deleted")
|
|
462
555
|
.forEach(ele => {
|
|
463
556
|
ele.classList.remove("offline-deleted")
|
|
@@ -482,7 +575,7 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
482
575
|
|
|
483
576
|
// Handle merge failure
|
|
484
577
|
merge.editor.mod.collab.doc.merge.handleMergeFailure(
|
|
485
|
-
error,
|
|
578
|
+
error as Error,
|
|
486
579
|
offlineDoc,
|
|
487
580
|
onlineDoc,
|
|
488
581
|
merge
|
|
@@ -500,28 +593,28 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
500
593
|
if (opType == "insertion") {
|
|
501
594
|
copyChange(
|
|
502
595
|
merge.mergeView2,
|
|
503
|
-
diffMark.attrs.from,
|
|
504
|
-
diffMark.attrs.to
|
|
596
|
+
diffMark.attrs.from as number,
|
|
597
|
+
diffMark.attrs.to as number
|
|
505
598
|
)
|
|
506
599
|
} else {
|
|
507
600
|
copyChange(
|
|
508
601
|
merge.mergeView1,
|
|
509
|
-
diffMark.attrs.from,
|
|
510
|
-
diffMark.attrs.to
|
|
602
|
+
diffMark.attrs.from as number,
|
|
603
|
+
diffMark.attrs.to as number
|
|
511
604
|
)
|
|
512
605
|
}
|
|
513
606
|
} else {
|
|
514
607
|
if (opType == "insertion") {
|
|
515
608
|
copyChange(
|
|
516
609
|
merge.mergeView3,
|
|
517
|
-
diffMark.attrs.from,
|
|
518
|
-
diffMark.attrs.to
|
|
610
|
+
diffMark.attrs.from as number,
|
|
611
|
+
diffMark.attrs.to as number
|
|
519
612
|
)
|
|
520
613
|
} else {
|
|
521
614
|
copyChange(
|
|
522
615
|
merge.mergeView1,
|
|
523
|
-
diffMark.attrs.from,
|
|
524
|
-
diffMark.attrs.to
|
|
616
|
+
diffMark.attrs.from as number,
|
|
617
|
+
diffMark.attrs.to as number
|
|
525
618
|
)
|
|
526
619
|
}
|
|
527
620
|
}
|
|
@@ -530,30 +623,31 @@ function createDropUp(merge, diffMark, linkMark) {
|
|
|
530
623
|
return dropUp
|
|
531
624
|
}
|
|
532
625
|
|
|
533
|
-
export const key = new PluginKey("mergeDiff")
|
|
626
|
+
export const key = new PluginKey<DiffPluginState>("mergeDiff")
|
|
534
627
|
|
|
535
|
-
export const diffPlugin = options =>
|
|
536
|
-
new Plugin({
|
|
628
|
+
export const diffPlugin = (options: {merge: MergeEditorLike}) =>
|
|
629
|
+
new Plugin<DiffPluginState>({
|
|
537
630
|
key,
|
|
538
631
|
state: {
|
|
539
|
-
init(
|
|
540
|
-
let baseTr = false
|
|
541
|
-
let deletionClass = false
|
|
632
|
+
init(config): DiffPluginState {
|
|
633
|
+
let baseTr: Transaction | false = false
|
|
634
|
+
let deletionClass: string | false = false
|
|
542
635
|
let decos = DecorationSet.empty
|
|
543
|
-
|
|
636
|
+
const doc = config.doc
|
|
637
|
+
if (doc?.eq(options.merge.offlineDoc)) {
|
|
544
638
|
baseTr = options.merge.offlineTr
|
|
545
639
|
deletionClass = "offline-deleted"
|
|
546
|
-
} else if (
|
|
640
|
+
} else if (doc?.eq(options.merge.onlineDoc)) {
|
|
547
641
|
baseTr = options.merge.onlineTr
|
|
548
642
|
deletionClass = "online-deleted"
|
|
549
643
|
}
|
|
550
|
-
if (baseTr) {
|
|
644
|
+
if (baseTr && doc) {
|
|
551
645
|
decos = deletionDecorations(
|
|
552
646
|
decos,
|
|
553
647
|
options.merge,
|
|
554
|
-
|
|
648
|
+
doc,
|
|
555
649
|
baseTr,
|
|
556
|
-
deletionClass
|
|
650
|
+
deletionClass as string
|
|
557
651
|
)
|
|
558
652
|
}
|
|
559
653
|
return {
|
|
@@ -562,17 +656,18 @@ export const diffPlugin = options =>
|
|
|
562
656
|
decos: decos
|
|
563
657
|
}
|
|
564
658
|
},
|
|
565
|
-
apply(tr, _prev, oldState, state) {
|
|
566
|
-
|
|
567
|
-
|
|
659
|
+
apply(tr, _prev, oldState, state): DiffPluginState {
|
|
660
|
+
const oldPluginState = key.getState(oldState)!
|
|
661
|
+
let {decos} = oldPluginState
|
|
662
|
+
const {baseTr, deletionClass} = oldPluginState
|
|
568
663
|
|
|
569
|
-
|
|
664
|
+
let newDecos = getDecos(decos, options.merge, state)
|
|
570
665
|
|
|
571
666
|
if (tr.getMeta("removeHighlight")) {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
667
|
+
newDecos = newDecos.remove(
|
|
668
|
+
newDecos.find(
|
|
669
|
+
undefined,
|
|
670
|
+
undefined,
|
|
576
671
|
spec => spec.type == "deletion-highlight"
|
|
577
672
|
)
|
|
578
673
|
)
|
|
@@ -589,12 +684,19 @@ export const diffPlugin = options =>
|
|
|
589
684
|
const decorationId = Number.parseInt(
|
|
590
685
|
tr.getMeta("decorationId")
|
|
591
686
|
)
|
|
592
|
-
|
|
593
|
-
|
|
687
|
+
newDecos = newDecos.remove(
|
|
688
|
+
newDecos.find(
|
|
689
|
+
undefined,
|
|
690
|
+
undefined,
|
|
691
|
+
spec => spec.id == decorationId
|
|
692
|
+
)
|
|
594
693
|
)
|
|
595
694
|
}
|
|
596
695
|
if (tr.getMeta("highlight")) {
|
|
597
|
-
const data = tr.getMeta("highlight")
|
|
696
|
+
const data = tr.getMeta("highlight") as {
|
|
697
|
+
from: string
|
|
698
|
+
to: string
|
|
699
|
+
}
|
|
598
700
|
const from = options.merge.mergedDocMap.map(
|
|
599
701
|
Number.parseInt(data.from)
|
|
600
702
|
)
|
|
@@ -602,8 +704,8 @@ export const diffPlugin = options =>
|
|
|
602
704
|
Number.parseInt(data.to)
|
|
603
705
|
)
|
|
604
706
|
if (from && to) {
|
|
605
|
-
|
|
606
|
-
|
|
707
|
+
newDecos = createDeletionHighlight(
|
|
708
|
+
newDecos,
|
|
607
709
|
from,
|
|
608
710
|
to,
|
|
609
711
|
state,
|
|
@@ -615,14 +717,14 @@ export const diffPlugin = options =>
|
|
|
615
717
|
if (tr.getMeta("initialDiffMap")) {
|
|
616
718
|
// If it is initial diffMap we update mark data
|
|
617
719
|
// So no need to update the deco's position.
|
|
618
|
-
|
|
720
|
+
newDecos = newDecos.map(new Mapping(), tr.doc)
|
|
619
721
|
} else {
|
|
620
|
-
|
|
722
|
+
newDecos = newDecos.map(tr.mapping, tr.doc)
|
|
621
723
|
}
|
|
622
724
|
return {
|
|
623
725
|
baseTr: baseTr,
|
|
624
726
|
deletionClass: deletionClass,
|
|
625
|
-
decos:
|
|
727
|
+
decos: newDecos
|
|
626
728
|
}
|
|
627
729
|
}
|
|
628
730
|
},
|
|
@@ -630,7 +732,6 @@ export const diffPlugin = options =>
|
|
|
630
732
|
handleClick: (view, _pos, event) => {
|
|
631
733
|
const $pos = view.state.doc.resolve(_pos)
|
|
632
734
|
if (
|
|
633
|
-
$pos.node &&
|
|
634
735
|
$pos.parent &&
|
|
635
736
|
$pos.parent.type.name == "figure"
|
|
636
737
|
) {
|
|
@@ -647,73 +748,79 @@ export const diffPlugin = options =>
|
|
|
647
748
|
const delDeco = view.dom.querySelectorAll(
|
|
648
749
|
".offline-deleted,.online-deleted"
|
|
649
750
|
)
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
)
|
|
654
|
-
}
|
|
751
|
+
delDeco.forEach(item =>
|
|
752
|
+
item.classList.remove("selected-dec")
|
|
753
|
+
)
|
|
655
754
|
const delPopUp = view.dom.querySelectorAll(
|
|
656
755
|
".deletion-decoration .drop-up-outer"
|
|
657
756
|
)
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
757
|
+
delPopUp.forEach(
|
|
758
|
+
popUp => ((popUp as HTMLElement).style.display = "none")
|
|
759
|
+
)
|
|
661
760
|
const delFnToolTip = view.dom.querySelectorAll(
|
|
662
761
|
".deleted-footnote-element"
|
|
663
762
|
)
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
)
|
|
669
|
-
}
|
|
763
|
+
delFnToolTip.forEach(tooltip =>
|
|
764
|
+
((tooltip.childNodes[0] as HTMLElement).style.display =
|
|
765
|
+
"none")
|
|
766
|
+
)
|
|
670
767
|
options.merge.mergeView2.dispatch(
|
|
671
768
|
options.merge.mergeView2.state.tr.setMeta(
|
|
672
769
|
"removeHighlight",
|
|
673
770
|
true
|
|
674
771
|
)
|
|
675
772
|
)
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
)
|
|
773
|
+
const target = event.target as HTMLElement
|
|
774
|
+
const offlineDeleted = target.closest(".offline-deleted")
|
|
775
|
+
if (offlineDeleted) {
|
|
776
|
+
const parentEl = target.closest(".deletion-decoration")
|
|
777
|
+
if (!parentEl) {
|
|
778
|
+
return false
|
|
779
|
+
}
|
|
680
780
|
const highlightEle =
|
|
681
781
|
parentEl.querySelectorAll(".offline-deleted")
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
"block"
|
|
782
|
+
highlightEle.forEach(ele =>
|
|
783
|
+
ele.classList.add("selected-dec")
|
|
784
|
+
)
|
|
785
|
+
;(
|
|
786
|
+
parentEl.querySelector(".drop-up-outer") as HTMLElement
|
|
787
|
+
).style.display = "block"
|
|
689
788
|
|
|
690
789
|
// Add a decoration to highlight decoration to the online/merged view
|
|
691
790
|
options.merge.mergeView2.dispatch(
|
|
692
791
|
options.merge.mergeView2.state.tr.setMeta("highlight", {
|
|
693
|
-
from: parentEl.dataset.delfrom,
|
|
694
|
-
to: parentEl.dataset.delto
|
|
792
|
+
from: (parentEl as HTMLElement).dataset.delfrom,
|
|
793
|
+
to: (parentEl as HTMLElement).dataset.delto
|
|
695
794
|
})
|
|
696
795
|
)
|
|
697
|
-
} else
|
|
698
|
-
const
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
796
|
+
} else {
|
|
797
|
+
const onlineDeleted = target.closest(".online-deleted")
|
|
798
|
+
if (onlineDeleted) {
|
|
799
|
+
const parentEl = target.closest(".deletion-decoration")
|
|
800
|
+
if (!parentEl) {
|
|
801
|
+
return false
|
|
802
|
+
}
|
|
803
|
+
const highlightEle =
|
|
804
|
+
parentEl.querySelectorAll(".online-deleted")
|
|
704
805
|
highlightEle.forEach(ele =>
|
|
705
806
|
ele.classList.add("selected-dec")
|
|
706
807
|
)
|
|
808
|
+
;(
|
|
809
|
+
parentEl.querySelector(
|
|
810
|
+
".drop-up-outer"
|
|
811
|
+
) as HTMLElement
|
|
812
|
+
).style.display = "block"
|
|
707
813
|
}
|
|
708
|
-
parentEl.querySelector(".drop-up-outer").style.display =
|
|
709
|
-
"block"
|
|
710
814
|
}
|
|
711
|
-
if (
|
|
712
|
-
|
|
815
|
+
if (target.matches(".deleted-footnote-element")) {
|
|
816
|
+
;(
|
|
817
|
+
target.childNodes[0] as HTMLElement
|
|
818
|
+
).style.display = "block"
|
|
713
819
|
}
|
|
820
|
+
return false
|
|
714
821
|
},
|
|
715
822
|
decorations(state) {
|
|
716
|
-
const {decos} =
|
|
823
|
+
const {decos} = key.getState(state)!
|
|
717
824
|
return decos
|
|
718
825
|
}
|
|
719
826
|
},
|
|
@@ -721,11 +828,14 @@ export const diffPlugin = options =>
|
|
|
721
828
|
return {
|
|
722
829
|
update: view => {
|
|
723
830
|
// Make sure that pop stays inside the view.
|
|
724
|
-
const changePopUp = view.dom.querySelector(
|
|
831
|
+
const changePopUp = view.dom.querySelector(
|
|
832
|
+
".drop-up-outer"
|
|
833
|
+
) as HTMLElement | null
|
|
725
834
|
if (changePopUp) {
|
|
726
835
|
const bounding = changePopUp.getBoundingClientRect()
|
|
727
|
-
const dialogBox =
|
|
728
|
-
|
|
836
|
+
const dialogBox = document.querySelector(
|
|
837
|
+
"#editor-merge-view"
|
|
838
|
+
) as HTMLElement | null
|
|
729
839
|
if (dialogBox) {
|
|
730
840
|
if (
|
|
731
841
|
bounding.right > dialogBox.offsetWidth ||
|
|
@@ -741,11 +851,12 @@ export const diffPlugin = options =>
|
|
|
741
851
|
// Make sure that the deletion decoration footnote stays inside the view
|
|
742
852
|
const footnote = view.dom.querySelector(
|
|
743
853
|
".offline-deleted.deleted-footnote-element .footnote-tooltip"
|
|
744
|
-
)
|
|
854
|
+
) as HTMLElement | null
|
|
745
855
|
if (footnote) {
|
|
746
856
|
const bounding = footnote.getBoundingClientRect()
|
|
747
|
-
const dialogBox =
|
|
748
|
-
|
|
857
|
+
const dialogBox = document.querySelector(
|
|
858
|
+
"#editor-merge-view"
|
|
859
|
+
) as HTMLElement | null
|
|
749
860
|
if (dialogBox) {
|
|
750
861
|
if (
|
|
751
862
|
bounding.right > dialogBox.offsetWidth ||
|