@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,3 +1,6 @@
|
|
|
1
|
+
import {FeedbackTab} from "@fiduswriter/common"
|
|
2
|
+
import {getSettings} from "@fiduswriter/document/schema/convert"
|
|
3
|
+
import {docSchema} from "@fiduswriter/document/schema/document/index"
|
|
1
4
|
import {
|
|
2
5
|
Dialog,
|
|
3
6
|
WebSocketConnector,
|
|
@@ -9,19 +12,9 @@ import {
|
|
|
9
12
|
showSystemMessage,
|
|
10
13
|
whenReady
|
|
11
14
|
} from "fwtoolkit"
|
|
12
|
-
import {collab, sendableSteps} from "prosemirror-collab"
|
|
13
|
-
import {baseKeymap} from "prosemirror-commands"
|
|
14
|
-
import {dropCursor} from "prosemirror-dropcursor"
|
|
15
|
-
import {buildKeymap} from "prosemirror-example-setup"
|
|
16
|
-
import {gapCursor} from "prosemirror-gapcursor"
|
|
17
|
-
import {history} from "prosemirror-history"
|
|
18
|
-
import {keymap} from "prosemirror-keymap"
|
|
19
|
-
import {EditorState, TextSelection} from "prosemirror-state"
|
|
20
|
-
import {tableEditing} from "prosemirror-tables"
|
|
21
|
-
import {EditorView} from "prosemirror-view"
|
|
22
|
-
import {FeedbackTab} from "@fiduswriter/common"
|
|
23
15
|
import {E2EEEncryptor} from "fwtoolkit/e2ee/encryptor"
|
|
24
16
|
import {E2EEKeyManager} from "fwtoolkit/e2ee/key-manager"
|
|
17
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
25
18
|
import {
|
|
26
19
|
enterPassphraseDialog,
|
|
27
20
|
setupPassphraseDialog,
|
|
@@ -32,18 +25,29 @@ import {
|
|
|
32
25
|
changePasswordDialog,
|
|
33
26
|
createPasswordDialog
|
|
34
27
|
} from "fwtoolkit/e2ee/password-dialog"
|
|
35
|
-
|
|
28
|
+
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
29
|
+
import {collab, sendableSteps} from "prosemirror-collab"
|
|
30
|
+
import {baseKeymap} from "prosemirror-commands"
|
|
31
|
+
import {dropCursor} from "prosemirror-dropcursor"
|
|
32
|
+
import {buildKeymap} from "prosemirror-example-setup"
|
|
33
|
+
import {gapCursor} from "prosemirror-gapcursor"
|
|
34
|
+
import {history} from "prosemirror-history"
|
|
35
|
+
import {keymap} from "prosemirror-keymap"
|
|
36
|
+
import type {Schema} from "prosemirror-model"
|
|
37
|
+
import {EditorState, TextSelection} from "prosemirror-state"
|
|
38
|
+
import {tableEditing} from "prosemirror-tables"
|
|
39
|
+
import {EditorView} from "prosemirror-view"
|
|
36
40
|
|
|
37
|
-
import {getSettings} from "@fiduswriter/document/schema/convert"
|
|
38
|
-
import {docSchema} from "@fiduswriter/document/schema/document/index"
|
|
39
|
-
import {plugins as defaultEditorPlugins} from "./plugins/editor/index.js"
|
|
40
41
|
import {ModCitations} from "./citations/index.js"
|
|
41
42
|
import {ModCollab} from "./collab/index.js"
|
|
42
43
|
import {ModComments} from "./comments/index.js"
|
|
43
44
|
import {ModDB} from "./databases/index.js"
|
|
44
45
|
import {ModDocumentTemplate} from "./document_template/index.js"
|
|
46
|
+
import {E2EESnapshotManager} from "./e2ee/snapshot-manager.js"
|
|
47
|
+
import {ExportFidusFile} from "./exporter/native/file.js"
|
|
45
48
|
import {ModFootnotes} from "./footnotes/index.js"
|
|
46
|
-
import {
|
|
49
|
+
import {imageEditModel} from "./images/edit_dialog/model.js"
|
|
50
|
+
import {buildEditorKeymap} from "./keymap.js"
|
|
47
51
|
import {
|
|
48
52
|
codeBlockMenuModel,
|
|
49
53
|
figureMenuModel,
|
|
@@ -56,13 +60,10 @@ import {
|
|
|
56
60
|
tableMenuModel,
|
|
57
61
|
toolbarModel
|
|
58
62
|
} from "./menus/index.js"
|
|
63
|
+
import {ModMarginboxes} from "./marginboxes/index.js"
|
|
59
64
|
import {ModNavigator} from "./navigator/index.js"
|
|
60
65
|
import {NoCollabSave} from "./no_collab_save/index.js"
|
|
61
|
-
import {
|
|
62
|
-
|
|
63
|
-
import {ExportFidusFile} from "./exporter/native/file.js"
|
|
64
|
-
import {imageEditModel} from "./images/edit_dialog/model.js"
|
|
65
|
-
import {buildEditorKeymap} from "./keymap.js"
|
|
66
|
+
import {plugins as defaultEditorPlugins} from "./plugins/editor/index.js"
|
|
66
67
|
import {
|
|
67
68
|
accessRightsPlugin,
|
|
68
69
|
citationRenderPlugin,
|
|
@@ -91,6 +92,8 @@ import {
|
|
|
91
92
|
toolbarPlugin,
|
|
92
93
|
trackPlugin
|
|
93
94
|
} from "./state_plugins/index.js"
|
|
95
|
+
import {ModTrack, acceptAllNoInsertions, amendTransaction} from "./track/index.js"
|
|
96
|
+
import type {App, EditorUser} from "./types.js"
|
|
94
97
|
|
|
95
98
|
// UUID v4 pattern for share tokens
|
|
96
99
|
const uuid4Pattern =
|
|
@@ -102,10 +105,42 @@ export const REVIEW_ROLES = ["review", "review-tracked"]
|
|
|
102
105
|
export const WRITE_ROLES = ["write", "write-tracked", "review-tracked"]
|
|
103
106
|
|
|
104
107
|
export class Editor {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
app: App
|
|
109
|
+
user: EditorUser
|
|
110
|
+
editorPlugins: any[]
|
|
111
|
+
citationDialogPlugins: any[] | null
|
|
112
|
+
mod: any
|
|
113
|
+
waitingForDocument: boolean
|
|
114
|
+
docInfo: any
|
|
115
|
+
schema: Schema
|
|
116
|
+
menu: any
|
|
117
|
+
client_id: number
|
|
118
|
+
clientTimeAdjustment: number
|
|
119
|
+
e2ee: any
|
|
120
|
+
pathEditable: boolean
|
|
121
|
+
statePlugins: any[]
|
|
122
|
+
view!: EditorView
|
|
123
|
+
currentView!: EditorView
|
|
124
|
+
ws!: {
|
|
125
|
+
connectionCount: number
|
|
126
|
+
online: boolean
|
|
127
|
+
connected: boolean
|
|
128
|
+
ws: WebSocket
|
|
129
|
+
init(): void
|
|
130
|
+
close(): void
|
|
131
|
+
send(data: string | (() => Record<string, unknown> | false | undefined)): void
|
|
132
|
+
}
|
|
133
|
+
dom!: HTMLElement
|
|
134
|
+
plugins?: Record<string, any>
|
|
135
|
+
noCollabSave?: NoCollabSave
|
|
136
|
+
|
|
137
|
+
constructor(
|
|
138
|
+
{app, user}: {app: App; user: EditorUser},
|
|
139
|
+
path: string,
|
|
140
|
+
idString: string,
|
|
141
|
+
editorPlugins = defaultEditorPlugins,
|
|
142
|
+
citationDialogPlugins = null
|
|
143
|
+
) {
|
|
109
144
|
this.app = app
|
|
110
145
|
this.editorPlugins = editorPlugins
|
|
111
146
|
this.citationDialogPlugins = citationDialogPlugins
|
|
@@ -113,7 +148,12 @@ export class Editor {
|
|
|
113
148
|
// proper placeholder that has all the fields templates expect.
|
|
114
149
|
this.user = user.is_authenticated
|
|
115
150
|
? user
|
|
116
|
-
: {
|
|
151
|
+
: ({
|
|
152
|
+
id: undefined,
|
|
153
|
+
username: "",
|
|
154
|
+
name: "",
|
|
155
|
+
is_authenticated: false
|
|
156
|
+
} as any)
|
|
117
157
|
this.mod = {}
|
|
118
158
|
// Whether the editor is currently waiting for a document update. Set to true
|
|
119
159
|
// initially so that diffs that arrive before document has been loaded are not
|
|
@@ -149,7 +189,10 @@ export class Editor {
|
|
|
149
189
|
// Provide a handler for decrypting end-to-end encrypted images. The
|
|
150
190
|
// reusable document schema no longer includes E2EE code, so the main
|
|
151
191
|
// app injects the decryption logic here after loading the schema.
|
|
152
|
-
this.schema.cached.decryptImage = (
|
|
192
|
+
;(this.schema as any).cached.decryptImage = (
|
|
193
|
+
imageEntry: {image: string; original_file_type?: string},
|
|
194
|
+
_dom: HTMLElement
|
|
195
|
+
) => {
|
|
153
196
|
const key = this.e2ee?.key
|
|
154
197
|
if (!key) {
|
|
155
198
|
return Promise.reject(new Error("No E2EE key available"))
|
|
@@ -223,7 +266,7 @@ export class Editor {
|
|
|
223
266
|
]
|
|
224
267
|
}
|
|
225
268
|
|
|
226
|
-
init() {
|
|
269
|
+
init(): Promise<void> {
|
|
227
270
|
ensureCSS([
|
|
228
271
|
staticUrl("css/libs/mathlive/mathlive.css"),
|
|
229
272
|
staticUrl("css/editor.css"),
|
|
@@ -247,7 +290,7 @@ export class Editor {
|
|
|
247
290
|
staticUrl("css/e2ee.css")
|
|
248
291
|
])
|
|
249
292
|
new ModDocumentTemplate(this)
|
|
250
|
-
const initPromises = [
|
|
293
|
+
const initPromises: Promise<unknown>[] = [
|
|
251
294
|
whenReady(),
|
|
252
295
|
this.mod.documentTemplate.getCitationStyles()
|
|
253
296
|
]
|
|
@@ -270,7 +313,7 @@ export class Editor {
|
|
|
270
313
|
postJson("/api/document/create_doc/", {
|
|
271
314
|
template_id: this.docInfo.templateId,
|
|
272
315
|
path: this.docInfo.path
|
|
273
|
-
}).then(({json}) => {
|
|
316
|
+
}).then(({json}: {json: any}) => {
|
|
274
317
|
this.docInfo.id = json.id
|
|
275
318
|
window.history.replaceState(
|
|
276
319
|
"",
|
|
@@ -289,7 +332,7 @@ export class Editor {
|
|
|
289
332
|
initPromises.push(
|
|
290
333
|
postJson(
|
|
291
334
|
`/api/document/share_token/validate/${this.docInfo.token}/`
|
|
292
|
-
).then(({json, status}) => {
|
|
335
|
+
).then(({json, status}: {json: any; status: number}) => {
|
|
293
336
|
if (status === 200 && json.document_id) {
|
|
294
337
|
this.docInfo.id = json.document_id
|
|
295
338
|
this.docInfo.access_rights = json.rights
|
|
@@ -312,7 +355,9 @@ export class Editor {
|
|
|
312
355
|
})
|
|
313
356
|
.then(() => {
|
|
314
357
|
activateWait(true)
|
|
315
|
-
const stylesPayload = {
|
|
358
|
+
const stylesPayload: Record<string, unknown> = {
|
|
359
|
+
id: this.docInfo.id
|
|
360
|
+
}
|
|
316
361
|
if (this.docInfo.token) {
|
|
317
362
|
stylesPayload.token = this.docInfo.token
|
|
318
363
|
}
|
|
@@ -383,12 +428,12 @@ export class Editor {
|
|
|
383
428
|
wsPath += `?token=${this.docInfo.token}`
|
|
384
429
|
}
|
|
385
430
|
this.ws = new WebSocketConnector({
|
|
386
|
-
base: wsResult.json.ws_base,
|
|
431
|
+
base: (wsResult.json as any).ws_base,
|
|
387
432
|
path: wsPath,
|
|
388
|
-
appLoaded: () => this.view.state.plugins.length,
|
|
389
|
-
anythingToSend: () => sendableSteps(this.view.state),
|
|
433
|
+
appLoaded: () => Boolean(this.view.state.plugins.length),
|
|
434
|
+
anythingToSend: () => Boolean(sendableSteps(this.view.state)),
|
|
390
435
|
initialMessage: () => {
|
|
391
|
-
const message = {
|
|
436
|
+
const message: Record<string, unknown> = {
|
|
392
437
|
type: "subscribe",
|
|
393
438
|
v: this.docInfo.version
|
|
394
439
|
}
|
|
@@ -422,7 +467,7 @@ export class Editor {
|
|
|
422
467
|
infoDisconnected: gettext(
|
|
423
468
|
"Disconnected. Attempting to reconnect..."
|
|
424
469
|
),
|
|
425
|
-
receiveData: data => {
|
|
470
|
+
receiveData: (data: Record<string, any>) => {
|
|
426
471
|
if (document.body !== this.dom) {
|
|
427
472
|
return // user navigated away.
|
|
428
473
|
}
|
|
@@ -464,7 +509,7 @@ export class Editor {
|
|
|
464
509
|
username: `guest${data.session_id}`,
|
|
465
510
|
name: `Guest ${data.session_id}`,
|
|
466
511
|
is_authenticated: false
|
|
467
|
-
}
|
|
512
|
+
} as any
|
|
468
513
|
}
|
|
469
514
|
// Handle E2EE encryption parameters from server
|
|
470
515
|
if (data.e2ee) {
|
|
@@ -476,9 +521,7 @@ export class Editor {
|
|
|
476
521
|
data.e2ee_iterations,
|
|
477
522
|
key: null,
|
|
478
523
|
snapshotManager:
|
|
479
|
-
new E2EESnapshotManager(
|
|
480
|
-
this
|
|
481
|
-
)
|
|
524
|
+
new E2EESnapshotManager(this)
|
|
482
525
|
}
|
|
483
526
|
} else {
|
|
484
527
|
this.e2ee.encrypted = true
|
|
@@ -524,7 +567,7 @@ export class Editor {
|
|
|
524
567
|
return
|
|
525
568
|
}
|
|
526
569
|
this.mod.collab.doc.receiveSelectionChange(
|
|
527
|
-
data
|
|
570
|
+
data as any
|
|
528
571
|
)
|
|
529
572
|
break
|
|
530
573
|
case "path_change":
|
|
@@ -543,7 +586,7 @@ export class Editor {
|
|
|
543
586
|
this.mod.collab.doc.checkVersion()
|
|
544
587
|
return
|
|
545
588
|
}
|
|
546
|
-
this.mod.collab.doc.receiveDiff(data)
|
|
589
|
+
this.mod.collab.doc.receiveDiff(data as any)
|
|
547
590
|
break
|
|
548
591
|
case "confirm_diff":
|
|
549
592
|
this.mod.collab.doc.confirmDiff(data["rid"])
|
|
@@ -582,7 +625,7 @@ export class Editor {
|
|
|
582
625
|
{
|
|
583
626
|
accessRight:
|
|
584
627
|
data.access_right
|
|
585
|
-
},
|
|
628
|
+
} as any,
|
|
586
629
|
true
|
|
587
630
|
)
|
|
588
631
|
)
|
|
@@ -689,10 +732,10 @@ export class Editor {
|
|
|
689
732
|
window.location.href = "/"
|
|
690
733
|
}
|
|
691
734
|
}
|
|
692
|
-
})
|
|
735
|
+
}) as any
|
|
693
736
|
}
|
|
694
737
|
this.mod.documentTemplate.setStyles(stylesResult.json)
|
|
695
|
-
const docIsE2EE = docResult.json.doc_info?.e2ee === true
|
|
738
|
+
const docIsE2EE = (docResult.json as any).doc_info?.e2ee === true
|
|
696
739
|
this.mod.collab.doc.receiveDocument(docResult.json)
|
|
697
740
|
// For E2EE documents, delay the WebSocket connection until
|
|
698
741
|
// after the password dialog and decryption are complete (see
|
|
@@ -711,7 +754,7 @@ export class Editor {
|
|
|
711
754
|
}
|
|
712
755
|
this.noCollabSave.start()
|
|
713
756
|
}
|
|
714
|
-
})
|
|
757
|
+
}) as Promise<void>
|
|
715
758
|
}
|
|
716
759
|
|
|
717
760
|
/**
|
|
@@ -719,19 +762,19 @@ export class Editor {
|
|
|
719
762
|
* Called immediately for non-E2EE documents and deferred until after
|
|
720
763
|
* password entry + decryption for E2EE documents.
|
|
721
764
|
*/
|
|
722
|
-
startWebSocket() {
|
|
765
|
+
startWebSocket(): void {
|
|
723
766
|
this.ws.init()
|
|
724
767
|
this.ws.ws.addEventListener("close", () => {
|
|
725
768
|
if (this.menu.toolbarViews) {
|
|
726
|
-
this.menu.toolbarViews.forEach(view => view.update())
|
|
769
|
+
this.menu.toolbarViews.forEach((view: any) => view.update())
|
|
727
770
|
}
|
|
728
771
|
if (this.menu.headerView) {
|
|
729
|
-
this.menu.headerView.update()
|
|
772
|
+
;(this.menu.headerView as any).update()
|
|
730
773
|
}
|
|
731
774
|
})
|
|
732
775
|
}
|
|
733
776
|
|
|
734
|
-
handleAccessRightModification() {
|
|
777
|
+
handleAccessRightModification(): void {
|
|
735
778
|
// This function when invoked creates a copy of document in FW format and closes editor operation.
|
|
736
779
|
new ExportFidusFile(
|
|
737
780
|
this.getDoc({use_current_view: true}),
|
|
@@ -766,11 +809,10 @@ export class Editor {
|
|
|
766
809
|
* document encryption key (DEK) and encrypts it with the master key.
|
|
767
810
|
* Otherwise, prompts for a per-document password.
|
|
768
811
|
*
|
|
769
|
-
* @returns {Promise<void>}
|
|
770
812
|
* @private
|
|
771
813
|
*/
|
|
772
|
-
async _createE2EEDocument() {
|
|
773
|
-
let password, key, saltBase64, iterations
|
|
814
|
+
async _createE2EEDocument(): Promise<void> {
|
|
815
|
+
let password: string, key: CryptoKey, saltBase64: string, iterations: number
|
|
774
816
|
|
|
775
817
|
// Check if the user has a personal passphrase set up
|
|
776
818
|
const hasPassphraseKeys = await PassphraseManager.hasEncryptionKeys()
|
|
@@ -779,12 +821,13 @@ export class Editor {
|
|
|
779
821
|
// Check if keys are unlocked in sessionStorage
|
|
780
822
|
if (!PassphraseManager.hasKeysInSession()) {
|
|
781
823
|
// Prompt for passphrase to unlock
|
|
782
|
-
const result = await new Promise(resolve => {
|
|
824
|
+
const result = (await new Promise(resolve => {
|
|
783
825
|
enterPassphraseDialog(
|
|
784
|
-
pwd
|
|
826
|
+
(pwd: string) =>
|
|
827
|
+
resolve({action: "unlock", passphrase: pwd}),
|
|
785
828
|
() => resolve({action: "recover"})
|
|
786
829
|
)
|
|
787
|
-
})
|
|
830
|
+
})) as {action: string; passphrase?: string}
|
|
788
831
|
if (result.action === "unlock" && result.passphrase) {
|
|
789
832
|
try {
|
|
790
833
|
await PassphraseManager.unlockWithPassphrase(
|
|
@@ -804,20 +847,23 @@ export class Editor {
|
|
|
804
847
|
if (recoverResult) {
|
|
805
848
|
try {
|
|
806
849
|
const {newRecoveryKey} =
|
|
807
|
-
await PassphraseManager.recoverWithRecoveryKey(
|
|
808
|
-
recoverResult.recoveryKey,
|
|
809
|
-
recoverResult.newPassphrase
|
|
810
|
-
)
|
|
850
|
+
(await PassphraseManager.recoverWithRecoveryKey(
|
|
851
|
+
(recoverResult as any).recoveryKey,
|
|
852
|
+
(recoverResult as any).newPassphrase
|
|
853
|
+
)) as {newRecoveryKey: string}
|
|
811
854
|
const {showRecoveryKeyDialog} = await import(
|
|
812
855
|
"fwtoolkit/e2ee/passphrase-dialog"
|
|
813
856
|
)
|
|
814
857
|
await new Promise(resolve => {
|
|
815
|
-
showRecoveryKeyDialog(
|
|
858
|
+
showRecoveryKeyDialog(
|
|
859
|
+
newRecoveryKey,
|
|
860
|
+
resolve as any
|
|
861
|
+
)
|
|
816
862
|
})
|
|
817
863
|
} catch (e) {
|
|
818
864
|
addAlert(
|
|
819
865
|
"error",
|
|
820
|
-
gettext("Recovery failed: ") + e.message
|
|
866
|
+
gettext("Recovery failed: ") + (e as Error).message
|
|
821
867
|
)
|
|
822
868
|
}
|
|
823
869
|
}
|
|
@@ -831,10 +877,10 @@ export class Editor {
|
|
|
831
877
|
// Fall through to per-document password if passphrase unlock failed
|
|
832
878
|
}
|
|
833
879
|
|
|
834
|
-
if (!password) {
|
|
880
|
+
if (!password!) {
|
|
835
881
|
// Prompt for per-document password
|
|
836
882
|
password = await new Promise(resolve => {
|
|
837
|
-
createPasswordDialog(pwd => resolve(pwd))
|
|
883
|
+
createPasswordDialog((pwd: string) => resolve(pwd))
|
|
838
884
|
})
|
|
839
885
|
}
|
|
840
886
|
|
|
@@ -857,7 +903,7 @@ export class Editor {
|
|
|
857
903
|
e2ee: true,
|
|
858
904
|
e2ee_salt: saltBase64,
|
|
859
905
|
e2ee_iterations: iterations
|
|
860
|
-
})
|
|
906
|
+
}) as {json: any; status: number}
|
|
861
907
|
|
|
862
908
|
if (status === 403) {
|
|
863
909
|
addAlert(
|
|
@@ -873,15 +919,18 @@ export class Editor {
|
|
|
873
919
|
delete this.docInfo.templateId
|
|
874
920
|
|
|
875
921
|
// Store password in sessionStorage
|
|
876
|
-
E2EEKeyManager.storePasswordInSession(
|
|
922
|
+
E2EEKeyManager.storePasswordInSession(
|
|
923
|
+
this.docInfo.id as number,
|
|
924
|
+
password
|
|
925
|
+
)
|
|
877
926
|
|
|
878
927
|
// If passphrase user, also save encrypted password on server
|
|
879
928
|
if (hasPassphraseKeys && PassphraseManager.hasKeysInSession()) {
|
|
880
929
|
try {
|
|
881
930
|
await PassphraseManager.saveDocumentPassword(
|
|
882
|
-
this.docInfo.id,
|
|
931
|
+
this.docInfo.id as number,
|
|
883
932
|
password,
|
|
884
|
-
null,
|
|
933
|
+
null as any,
|
|
885
934
|
"user",
|
|
886
935
|
true
|
|
887
936
|
)
|
|
@@ -890,7 +939,10 @@ export class Editor {
|
|
|
890
939
|
}
|
|
891
940
|
} else {
|
|
892
941
|
// Non-passphrase user: cache the key in sessionStorage
|
|
893
|
-
await E2EEKeyManager.storeKeyInSession(
|
|
942
|
+
await E2EEKeyManager.storeKeyInSession(
|
|
943
|
+
this.docInfo.id as number,
|
|
944
|
+
key
|
|
945
|
+
)
|
|
894
946
|
}
|
|
895
947
|
|
|
896
948
|
// Set up E2EE state on the editor
|
|
@@ -907,32 +959,37 @@ export class Editor {
|
|
|
907
959
|
this.e2ee.snapshotManager.setKey(key)
|
|
908
960
|
}
|
|
909
961
|
|
|
910
|
-
close() {
|
|
962
|
+
close(): void {
|
|
911
963
|
if (this.menu.toolbarViews) {
|
|
912
|
-
this.menu.toolbarViews.forEach(view => view.destroy())
|
|
964
|
+
this.menu.toolbarViews.forEach((view: any) => view.destroy())
|
|
913
965
|
}
|
|
914
966
|
if (this.menu.selectionMenuViews) {
|
|
915
|
-
this.menu.selectionMenuViews.forEach(view => view.destroy())
|
|
967
|
+
this.menu.selectionMenuViews.forEach((view: any) => view.destroy())
|
|
916
968
|
}
|
|
917
969
|
if (this.menu.headerView) {
|
|
918
|
-
this.menu.headerView.destroy()
|
|
970
|
+
;(this.menu.headerView as any).destroy()
|
|
919
971
|
}
|
|
920
972
|
// For E2EE documents, update the sessionStorage title cache with the
|
|
921
973
|
// current ProseMirror title so the overview shows the correct title
|
|
922
|
-
// immediately, even before the encrypted snapshot has been saved to
|
|
923
|
-
//
|
|
974
|
+
// immediately, even before the encrypted snapshot has been saved to the
|
|
975
|
+
// DB.
|
|
924
976
|
if (this.e2ee && this.view) {
|
|
925
977
|
const titleNode = this.view.state.doc.firstChild
|
|
926
978
|
if (titleNode) {
|
|
927
979
|
let title = ""
|
|
928
|
-
titleNode.forEach(child => {
|
|
980
|
+
;(titleNode as any).forEach((child: any) => {
|
|
929
981
|
if (
|
|
930
|
-
!child.marks.find(
|
|
982
|
+
!child.marks.find(
|
|
983
|
+
(mark: any) => mark.type.name === "deletion"
|
|
984
|
+
)
|
|
931
985
|
) {
|
|
932
986
|
title += child.textContent
|
|
933
987
|
}
|
|
934
988
|
})
|
|
935
|
-
sessionStorage.setItem(
|
|
989
|
+
sessionStorage.setItem(
|
|
990
|
+
`e2ee_title_${this.docInfo.id}`,
|
|
991
|
+
title
|
|
992
|
+
)
|
|
936
993
|
}
|
|
937
994
|
}
|
|
938
995
|
if (this.noCollabSave) {
|
|
@@ -969,7 +1026,7 @@ export class Editor {
|
|
|
969
1026
|
}
|
|
970
1027
|
}
|
|
971
1028
|
|
|
972
|
-
render() {
|
|
1029
|
+
render(): void {
|
|
973
1030
|
this.dom = document.createElement("body")
|
|
974
1031
|
document.body = this.dom
|
|
975
1032
|
this.dom.classList.add("editor")
|
|
@@ -1017,17 +1074,17 @@ export class Editor {
|
|
|
1017
1074
|
feedbackTab.init()
|
|
1018
1075
|
}
|
|
1019
1076
|
|
|
1020
|
-
onResize() {
|
|
1077
|
+
onResize(): void {
|
|
1021
1078
|
if (!this.view || !this.mod.marginboxes) {
|
|
1022
1079
|
// Editor not yet set up
|
|
1023
1080
|
return
|
|
1024
1081
|
}
|
|
1025
1082
|
this.mod.marginboxes.updateDOM()
|
|
1026
1083
|
this.mod.footnotes.layout.updateDOM()
|
|
1027
|
-
this.menu.toolbarViews
|
|
1084
|
+
this.menu.toolbarViews?.forEach((view: any) => view.onResize())
|
|
1028
1085
|
}
|
|
1029
1086
|
|
|
1030
|
-
onBeforeUnload() {
|
|
1087
|
+
onBeforeUnload(): boolean {
|
|
1031
1088
|
if (this.app.isOffline()) {
|
|
1032
1089
|
showSystemMessage(
|
|
1033
1090
|
gettext(
|
|
@@ -1037,12 +1094,13 @@ export class Editor {
|
|
|
1037
1094
|
return true
|
|
1038
1095
|
}
|
|
1039
1096
|
this.close()
|
|
1097
|
+
return false
|
|
1040
1098
|
}
|
|
1041
1099
|
|
|
1042
|
-
initEditor() {
|
|
1100
|
+
initEditor(): void {
|
|
1043
1101
|
let setFocus = false
|
|
1044
1102
|
this.view = new EditorView(
|
|
1045
|
-
this.dom.querySelector("#document-editable"),
|
|
1103
|
+
this.dom.querySelector("#document-editable") as HTMLElement,
|
|
1046
1104
|
{
|
|
1047
1105
|
state: EditorState.create({
|
|
1048
1106
|
schema: this.schema
|
|
@@ -1105,7 +1163,7 @@ export class Editor {
|
|
|
1105
1163
|
this.mod.navigator.init()
|
|
1106
1164
|
}
|
|
1107
1165
|
|
|
1108
|
-
activateFidusPlugins() {
|
|
1166
|
+
async activateFidusPlugins(): Promise<void> {
|
|
1109
1167
|
if (this.plugins) {
|
|
1110
1168
|
// Plugins have been activated already
|
|
1111
1169
|
return
|
|
@@ -1113,7 +1171,7 @@ export class Editor {
|
|
|
1113
1171
|
// Add plugins.
|
|
1114
1172
|
this.plugins = {}
|
|
1115
1173
|
|
|
1116
|
-
|
|
1174
|
+
await Promise.all(
|
|
1117
1175
|
this.editorPlugins.map(([app, plugin]) => {
|
|
1118
1176
|
if (!this.app.settings.APPS.includes(app)) {
|
|
1119
1177
|
return Promise.resolve()
|
|
@@ -1121,11 +1179,12 @@ export class Editor {
|
|
|
1121
1179
|
return Promise.all(
|
|
1122
1180
|
Object.values(plugin).map(pluginExport => {
|
|
1123
1181
|
if (typeof pluginExport === "function") {
|
|
1124
|
-
|
|
1182
|
+
const name = (pluginExport as any).name
|
|
1183
|
+
this.plugins![name] = new (pluginExport as any)(
|
|
1125
1184
|
this
|
|
1126
1185
|
)
|
|
1127
1186
|
return (
|
|
1128
|
-
this.plugins[
|
|
1187
|
+
this.plugins![name].init() ||
|
|
1129
1188
|
Promise.resolve()
|
|
1130
1189
|
)
|
|
1131
1190
|
}
|
|
@@ -1138,10 +1197,10 @@ export class Editor {
|
|
|
1138
1197
|
|
|
1139
1198
|
// Collect all components of the current doc. Needed for saving and export
|
|
1140
1199
|
// filters
|
|
1141
|
-
getDoc(options = {}) {
|
|
1200
|
+
getDoc(options: {use_current_view?: boolean; changes?: string} = {}): any {
|
|
1142
1201
|
const doc =
|
|
1143
1202
|
this.app.isOffline() || Boolean(options.use_current_view)
|
|
1144
|
-
? this.view.docView.node
|
|
1203
|
+
? (this.view as any).docView.node
|
|
1145
1204
|
: this.docInfo.confirmedDoc
|
|
1146
1205
|
const pmDoc =
|
|
1147
1206
|
options.changes === "acceptAllNoInsertions"
|
|
@@ -1149,8 +1208,10 @@ export class Editor {
|
|
|
1149
1208
|
: doc
|
|
1150
1209
|
|
|
1151
1210
|
let title = ""
|
|
1152
|
-
pmDoc.firstChild.forEach(child => {
|
|
1153
|
-
if (
|
|
1211
|
+
;(pmDoc.firstChild as any).forEach((child: any) => {
|
|
1212
|
+
if (
|
|
1213
|
+
!child.marks.find((mark: any) => mark.type.name === "deletion")
|
|
1214
|
+
) {
|
|
1154
1215
|
title += child.textContent
|
|
1155
1216
|
}
|
|
1156
1217
|
})
|
|
@@ -1167,15 +1228,15 @@ export class Editor {
|
|
|
1167
1228
|
}
|
|
1168
1229
|
|
|
1169
1230
|
// Use PMs scrollIntoView function and adjust for top menu
|
|
1170
|
-
scrollIdIntoView(id) {
|
|
1171
|
-
let foundPos = false
|
|
1172
|
-
|
|
1231
|
+
scrollIdIntoView(id: string): void {
|
|
1232
|
+
let foundPos: number | false = false
|
|
1233
|
+
let view: EditorView
|
|
1173
1234
|
|
|
1174
1235
|
this.view.state.doc.descendants((node, pos) => {
|
|
1175
|
-
if (foundPos) {
|
|
1236
|
+
if (foundPos !== false) {
|
|
1176
1237
|
return
|
|
1177
1238
|
} else if (
|
|
1178
|
-
(node.type.groups.includes("heading") ||
|
|
1239
|
+
((node.type as any).groups.includes("heading") ||
|
|
1179
1240
|
node.type.name === "figure") &&
|
|
1180
1241
|
node.attrs.id === id
|
|
1181
1242
|
) {
|
|
@@ -1192,37 +1253,38 @@ export class Editor {
|
|
|
1192
1253
|
}
|
|
1193
1254
|
})
|
|
1194
1255
|
|
|
1195
|
-
if (
|
|
1196
|
-
this.mod.footnotes.fnEditor.view
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1256
|
+
if (foundPos === false) {
|
|
1257
|
+
const fnView = this.mod.footnotes.fnEditor.view as EditorView
|
|
1258
|
+
fnView.state.doc.descendants((node, pos) => {
|
|
1259
|
+
if (foundPos !== false) {
|
|
1260
|
+
return
|
|
1261
|
+
} else if (
|
|
1262
|
+
((node.type as any).groups.includes("heading") ||
|
|
1263
|
+
node.type.name === "figure") &&
|
|
1264
|
+
node.attrs.id === id
|
|
1265
|
+
) {
|
|
1266
|
+
foundPos =
|
|
1267
|
+
node.type.name === "figure" ? pos : pos + 1
|
|
1268
|
+
view = fnView
|
|
1269
|
+
} else {
|
|
1270
|
+
const anchorMark = node.marks.find(
|
|
1271
|
+
mark => mark.type.name === "anchor"
|
|
1272
|
+
)
|
|
1273
|
+
if (anchorMark?.attrs.id === id) {
|
|
1274
|
+
foundPos = pos + 1
|
|
1275
|
+
view = fnView
|
|
1215
1276
|
}
|
|
1216
1277
|
}
|
|
1217
|
-
)
|
|
1278
|
+
})
|
|
1218
1279
|
}
|
|
1219
|
-
if (foundPos) {
|
|
1220
|
-
this.scrollPosIntoView(foundPos, view)
|
|
1280
|
+
if (foundPos !== false) {
|
|
1281
|
+
this.scrollPosIntoView(foundPos, view!)
|
|
1221
1282
|
}
|
|
1222
1283
|
}
|
|
1223
1284
|
|
|
1224
|
-
scrollPosIntoView(pos, view) {
|
|
1225
|
-
const topMenuHeight =
|
|
1285
|
+
scrollPosIntoView(pos: number, view: EditorView): void {
|
|
1286
|
+
const topMenuHeight =
|
|
1287
|
+
(this.dom.querySelector("header") as HTMLElement).offsetHeight + 10
|
|
1226
1288
|
const $pos = view.state.doc.resolve(pos)
|
|
1227
1289
|
view.dispatch(view.state.tr.setSelection(new TextSelection($pos, $pos)))
|
|
1228
1290
|
view.focus()
|
|
@@ -1230,25 +1292,24 @@ export class Editor {
|
|
|
1230
1292
|
window.scrollBy({
|
|
1231
1293
|
left: 0,
|
|
1232
1294
|
top: distanceFromTop,
|
|
1233
|
-
behavior: "smooth"
|
|
1234
|
-
|
|
1235
|
-
})
|
|
1295
|
+
behavior: "smooth"
|
|
1296
|
+
} as ScrollToOptions)
|
|
1236
1297
|
return
|
|
1237
1298
|
}
|
|
1238
1299
|
|
|
1239
|
-
scrollBibliographyIntoView() {
|
|
1240
|
-
const topMenuHeight =
|
|
1300
|
+
scrollBibliographyIntoView(): void {
|
|
1301
|
+
const topMenuHeight =
|
|
1302
|
+
(this.dom.querySelector("header") as HTMLElement).offsetHeight + 10
|
|
1241
1303
|
const bibliographyHeaderEl = document.querySelector(
|
|
1242
1304
|
"h1.doc-bibliography-header"
|
|
1243
|
-
)
|
|
1305
|
+
) as HTMLElement
|
|
1244
1306
|
const distanceFromTop =
|
|
1245
1307
|
bibliographyHeaderEl.getBoundingClientRect().top - topMenuHeight
|
|
1246
1308
|
window.scrollBy({
|
|
1247
1309
|
left: 0,
|
|
1248
1310
|
top: distanceFromTop,
|
|
1249
|
-
behavior: "smooth"
|
|
1250
|
-
|
|
1251
|
-
})
|
|
1311
|
+
behavior: "smooth"
|
|
1312
|
+
} as ScrollToOptions)
|
|
1252
1313
|
return
|
|
1253
1314
|
}
|
|
1254
1315
|
}
|