@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,4 +1,5 @@
|
|
|
1
1
|
import {BIBLIOGRAPHY_HEADERS} from "@fiduswriter/document/schema/i18n"
|
|
2
|
+
import type {BibDB, ImageDB} from "@fiduswriter/document"
|
|
2
3
|
import {
|
|
3
4
|
Dialog,
|
|
4
5
|
activateWait,
|
|
@@ -13,19 +14,24 @@ import {dropCursor} from "prosemirror-dropcursor"
|
|
|
13
14
|
import {buildKeymap} from "prosemirror-example-setup"
|
|
14
15
|
import {gapCursor} from "prosemirror-gapcursor"
|
|
15
16
|
import {keymap} from "prosemirror-keymap"
|
|
17
|
+
import type {Node, Schema} from "prosemirror-model"
|
|
16
18
|
import {EditorState} from "prosemirror-state"
|
|
19
|
+
import type {Transaction} from "prosemirror-state"
|
|
17
20
|
import {
|
|
18
21
|
AddMarkStep,
|
|
19
22
|
Mapping,
|
|
20
23
|
RemoveMarkStep,
|
|
21
24
|
ReplaceAroundStep,
|
|
22
|
-
ReplaceStep
|
|
25
|
+
ReplaceStep,
|
|
26
|
+
Step
|
|
23
27
|
} from "prosemirror-transform"
|
|
24
28
|
import {EditorView} from "prosemirror-view"
|
|
29
|
+
|
|
25
30
|
import {RenderCitations} from "../../citations/render.js"
|
|
26
31
|
import {buildEditorKeymap} from "../../keymap.js"
|
|
27
32
|
import {jumpHiddenNodesPlugin, searchPlugin} from "../../state_plugins/index.js"
|
|
28
33
|
import {trackedTransaction} from "../../track/index.js"
|
|
34
|
+
import type {Editor} from "../../types.js"
|
|
29
35
|
import {changeSet} from "./changeset.js"
|
|
30
36
|
import {FootnoteView} from "./footnotes.js"
|
|
31
37
|
import {recreateTransform} from "./recreate_transform.js"
|
|
@@ -39,7 +45,34 @@ import {
|
|
|
39
45
|
} from "./tools.js"
|
|
40
46
|
|
|
41
47
|
export class MergeEditor {
|
|
42
|
-
|
|
48
|
+
editor: Editor
|
|
49
|
+
schema: Schema
|
|
50
|
+
cpDoc: Node
|
|
51
|
+
offlineDoc: Node
|
|
52
|
+
onlineDoc: Node
|
|
53
|
+
offlineTr: Transaction
|
|
54
|
+
onlineTr: Transaction
|
|
55
|
+
mergeDialog: Dialog
|
|
56
|
+
warningDialog: Dialog | false
|
|
57
|
+
db: {bibliography: BibDB; images: ImageDB}
|
|
58
|
+
mergedDocMap: Mapping
|
|
59
|
+
mergeView1: EditorView
|
|
60
|
+
mergeView2: EditorView
|
|
61
|
+
mergeView3: EditorView
|
|
62
|
+
imageDataModified: Record<string, number>
|
|
63
|
+
offlineTrackedSteps: number[]
|
|
64
|
+
diffEditorPlugins: Array<[any, ((doc: Node) => any)?]>
|
|
65
|
+
offStepsNotTracked: Step[]
|
|
66
|
+
|
|
67
|
+
constructor(
|
|
68
|
+
editor: Editor,
|
|
69
|
+
cpDoc: Node,
|
|
70
|
+
offlineDoc: Node,
|
|
71
|
+
onlineDoc: Node,
|
|
72
|
+
offlineTr: Transaction,
|
|
73
|
+
onlineTr: Transaction,
|
|
74
|
+
db: {bibliography: BibDB; images: ImageDB}
|
|
75
|
+
) {
|
|
43
76
|
this.editor = editor
|
|
44
77
|
this.schema = createDiffSchema(editor.schema)
|
|
45
78
|
this.cpDoc = this.schema.nodeFromJSON(cpDoc.toJSON())
|
|
@@ -55,12 +88,13 @@ export class MergeEditor {
|
|
|
55
88
|
this.db = db
|
|
56
89
|
this.mergedDocMap = this.onlineTr.mapping // the maps of the middle editor, used for applying steps automatically
|
|
57
90
|
|
|
58
|
-
this.mergeView1 =
|
|
59
|
-
this.mergeView2 =
|
|
60
|
-
this.mergeView3 =
|
|
91
|
+
this.mergeView1 = null as unknown as EditorView
|
|
92
|
+
this.mergeView2 = null as unknown as EditorView
|
|
93
|
+
this.mergeView3 = null as unknown as EditorView
|
|
61
94
|
this.imageDataModified = {} // To hold data related to re-uploaded images.
|
|
62
95
|
|
|
63
96
|
this.offlineTrackedSteps = []
|
|
97
|
+
this.offStepsNotTracked = []
|
|
64
98
|
|
|
65
99
|
this.diffEditorPlugins = [
|
|
66
100
|
[diffPlugin, () => ({merge: this})],
|
|
@@ -78,13 +112,15 @@ export class MergeEditor {
|
|
|
78
112
|
]
|
|
79
113
|
|
|
80
114
|
// assign image DB & BibDB to be used in document schema.
|
|
81
|
-
this.schema
|
|
82
|
-
|
|
115
|
+
const schemaCached = (this.schema as any).cached
|
|
116
|
+
schemaCached.bibDB = this.editor.mod.db!.bibDB
|
|
117
|
+
schemaCached.imageDB = this.editor.mod.db!.imageDB
|
|
83
118
|
// Carry over the encrypted-image decryption handler.
|
|
84
|
-
|
|
119
|
+
schemaCached.decryptImage = (this.editor.schema as any).cached
|
|
120
|
+
?.decryptImage
|
|
85
121
|
}
|
|
86
122
|
|
|
87
|
-
init() {
|
|
123
|
+
init(): void {
|
|
88
124
|
/* Create the diff editors */
|
|
89
125
|
ensureCSS([staticUrl("css/merge.css")])
|
|
90
126
|
// Activate wait overlay
|
|
@@ -103,8 +139,12 @@ export class MergeEditor {
|
|
|
103
139
|
this.offlineDoc
|
|
104
140
|
)
|
|
105
141
|
|
|
106
|
-
const offlineChangeset = new changeSet(
|
|
107
|
-
|
|
142
|
+
const offlineChangeset = new changeSet(
|
|
143
|
+
this.offlineTr as unknown as Transaction
|
|
144
|
+
).getChangeSet()
|
|
145
|
+
const onlineChangeset = new changeSet(
|
|
146
|
+
this.onlineTr as unknown as Transaction
|
|
147
|
+
).getChangeSet()
|
|
108
148
|
|
|
109
149
|
// Unhide All Sections in All the 3 views
|
|
110
150
|
this.unHideSectionsinAllDoc()
|
|
@@ -151,7 +191,7 @@ export class MergeEditor {
|
|
|
151
191
|
this.updateDB(this.offlineDoc, this.db) // Updating the editor DB is one-time operation.
|
|
152
192
|
}
|
|
153
193
|
|
|
154
|
-
createMergeDialog(offlineTr, onlineDoc) {
|
|
194
|
+
createMergeDialog(offlineTr: Transaction, onlineDoc: Node): Dialog {
|
|
155
195
|
const buttons = [
|
|
156
196
|
{
|
|
157
197
|
text: gettext("Merge Complete"),
|
|
@@ -172,7 +212,7 @@ export class MergeEditor {
|
|
|
172
212
|
classes: "fw-dark",
|
|
173
213
|
click: () => {
|
|
174
214
|
this.startMerge(offlineTr, onlineDoc)
|
|
175
|
-
this.warningDialog.close()
|
|
215
|
+
;(this.warningDialog as Dialog).close()
|
|
176
216
|
}
|
|
177
217
|
}
|
|
178
218
|
]
|
|
@@ -238,7 +278,7 @@ export class MergeEditor {
|
|
|
238
278
|
mergeImage: `<img src="${staticUrl("img/accept_change.avif")}" class="merge-img">`
|
|
239
279
|
},
|
|
240
280
|
{hasImage: true}
|
|
241
|
-
],
|
|
281
|
+
] as any,
|
|
242
282
|
[
|
|
243
283
|
gettext(
|
|
244
284
|
"I cannot accept a particular change. What do I do?"
|
|
@@ -272,7 +312,7 @@ export class MergeEditor {
|
|
|
272
312
|
"What happens if I try to complete merge without resolving all the changes?"
|
|
273
313
|
),
|
|
274
314
|
gettext(
|
|
275
|
-
"You will receive a warning when you try to complete a merge without accepting or rejecting all the changes. You can still proceed to merge the document. If you do that, all the insertions and deletions in the merge editor in the middle will be accepted automatically, and all the insertions and deletions in the offline editor on the right will be ignored."
|
|
315
|
+
"You will receive a warning when you try to complete a merge without accepting or rejecting all of the changes. You can still proceed to merge the document. If you do that, all the insertions and deletions in the merge editor in the middle will be accepted automatically, and all the insertions and deletions in the offline editor on the right will be ignored."
|
|
276
316
|
)
|
|
277
317
|
]
|
|
278
318
|
]
|
|
@@ -284,7 +324,7 @@ export class MergeEditor {
|
|
|
284
324
|
return dialog
|
|
285
325
|
}
|
|
286
326
|
|
|
287
|
-
checkResolution() {
|
|
327
|
+
checkResolution(): boolean {
|
|
288
328
|
/* To Check if all the diffs are resolved */
|
|
289
329
|
const offlineVersionDoc = this.mergeView3.state.doc,
|
|
290
330
|
mergedVersionDoc = this.mergeView2.state.doc
|
|
@@ -310,6 +350,7 @@ export class MergeEditor {
|
|
|
310
350
|
if (node.attrs.diffdata && node.attrs.diffdata.length > 0) {
|
|
311
351
|
diffAttrPresent = true
|
|
312
352
|
}
|
|
353
|
+
return true
|
|
313
354
|
}
|
|
314
355
|
)
|
|
315
356
|
mergedVersionDoc.nodesBetween(
|
|
@@ -319,6 +360,7 @@ export class MergeEditor {
|
|
|
319
360
|
if (node.attrs.diffdata && node.attrs.diffdata.length > 0) {
|
|
320
361
|
diffAttrPresent = true
|
|
321
362
|
}
|
|
363
|
+
return true
|
|
322
364
|
}
|
|
323
365
|
)
|
|
324
366
|
if (
|
|
@@ -333,26 +375,32 @@ export class MergeEditor {
|
|
|
333
375
|
return false
|
|
334
376
|
}
|
|
335
377
|
|
|
336
|
-
markChangesinDiffEditor(
|
|
378
|
+
markChangesinDiffEditor(
|
|
379
|
+
changeset: {changes: readonly any[]},
|
|
380
|
+
view: EditorView,
|
|
381
|
+
insertionClass: string,
|
|
382
|
+
tr: Transaction
|
|
383
|
+
): number[] {
|
|
337
384
|
/* This marks all the changes in the diff editor */
|
|
338
385
|
// Mark the insertions in insertion View & deletions in deletionView
|
|
339
386
|
const insertionMarksTr = view.state.tr
|
|
340
|
-
let stepsTrackedByChangeset = []
|
|
387
|
+
let stepsTrackedByChangeset: number[] = []
|
|
341
388
|
// Use the changeset to create the marks
|
|
342
389
|
changeset.changes.forEach(change => {
|
|
343
390
|
if (change.inserted.length > 0) {
|
|
344
|
-
let stepsInvolved = []
|
|
345
|
-
change.inserted.forEach(insertion =>
|
|
346
|
-
stepsInvolved.push(Number.parseInt(insertion.data.step))
|
|
391
|
+
let stepsInvolved: number[] = []
|
|
392
|
+
change.inserted.forEach((insertion: {data: {step: number}}) =>
|
|
393
|
+
stepsInvolved.push(Number.parseInt(String(insertion.data.step)))
|
|
347
394
|
)
|
|
348
395
|
const stepsSet = new Set(stepsInvolved)
|
|
349
396
|
stepsInvolved = Array.from(stepsSet)
|
|
350
397
|
|
|
351
398
|
// Add the footnote related steps because the changeset tracks change but misses some steps related to insertion of footnote node!
|
|
352
399
|
tr.steps.forEach((step, index) => {
|
|
400
|
+
const stepAny = step as any
|
|
353
401
|
if (
|
|
354
|
-
|
|
355
|
-
|
|
402
|
+
stepAny.from >= change.fromB &&
|
|
403
|
+
stepAny.to <= change.toB &&
|
|
356
404
|
step instanceof ReplaceStep &&
|
|
357
405
|
!stepsInvolved.includes(index)
|
|
358
406
|
) {
|
|
@@ -367,8 +415,8 @@ export class MergeEditor {
|
|
|
367
415
|
stepsInvolved.push(index)
|
|
368
416
|
}
|
|
369
417
|
} else if (
|
|
370
|
-
|
|
371
|
-
|
|
418
|
+
stepAny.from >= change.fromB &&
|
|
419
|
+
stepAny.to <= change.toB &&
|
|
372
420
|
step instanceof AddMarkStep &&
|
|
373
421
|
!stepsInvolved.includes(index)
|
|
374
422
|
) {
|
|
@@ -425,8 +473,9 @@ export class MergeEditor {
|
|
|
425
473
|
|
|
426
474
|
// Add all the footnote/mark/citation related steps that are not tracked by changeset.
|
|
427
475
|
tr.steps.forEach((step, index) => {
|
|
428
|
-
const
|
|
429
|
-
const
|
|
476
|
+
const stepAny = step as any
|
|
477
|
+
const from = tr.mapping.slice(index).map(stepAny.from)
|
|
478
|
+
const to = tr.mapping.slice(index).map(stepAny.to, -1)
|
|
430
479
|
if (
|
|
431
480
|
step instanceof ReplaceStep &&
|
|
432
481
|
!stepsTrackedByChangeset.includes(index)
|
|
@@ -460,10 +509,7 @@ export class MergeEditor {
|
|
|
460
509
|
})
|
|
461
510
|
insertionMarksTr.addMark(from, to, insertionMark)
|
|
462
511
|
stepsTrackedByChangeset.push(index)
|
|
463
|
-
} else if (
|
|
464
|
-
stepOne.slice &&
|
|
465
|
-
stepOne.slice.content[0].type === "figure"
|
|
466
|
-
) {
|
|
512
|
+
} else if (stepOne.slice.content[0].type === "figure") {
|
|
467
513
|
if (stepOne.from == stepOne.to) {
|
|
468
514
|
this.markBlockDiffs(
|
|
469
515
|
insertionMarksTr,
|
|
@@ -489,7 +535,7 @@ export class MergeEditor {
|
|
|
489
535
|
!stepsTrackedByChangeset.includes(index)
|
|
490
536
|
) {
|
|
491
537
|
const stepOne = step.toJSON(),
|
|
492
|
-
stepsInvolved = []
|
|
538
|
+
stepsInvolved: number[] = []
|
|
493
539
|
stepsInvolved.push(index)
|
|
494
540
|
if (
|
|
495
541
|
stepOne.mark &&
|
|
@@ -499,6 +545,7 @@ export class MergeEditor {
|
|
|
499
545
|
) {
|
|
500
546
|
tr.steps.forEach((trStep, trIndex) => {
|
|
501
547
|
// Check for other format changes within this range.
|
|
548
|
+
const trStepAny = trStep as any
|
|
502
549
|
if (
|
|
503
550
|
(trStep instanceof AddMarkStep ||
|
|
504
551
|
trStep instanceof RemoveMarkStep) &&
|
|
@@ -506,10 +553,10 @@ export class MergeEditor {
|
|
|
506
553
|
) {
|
|
507
554
|
const mapFrom = tr.mapping
|
|
508
555
|
.slice(trIndex)
|
|
509
|
-
.map(
|
|
556
|
+
.map(trStepAny.from)
|
|
510
557
|
const mapTo = tr.mapping
|
|
511
558
|
.slice(trIndex)
|
|
512
|
-
.map(
|
|
559
|
+
.map(trStepAny.to)
|
|
513
560
|
if (
|
|
514
561
|
mapFrom >= from &&
|
|
515
562
|
mapTo <= to &&
|
|
@@ -574,7 +621,7 @@ export class MergeEditor {
|
|
|
574
621
|
return stepsTrackedByChangeset
|
|
575
622
|
}
|
|
576
623
|
|
|
577
|
-
bindEditorView(elementId, doc) {
|
|
624
|
+
bindEditorView(elementId: string, doc: Node): EditorView {
|
|
578
625
|
/* Binds the editor view */
|
|
579
626
|
const plugins = this.diffEditorPlugins.map(plugin => {
|
|
580
627
|
if (plugin[1]) {
|
|
@@ -583,10 +630,10 @@ export class MergeEditor {
|
|
|
583
630
|
return plugin[0]()
|
|
584
631
|
}
|
|
585
632
|
})
|
|
586
|
-
let editorView
|
|
633
|
+
let editorView: EditorView
|
|
587
634
|
const mainEditor = this.editor
|
|
588
635
|
if (elementId == "editor-diff-online") {
|
|
589
|
-
editorView = new EditorView(document.getElementById(elementId)
|
|
636
|
+
editorView = new EditorView(document.getElementById(elementId)!, {
|
|
590
637
|
state: EditorState.create({
|
|
591
638
|
schema: this.schema,
|
|
592
639
|
doc: doc,
|
|
@@ -607,11 +654,8 @@ export class MergeEditor {
|
|
|
607
654
|
this.mergeView2.state,
|
|
608
655
|
this.editor.user,
|
|
609
656
|
!this.mergeView2.state.doc.attrs.tracked &&
|
|
610
|
-
![
|
|
611
|
-
|
|
612
|
-
"review-tracked"
|
|
613
|
-
].includes(
|
|
614
|
-
this.editor.docInfo.access_rights
|
|
657
|
+
!["write-tracked", "review-tracked"].includes(
|
|
658
|
+
this.editor.docInfo.access_rights as string
|
|
615
659
|
),
|
|
616
660
|
Date.now() - this.editor.clientTimeAdjustment
|
|
617
661
|
)
|
|
@@ -623,12 +667,17 @@ export class MergeEditor {
|
|
|
623
667
|
},
|
|
624
668
|
nodeViews: {
|
|
625
669
|
footnote(node, view, getPos) {
|
|
626
|
-
return new FootnoteView(
|
|
670
|
+
return new FootnoteView(
|
|
671
|
+
node,
|
|
672
|
+
view,
|
|
673
|
+
getPos as () => number,
|
|
674
|
+
mainEditor
|
|
675
|
+
)
|
|
627
676
|
}
|
|
628
677
|
}
|
|
629
678
|
})
|
|
630
679
|
} else {
|
|
631
|
-
editorView = new EditorView(document.getElementById(elementId)
|
|
680
|
+
editorView = new EditorView(document.getElementById(elementId)!, {
|
|
632
681
|
state: EditorState.create({
|
|
633
682
|
schema: this.schema,
|
|
634
683
|
doc: doc,
|
|
@@ -642,7 +691,12 @@ export class MergeEditor {
|
|
|
642
691
|
editable: () => false,
|
|
643
692
|
nodeViews: {
|
|
644
693
|
footnote(node, view, getPos) {
|
|
645
|
-
return new FootnoteView(
|
|
694
|
+
return new FootnoteView(
|
|
695
|
+
node,
|
|
696
|
+
view,
|
|
697
|
+
getPos as () => number,
|
|
698
|
+
mainEditor
|
|
699
|
+
)
|
|
646
700
|
}
|
|
647
701
|
}
|
|
648
702
|
})
|
|
@@ -650,22 +704,22 @@ export class MergeEditor {
|
|
|
650
704
|
return editorView
|
|
651
705
|
}
|
|
652
706
|
|
|
653
|
-
renderCitation(view, elementId) {
|
|
707
|
+
renderCitation(view: EditorView, elementId: string): void {
|
|
654
708
|
const settings = view.state.doc.attrs,
|
|
655
709
|
bibliographyHeader =
|
|
656
710
|
settings.bibliography_header[settings.language] ||
|
|
657
|
-
BIBLIOGRAPHY_HEADERS[settings.language]
|
|
711
|
+
(BIBLIOGRAPHY_HEADERS as Record<string, string>)[settings.language]
|
|
658
712
|
const citRenderer = new RenderCitations(
|
|
659
|
-
document.getElementById(elementId)
|
|
713
|
+
document.getElementById(elementId)!,
|
|
660
714
|
settings.citationstyle,
|
|
661
715
|
bibliographyHeader,
|
|
662
|
-
this.editor.mod.db
|
|
716
|
+
this.editor.mod.db!.bibDB,
|
|
663
717
|
this.editor.app.csl
|
|
664
718
|
)
|
|
665
719
|
citRenderer.init()
|
|
666
720
|
}
|
|
667
721
|
|
|
668
|
-
startMerge(offlineTr, onlineDoc) {
|
|
722
|
+
startMerge(offlineTr: Transaction, onlineDoc: Node): void {
|
|
669
723
|
try {
|
|
670
724
|
/* start the merge process of moving changes to the editor */
|
|
671
725
|
// Remove all diff related marks
|
|
@@ -692,7 +746,11 @@ export class MergeEditor {
|
|
|
692
746
|
) {
|
|
693
747
|
this.mergedDocMap.appendMap(mappedMarkStep.getMap())
|
|
694
748
|
offlineRebaseMapping.appendMap(mappedMarkStep.getMap())
|
|
695
|
-
|
|
749
|
+
;(
|
|
750
|
+
offlineRebaseMapping as unknown as {
|
|
751
|
+
setMirror(a: number, b: number): void
|
|
752
|
+
}
|
|
753
|
+
).setMirror(
|
|
696
754
|
offlineTr.steps.length - stepIndex - 1,
|
|
697
755
|
offlineTr.steps.length +
|
|
698
756
|
this.mergedDocMap.maps.length -
|
|
@@ -720,8 +778,8 @@ export class MergeEditor {
|
|
|
720
778
|
)
|
|
721
779
|
|
|
722
780
|
// Handle merge failure
|
|
723
|
-
this.editor.mod.collab.doc.merge.handleMergeFailure(
|
|
724
|
-
error,
|
|
781
|
+
;(this.editor.mod.collab as any).doc.merge.handleMergeFailure(
|
|
782
|
+
error as Error,
|
|
725
783
|
offlineDoc,
|
|
726
784
|
onlineDoc,
|
|
727
785
|
this
|
|
@@ -729,26 +787,26 @@ export class MergeEditor {
|
|
|
729
787
|
}
|
|
730
788
|
}
|
|
731
789
|
|
|
732
|
-
unHideSections(view) {
|
|
790
|
+
unHideSections(view: EditorView): void {
|
|
733
791
|
const unHideSectionTr = view.state.tr
|
|
734
792
|
view.state.doc.forEach((child, offset, _index) => {
|
|
735
793
|
if (child.attrs.optional) {
|
|
736
794
|
const attrs = Object.assign({}, child.attrs, {hidden: false})
|
|
737
|
-
unHideSectionTr.setNodeMarkup(offset,
|
|
795
|
+
unHideSectionTr.setNodeMarkup(offset, null, attrs)
|
|
738
796
|
}
|
|
739
797
|
})
|
|
740
798
|
unHideSectionTr.setMeta("notrack", true).setMeta("mapAppended", true)
|
|
741
799
|
view.dispatch(unHideSectionTr)
|
|
742
800
|
}
|
|
743
801
|
|
|
744
|
-
unHideSectionsinAllDoc() {
|
|
802
|
+
unHideSectionsinAllDoc(): void {
|
|
745
803
|
/* Unhide all the optional sections */
|
|
746
804
|
this.unHideSections(this.mergeView1)
|
|
747
805
|
this.unHideSections(this.mergeView2)
|
|
748
806
|
this.unHideSections(this.mergeView3)
|
|
749
807
|
}
|
|
750
808
|
|
|
751
|
-
applyChangesToMainEditor(onlineDoc, mergedDoc) {
|
|
809
|
+
applyChangesToMainEditor(onlineDoc: Node, mergedDoc: Node): void {
|
|
752
810
|
/* Applies the change from diff editor to main editor */
|
|
753
811
|
onlineDoc = this.editor.schema.nodeFromJSON(
|
|
754
812
|
removeDiffFromJson(onlineDoc.toJSON())
|
|
@@ -756,15 +814,19 @@ export class MergeEditor {
|
|
|
756
814
|
mergedDoc = this.editor.schema.nodeFromJSON(
|
|
757
815
|
removeDiffFromJson(mergedDoc.toJSON())
|
|
758
816
|
)
|
|
759
|
-
const tr = simplifyTransform(
|
|
817
|
+
const tr = simplifyTransform(
|
|
818
|
+
recreateTransform(onlineDoc, mergedDoc) as unknown as Transaction
|
|
819
|
+
)
|
|
760
820
|
const OnlineStepsLost = recreateTransform(
|
|
761
821
|
onlineDoc,
|
|
762
822
|
this.editor.view.state.doc
|
|
763
823
|
)
|
|
764
|
-
const onlineStepsLostChangeset = new changeSet(
|
|
824
|
+
const onlineStepsLostChangeset = new changeSet(
|
|
825
|
+
OnlineStepsLost as unknown as Transaction
|
|
826
|
+
)
|
|
765
827
|
const conflicts = onlineStepsLostChangeset.findConflicts(
|
|
766
828
|
tr,
|
|
767
|
-
OnlineStepsLost
|
|
829
|
+
OnlineStepsLost as unknown as Transaction
|
|
768
830
|
)
|
|
769
831
|
if (conflicts.length > 0) {
|
|
770
832
|
const editor = new MergeEditor(
|
|
@@ -773,14 +835,14 @@ export class MergeEditor {
|
|
|
773
835
|
tr.doc,
|
|
774
836
|
OnlineStepsLost.doc,
|
|
775
837
|
tr,
|
|
776
|
-
OnlineStepsLost,
|
|
838
|
+
OnlineStepsLost as unknown as Transaction,
|
|
777
839
|
this.db
|
|
778
840
|
)
|
|
779
841
|
editor.init()
|
|
780
842
|
} else {
|
|
781
843
|
const newTr = this.editor.view.state.tr
|
|
782
844
|
const maps = new Mapping(
|
|
783
|
-
[]
|
|
845
|
+
([] as import("prosemirror-transform").StepMap[])
|
|
784
846
|
.concat(
|
|
785
847
|
tr.mapping.maps
|
|
786
848
|
.slice()
|
|
@@ -793,7 +855,11 @@ export class MergeEditor {
|
|
|
793
855
|
const mapped = step.map(maps.slice(tr.steps.length - index))
|
|
794
856
|
if (mapped && !newTr.maybeStep(mapped).failed) {
|
|
795
857
|
maps.appendMap(mapped.getMap())
|
|
796
|
-
|
|
858
|
+
;(
|
|
859
|
+
maps as unknown as {
|
|
860
|
+
setMirror(a: number, b: number): void
|
|
861
|
+
}
|
|
862
|
+
).setMirror(
|
|
797
863
|
tr.steps.length - index - 1,
|
|
798
864
|
tr.steps.length +
|
|
799
865
|
OnlineStepsLost.steps.length +
|
|
@@ -805,16 +871,16 @@ export class MergeEditor {
|
|
|
805
871
|
newTr.setMeta("remote", true)
|
|
806
872
|
|
|
807
873
|
// Re-render the fn editor for all the users.
|
|
808
|
-
this.editor.mod.collab.doc.footnoteRender = true
|
|
874
|
+
;(this.editor.mod.collab as any).doc.footnoteRender = true
|
|
809
875
|
|
|
810
876
|
this.editor.view.dispatch(newTr)
|
|
811
|
-
this.editor.mod.footnotes.fnEditor.renderAllFootnotes()
|
|
877
|
+
;(this.editor.mod.footnotes as any).fnEditor.renderAllFootnotes()
|
|
812
878
|
}
|
|
813
879
|
}
|
|
814
880
|
|
|
815
|
-
findNotTrackedSteps(tr, trackedSteps) {
|
|
881
|
+
findNotTrackedSteps(tr: Transaction, trackedSteps: number[]): Step[] {
|
|
816
882
|
/* Find steps not tracked by PM, usually steps that cause change of attrs */
|
|
817
|
-
const nonTrackedSteps = []
|
|
883
|
+
const nonTrackedSteps: Step[] = []
|
|
818
884
|
tr.steps.forEach((step, index) => {
|
|
819
885
|
// mark steps other than replace steps as not tracked if not tracked by changeset
|
|
820
886
|
// these steps should effectively only be the node attrs change steps.
|
|
@@ -830,7 +896,13 @@ export class MergeEditor {
|
|
|
830
896
|
return nonTrackedSteps
|
|
831
897
|
}
|
|
832
898
|
|
|
833
|
-
markBlockDiffs(
|
|
899
|
+
markBlockDiffs(
|
|
900
|
+
tr: Transaction,
|
|
901
|
+
from: number,
|
|
902
|
+
to: number,
|
|
903
|
+
difftype: string,
|
|
904
|
+
stepsInvolved: number[]
|
|
905
|
+
): void {
|
|
834
906
|
/* This Function is used to add diff data to Block Elements. */
|
|
835
907
|
tr.doc.nodesBetween(from, to, (node, pos) => {
|
|
836
908
|
if (
|
|
@@ -842,7 +914,12 @@ export class MergeEditor {
|
|
|
842
914
|
return false
|
|
843
915
|
}
|
|
844
916
|
if (node.attrs.diffdata) {
|
|
845
|
-
const diffdata
|
|
917
|
+
const diffdata: Array<{
|
|
918
|
+
type: string
|
|
919
|
+
from: number
|
|
920
|
+
to: number
|
|
921
|
+
steps: number[]
|
|
922
|
+
}> = []
|
|
846
923
|
diffdata.push({
|
|
847
924
|
type: difftype,
|
|
848
925
|
from: from,
|
|
@@ -856,20 +933,36 @@ export class MergeEditor {
|
|
|
856
933
|
node.marks
|
|
857
934
|
)
|
|
858
935
|
}
|
|
936
|
+
return true
|
|
859
937
|
})
|
|
860
938
|
}
|
|
861
939
|
|
|
862
|
-
updateDB(
|
|
940
|
+
updateDB(
|
|
941
|
+
offlineDoc: Node,
|
|
942
|
+
db: {bibliography: BibDB; images: ImageDB}
|
|
943
|
+
): void {
|
|
863
944
|
/* Used to update the image,bib DB and update the doc in case if missing/lost images
|
|
864
945
|
(update the image data with re-uploaded images) */
|
|
865
|
-
let usedImages = []
|
|
866
|
-
const usedBibs = []
|
|
867
|
-
const footnoteFind = (
|
|
946
|
+
let usedImages: (number | string)[] = []
|
|
947
|
+
const usedBibs: (number | string)[] = []
|
|
948
|
+
const footnoteFind = (
|
|
949
|
+
node: {
|
|
950
|
+
name?: string
|
|
951
|
+
attrs?: {
|
|
952
|
+
references?: {id: string | number}[]
|
|
953
|
+
image?: number | string
|
|
954
|
+
footnote?: any[]
|
|
955
|
+
}
|
|
956
|
+
content?: any[]
|
|
957
|
+
},
|
|
958
|
+
usedImages: (number | string)[],
|
|
959
|
+
usedBibs: (number | string)[]
|
|
960
|
+
) => {
|
|
868
961
|
if (node.name === "citation") {
|
|
869
|
-
node.attrs
|
|
870
|
-
usedBibs.push(Number.parseInt(ref.id))
|
|
962
|
+
node.attrs?.references?.forEach(ref =>
|
|
963
|
+
usedBibs.push(Number.parseInt(String(ref.id)))
|
|
871
964
|
)
|
|
872
|
-
} else if (node.name === "image" && node.attrs
|
|
965
|
+
} else if (node.name === "image" && node.attrs?.image) {
|
|
873
966
|
usedImages.push(node.attrs.image)
|
|
874
967
|
} else if (node.content) {
|
|
875
968
|
node.content.forEach(subNode =>
|
|
@@ -879,54 +972,65 @@ export class MergeEditor {
|
|
|
879
972
|
}
|
|
880
973
|
|
|
881
974
|
// Looking at rebased doc so that it contains the merged document !!!
|
|
882
|
-
offlineDoc.descendants(node => {
|
|
975
|
+
offlineDoc.descendants((node: Node) => {
|
|
883
976
|
if (node.type.name === "citation") {
|
|
884
|
-
node.attrs.references.forEach(
|
|
885
|
-
|
|
977
|
+
node.attrs.references.forEach(
|
|
978
|
+
(ref: {id: string | number}) => {
|
|
979
|
+
usedBibs.push(Number.parseInt(String(ref.id)))
|
|
980
|
+
}
|
|
886
981
|
)
|
|
887
982
|
} else if (node.type.name === "image" && node.attrs.image) {
|
|
888
983
|
usedImages.push(node.attrs.image)
|
|
889
|
-
} else if (
|
|
890
|
-
node.
|
|
891
|
-
|
|
984
|
+
} else if (
|
|
985
|
+
node.type.name === "footnote" &&
|
|
986
|
+
node.attrs.footnote
|
|
987
|
+
) {
|
|
988
|
+
node.attrs.footnote.forEach((subNode: unknown) =>
|
|
989
|
+
footnoteFind(subNode as any, usedImages, usedBibs)
|
|
892
990
|
)
|
|
893
991
|
}
|
|
894
992
|
})
|
|
895
993
|
|
|
896
|
-
const oldBibDB = this.editor.mod.db
|
|
897
|
-
this.editor.mod.db
|
|
994
|
+
const oldBibDB = this.editor.mod.db!.bibDB.db
|
|
995
|
+
this.editor.mod.db!.bibDB.setDB(db.bibliography)
|
|
898
996
|
usedBibs.forEach(id => {
|
|
899
|
-
if (!this.editor.mod.db
|
|
900
|
-
this.editor.mod.db
|
|
997
|
+
if (!this.editor.mod.db!.bibDB.db[id] && oldBibDB[id]) {
|
|
998
|
+
;(this.editor.mod.db!.bibDB as any).updateReference(
|
|
999
|
+
id,
|
|
1000
|
+
oldBibDB[id]
|
|
1001
|
+
)
|
|
901
1002
|
}
|
|
902
1003
|
})
|
|
903
|
-
const oldImageDB = this.editor.mod.db
|
|
1004
|
+
const oldImageDB = this.editor.mod.db!.imageDB.db
|
|
904
1005
|
let imageUploadFailDialogShown = false
|
|
905
|
-
this.editor.mod.db
|
|
906
|
-
|
|
907
|
-
usedImages = Array.from(usedImages)
|
|
908
|
-
usedImages.forEach(id => {
|
|
909
|
-
if (!this.editor.mod.db
|
|
1006
|
+
this.editor.mod.db!.imageDB.setDB(db.images)
|
|
1007
|
+
// Remove the Duplicated image ID's
|
|
1008
|
+
usedImages = Array.from(new Set(usedImages))
|
|
1009
|
+
;(usedImages as unknown as number[]).forEach(id => {
|
|
1010
|
+
if (!this.editor.mod.db!.imageDB.db[id] && oldImageDB[id]) {
|
|
910
1011
|
// If the image was uploaded by the offline user we know that he may not have deleted it so we can resend it normally
|
|
911
1012
|
if (
|
|
912
1013
|
Object.keys(this.editor.app.imageDB.db).includes(String(id))
|
|
913
1014
|
) {
|
|
914
|
-
this.editor.mod.db
|
|
1015
|
+
;(this.editor.mod.db!.imageDB as any).setImage(
|
|
1016
|
+
id as number,
|
|
1017
|
+
oldImageDB[id]
|
|
1018
|
+
)
|
|
915
1019
|
} else {
|
|
916
1020
|
// If the image was uploaded by someone else, to set the image we have to reupload it again as there is backend check to associate who can add an image with the image owner.
|
|
917
|
-
this.editor.mod.db
|
|
1021
|
+
;(this.editor.mod.db!.imageDB as any)
|
|
918
1022
|
.reUploadImage(
|
|
919
|
-
id,
|
|
920
|
-
oldImageDB[id].image,
|
|
921
|
-
oldImageDB[id].title,
|
|
1023
|
+
id as number,
|
|
1024
|
+
String(oldImageDB[id].image),
|
|
1025
|
+
String(oldImageDB[id].title),
|
|
922
1026
|
oldImageDB[id].copyright
|
|
923
1027
|
)
|
|
924
1028
|
.then(
|
|
925
|
-
({id, newId}) => {
|
|
1029
|
+
({id, newId}: {id: number; newId: number}) => {
|
|
926
1030
|
this.imageDataModified[id] = newId
|
|
927
1031
|
// Update the image node if there are any re uploaded images.
|
|
928
1032
|
this.mergeView1.state.doc.descendants(
|
|
929
|
-
(node, pos) => {
|
|
1033
|
+
(node: Node, pos: number) => {
|
|
930
1034
|
if (
|
|
931
1035
|
node.type.name === "image" &&
|
|
932
1036
|
node.attrs.image == id
|
|
@@ -934,7 +1038,7 @@ export class MergeEditor {
|
|
|
934
1038
|
const attrs = Object.assign(
|
|
935
1039
|
{},
|
|
936
1040
|
node.attrs
|
|
937
|
-
)
|
|
1041
|
+
) as Record<string, any>
|
|
938
1042
|
attrs["image"] = newId
|
|
939
1043
|
const nodeType =
|
|
940
1044
|
this.mergeView1.state.schema
|
|
@@ -956,7 +1060,7 @@ export class MergeEditor {
|
|
|
956
1060
|
}
|
|
957
1061
|
)
|
|
958
1062
|
this.mergeView3.state.doc.descendants(
|
|
959
|
-
(node, pos) => {
|
|
1063
|
+
(node: Node, pos: number) => {
|
|
960
1064
|
if (
|
|
961
1065
|
node.type.name === "image" &&
|
|
962
1066
|
node.attrs.image == id
|
|
@@ -964,7 +1068,7 @@ export class MergeEditor {
|
|
|
964
1068
|
const attrs = Object.assign(
|
|
965
1069
|
{},
|
|
966
1070
|
node.attrs
|
|
967
|
-
)
|
|
1071
|
+
) as Record<string, any>
|
|
968
1072
|
attrs["image"] = newId
|
|
969
1073
|
const nodeType =
|
|
970
1074
|
this.mergeView3.state.schema
|
|
@@ -986,10 +1090,10 @@ export class MergeEditor {
|
|
|
986
1090
|
}
|
|
987
1091
|
)
|
|
988
1092
|
},
|
|
989
|
-
id => {
|
|
1093
|
+
(id: number) => {
|
|
990
1094
|
// In case of failure make the id as false so the failed upload image is empty for the offline user too!
|
|
991
1095
|
this.mergeView1.state.doc.descendants(
|
|
992
|
-
(node, pos) => {
|
|
1096
|
+
(node: Node, pos: number) => {
|
|
993
1097
|
if (
|
|
994
1098
|
node.type.name === "image" &&
|
|
995
1099
|
node.attrs.image == id
|
|
@@ -997,7 +1101,7 @@ export class MergeEditor {
|
|
|
997
1101
|
const attrs = Object.assign(
|
|
998
1102
|
{},
|
|
999
1103
|
node.attrs
|
|
1000
|
-
)
|
|
1104
|
+
) as Record<string, unknown>
|
|
1001
1105
|
attrs["image"] = false
|
|
1002
1106
|
const nodeType =
|
|
1003
1107
|
this.mergeView1.state.schema
|
|
@@ -1019,7 +1123,7 @@ export class MergeEditor {
|
|
|
1019
1123
|
}
|
|
1020
1124
|
)
|
|
1021
1125
|
this.mergeView3.state.doc.descendants(
|
|
1022
|
-
(node, pos) => {
|
|
1126
|
+
(node: Node, pos: number) => {
|
|
1023
1127
|
if (
|
|
1024
1128
|
node.type.name === "image" &&
|
|
1025
1129
|
node.attrs.image == id
|
|
@@ -1027,7 +1131,7 @@ export class MergeEditor {
|
|
|
1027
1131
|
const attrs = Object.assign(
|
|
1028
1132
|
{},
|
|
1029
1133
|
node.attrs
|
|
1030
|
-
)
|
|
1134
|
+
) as Record<string, unknown>
|
|
1031
1135
|
attrs["image"] = false
|
|
1032
1136
|
const nodeType =
|
|
1033
1137
|
this.mergeView3.state.schema
|