@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,97 +0,0 @@
|
|
|
1
|
-
import download from "downloadjs"
|
|
2
|
-
|
|
3
|
-
import {createSlug} from "@fiduswriter/document/exporter/tools/file"
|
|
4
|
-
import {ZipFileCreator} from "fwtoolkit/file/zip"
|
|
5
|
-
import {postJson} from "fwtoolkit"
|
|
6
|
-
|
|
7
|
-
export class DocumentTemplateExporter {
|
|
8
|
-
constructor(
|
|
9
|
-
id,
|
|
10
|
-
getUrl = "/api/document/admin/get_template/",
|
|
11
|
-
download = true,
|
|
12
|
-
token = false
|
|
13
|
-
) {
|
|
14
|
-
this.id = id
|
|
15
|
-
this.getUrl = getUrl
|
|
16
|
-
this.download = download
|
|
17
|
-
this.token = token
|
|
18
|
-
|
|
19
|
-
this.zipFileName = false
|
|
20
|
-
this.docVersion = false
|
|
21
|
-
this.textFiles = []
|
|
22
|
-
this.httpFiles = []
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
init() {
|
|
26
|
-
const params = this.token
|
|
27
|
-
? {id: this.id, token: this.token}
|
|
28
|
-
: {id: this.id}
|
|
29
|
-
return postJson(this.getUrl, params).then(({json}) => {
|
|
30
|
-
this.docVersion = json.doc_version
|
|
31
|
-
this.zipFileName = `${createSlug(json.title)}.fidustemplate`
|
|
32
|
-
this.textFiles.push({
|
|
33
|
-
filename: "template.json",
|
|
34
|
-
contents: JSON.stringify(json.content)
|
|
35
|
-
})
|
|
36
|
-
const exportTemplates = []
|
|
37
|
-
json.export_templates.forEach(template => {
|
|
38
|
-
const filename = `exporttemplates/${template.fields.template_file.split("/").slice(-1)[0]}`
|
|
39
|
-
this.httpFiles.push({
|
|
40
|
-
filename,
|
|
41
|
-
url: template.fields.template_file
|
|
42
|
-
})
|
|
43
|
-
exportTemplates.push({
|
|
44
|
-
file: filename,
|
|
45
|
-
file_type: template.fields.file_type,
|
|
46
|
-
title: template.fields.title
|
|
47
|
-
})
|
|
48
|
-
})
|
|
49
|
-
this.textFiles.push({
|
|
50
|
-
filename: "exporttemplates.json",
|
|
51
|
-
contents: JSON.stringify(exportTemplates)
|
|
52
|
-
})
|
|
53
|
-
const documentStyles = []
|
|
54
|
-
json.document_styles.forEach(docStyle => {
|
|
55
|
-
const style = {
|
|
56
|
-
contents: docStyle.fields.contents,
|
|
57
|
-
slug: docStyle.fields.slug,
|
|
58
|
-
title: docStyle.fields.title,
|
|
59
|
-
files: []
|
|
60
|
-
}
|
|
61
|
-
docStyle.fields.documentstylefile_set.forEach(docstyleFile => {
|
|
62
|
-
const filename = `documentstyles/${docstyleFile[1]}`
|
|
63
|
-
this.httpFiles.push({
|
|
64
|
-
filename,
|
|
65
|
-
url: docstyleFile[0]
|
|
66
|
-
})
|
|
67
|
-
style.files.push(filename)
|
|
68
|
-
})
|
|
69
|
-
documentStyles.push(style)
|
|
70
|
-
})
|
|
71
|
-
this.textFiles.push({
|
|
72
|
-
filename: "documentstyles.json",
|
|
73
|
-
contents: JSON.stringify(documentStyles)
|
|
74
|
-
})
|
|
75
|
-
if (this.download) {
|
|
76
|
-
return this.createZip()
|
|
77
|
-
}
|
|
78
|
-
return Promise.resolve()
|
|
79
|
-
})
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
createZip() {
|
|
83
|
-
this.textFiles.push({
|
|
84
|
-
filename: "filetype-version",
|
|
85
|
-
contents: this.docVersion
|
|
86
|
-
})
|
|
87
|
-
const zipper = new ZipFileCreator(
|
|
88
|
-
this.textFiles,
|
|
89
|
-
this.httpFiles,
|
|
90
|
-
undefined,
|
|
91
|
-
"application/fidustemplate+zip"
|
|
92
|
-
)
|
|
93
|
-
return zipper
|
|
94
|
-
.init()
|
|
95
|
-
.then(blob => download(blob, this.zipFileName, "application/zip"))
|
|
96
|
-
}
|
|
97
|
-
}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import {SaveCopy as GenericSaveCopy} from "@fiduswriter/document/exporter/native"
|
|
2
|
-
import {addAlert, addProgress, gettext, postJson, shortFileTitle} from "fwtoolkit"
|
|
3
|
-
import {E2EEEncryptor} from "fwtoolkit/e2ee/encryptor"
|
|
4
|
-
import {E2EEKeyManager} from "fwtoolkit/e2ee/key-manager"
|
|
5
|
-
import {NativeImporter} from "@fiduswriter/document/importer/native"
|
|
6
|
-
|
|
7
|
-
async function maybeDecryptImage(imageEntry, sourceKey) {
|
|
8
|
-
if (!sourceKey || !imageEntry.file) {
|
|
9
|
-
return
|
|
10
|
-
}
|
|
11
|
-
if (imageEntry.file_type !== "application/octet-stream") {
|
|
12
|
-
return
|
|
13
|
-
}
|
|
14
|
-
const fileBuffer = await imageEntry.file.arrayBuffer()
|
|
15
|
-
const bytes = new Uint8Array(fileBuffer)
|
|
16
|
-
let binary = ""
|
|
17
|
-
const chunkSize = 65536
|
|
18
|
-
for (let i = 0; i < bytes.length; i += chunkSize) {
|
|
19
|
-
const chunk = bytes.subarray(i, i + chunkSize)
|
|
20
|
-
binary += String.fromCharCode.apply(null, chunk)
|
|
21
|
-
}
|
|
22
|
-
const base64 = btoa(binary)
|
|
23
|
-
const decrypted = await E2EEEncryptor.decryptBufferToBase64(base64, sourceKey)
|
|
24
|
-
const mime = imageEntry.original_file_type || "image/png"
|
|
25
|
-
const byteCharacters = atob(decrypted)
|
|
26
|
-
const byteNumbers = new Array(byteCharacters.length)
|
|
27
|
-
for (let i = 0; i < byteCharacters.length; i++) {
|
|
28
|
-
byteNumbers[i] = byteCharacters.charCodeAt(i)
|
|
29
|
-
}
|
|
30
|
-
const byteArray = new Uint8Array(byteNumbers)
|
|
31
|
-
imageEntry.file = new Blob([byteArray], {type: mime})
|
|
32
|
-
imageEntry.file_type = mime
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function createNativeImporterBackend(user, e2eeOptions) {
|
|
36
|
-
return {
|
|
37
|
-
createDoc: (template, importId, path, e2ee, files) => {
|
|
38
|
-
const jsonData = {
|
|
39
|
-
template: template.content,
|
|
40
|
-
export_templates: template.exportTemplates,
|
|
41
|
-
document_styles: template.documentStyles,
|
|
42
|
-
import_id: importId
|
|
43
|
-
? importId
|
|
44
|
-
: template.content.attrs.import_id,
|
|
45
|
-
template_title: template.content.attrs.template,
|
|
46
|
-
path
|
|
47
|
-
}
|
|
48
|
-
if (e2ee?.enabled) {
|
|
49
|
-
jsonData.e2ee = true
|
|
50
|
-
if (e2ee.salt) {
|
|
51
|
-
jsonData.e2ee_salt = e2ee.salt
|
|
52
|
-
}
|
|
53
|
-
if (e2ee.iterations) {
|
|
54
|
-
jsonData.e2ee_iterations = e2ee.iterations
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return postJson("/api/document/import/create/", jsonData, files)
|
|
58
|
-
.then(({json}) => ({
|
|
59
|
-
id: json.id,
|
|
60
|
-
path: json.path,
|
|
61
|
-
e2ee: json.e2ee,
|
|
62
|
-
template: json.template
|
|
63
|
-
}))
|
|
64
|
-
.catch(error => {
|
|
65
|
-
addAlert("error", gettext("Could not create document"))
|
|
66
|
-
throw error
|
|
67
|
-
})
|
|
68
|
-
},
|
|
69
|
-
saveImages: async (images, docId, e2ee) => {
|
|
70
|
-
const isE2EE = e2ee?.enabled
|
|
71
|
-
const endpoint = isE2EE
|
|
72
|
-
? "/api/document/e2ee_image/"
|
|
73
|
-
: "/api/document/import/image/"
|
|
74
|
-
const imageTranslationTable = {}
|
|
75
|
-
await Promise.all(
|
|
76
|
-
Object.values(images.db).map(async imageEntry => {
|
|
77
|
-
await maybeDecryptImage(imageEntry, e2ee?.sourceKey)
|
|
78
|
-
const encryptedFile =
|
|
79
|
-
e2ee?.enabled && e2ee.key
|
|
80
|
-
? await E2EEEncryptor.encryptImage(
|
|
81
|
-
imageEntry.file,
|
|
82
|
-
e2ee.key
|
|
83
|
-
)
|
|
84
|
-
: imageEntry.file
|
|
85
|
-
const jsonData = {
|
|
86
|
-
doc_id: docId,
|
|
87
|
-
title: imageEntry.title,
|
|
88
|
-
copyright: imageEntry.copyright,
|
|
89
|
-
checksum: imageEntry.checksum
|
|
90
|
-
}
|
|
91
|
-
const files = {
|
|
92
|
-
image: {
|
|
93
|
-
file: encryptedFile,
|
|
94
|
-
filename: imageEntry.image.split("/").pop()
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
const {json} = await postJson(endpoint, jsonData, files)
|
|
98
|
-
imageTranslationTable[imageEntry.id] = json.id
|
|
99
|
-
})
|
|
100
|
-
)
|
|
101
|
-
return imageTranslationTable
|
|
102
|
-
},
|
|
103
|
-
saveDocument: async (saveData, e2ee) => {
|
|
104
|
-
if (e2ee?.enabled && e2ee.key) {
|
|
105
|
-
saveData.content = await E2EEEncryptor.encryptObject(
|
|
106
|
-
saveData.content,
|
|
107
|
-
e2ee.key
|
|
108
|
-
)
|
|
109
|
-
saveData.comments = await E2EEEncryptor.encryptObject(
|
|
110
|
-
saveData.comments || {},
|
|
111
|
-
e2ee.key
|
|
112
|
-
)
|
|
113
|
-
saveData.bibliography = await E2EEEncryptor.encryptObject(
|
|
114
|
-
saveData.bibliography,
|
|
115
|
-
e2ee.key
|
|
116
|
-
)
|
|
117
|
-
saveData.title = await E2EEEncryptor.encrypt(
|
|
118
|
-
saveData.title,
|
|
119
|
-
e2ee.key
|
|
120
|
-
)
|
|
121
|
-
}
|
|
122
|
-
return postJson("/api/document/import/", saveData)
|
|
123
|
-
.then(({json}) => ({added: json.added, updated: json.updated}))
|
|
124
|
-
.catch(error => {
|
|
125
|
-
addAlert(
|
|
126
|
-
"error",
|
|
127
|
-
`${gettext("Could not save ")} ${shortFileTitle(
|
|
128
|
-
saveData.title,
|
|
129
|
-
""
|
|
130
|
-
)}`
|
|
131
|
-
)
|
|
132
|
-
throw error
|
|
133
|
-
})
|
|
134
|
-
},
|
|
135
|
-
encryptImage: E2EEEncryptor.encryptImage.bind(E2EEEncryptor),
|
|
136
|
-
encryptObject: E2EEEncryptor.encryptObject.bind(E2EEEncryptor),
|
|
137
|
-
encrypt: E2EEEncryptor.encrypt.bind(E2EEEncryptor),
|
|
138
|
-
storeKeyInSession: E2EEKeyManager.storeKeyInSession.bind(E2EEKeyManager)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
export class SaveCopy extends GenericSaveCopy {
|
|
143
|
-
constructor(
|
|
144
|
-
doc,
|
|
145
|
-
bibDB,
|
|
146
|
-
imageDB,
|
|
147
|
-
newUser,
|
|
148
|
-
importId = null,
|
|
149
|
-
e2eeOptions = null
|
|
150
|
-
) {
|
|
151
|
-
const title = shortFileTitle(doc.title, doc.path || "")
|
|
152
|
-
const task = addProgress(
|
|
153
|
-
"info",
|
|
154
|
-
`${title}: ${gettext("Creating copy...")}`,
|
|
155
|
-
{autoClose: 6000}
|
|
156
|
-
)
|
|
157
|
-
const progressCallback = (message, percentage) =>
|
|
158
|
-
task.update(percentage, message)
|
|
159
|
-
const e2ee = {
|
|
160
|
-
decryptObject: E2EEEncryptor.decryptObject.bind(E2EEEncryptor),
|
|
161
|
-
encryptObject: E2EEEncryptor.encryptObject.bind(E2EEEncryptor),
|
|
162
|
-
encrypt: E2EEEncryptor.encrypt.bind(E2EEEncryptor),
|
|
163
|
-
encryptImage: E2EEEncryptor.encryptImage.bind(E2EEEncryptor),
|
|
164
|
-
generateSalt: E2EEKeyManager.generateSalt.bind(E2EEKeyManager),
|
|
165
|
-
deriveKey: E2EEKeyManager.deriveKey.bind(E2EEKeyManager)
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
const importDocument = (doc, bibDB, imageDB, httpIncludes, options) =>
|
|
169
|
-
new NativeImporter(
|
|
170
|
-
doc,
|
|
171
|
-
bibDB,
|
|
172
|
-
imageDB,
|
|
173
|
-
httpIncludes,
|
|
174
|
-
options.user,
|
|
175
|
-
createNativeImporterBackend(options.user, options.e2eeOptions),
|
|
176
|
-
{
|
|
177
|
-
importId: options.importId,
|
|
178
|
-
requestedPath: options.requestedPath,
|
|
179
|
-
e2eeOptions: options.e2eeOptions
|
|
180
|
-
}
|
|
181
|
-
).init()
|
|
182
|
-
|
|
183
|
-
super(doc, bibDB, imageDB, newUser, {
|
|
184
|
-
importId,
|
|
185
|
-
e2eeOptions,
|
|
186
|
-
e2ee,
|
|
187
|
-
importDocument,
|
|
188
|
-
progressCallback
|
|
189
|
-
})
|
|
190
|
-
}
|
|
191
|
-
}
|
package/src/footnotes/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import {ModFootnoteEditor} from "./editor.js"
|
|
2
|
-
import {ModFootnoteLayout} from "./layout.js"
|
|
3
|
-
|
|
4
|
-
export class ModFootnotes {
|
|
5
|
-
constructor(editor) {
|
|
6
|
-
editor.mod.footnotes = this
|
|
7
|
-
this.editor = editor
|
|
8
|
-
new ModFootnoteEditor(this)
|
|
9
|
-
new ModFootnoteLayout(this)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
init() {
|
|
13
|
-
this.fnEditor.init()
|
|
14
|
-
this.layout.init()
|
|
15
|
-
}
|
|
16
|
-
}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import {Plugin, PluginKey} from "prosemirror-state"
|
|
2
|
-
import {ReplaceAroundStep, ReplaceStep} from "prosemirror-transform"
|
|
3
|
-
|
|
4
|
-
const key = new PluginKey("citationRender")
|
|
5
|
-
|
|
6
|
-
export const citationRenderPlugin = options =>
|
|
7
|
-
new Plugin({
|
|
8
|
-
key,
|
|
9
|
-
state: {
|
|
10
|
-
init() {
|
|
11
|
-
return {action: false}
|
|
12
|
-
},
|
|
13
|
-
apply(tr, _prev, oldState, _state) {
|
|
14
|
-
const meta = tr.getMeta(key)
|
|
15
|
-
if (meta) {
|
|
16
|
-
// There has been an update, return values from meta instead
|
|
17
|
-
// of previous values
|
|
18
|
-
return meta
|
|
19
|
-
}
|
|
20
|
-
let {action} = this.getState(oldState)
|
|
21
|
-
|
|
22
|
-
if (action || tr.getMeta("settings")) {
|
|
23
|
-
return {action} // We already need to reset the bibliography or another setting is used. Don't bother checking for more reasons to do so.
|
|
24
|
-
}
|
|
25
|
-
tr.steps.forEach((step, index) => {
|
|
26
|
-
if (
|
|
27
|
-
step instanceof ReplaceStep ||
|
|
28
|
-
step instanceof ReplaceAroundStep
|
|
29
|
-
) {
|
|
30
|
-
if (step.from !== step.to) {
|
|
31
|
-
tr.docs[index].nodesBetween(
|
|
32
|
-
step.from,
|
|
33
|
-
step.to,
|
|
34
|
-
node => {
|
|
35
|
-
if (node.type.name === "citation") {
|
|
36
|
-
// A citation was replaced. We need to reset
|
|
37
|
-
action = "reset"
|
|
38
|
-
} else if (
|
|
39
|
-
!action &&
|
|
40
|
-
node.type.name === "footnote"
|
|
41
|
-
) {
|
|
42
|
-
action = "numbers"
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
if (step.slice?.content) {
|
|
48
|
-
step.slice.content.descendants(node => {
|
|
49
|
-
if (node.type.name === "citation") {
|
|
50
|
-
// A citation was added. We need to reset
|
|
51
|
-
action = "reset"
|
|
52
|
-
} else if (
|
|
53
|
-
!action &&
|
|
54
|
-
node.type.name === "footnote"
|
|
55
|
-
) {
|
|
56
|
-
action = "numbers"
|
|
57
|
-
}
|
|
58
|
-
})
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
return {action}
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
view(_view) {
|
|
67
|
-
options.editor.mod.citations.resetCitations()
|
|
68
|
-
return {
|
|
69
|
-
update: (view, _prevState) => {
|
|
70
|
-
const {action} = key.getState(view.state)
|
|
71
|
-
if (action === "reset") {
|
|
72
|
-
options.editor.mod.citations.resetCitations()
|
|
73
|
-
const tr = view.state.tr.setMeta(key, {action: false})
|
|
74
|
-
view.dispatch(tr)
|
|
75
|
-
} else if (action === "numbers") {
|
|
76
|
-
options.editor.mod.citations.footnoteNumberOverride()
|
|
77
|
-
const tr = view.state.tr.setMeta(key, {action: false})
|
|
78
|
-
view.dispatch(tr)
|
|
79
|
-
} else if (view.dom.querySelector(".citation:empty")) {
|
|
80
|
-
options.editor.mod.citations.resetCitations()
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
destroy: () => {
|
|
84
|
-
options.editor.mod.citations.resetCitations()
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
})
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import {Plugin, PluginKey} from "prosemirror-state"
|
|
2
|
-
|
|
3
|
-
const key = new PluginKey("footnoteMarkers")
|
|
4
|
-
|
|
5
|
-
export const findFootnoteMarkers = (fromPos, toPos, doc) => {
|
|
6
|
-
const footnoteMarkers = []
|
|
7
|
-
doc.nodesBetween(fromPos, toPos, (node, pos) => {
|
|
8
|
-
if (!node.isInline) {
|
|
9
|
-
return
|
|
10
|
-
}
|
|
11
|
-
if (node.type.name === "footnote") {
|
|
12
|
-
const from = pos
|
|
13
|
-
const to = pos + node.nodeSize
|
|
14
|
-
const footnoteMarker = {from, to}
|
|
15
|
-
footnoteMarkers.push(footnoteMarker)
|
|
16
|
-
}
|
|
17
|
-
})
|
|
18
|
-
return footnoteMarkers
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const getAddedRanges = tr => {
|
|
22
|
-
/* find ranges of the current document that have been added by means of
|
|
23
|
-
* a transaction.
|
|
24
|
-
*/
|
|
25
|
-
let ranges = []
|
|
26
|
-
tr.steps.forEach((step, index) => {
|
|
27
|
-
if (step.jsonID === "replace" || step.jsonID === "replaceWrap") {
|
|
28
|
-
ranges.push({from: step.from, to: step.to})
|
|
29
|
-
}
|
|
30
|
-
const map = tr.mapping.maps[index]
|
|
31
|
-
ranges = ranges.map(range => ({
|
|
32
|
-
from: map.map(range.from, -1),
|
|
33
|
-
to: map.map(range.to, 1)
|
|
34
|
-
}))
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
const nonOverlappingRanges = []
|
|
38
|
-
|
|
39
|
-
ranges.forEach(range => {
|
|
40
|
-
let addedRange = false
|
|
41
|
-
nonOverlappingRanges.forEach(noRange => {
|
|
42
|
-
if (
|
|
43
|
-
!addedRange &&
|
|
44
|
-
range.from <= noRange.from &&
|
|
45
|
-
range.to >= noRange.from
|
|
46
|
-
) {
|
|
47
|
-
noRange.from = range.from
|
|
48
|
-
noRange.to = noRange.to > range.to ? noRange.to : range.to
|
|
49
|
-
addedRange = true
|
|
50
|
-
} else if (
|
|
51
|
-
!addedRange &&
|
|
52
|
-
range.from <= noRange.to &&
|
|
53
|
-
range.to >= noRange.to
|
|
54
|
-
) {
|
|
55
|
-
noRange.from =
|
|
56
|
-
noRange.from < range.from ? noRange.from : range.from
|
|
57
|
-
noRange.to = range.to
|
|
58
|
-
addedRange = true
|
|
59
|
-
}
|
|
60
|
-
})
|
|
61
|
-
if (!addedRange) {
|
|
62
|
-
nonOverlappingRanges.push(range)
|
|
63
|
-
}
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
return nonOverlappingRanges
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export const getFootnoteMarkerContents = state => {
|
|
70
|
-
const fnState = key.getState(state)
|
|
71
|
-
if (!fnState || !fnState.fnMarkers) {
|
|
72
|
-
return []
|
|
73
|
-
}
|
|
74
|
-
const fnMarkers = fnState.fnMarkers
|
|
75
|
-
return fnMarkers.map(
|
|
76
|
-
fnMarker => state.doc.nodeAt(fnMarker.from).attrs.footnote
|
|
77
|
-
)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export const updateFootnoteMarker = (state, tr, index, content) => {
|
|
81
|
-
const {fnMarkers} = key.getState(state)
|
|
82
|
-
|
|
83
|
-
const footnote = fnMarkers[index]
|
|
84
|
-
const node = state.doc.nodeAt(footnote.from)
|
|
85
|
-
if (node.attrs.footnote === content) {
|
|
86
|
-
return
|
|
87
|
-
}
|
|
88
|
-
tr.setNodeMarkup(footnote.from, node.type, {
|
|
89
|
-
footnote: content
|
|
90
|
-
})
|
|
91
|
-
tr.setMeta("fromFootnote", true)
|
|
92
|
-
return
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export const getFootnoteMarkers = state => {
|
|
96
|
-
const {fnMarkers} = key.getState(state)
|
|
97
|
-
return fnMarkers
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export const footnoteMarkersPlugin = options =>
|
|
101
|
-
new Plugin({
|
|
102
|
-
key,
|
|
103
|
-
state: {
|
|
104
|
-
init(_config, state) {
|
|
105
|
-
const fnMarkers = []
|
|
106
|
-
state.doc.descendants((node, pos) => {
|
|
107
|
-
if (node.type.name === "footnote") {
|
|
108
|
-
fnMarkers.push({
|
|
109
|
-
from: pos,
|
|
110
|
-
to: pos + node.nodeSize
|
|
111
|
-
})
|
|
112
|
-
}
|
|
113
|
-
})
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
fnMarkers
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
apply(tr, _prev, oldState, state) {
|
|
120
|
-
const meta = tr.getMeta(key)
|
|
121
|
-
if (meta) {
|
|
122
|
-
// There has been an update of a footnote marker,
|
|
123
|
-
// return values from meta instead of previous values
|
|
124
|
-
// to prevent deletion of decoration
|
|
125
|
-
return meta
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
let {fnMarkers} = this.getState(oldState)
|
|
129
|
-
|
|
130
|
-
if (!tr.docChanged) {
|
|
131
|
-
return {
|
|
132
|
-
fnMarkers
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
const remote = tr.getMeta("remote"),
|
|
137
|
-
fromFootnote = tr.getMeta("fromFootnote"),
|
|
138
|
-
ranges = getAddedRanges(tr),
|
|
139
|
-
deletedFootnotesIndexes = []
|
|
140
|
-
fnMarkers = fnMarkers
|
|
141
|
-
.map(marker => ({
|
|
142
|
-
from: tr.mapping.map(marker.from, 1),
|
|
143
|
-
to: tr.mapping.map(marker.to, -1)
|
|
144
|
-
}))
|
|
145
|
-
.filter((marker, index) => {
|
|
146
|
-
if (marker.from !== marker.to - 1) {
|
|
147
|
-
// Add in reverse order as highest numbers need to be deleted
|
|
148
|
-
// first so that index numbers of lower numbers continue
|
|
149
|
-
// to be valid when these are deleted. Only relevant when
|
|
150
|
-
// several footnotes are deleted simultaneously.
|
|
151
|
-
deletedFootnotesIndexes.unshift(index)
|
|
152
|
-
return false
|
|
153
|
-
}
|
|
154
|
-
return true
|
|
155
|
-
})
|
|
156
|
-
if (fromFootnote) {
|
|
157
|
-
return {fnMarkers}
|
|
158
|
-
}
|
|
159
|
-
const footTr =
|
|
160
|
-
options.editor.mod.footnotes.fnEditor.view.state.tr
|
|
161
|
-
|
|
162
|
-
footTr.setMeta("fromMain", true)
|
|
163
|
-
|
|
164
|
-
deletedFootnotesIndexes.forEach(index =>
|
|
165
|
-
options.editor.mod.footnotes.fnEditor.removeFootnote(
|
|
166
|
-
index,
|
|
167
|
-
footTr
|
|
168
|
-
)
|
|
169
|
-
)
|
|
170
|
-
ranges.forEach(range => {
|
|
171
|
-
let newFootnotes = findFootnoteMarkers(
|
|
172
|
-
range.from,
|
|
173
|
-
range.to,
|
|
174
|
-
tr.doc
|
|
175
|
-
)
|
|
176
|
-
if (newFootnotes.length) {
|
|
177
|
-
const firstFn = newFootnotes[0]
|
|
178
|
-
let offset = fnMarkers.findIndex(
|
|
179
|
-
marker => marker.from > firstFn.from
|
|
180
|
-
)
|
|
181
|
-
if (offset < 0) {
|
|
182
|
-
offset = fnMarkers.length
|
|
183
|
-
}
|
|
184
|
-
if (remote) {
|
|
185
|
-
newFootnotes = newFootnotes.filter(
|
|
186
|
-
// In case of remote trasnactions, we cannot mark them as coming from footnote, so we
|
|
187
|
-
// will need to remove duplicates instead.
|
|
188
|
-
newMarker =>
|
|
189
|
-
fnMarkers.find(
|
|
190
|
-
oldMarker =>
|
|
191
|
-
oldMarker.from === newMarker.from
|
|
192
|
-
)
|
|
193
|
-
? false
|
|
194
|
-
: true
|
|
195
|
-
)
|
|
196
|
-
} else {
|
|
197
|
-
newFootnotes.forEach((footnote, index) => {
|
|
198
|
-
const fnContent = state.doc.nodeAt(
|
|
199
|
-
footnote.from
|
|
200
|
-
).attrs.footnote
|
|
201
|
-
options.editor.mod.footnotes.fnEditor.renderFootnote(
|
|
202
|
-
fnContent,
|
|
203
|
-
offset + index,
|
|
204
|
-
footTr
|
|
205
|
-
)
|
|
206
|
-
})
|
|
207
|
-
}
|
|
208
|
-
fnMarkers = fnMarkers
|
|
209
|
-
.concat(newFootnotes)
|
|
210
|
-
.sort((a, b) => (a.from > b.from ? 1 : -1))
|
|
211
|
-
}
|
|
212
|
-
})
|
|
213
|
-
|
|
214
|
-
const footMeta = tr.getMeta("toFoot")
|
|
215
|
-
|
|
216
|
-
if (footMeta) {
|
|
217
|
-
Object.entries(footMeta).forEach(([key, value]) => {
|
|
218
|
-
footTr.setMeta(key, value)
|
|
219
|
-
})
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
if (footTr.docChanged || footMeta) {
|
|
223
|
-
tr.setMeta("footTr", footTr)
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
return {
|
|
227
|
-
fnMarkers
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
view(_editorView) {
|
|
232
|
-
return {
|
|
233
|
-
update: (_view, _prevState) => {
|
|
234
|
-
options.editor.mod.footnotes.layout.updateDOM()
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
})
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import {GapCursor} from "prosemirror-gapcursor"
|
|
2
|
-
import {Plugin, PluginKey, TextSelection} from "prosemirror-state"
|
|
3
|
-
|
|
4
|
-
// A plugin that makes sure that the selecion is not put into a node that has been
|
|
5
|
-
// hidden.
|
|
6
|
-
|
|
7
|
-
const posHidden = $pos => {
|
|
8
|
-
let hidden = false
|
|
9
|
-
for (let i = $pos.depth; i > 0; i--) {
|
|
10
|
-
const node = $pos.node(i)
|
|
11
|
-
if (
|
|
12
|
-
node.attrs.hidden ||
|
|
13
|
-
(["table_caption", "figure_caption"].includes(node.type.name) &&
|
|
14
|
-
$pos.node(i - 1).attrs.caption === false)
|
|
15
|
-
) {
|
|
16
|
-
hidden = true
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return hidden
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const key = new PluginKey("jump-hidden-nodes")
|
|
23
|
-
export const jumpHiddenNodesPlugin = _options =>
|
|
24
|
-
new Plugin({
|
|
25
|
-
key,
|
|
26
|
-
appendTransaction: (trs, oldState, state) => {
|
|
27
|
-
if (state.selection.from !== state.selection.to) {
|
|
28
|
-
// Only applies to collapsed selection
|
|
29
|
-
return
|
|
30
|
-
}
|
|
31
|
-
const selectionSet = trs.find(tr => tr.selectionSet)
|
|
32
|
-
|
|
33
|
-
if (selectionSet && posHidden(state.selection.$from)) {
|
|
34
|
-
const dir =
|
|
35
|
-
state.selection.from > oldState.selection.from ? 1 : -1
|
|
36
|
-
let newPos = state.selection.from,
|
|
37
|
-
hidden = true,
|
|
38
|
-
validTextSelection = false,
|
|
39
|
-
validGapCursor = false,
|
|
40
|
-
$pos
|
|
41
|
-
while (hidden || (!validGapCursor && !validTextSelection)) {
|
|
42
|
-
newPos += dir
|
|
43
|
-
if (newPos === 0 || newPos === state.doc.nodeSize) {
|
|
44
|
-
// Could not find any valid position
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
$pos = state.doc.resolve(newPos)
|
|
48
|
-
validTextSelection = $pos.parent.inlineContent
|
|
49
|
-
validGapCursor = GapCursor.valid($pos)
|
|
50
|
-
hidden = posHidden($pos)
|
|
51
|
-
}
|
|
52
|
-
const selection = validTextSelection
|
|
53
|
-
? new TextSelection($pos)
|
|
54
|
-
: new GapCursor($pos)
|
|
55
|
-
return state.tr.setSelection(selection)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
})
|