@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,6 +1,8 @@
|
|
|
1
1
|
import {toggleMark, wrapIn} from "prosemirror-commands"
|
|
2
2
|
import {redo, redoDepth, undo, undoDepth} from "prosemirror-history"
|
|
3
3
|
import {wrapInList} from "prosemirror-schema-list"
|
|
4
|
+
import type {Mark, Node} from "prosemirror-model"
|
|
5
|
+
import type {Selection, Transaction} from "prosemirror-state"
|
|
4
6
|
|
|
5
7
|
import {COMMENT_ONLY_ROLES, READ_ONLY_ROLES} from "../../index.js"
|
|
6
8
|
import {
|
|
@@ -11,13 +13,18 @@ import {
|
|
|
11
13
|
TableDialog
|
|
12
14
|
} from "../../dialogs/index.js"
|
|
13
15
|
import {setBlockType} from "../../keymap.js"
|
|
16
|
+
import {checkProtectedInSelection} from "../../state_plugins/document_template.js"
|
|
14
17
|
import {
|
|
15
|
-
checkProtectedInSelection,
|
|
16
18
|
getInlineReferenceState,
|
|
17
19
|
setInlineReferenceState
|
|
18
|
-
} from "../../state_plugins/index.js"
|
|
20
|
+
} from "../../state_plugins/inline_reference/index.js"
|
|
21
|
+
import type {Editor} from "../../types.js"
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
interface BlockLabels {
|
|
24
|
+
[key: string]: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const BLOCK_LABELS: BlockLabels = {
|
|
21
28
|
paragraph: gettext("Normal Text"),
|
|
22
29
|
heading1: gettext("1st Heading"),
|
|
23
30
|
heading2: gettext("2nd Heading"),
|
|
@@ -29,34 +36,61 @@ const BLOCK_LABELS = {
|
|
|
29
36
|
figure: gettext("Figure")
|
|
30
37
|
}
|
|
31
38
|
|
|
39
|
+
/** Minimal shape of the headerbar model used by the toolbar toggle button. */
|
|
40
|
+
interface HeaderbarModelLike {
|
|
41
|
+
open: boolean
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Minimal shape of the headerbar view used to refresh the header menu. */
|
|
45
|
+
interface HeaderbarViewLike {
|
|
46
|
+
update(): void
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* ProseMirror's base Selection type does not expose the instance `jsonID` and
|
|
51
|
+
* `node` properties that concrete subclasses such as NodeSelection provide.
|
|
52
|
+
* The toolbar model only reads these values, so we cast through this small
|
|
53
|
+
* local interface rather than using `any`.
|
|
54
|
+
*/
|
|
55
|
+
interface SelectionExtras {
|
|
56
|
+
jsonID: string
|
|
57
|
+
node?: Node
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function currentSelection(editor: Editor): Selection & SelectionExtras {
|
|
61
|
+
return editor.currentView.state.selection as Selection & SelectionExtras
|
|
62
|
+
}
|
|
63
|
+
|
|
32
64
|
// from https://github.com/ProseMirror/prosemirror-tables/blob/master/src/util.js
|
|
33
|
-
const findTable = state => {
|
|
65
|
+
const findTable = (state: {selection: {$head: {depth: number; node(d: number): Node}}}) => {
|
|
34
66
|
const $head = state.selection.$head
|
|
35
67
|
for (let d = $head.depth; d > 0; d--) {
|
|
36
|
-
if ($head.node(d).type.spec.tableRole == "table") {
|
|
68
|
+
if (($head.node(d).type.spec as {tableRole?: string}).tableRole == "table") {
|
|
37
69
|
return $head.node(d)
|
|
38
70
|
}
|
|
39
71
|
}
|
|
40
|
-
return
|
|
72
|
+
return null
|
|
41
73
|
}
|
|
42
74
|
|
|
43
|
-
function elementAvailable(editor, elementName) {
|
|
75
|
+
function elementAvailable(editor: Editor, elementName: string): boolean {
|
|
44
76
|
let elementInDocParts = false
|
|
45
77
|
editor.view.state.doc.forEach(docPart => {
|
|
46
78
|
if (
|
|
47
|
-
docPart.attrs.elements
|
|
48
|
-
docPart.attrs.elements.includes(elementName)
|
|
79
|
+
(docPart.attrs.elements as string[] | undefined)?.includes(elementName)
|
|
49
80
|
) {
|
|
50
81
|
elementInDocParts = true
|
|
51
82
|
}
|
|
52
83
|
})
|
|
53
84
|
return (
|
|
54
|
-
editor.view.state.doc.attrs.footnote_elements.includes(elementName) ||
|
|
85
|
+
(editor.view.state.doc.attrs.footnote_elements as string[]).includes(elementName) ||
|
|
55
86
|
elementInDocParts
|
|
56
87
|
)
|
|
57
88
|
}
|
|
58
89
|
|
|
59
|
-
export function elementDisabled(
|
|
90
|
+
export function elementDisabled(
|
|
91
|
+
editor: Editor,
|
|
92
|
+
elementName: string
|
|
93
|
+
): boolean {
|
|
60
94
|
if (editor.currentView === editor.view) {
|
|
61
95
|
// main editor
|
|
62
96
|
const anchorDocPart =
|
|
@@ -66,8 +100,7 @@ export function elementDisabled(editor, elementName) {
|
|
|
66
100
|
return (
|
|
67
101
|
!anchorDocPart ||
|
|
68
102
|
headDocPart !== anchorDocPart ||
|
|
69
|
-
!anchorDocPart.attrs.elements ||
|
|
70
|
-
!anchorDocPart.attrs.elements.includes(elementName) ||
|
|
103
|
+
!(anchorDocPart.attrs.elements as string[] | undefined)?.includes(elementName) ||
|
|
71
104
|
checkProtectedInSelection(editor.view.state)
|
|
72
105
|
)
|
|
73
106
|
} else {
|
|
@@ -79,25 +112,25 @@ export function elementDisabled(editor, elementName) {
|
|
|
79
112
|
return (
|
|
80
113
|
!anchorFootnote ||
|
|
81
114
|
headFootnote !== anchorFootnote ||
|
|
82
|
-
!editor.view.state.doc.attrs.footnote_elements.includes(elementName)
|
|
115
|
+
!(editor.view.state.doc.attrs.footnote_elements as string[]).includes(elementName)
|
|
83
116
|
)
|
|
84
117
|
}
|
|
85
118
|
}
|
|
86
119
|
|
|
87
|
-
function markAvailable(editor, markName) {
|
|
120
|
+
function markAvailable(editor: Editor, markName: string): boolean {
|
|
88
121
|
let markInDocParts = false
|
|
89
122
|
editor.view.state.doc.forEach(docPart => {
|
|
90
|
-
if (docPart.attrs.
|
|
123
|
+
if ((docPart.attrs.marks as string[] | undefined)?.includes(markName)) {
|
|
91
124
|
markInDocParts = true
|
|
92
125
|
}
|
|
93
126
|
})
|
|
94
127
|
return (
|
|
95
|
-
editor.view.state.doc.attrs.footnote_marks.includes(markName) ||
|
|
128
|
+
(editor.view.state.doc.attrs.footnote_marks as string[]).includes(markName) ||
|
|
96
129
|
markInDocParts
|
|
97
130
|
)
|
|
98
131
|
}
|
|
99
132
|
|
|
100
|
-
function markDisabled(editor, markName) {
|
|
133
|
+
function markDisabled(editor: Editor, markName: string): boolean {
|
|
101
134
|
if (editor.currentView === editor.view) {
|
|
102
135
|
// main editor
|
|
103
136
|
const anchorDocPart =
|
|
@@ -107,8 +140,7 @@ function markDisabled(editor, markName) {
|
|
|
107
140
|
return (
|
|
108
141
|
!anchorDocPart ||
|
|
109
142
|
headDocPart !== anchorDocPart ||
|
|
110
|
-
!anchorDocPart.attrs.marks ||
|
|
111
|
-
!anchorDocPart.attrs.marks.includes(markName) ||
|
|
143
|
+
!(anchorDocPart.attrs.marks as string[] | undefined)?.includes(markName) ||
|
|
112
144
|
checkProtectedInSelection(editor.view.state)
|
|
113
145
|
)
|
|
114
146
|
} else {
|
|
@@ -120,7 +152,7 @@ function markDisabled(editor, markName) {
|
|
|
120
152
|
return (
|
|
121
153
|
!anchorFootnote ||
|
|
122
154
|
headFootnote !== anchorFootnote ||
|
|
123
|
-
!editor.view.state.doc.attrs.footnote_marks.includes(markName)
|
|
155
|
+
!(editor.view.state.doc.attrs.footnote_marks as string[]).includes(markName)
|
|
124
156
|
)
|
|
125
157
|
}
|
|
126
158
|
}
|
|
@@ -131,22 +163,22 @@ export const toolbarModel = () => ({
|
|
|
131
163
|
{
|
|
132
164
|
type: "button",
|
|
133
165
|
title: gettext("Open/close header menu"),
|
|
134
|
-
icon: editor => {
|
|
135
|
-
if (editor.menu.headerbarModel.open) {
|
|
166
|
+
icon: (editor: Editor) => {
|
|
167
|
+
if ((editor.menu.headerbarModel as HeaderbarModelLike).open) {
|
|
136
168
|
return "angle-double-up"
|
|
137
169
|
} else {
|
|
138
170
|
return "angle-double-down"
|
|
139
171
|
}
|
|
140
172
|
},
|
|
141
|
-
action: editor => {
|
|
142
|
-
editor.menu.headerbarModel.open =
|
|
143
|
-
!editor.menu.headerbarModel.open
|
|
173
|
+
action: (editor: Editor) => {
|
|
174
|
+
;(editor.menu.headerbarModel as HeaderbarModelLike).open =
|
|
175
|
+
!(editor.menu.headerbarModel as HeaderbarModelLike).open
|
|
144
176
|
if (editor.menu.headerView) {
|
|
145
|
-
editor.menu.headerView.update()
|
|
177
|
+
;(editor.menu.headerView as HeaderbarViewLike).update()
|
|
146
178
|
}
|
|
147
179
|
},
|
|
148
|
-
class: editor => {
|
|
149
|
-
if (editor.menu.headerbarModel.open) {
|
|
180
|
+
class: (editor: Editor) => {
|
|
181
|
+
if ((editor.menu.headerbarModel as HeaderbarModelLike).open) {
|
|
150
182
|
return "no-border"
|
|
151
183
|
} else {
|
|
152
184
|
return "no-border header-closed"
|
|
@@ -156,8 +188,9 @@ export const toolbarModel = () => ({
|
|
|
156
188
|
},
|
|
157
189
|
{
|
|
158
190
|
type: "info",
|
|
159
|
-
show: editor => {
|
|
191
|
+
show: (editor: Editor) => {
|
|
160
192
|
let title = ""
|
|
193
|
+
const selection = currentSelection(editor)
|
|
161
194
|
if (editor.currentView !== editor.view) {
|
|
162
195
|
return gettext("Footnote")
|
|
163
196
|
} else if (
|
|
@@ -178,16 +211,16 @@ export const toolbarModel = () => ({
|
|
|
178
211
|
) {
|
|
179
212
|
title =
|
|
180
213
|
editor.currentView.state.selection.$anchor.nodeAfter
|
|
181
|
-
|
|
214
|
+
?.attrs.title ?? ""
|
|
182
215
|
return title.length > 20
|
|
183
216
|
? title.slice(0, 20) + "..."
|
|
184
217
|
: title
|
|
185
218
|
} else if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
219
|
+
selection.jsonID === "node" &&
|
|
220
|
+
selection.node?.isBlock &&
|
|
221
|
+
selection.node.attrs.title
|
|
189
222
|
) {
|
|
190
|
-
title =
|
|
223
|
+
title = selection.node.attrs.title
|
|
191
224
|
return title.length > 20
|
|
192
225
|
? title.slice(0, 20) + "..."
|
|
193
226
|
: title
|
|
@@ -199,7 +232,8 @@ export const toolbarModel = () => ({
|
|
|
199
232
|
},
|
|
200
233
|
{
|
|
201
234
|
type: "menu",
|
|
202
|
-
show: editor => {
|
|
235
|
+
show: (editor: Editor) => {
|
|
236
|
+
const selection = currentSelection(editor)
|
|
203
237
|
if (
|
|
204
238
|
editor.currentView.state.selection.$anchor.node(1) &&
|
|
205
239
|
!editor.view.state.selection.$anchor.node(1).attrs.elements
|
|
@@ -207,10 +241,10 @@ export const toolbarModel = () => ({
|
|
|
207
241
|
return ""
|
|
208
242
|
}
|
|
209
243
|
if (
|
|
210
|
-
|
|
211
|
-
|
|
244
|
+
selection.jsonID === "node" &&
|
|
245
|
+
selection.node?.isBlock
|
|
212
246
|
) {
|
|
213
|
-
const selectedNode =
|
|
247
|
+
const selectedNode = selection.node
|
|
214
248
|
return BLOCK_LABELS[selectedNode.type.name]
|
|
215
249
|
? BLOCK_LABELS[selectedNode.type.name]
|
|
216
250
|
: ""
|
|
@@ -226,7 +260,7 @@ export const toolbarModel = () => ({
|
|
|
226
260
|
? BLOCK_LABELS[blockNodeType]
|
|
227
261
|
: ""
|
|
228
262
|
} else {
|
|
229
|
-
let blockNodeType = true
|
|
263
|
+
let blockNodeType: string | boolean = true
|
|
230
264
|
editor.currentView.state.doc.nodesBetween(
|
|
231
265
|
editor.currentView.state.selection.from,
|
|
232
266
|
editor.currentView.state.selection.to,
|
|
@@ -243,7 +277,7 @@ export const toolbarModel = () => ({
|
|
|
243
277
|
}
|
|
244
278
|
)
|
|
245
279
|
|
|
246
|
-
if (blockNodeType) {
|
|
280
|
+
if (blockNodeType && typeof blockNodeType === "string") {
|
|
247
281
|
return BLOCK_LABELS[blockNodeType]
|
|
248
282
|
? BLOCK_LABELS[blockNodeType]
|
|
249
283
|
: ""
|
|
@@ -252,119 +286,119 @@ export const toolbarModel = () => ({
|
|
|
252
286
|
}
|
|
253
287
|
}
|
|
254
288
|
},
|
|
255
|
-
disabled: editor =>
|
|
256
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
257
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
289
|
+
disabled: (editor: Editor) =>
|
|
290
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
291
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
258
292
|
!editor.currentView.state.selection.$anchor.node(1) ||
|
|
259
293
|
!editor.currentView.state.selection.$anchor.node(1).attrs
|
|
260
294
|
.elements ||
|
|
261
|
-
(editor.
|
|
262
|
-
editor.
|
|
263
|
-
!editor.
|
|
264
|
-
editor.
|
|
295
|
+
(currentSelection(editor).jsonID === "node" &&
|
|
296
|
+
currentSelection(editor).node?.isBlock &&
|
|
297
|
+
!currentSelection(editor).node?.isTextblock) ||
|
|
298
|
+
currentSelection(editor).jsonID === "gapcursor",
|
|
265
299
|
content: [
|
|
266
300
|
{
|
|
267
301
|
title: BLOCK_LABELS["paragraph"],
|
|
268
|
-
action: editor => {
|
|
302
|
+
action: (editor: Editor) => {
|
|
269
303
|
const view = editor.currentView
|
|
270
|
-
setBlockType(view.state.schema.nodes.paragraph)(
|
|
304
|
+
setBlockType(view.state.schema.nodes.paragraph!)(
|
|
271
305
|
view.state,
|
|
272
306
|
view.dispatch
|
|
273
307
|
)
|
|
274
308
|
},
|
|
275
|
-
available: editor => elementAvailable(editor, "paragraph"),
|
|
276
|
-
disabled: editor => elementDisabled(editor, "paragraph"),
|
|
309
|
+
available: (editor: Editor) => elementAvailable(editor, "paragraph"),
|
|
310
|
+
disabled: (editor: Editor) => elementDisabled(editor, "paragraph"),
|
|
277
311
|
order: 0
|
|
278
312
|
},
|
|
279
313
|
{
|
|
280
314
|
title: BLOCK_LABELS["heading1"],
|
|
281
|
-
action: editor => {
|
|
315
|
+
action: (editor: Editor) => {
|
|
282
316
|
const view = editor.currentView
|
|
283
|
-
setBlockType(view.state.schema.nodes.heading1)(
|
|
317
|
+
setBlockType(view.state.schema.nodes.heading1!)(
|
|
284
318
|
view.state,
|
|
285
319
|
view.dispatch
|
|
286
320
|
)
|
|
287
321
|
},
|
|
288
|
-
available: editor => elementAvailable(editor, "heading1"),
|
|
289
|
-
disabled: editor => elementDisabled(editor, "heading1"),
|
|
322
|
+
available: (editor: Editor) => elementAvailable(editor, "heading1"),
|
|
323
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading1"),
|
|
290
324
|
order: 1
|
|
291
325
|
},
|
|
292
326
|
{
|
|
293
327
|
title: BLOCK_LABELS["heading2"],
|
|
294
|
-
action: editor => {
|
|
328
|
+
action: (editor: Editor) => {
|
|
295
329
|
const view = editor.currentView
|
|
296
|
-
setBlockType(view.state.schema.nodes.heading2)(
|
|
330
|
+
setBlockType(view.state.schema.nodes.heading2!)(
|
|
297
331
|
view.state,
|
|
298
332
|
view.dispatch
|
|
299
333
|
)
|
|
300
334
|
},
|
|
301
|
-
available: editor => elementAvailable(editor, "heading2"),
|
|
302
|
-
disabled: editor => elementDisabled(editor, "heading2"),
|
|
335
|
+
available: (editor: Editor) => elementAvailable(editor, "heading2"),
|
|
336
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading2"),
|
|
303
337
|
order: 2
|
|
304
338
|
},
|
|
305
339
|
{
|
|
306
340
|
title: BLOCK_LABELS["heading3"],
|
|
307
|
-
action: editor => {
|
|
341
|
+
action: (editor: Editor) => {
|
|
308
342
|
const view = editor.currentView
|
|
309
|
-
setBlockType(view.state.schema.nodes.heading3)(
|
|
343
|
+
setBlockType(view.state.schema.nodes.heading3!)(
|
|
310
344
|
view.state,
|
|
311
345
|
view.dispatch
|
|
312
346
|
)
|
|
313
347
|
},
|
|
314
|
-
available: editor => elementAvailable(editor, "heading3"),
|
|
315
|
-
disabled: editor => elementDisabled(editor, "heading3"),
|
|
348
|
+
available: (editor: Editor) => elementAvailable(editor, "heading3"),
|
|
349
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading3"),
|
|
316
350
|
order: 3
|
|
317
351
|
},
|
|
318
352
|
{
|
|
319
353
|
title: BLOCK_LABELS["heading4"],
|
|
320
|
-
action: editor => {
|
|
354
|
+
action: (editor: Editor) => {
|
|
321
355
|
const view = editor.currentView
|
|
322
|
-
setBlockType(view.state.schema.nodes.heading4)(
|
|
356
|
+
setBlockType(view.state.schema.nodes.heading4!)(
|
|
323
357
|
view.state,
|
|
324
358
|
view.dispatch
|
|
325
359
|
)
|
|
326
360
|
},
|
|
327
|
-
available: editor => elementAvailable(editor, "heading4"),
|
|
328
|
-
disabled: editor => elementDisabled(editor, "heading4"),
|
|
361
|
+
available: (editor: Editor) => elementAvailable(editor, "heading4"),
|
|
362
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading4"),
|
|
329
363
|
order: 4
|
|
330
364
|
},
|
|
331
365
|
{
|
|
332
366
|
title: BLOCK_LABELS["heading5"],
|
|
333
|
-
action: editor => {
|
|
367
|
+
action: (editor: Editor) => {
|
|
334
368
|
const view = editor.currentView
|
|
335
|
-
setBlockType(view.state.schema.nodes.heading5)(
|
|
369
|
+
setBlockType(view.state.schema.nodes.heading5!)(
|
|
336
370
|
view.state,
|
|
337
371
|
view.dispatch
|
|
338
372
|
)
|
|
339
373
|
},
|
|
340
|
-
available: editor => elementAvailable(editor, "heading5"),
|
|
341
|
-
disabled: editor => elementDisabled(editor, "heading5"),
|
|
374
|
+
available: (editor: Editor) => elementAvailable(editor, "heading5"),
|
|
375
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading5"),
|
|
342
376
|
order: 5
|
|
343
377
|
},
|
|
344
378
|
{
|
|
345
379
|
title: BLOCK_LABELS["heading6"],
|
|
346
|
-
action: editor => {
|
|
380
|
+
action: (editor: Editor) => {
|
|
347
381
|
const view = editor.currentView
|
|
348
|
-
setBlockType(view.state.schema.nodes.heading6)(
|
|
382
|
+
setBlockType(view.state.schema.nodes.heading6!)(
|
|
349
383
|
view.state,
|
|
350
384
|
view.dispatch
|
|
351
385
|
)
|
|
352
386
|
},
|
|
353
|
-
available: editor => elementAvailable(editor, "heading6"),
|
|
354
|
-
disabled: editor => elementDisabled(editor, "heading6"),
|
|
387
|
+
available: (editor: Editor) => elementAvailable(editor, "heading6"),
|
|
388
|
+
disabled: (editor: Editor) => elementDisabled(editor, "heading6"),
|
|
355
389
|
order: 6
|
|
356
390
|
},
|
|
357
391
|
{
|
|
358
392
|
title: BLOCK_LABELS["code_block"],
|
|
359
|
-
action: editor => {
|
|
393
|
+
action: (editor: Editor) => {
|
|
360
394
|
const view = editor.currentView
|
|
361
|
-
setBlockType(view.state.schema.nodes.code_block)(
|
|
395
|
+
setBlockType(view.state.schema.nodes.code_block!)(
|
|
362
396
|
view.state,
|
|
363
397
|
view.dispatch
|
|
364
398
|
)
|
|
365
399
|
},
|
|
366
|
-
available: editor => elementAvailable(editor, "code_block"),
|
|
367
|
-
disabled: editor => elementDisabled(editor, "code_block"),
|
|
400
|
+
available: (editor: Editor) => elementAvailable(editor, "code_block"),
|
|
401
|
+
disabled: (editor: Editor) => elementDisabled(editor, "code_block"),
|
|
368
402
|
order: 7
|
|
369
403
|
}
|
|
370
404
|
],
|
|
@@ -374,31 +408,32 @@ export const toolbarModel = () => ({
|
|
|
374
408
|
type: "button",
|
|
375
409
|
title: gettext("Strong"),
|
|
376
410
|
icon: "bold",
|
|
377
|
-
action: editor => {
|
|
378
|
-
const mark = editor.currentView.state.schema.marks["strong"]
|
|
411
|
+
action: (editor: Editor) => {
|
|
412
|
+
const mark = editor.currentView.state.schema.marks["strong"]!
|
|
379
413
|
const command = toggleMark(mark)
|
|
380
414
|
command(editor.currentView.state, tr =>
|
|
381
415
|
editor.currentView.dispatch(tr)
|
|
382
416
|
)
|
|
383
417
|
},
|
|
384
|
-
available: editor => markAvailable(editor, "strong"),
|
|
385
|
-
disabled: editor => {
|
|
418
|
+
available: (editor: Editor) => markAvailable(editor, "strong"),
|
|
419
|
+
disabled: (editor: Editor) => {
|
|
386
420
|
if (
|
|
387
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
388
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
389
|
-
editor.
|
|
421
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
422
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
423
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
390
424
|
markDisabled(editor, "strong")
|
|
391
425
|
) {
|
|
392
426
|
return true
|
|
393
427
|
}
|
|
428
|
+
return false
|
|
394
429
|
},
|
|
395
|
-
selected: editor => {
|
|
430
|
+
selected: (editor: Editor) => {
|
|
396
431
|
const storedMarks = editor.currentView.state.storedMarks
|
|
397
432
|
if (
|
|
398
|
-
storedMarks?.some(mark => mark.type.name === "strong") ||
|
|
433
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "strong") ||
|
|
399
434
|
editor.currentView.state.selection.$head
|
|
400
435
|
.marks()
|
|
401
|
-
.some(mark => mark.type.name === "strong")
|
|
436
|
+
.some((mark: Mark) => mark.type.name === "strong")
|
|
402
437
|
) {
|
|
403
438
|
return true
|
|
404
439
|
} else {
|
|
@@ -411,26 +446,26 @@ export const toolbarModel = () => ({
|
|
|
411
446
|
type: "button",
|
|
412
447
|
title: gettext("Emphasis"),
|
|
413
448
|
icon: "italic",
|
|
414
|
-
action: editor => {
|
|
415
|
-
const mark = editor.currentView.state.schema.marks["em"]
|
|
449
|
+
action: (editor: Editor) => {
|
|
450
|
+
const mark = editor.currentView.state.schema.marks["em"]!
|
|
416
451
|
const command = toggleMark(mark)
|
|
417
452
|
command(editor.currentView.state, tr =>
|
|
418
453
|
editor.currentView.dispatch(tr)
|
|
419
454
|
)
|
|
420
455
|
},
|
|
421
|
-
available: editor => markAvailable(editor, "em"),
|
|
422
|
-
disabled: editor =>
|
|
423
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
424
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
425
|
-
editor.
|
|
456
|
+
available: (editor: Editor) => markAvailable(editor, "em"),
|
|
457
|
+
disabled: (editor: Editor) =>
|
|
458
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
459
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
460
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
426
461
|
markDisabled(editor, "em"),
|
|
427
|
-
selected: editor => {
|
|
462
|
+
selected: (editor: Editor) => {
|
|
428
463
|
const storedMarks = editor.currentView.state.storedMarks
|
|
429
464
|
if (
|
|
430
|
-
storedMarks?.some(mark => mark.type.name === "em") ||
|
|
465
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "em") ||
|
|
431
466
|
editor.currentView.state.selection.$head
|
|
432
467
|
.marks()
|
|
433
|
-
.some(mark => mark.type.name === "em")
|
|
468
|
+
.some((mark: Mark) => mark.type.name === "em")
|
|
434
469
|
) {
|
|
435
470
|
return true
|
|
436
471
|
} else {
|
|
@@ -443,31 +478,32 @@ export const toolbarModel = () => ({
|
|
|
443
478
|
type: "button",
|
|
444
479
|
title: gettext("Underline"),
|
|
445
480
|
icon: "underline",
|
|
446
|
-
action: editor => {
|
|
447
|
-
const mark = editor.currentView.state.schema.marks["underline"]
|
|
481
|
+
action: (editor: Editor) => {
|
|
482
|
+
const mark = editor.currentView.state.schema.marks["underline"]!
|
|
448
483
|
const command = toggleMark(mark)
|
|
449
484
|
command(editor.currentView.state, tr =>
|
|
450
485
|
editor.currentView.dispatch(tr)
|
|
451
486
|
)
|
|
452
487
|
},
|
|
453
|
-
available: editor => markAvailable(editor, "underline"),
|
|
454
|
-
disabled: editor => {
|
|
488
|
+
available: (editor: Editor) => markAvailable(editor, "underline"),
|
|
489
|
+
disabled: (editor: Editor) => {
|
|
455
490
|
if (
|
|
456
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
457
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
458
|
-
editor.
|
|
491
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
492
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
493
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
459
494
|
markDisabled(editor, "underline")
|
|
460
495
|
) {
|
|
461
496
|
return true
|
|
462
497
|
}
|
|
498
|
+
return false
|
|
463
499
|
},
|
|
464
|
-
selected: editor => {
|
|
500
|
+
selected: (editor: Editor) => {
|
|
465
501
|
const storedMarks = editor.currentView.state.storedMarks
|
|
466
502
|
if (
|
|
467
|
-
storedMarks?.some(mark => mark.type.name === "underline") ||
|
|
503
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "underline") ||
|
|
468
504
|
editor.currentView.state.selection.$head
|
|
469
505
|
.marks()
|
|
470
|
-
.some(mark => mark.type.name === "underline")
|
|
506
|
+
.some((mark: Mark) => mark.type.name === "underline")
|
|
471
507
|
) {
|
|
472
508
|
return true
|
|
473
509
|
} else {
|
|
@@ -480,31 +516,32 @@ export const toolbarModel = () => ({
|
|
|
480
516
|
type: "button",
|
|
481
517
|
title: gettext("Superscript"),
|
|
482
518
|
icon: "superscript",
|
|
483
|
-
action: editor => {
|
|
484
|
-
const mark = editor.currentView.state.schema.marks["sup"]
|
|
519
|
+
action: (editor: Editor) => {
|
|
520
|
+
const mark = editor.currentView.state.schema.marks["sup"]!
|
|
485
521
|
const command = toggleMark(mark)
|
|
486
522
|
command(editor.currentView.state, tr =>
|
|
487
523
|
editor.currentView.dispatch(tr)
|
|
488
524
|
)
|
|
489
525
|
},
|
|
490
|
-
available: editor => markAvailable(editor, "sup"),
|
|
491
|
-
disabled: editor => {
|
|
526
|
+
available: (editor: Editor) => markAvailable(editor, "sup"),
|
|
527
|
+
disabled: (editor: Editor) => {
|
|
492
528
|
if (
|
|
493
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
494
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
495
|
-
editor.
|
|
529
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
530
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
531
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
496
532
|
markDisabled(editor, "sup")
|
|
497
533
|
) {
|
|
498
534
|
return true
|
|
499
535
|
}
|
|
536
|
+
return false
|
|
500
537
|
},
|
|
501
|
-
selected: editor => {
|
|
538
|
+
selected: (editor: Editor) => {
|
|
502
539
|
const storedMarks = editor.currentView.state.storedMarks
|
|
503
540
|
if (
|
|
504
|
-
storedMarks?.some(mark => mark.type.name === "sup") ||
|
|
541
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "sup") ||
|
|
505
542
|
editor.currentView.state.selection.$head
|
|
506
543
|
.marks()
|
|
507
|
-
.some(mark => mark.type.name === "sup")
|
|
544
|
+
.some((mark: Mark) => mark.type.name === "sup")
|
|
508
545
|
) {
|
|
509
546
|
return true
|
|
510
547
|
} else {
|
|
@@ -517,31 +554,32 @@ export const toolbarModel = () => ({
|
|
|
517
554
|
type: "button",
|
|
518
555
|
title: gettext("Subscript"),
|
|
519
556
|
icon: "subscript",
|
|
520
|
-
action: editor => {
|
|
521
|
-
const mark = editor.currentView.state.schema.marks["sub"]
|
|
557
|
+
action: (editor: Editor) => {
|
|
558
|
+
const mark = editor.currentView.state.schema.marks["sub"]!
|
|
522
559
|
const command = toggleMark(mark)
|
|
523
560
|
command(editor.currentView.state, tr =>
|
|
524
561
|
editor.currentView.dispatch(tr)
|
|
525
562
|
)
|
|
526
563
|
},
|
|
527
|
-
available: editor => markAvailable(editor, "sub"),
|
|
528
|
-
disabled: editor => {
|
|
564
|
+
available: (editor: Editor) => markAvailable(editor, "sub"),
|
|
565
|
+
disabled: (editor: Editor) => {
|
|
529
566
|
if (
|
|
530
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
531
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
532
|
-
editor.
|
|
567
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
568
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
569
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
533
570
|
markDisabled(editor, "sub")
|
|
534
571
|
) {
|
|
535
572
|
return true
|
|
536
573
|
}
|
|
574
|
+
return false
|
|
537
575
|
},
|
|
538
|
-
selected: editor => {
|
|
576
|
+
selected: (editor: Editor) => {
|
|
539
577
|
const storedMarks = editor.currentView.state.storedMarks
|
|
540
578
|
if (
|
|
541
|
-
storedMarks?.some(mark => mark.type.name === "sub") ||
|
|
579
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "sub") ||
|
|
542
580
|
editor.currentView.state.selection.$head
|
|
543
581
|
.marks()
|
|
544
|
-
.some(mark => mark.type.name === "sub")
|
|
582
|
+
.some((mark: Mark) => mark.type.name === "sub")
|
|
545
583
|
) {
|
|
546
584
|
return true
|
|
547
585
|
} else {
|
|
@@ -554,31 +592,32 @@ export const toolbarModel = () => ({
|
|
|
554
592
|
type: "button",
|
|
555
593
|
title: gettext("Code"),
|
|
556
594
|
icon: "code",
|
|
557
|
-
action: editor => {
|
|
558
|
-
const mark = editor.currentView.state.schema.marks["code"]
|
|
595
|
+
action: (editor: Editor) => {
|
|
596
|
+
const mark = editor.currentView.state.schema.marks["code"]!
|
|
559
597
|
const command = toggleMark(mark)
|
|
560
598
|
command(editor.currentView.state, tr =>
|
|
561
599
|
editor.currentView.dispatch(tr)
|
|
562
600
|
)
|
|
563
601
|
},
|
|
564
|
-
available: editor => markAvailable(editor, "code"),
|
|
565
|
-
disabled: editor => {
|
|
602
|
+
available: (editor: Editor) => markAvailable(editor, "code"),
|
|
603
|
+
disabled: (editor: Editor) => {
|
|
566
604
|
if (
|
|
567
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
568
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
569
|
-
editor.
|
|
605
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
606
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
607
|
+
currentSelection(editor).jsonID === "gapcursor" ||
|
|
570
608
|
markDisabled(editor, "code")
|
|
571
609
|
) {
|
|
572
610
|
return true
|
|
573
611
|
}
|
|
612
|
+
return false
|
|
574
613
|
},
|
|
575
|
-
selected: editor => {
|
|
614
|
+
selected: (editor: Editor) => {
|
|
576
615
|
const storedMarks = editor.currentView.state.storedMarks
|
|
577
616
|
if (
|
|
578
|
-
storedMarks?.some(mark => mark.type.name === "code") ||
|
|
617
|
+
storedMarks?.some((mark: Mark) => mark.type.name === "code") ||
|
|
579
618
|
editor.currentView.state.selection.$head
|
|
580
619
|
.marks()
|
|
581
|
-
.some(mark => mark.type.name === "code")
|
|
620
|
+
.some((mark: Mark) => mark.type.name === "code")
|
|
582
621
|
) {
|
|
583
622
|
return true
|
|
584
623
|
} else {
|
|
@@ -591,31 +630,32 @@ export const toolbarModel = () => ({
|
|
|
591
630
|
type: "button",
|
|
592
631
|
title: gettext("Numbered list"),
|
|
593
632
|
icon: "list-ol",
|
|
594
|
-
action: editor => {
|
|
633
|
+
action: (editor: Editor) => {
|
|
595
634
|
const node =
|
|
596
|
-
editor.currentView.state.schema.nodes["ordered_list"]
|
|
635
|
+
editor.currentView.state.schema.nodes["ordered_list"]!
|
|
597
636
|
const command = wrapInList(node)
|
|
598
637
|
command(editor.currentView.state, tr =>
|
|
599
638
|
editor.currentView.dispatch(tr)
|
|
600
639
|
)
|
|
601
640
|
},
|
|
602
|
-
available: editor => elementAvailable(editor, "ordered_list"),
|
|
603
|
-
disabled: editor => {
|
|
641
|
+
available: (editor: Editor) => elementAvailable(editor, "ordered_list"),
|
|
642
|
+
disabled: (editor: Editor) => {
|
|
604
643
|
if (
|
|
605
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
606
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
644
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
645
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
607
646
|
elementDisabled(editor, "ordered_list")
|
|
608
647
|
) {
|
|
609
648
|
return true
|
|
610
649
|
}
|
|
650
|
+
return false
|
|
611
651
|
},
|
|
612
|
-
selected: editor => {
|
|
652
|
+
selected: (editor: Editor) => {
|
|
613
653
|
const depth =
|
|
614
654
|
editor.currentView.state.selection.$head.sharedDepth(
|
|
615
655
|
editor.currentView.state.selection.anchor
|
|
616
656
|
)
|
|
617
657
|
const nodeType =
|
|
618
|
-
editor.currentView.state.schema.nodes["ordered_list"]
|
|
658
|
+
editor.currentView.state.schema.nodes["ordered_list"]!
|
|
619
659
|
for (let i = 0; i < depth; i++) {
|
|
620
660
|
const node =
|
|
621
661
|
editor.currentView.state.selection.$head.node(i)
|
|
@@ -631,31 +671,32 @@ export const toolbarModel = () => ({
|
|
|
631
671
|
type: "button",
|
|
632
672
|
title: gettext("Bullet list"),
|
|
633
673
|
icon: "list-ul",
|
|
634
|
-
action: editor => {
|
|
674
|
+
action: (editor: Editor) => {
|
|
635
675
|
const node =
|
|
636
|
-
editor.currentView.state.schema.nodes["bullet_list"]
|
|
676
|
+
editor.currentView.state.schema.nodes["bullet_list"]!
|
|
637
677
|
const command = wrapInList(node)
|
|
638
678
|
command(editor.currentView.state, tr =>
|
|
639
679
|
editor.currentView.dispatch(tr)
|
|
640
680
|
)
|
|
641
681
|
},
|
|
642
|
-
available: editor => elementAvailable(editor, "bullet_list"),
|
|
643
|
-
disabled: editor => {
|
|
682
|
+
available: (editor: Editor) => elementAvailable(editor, "bullet_list"),
|
|
683
|
+
disabled: (editor: Editor) => {
|
|
644
684
|
if (
|
|
645
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
646
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
685
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
686
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
647
687
|
elementDisabled(editor, "bullet_list")
|
|
648
688
|
) {
|
|
649
689
|
return true
|
|
650
690
|
}
|
|
691
|
+
return false
|
|
651
692
|
},
|
|
652
|
-
selected: editor => {
|
|
693
|
+
selected: (editor: Editor) => {
|
|
653
694
|
const depth =
|
|
654
695
|
editor.currentView.state.selection.$head.sharedDepth(
|
|
655
696
|
editor.currentView.state.selection.anchor
|
|
656
697
|
)
|
|
657
698
|
const nodeType =
|
|
658
|
-
editor.currentView.state.schema.nodes["bullet_list"]
|
|
699
|
+
editor.currentView.state.schema.nodes["bullet_list"]!
|
|
659
700
|
for (let i = 0; i < depth; i++) {
|
|
660
701
|
const node =
|
|
661
702
|
editor.currentView.state.selection.$head.node(i)
|
|
@@ -671,30 +712,31 @@ export const toolbarModel = () => ({
|
|
|
671
712
|
type: "button",
|
|
672
713
|
title: gettext("Blockquote"),
|
|
673
714
|
icon: "quote-right",
|
|
674
|
-
action: editor => {
|
|
675
|
-
const node = editor.currentView.state.schema.nodes["blockquote"]
|
|
715
|
+
action: (editor: Editor) => {
|
|
716
|
+
const node = editor.currentView.state.schema.nodes["blockquote"]!
|
|
676
717
|
const command = wrapIn(node)
|
|
677
718
|
command(editor.currentView.state, tr =>
|
|
678
719
|
editor.currentView.dispatch(tr)
|
|
679
720
|
)
|
|
680
721
|
},
|
|
681
|
-
available: editor => elementAvailable(editor, "blockquote"),
|
|
682
|
-
disabled: editor => {
|
|
722
|
+
available: (editor: Editor) => elementAvailable(editor, "blockquote"),
|
|
723
|
+
disabled: (editor: Editor) => {
|
|
683
724
|
if (
|
|
684
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
685
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
725
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
726
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
686
727
|
elementDisabled(editor, "blockquote")
|
|
687
728
|
) {
|
|
688
729
|
return true
|
|
689
730
|
}
|
|
731
|
+
return false
|
|
690
732
|
},
|
|
691
|
-
selected: editor => {
|
|
733
|
+
selected: (editor: Editor) => {
|
|
692
734
|
const depth =
|
|
693
735
|
editor.currentView.state.selection.$head.sharedDepth(
|
|
694
736
|
editor.currentView.state.selection.anchor
|
|
695
737
|
)
|
|
696
738
|
const nodeType =
|
|
697
|
-
editor.currentView.state.schema.nodes["blockquote"]
|
|
739
|
+
editor.currentView.state.schema.nodes["blockquote"]!
|
|
698
740
|
for (let i = 0; i < depth; i++) {
|
|
699
741
|
const node =
|
|
700
742
|
editor.currentView.state.selection.$head.node(i)
|
|
@@ -711,50 +753,52 @@ export const toolbarModel = () => ({
|
|
|
711
753
|
type: "button",
|
|
712
754
|
title: gettext("Link"),
|
|
713
755
|
icon: "link",
|
|
714
|
-
action: editor => {
|
|
756
|
+
action: (editor: Editor) => {
|
|
715
757
|
const dialog = new LinkDialog(editor)
|
|
716
758
|
dialog.init()
|
|
717
759
|
},
|
|
718
|
-
available: editor => markAvailable(editor, "link"),
|
|
719
|
-
disabled: editor => {
|
|
760
|
+
available: (editor: Editor) => markAvailable(editor, "link"),
|
|
761
|
+
disabled: (editor: Editor) => {
|
|
720
762
|
if (
|
|
721
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
722
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
763
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
764
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
723
765
|
(markDisabled(editor, "link") &&
|
|
724
766
|
elementDisabled(editor, "cross_reference"))
|
|
725
767
|
) {
|
|
726
768
|
return true
|
|
727
769
|
}
|
|
770
|
+
return false
|
|
728
771
|
},
|
|
729
|
-
selected: editor =>
|
|
772
|
+
selected: (editor: Editor) =>
|
|
730
773
|
editor.currentView.state.selection.$head
|
|
731
774
|
.marks()
|
|
732
|
-
.some(mark => mark.type.name === "link"),
|
|
775
|
+
.some((mark: Mark) => mark.type.name === "link"),
|
|
733
776
|
order: 12
|
|
734
777
|
},
|
|
735
778
|
{
|
|
736
779
|
type: "button",
|
|
737
780
|
title: gettext("Footnote"),
|
|
738
781
|
icon: "asterisk",
|
|
739
|
-
action: editor => {
|
|
740
|
-
const node = editor.view.state.schema.nodes["footnote"]
|
|
782
|
+
action: (editor: Editor) => {
|
|
783
|
+
const node = editor.view.state.schema.nodes["footnote"]!
|
|
741
784
|
const tr = editor.view.state.tr.replaceSelectionWith(
|
|
742
|
-
node.createAndFill()
|
|
785
|
+
node.createAndFill()!,
|
|
743
786
|
false
|
|
744
787
|
)
|
|
745
788
|
editor.view.dispatch(tr)
|
|
746
789
|
return false
|
|
747
790
|
},
|
|
748
|
-
available: editor => elementAvailable(editor, "footnote"),
|
|
749
|
-
disabled: editor => {
|
|
791
|
+
available: (editor: Editor) => elementAvailable(editor, "footnote"),
|
|
792
|
+
disabled: (editor: Editor) => {
|
|
750
793
|
if (
|
|
751
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
752
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
794
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
795
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
753
796
|
editor.view !== editor.currentView || // we don't allow footnotes in footnotes
|
|
754
797
|
elementDisabled(editor, "footnote")
|
|
755
798
|
) {
|
|
756
799
|
return true
|
|
757
800
|
}
|
|
801
|
+
return false
|
|
758
802
|
},
|
|
759
803
|
order: 13
|
|
760
804
|
},
|
|
@@ -762,36 +806,40 @@ export const toolbarModel = () => ({
|
|
|
762
806
|
type: "button",
|
|
763
807
|
title: gettext("Cite"),
|
|
764
808
|
icon: "book",
|
|
765
|
-
action: editor => {
|
|
809
|
+
action: (editor: Editor) => {
|
|
766
810
|
const inlineState = getInlineReferenceState(
|
|
767
811
|
editor.currentView.state
|
|
768
|
-
)
|
|
812
|
+
) as {active?: boolean; isEdit?: boolean} | undefined
|
|
769
813
|
if (inlineState?.active && inlineState.isEdit) {
|
|
770
814
|
editor.currentView.dispatch(
|
|
771
815
|
setInlineReferenceState(editor.currentView.state.tr, {
|
|
772
816
|
action: "openDialog"
|
|
773
|
-
}
|
|
817
|
+
} as Partial<{
|
|
818
|
+
active?: boolean
|
|
819
|
+
isEdit?: boolean
|
|
820
|
+
}>) as Transaction
|
|
774
821
|
)
|
|
775
822
|
}
|
|
776
823
|
const dialog = new CitationDialog(editor)
|
|
777
824
|
dialog.init()
|
|
778
825
|
return false
|
|
779
826
|
},
|
|
780
|
-
available: editor => elementAvailable(editor, "citation"),
|
|
781
|
-
disabled: editor => {
|
|
827
|
+
available: (editor: Editor) => elementAvailable(editor, "citation"),
|
|
828
|
+
disabled: (editor: Editor) => {
|
|
782
829
|
if (
|
|
783
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
784
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
830
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
831
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
785
832
|
elementDisabled(editor, "citation") ||
|
|
786
833
|
!["text", "node"].includes(
|
|
787
|
-
editor.
|
|
834
|
+
currentSelection(editor).jsonID
|
|
788
835
|
) ||
|
|
789
|
-
(editor.
|
|
790
|
-
editor.
|
|
836
|
+
(currentSelection(editor).jsonID === "node" &&
|
|
837
|
+
currentSelection(editor).node?.type.name !==
|
|
791
838
|
"citation")
|
|
792
839
|
) {
|
|
793
840
|
return true
|
|
794
841
|
}
|
|
842
|
+
return false
|
|
795
843
|
},
|
|
796
844
|
order: 14
|
|
797
845
|
},
|
|
@@ -799,7 +847,7 @@ export const toolbarModel = () => ({
|
|
|
799
847
|
type: "button",
|
|
800
848
|
title: gettext("Horizontal line"),
|
|
801
849
|
icon: "minus",
|
|
802
|
-
action: editor => {
|
|
850
|
+
action: (editor: Editor) => {
|
|
803
851
|
const view = editor.currentView,
|
|
804
852
|
state = view.state
|
|
805
853
|
view.dispatch(
|
|
@@ -808,15 +856,16 @@ export const toolbarModel = () => ({
|
|
|
808
856
|
)
|
|
809
857
|
)
|
|
810
858
|
},
|
|
811
|
-
available: editor => elementAvailable(editor, "horizontal_rule"),
|
|
812
|
-
disabled: editor => {
|
|
859
|
+
available: (editor: Editor) => elementAvailable(editor, "horizontal_rule"),
|
|
860
|
+
disabled: (editor: Editor) => {
|
|
813
861
|
if (
|
|
814
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
815
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
862
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
863
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
816
864
|
elementDisabled(editor, "horizontal_rule")
|
|
817
865
|
) {
|
|
818
866
|
return true
|
|
819
867
|
}
|
|
868
|
+
return false
|
|
820
869
|
},
|
|
821
870
|
order: 15
|
|
822
871
|
},
|
|
@@ -824,25 +873,26 @@ export const toolbarModel = () => ({
|
|
|
824
873
|
type: "button",
|
|
825
874
|
title: gettext("Math"),
|
|
826
875
|
icon: "percent",
|
|
827
|
-
action: editor => {
|
|
876
|
+
action: (editor: Editor) => {
|
|
828
877
|
const dialog = new MathDialog(editor)
|
|
829
878
|
dialog.init()
|
|
830
879
|
},
|
|
831
|
-
available: editor => elementAvailable(editor, "equation"),
|
|
832
|
-
disabled: editor => {
|
|
880
|
+
available: (editor: Editor) => elementAvailable(editor, "equation"),
|
|
881
|
+
disabled: (editor: Editor) => {
|
|
833
882
|
if (
|
|
834
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
835
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
883
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
884
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
836
885
|
elementDisabled(editor, "equation") ||
|
|
837
886
|
!["text", "node"].includes(
|
|
838
|
-
editor.
|
|
887
|
+
currentSelection(editor).jsonID
|
|
839
888
|
) ||
|
|
840
|
-
(editor.
|
|
841
|
-
editor.
|
|
889
|
+
(currentSelection(editor).jsonID === "node" &&
|
|
890
|
+
currentSelection(editor).node?.type.name !==
|
|
842
891
|
"equation")
|
|
843
892
|
) {
|
|
844
893
|
return true
|
|
845
894
|
}
|
|
895
|
+
return false
|
|
846
896
|
},
|
|
847
897
|
order: 16
|
|
848
898
|
},
|
|
@@ -850,20 +900,21 @@ export const toolbarModel = () => ({
|
|
|
850
900
|
type: "button",
|
|
851
901
|
title: gettext("Figure"),
|
|
852
902
|
icon: "image",
|
|
853
|
-
action: editor => {
|
|
903
|
+
action: (editor: Editor) => {
|
|
854
904
|
const dialog = new FigureDialog(editor)
|
|
855
905
|
dialog.init()
|
|
856
906
|
return false
|
|
857
907
|
},
|
|
858
|
-
available: editor => elementAvailable(editor, "figure"),
|
|
859
|
-
disabled: editor => {
|
|
908
|
+
available: (editor: Editor) => elementAvailable(editor, "figure"),
|
|
909
|
+
disabled: (editor: Editor) => {
|
|
860
910
|
if (
|
|
861
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
862
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
911
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
912
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
863
913
|
elementDisabled(editor, "figure")
|
|
864
914
|
) {
|
|
865
915
|
return true
|
|
866
916
|
}
|
|
917
|
+
return false
|
|
867
918
|
},
|
|
868
919
|
order: 17
|
|
869
920
|
},
|
|
@@ -872,21 +923,22 @@ export const toolbarModel = () => ({
|
|
|
872
923
|
title: gettext("Table"),
|
|
873
924
|
tooltip: gettext("Insert a table into the document."),
|
|
874
925
|
icon: "table",
|
|
875
|
-
action: editor => {
|
|
926
|
+
action: (editor: Editor) => {
|
|
876
927
|
const dialog = new TableDialog(editor)
|
|
877
928
|
dialog.init()
|
|
878
929
|
return false
|
|
879
930
|
},
|
|
880
|
-
available: editor => elementAvailable(editor, "table"),
|
|
881
|
-
disabled: editor => {
|
|
931
|
+
available: (editor: Editor) => elementAvailable(editor, "table"),
|
|
932
|
+
disabled: (editor: Editor) => {
|
|
882
933
|
if (
|
|
883
|
-
READ_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
884
|
-
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights) ||
|
|
934
|
+
READ_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
935
|
+
COMMENT_ONLY_ROLES.includes(editor.docInfo.access_rights as string) ||
|
|
885
936
|
elementDisabled(editor, "table") ||
|
|
886
937
|
findTable(editor.currentView.state)
|
|
887
938
|
) {
|
|
888
939
|
return true
|
|
889
940
|
}
|
|
941
|
+
return false
|
|
890
942
|
},
|
|
891
943
|
order: 15
|
|
892
944
|
},
|
|
@@ -894,26 +946,26 @@ export const toolbarModel = () => ({
|
|
|
894
946
|
type: "button",
|
|
895
947
|
title: gettext("Undo"),
|
|
896
948
|
icon: "undo",
|
|
897
|
-
action: editor =>
|
|
949
|
+
action: (editor: Editor) =>
|
|
898
950
|
undo(editor.currentView.state, tr =>
|
|
899
951
|
editor.currentView.dispatch(
|
|
900
952
|
tr.setMeta("inputType", "historyUndo")
|
|
901
953
|
)
|
|
902
954
|
),
|
|
903
|
-
disabled: editor => undoDepth(editor.currentView.state) === 0,
|
|
955
|
+
disabled: (editor: Editor) => undoDepth(editor.currentView.state) === 0,
|
|
904
956
|
order: 16
|
|
905
957
|
},
|
|
906
958
|
{
|
|
907
959
|
type: "button",
|
|
908
960
|
title: gettext("Redo"),
|
|
909
961
|
icon: "redo",
|
|
910
|
-
action: editor =>
|
|
962
|
+
action: (editor: Editor) =>
|
|
911
963
|
redo(editor.currentView.state, tr =>
|
|
912
964
|
editor.currentView.dispatch(
|
|
913
965
|
tr.setMeta("inputType", "historyRedo")
|
|
914
966
|
)
|
|
915
967
|
),
|
|
916
|
-
disabled: editor => redoDepth(editor.currentView.state) === 0,
|
|
968
|
+
disabled: (editor: Editor) => redoDepth(editor.currentView.state) === 0,
|
|
917
969
|
order: 17
|
|
918
970
|
}
|
|
919
971
|
]
|