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