@fiduswriter/editor 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bibliography/tools.d.ts +14 -0
- package/dist/bibliography/tools.d.ts.map +1 -0
- package/dist/bibliography/tools.js +1 -1
- package/dist/bibliography/tools.js.map +1 -1
- package/dist/citations/index.d.ts +17 -0
- package/dist/citations/index.d.ts.map +1 -0
- package/dist/citations/index.js +22 -13
- package/dist/citations/index.js.map +1 -1
- package/dist/citations/render.d.ts +29 -0
- package/dist/citations/render.d.ts.map +1 -0
- package/dist/citations/render.js +25 -8
- package/dist/citations/render.js.map +1 -1
- package/dist/clipboard/copy/index.d.ts +2 -0
- package/dist/clipboard/copy/index.d.ts.map +1 -0
- package/dist/clipboard/copy/index.js.map +1 -1
- package/dist/clipboard/copy/schema.d.ts +4 -0
- package/dist/clipboard/copy/schema.d.ts.map +1 -0
- package/dist/clipboard/copy/schema.js +6 -5
- package/dist/clipboard/copy/schema.js.map +1 -1
- package/dist/clipboard/copy/serializers.d.ts +24 -0
- package/dist/clipboard/copy/serializers.d.ts.map +1 -0
- package/dist/clipboard/copy/serializers.js +19 -9
- package/dist/clipboard/copy/serializers.js.map +1 -1
- package/dist/clipboard/paste/fidus_writer.d.ts +7 -0
- package/dist/clipboard/paste/fidus_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/fidus_writer.js +5 -2
- package/dist/clipboard/paste/fidus_writer.js.map +1 -1
- package/dist/clipboard/paste/general.d.ts +18 -0
- package/dist/clipboard/paste/general.d.ts.map +1 -0
- package/dist/clipboard/paste/general.js +18 -6
- package/dist/clipboard/paste/general.js.map +1 -1
- package/dist/clipboard/paste/google_docs.d.ts +6 -0
- package/dist/clipboard/paste/google_docs.d.ts.map +1 -0
- package/dist/clipboard/paste/google_docs.js +3 -2
- package/dist/clipboard/paste/google_docs.js.map +1 -1
- package/dist/clipboard/paste/html.d.ts +22 -0
- package/dist/clipboard/paste/html.d.ts.map +1 -0
- package/dist/clipboard/paste/html.js +15 -0
- package/dist/clipboard/paste/html.js.map +1 -1
- package/dist/clipboard/paste/index.d.ts +3 -0
- package/dist/clipboard/paste/index.d.ts.map +1 -0
- package/dist/clipboard/paste/index.js.map +1 -1
- package/dist/clipboard/paste/libreoffice_writer.d.ts +5 -0
- package/dist/clipboard/paste/libreoffice_writer.d.ts.map +1 -0
- package/dist/clipboard/paste/libreoffice_writer.js +2 -2
- package/dist/clipboard/paste/libreoffice_writer.js.map +1 -1
- package/dist/clipboard/paste/microsoft_word.d.ts +7 -0
- package/dist/clipboard/paste/microsoft_word.d.ts.map +1 -0
- package/dist/clipboard/paste/microsoft_word.js +13 -14
- package/dist/clipboard/paste/microsoft_word.js.map +1 -1
- package/dist/clipboard/paste/text.d.ts +11 -0
- package/dist/clipboard/paste/text.d.ts.map +1 -0
- package/dist/clipboard/paste/text.js +5 -3
- package/dist/clipboard/paste/text.js.map +1 -1
- package/dist/collab/chat.d.ts +24 -0
- package/dist/collab/chat.d.ts.map +1 -0
- package/dist/collab/chat.js +46 -16
- package/dist/collab/chat.js.map +1 -1
- package/dist/collab/colors.d.ts +16 -0
- package/dist/collab/colors.d.ts.map +1 -0
- package/dist/collab/colors.js +6 -0
- package/dist/collab/colors.js.map +1 -1
- package/dist/collab/doc.d.ts +147 -0
- package/dist/collab/doc.d.ts.map +1 -0
- package/dist/collab/doc.js +77 -42
- package/dist/collab/doc.js.map +1 -1
- package/dist/collab/index.d.ts +23 -0
- package/dist/collab/index.d.ts.map +1 -0
- package/dist/collab/index.js +14 -3
- package/dist/collab/index.js.map +1 -1
- package/dist/collab/merge/changeset.d.ts +23 -0
- package/dist/collab/merge/changeset.d.ts.map +1 -0
- package/dist/collab/merge/changeset.js +5 -4
- package/dist/collab/merge/changeset.js.map +1 -1
- package/dist/collab/merge/editor.d.ts +53 -0
- package/dist/collab/merge/editor.d.ts.map +1 -0
- package/dist/collab/merge/editor.js +62 -35
- package/dist/collab/merge/editor.js.map +1 -1
- package/dist/collab/merge/footnotes.d.ts +26 -0
- package/dist/collab/merge/footnotes.d.ts.map +1 -0
- package/dist/collab/merge/footnotes.js +14 -5
- package/dist/collab/merge/footnotes.js.map +1 -1
- package/dist/collab/merge/index.d.ts +32 -0
- package/dist/collab/merge/index.d.ts.map +1 -0
- package/dist/collab/merge/index.js +38 -26
- package/dist/collab/merge/index.js.map +1 -1
- package/dist/collab/merge/recreate_transform.d.ts +4 -0
- package/dist/collab/merge/recreate_transform.d.ts.map +1 -0
- package/dist/collab/merge/recreate_transform.js +25 -5
- package/dist/collab/merge/recreate_transform.js.map +1 -1
- package/dist/collab/merge/schema.d.ts +4 -0
- package/dist/collab/merge/schema.d.ts.map +1 -0
- package/dist/collab/merge/schema.js +35 -26
- package/dist/collab/merge/schema.js.map +1 -1
- package/dist/collab/merge/state_plugins/action.d.ts +16 -0
- package/dist/collab/merge/state_plugins/action.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/action.js +4 -5
- package/dist/collab/merge/state_plugins/action.js.map +1 -1
- package/dist/collab/merge/state_plugins/clipboard.d.ts +6 -0
- package/dist/collab/merge/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/clipboard.js +1 -1
- package/dist/collab/merge/state_plugins/clipboard.js.map +1 -1
- package/dist/collab/merge/state_plugins/diff.d.ts +32 -0
- package/dist/collab/merge/state_plugins/diff.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/diff.js +108 -84
- package/dist/collab/merge/state_plugins/diff.js.map +1 -1
- package/dist/collab/merge/state_plugins/index.d.ts +3 -0
- package/dist/collab/merge/state_plugins/index.d.ts.map +1 -0
- package/dist/collab/merge/state_plugins/index.js.map +1 -1
- package/dist/collab/merge/tools.d.ts +11 -0
- package/dist/collab/merge/tools.d.ts.map +1 -0
- package/dist/collab/merge/tools.js +16 -14
- package/dist/collab/merge/tools.js.map +1 -1
- package/dist/collab/templates.d.ts +14 -0
- package/dist/collab/templates.d.ts.map +1 -0
- package/dist/collab/templates.js +1 -1
- package/dist/collab/templates.js.map +1 -1
- package/dist/comments/comment.d.ts +29 -0
- package/dist/comments/comment.d.ts.map +1 -0
- package/dist/comments/comment.js +12 -0
- package/dist/comments/comment.js.map +1 -1
- package/dist/comments/editors/answer.d.ts +14 -0
- package/dist/comments/editors/answer.d.ts.map +1 -0
- package/dist/comments/editors/answer.js +5 -3
- package/dist/comments/editors/answer.js.map +1 -1
- package/dist/comments/editors/comment.d.ts +65 -0
- package/dist/comments/editors/comment.d.ts.map +1 -0
- package/dist/comments/editors/comment.js +43 -14
- package/dist/comments/editors/comment.js.map +1 -1
- package/dist/comments/editors/index.d.ts +4 -0
- package/dist/comments/editors/index.d.ts.map +1 -0
- package/dist/comments/editors/index.js.map +1 -1
- package/dist/comments/editors/notify.d.ts +3 -0
- package/dist/comments/editors/notify.d.ts.map +1 -0
- package/dist/comments/editors/notify.js.map +1 -1
- package/dist/comments/editors/schema.d.ts +12 -0
- package/dist/comments/editors/schema.d.ts.map +1 -0
- package/dist/comments/editors/schema.js +5 -5
- package/dist/comments/editors/schema.js.map +1 -1
- package/dist/comments/index.d.ts +10 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +5 -2
- package/dist/comments/index.js.map +1 -1
- package/dist/comments/interactions.d.ts +49 -0
- package/dist/comments/interactions.d.ts.map +1 -0
- package/dist/comments/interactions.js +33 -18
- package/dist/comments/interactions.js.map +1 -1
- package/dist/comments/store.d.ts +59 -0
- package/dist/comments/store.d.ts.map +1 -0
- package/dist/comments/store.js +36 -16
- package/dist/comments/store.js.map +1 -1
- package/dist/contacts/add_dialog.d.ts +7 -0
- package/dist/contacts/add_dialog.d.ts.map +1 -0
- package/dist/contacts/add_dialog.js +25 -26
- package/dist/contacts/add_dialog.js.map +1 -1
- package/dist/contacts/templates.d.ts +12 -0
- package/dist/contacts/templates.d.ts.map +1 -0
- package/dist/contacts/templates.js +3 -2
- package/dist/contacts/templates.js.map +1 -1
- package/dist/copyright_dialog/index.d.ts +25 -0
- package/dist/copyright_dialog/index.d.ts.map +1 -0
- package/dist/copyright_dialog/index.js +34 -26
- package/dist/copyright_dialog/index.js.map +1 -1
- package/dist/copyright_dialog/templates.d.ts +17 -0
- package/dist/copyright_dialog/templates.d.ts.map +1 -0
- package/dist/copyright_dialog/templates.js.map +1 -1
- package/dist/databases/bibliography.d.ts +42 -0
- package/dist/databases/bibliography.d.ts.map +1 -0
- package/dist/databases/bibliography.js +24 -9
- package/dist/databases/bibliography.js.map +1 -1
- package/dist/databases/images.d.ts +66 -0
- package/dist/databases/images.d.ts.map +1 -0
- package/dist/databases/images.js +19 -9
- package/dist/databases/images.js.map +1 -1
- package/dist/databases/index.d.ts +26 -0
- package/dist/databases/index.d.ts.map +1 -0
- package/dist/databases/index.js +9 -8
- package/dist/databases/index.js.map +1 -1
- package/dist/dialogs/citation.d.ts +58 -0
- package/dist/dialogs/citation.d.ts.map +1 -0
- package/dist/dialogs/citation.js +48 -25
- package/dist/dialogs/citation.js.map +1 -1
- package/dist/dialogs/code_block.d.ts +25 -0
- package/dist/dialogs/code_block.d.ts.map +1 -0
- package/dist/dialogs/code_block.js +32 -11
- package/dist/dialogs/code_block.js.map +1 -1
- package/dist/dialogs/contributor.d.ts +13 -0
- package/dist/dialogs/contributor.d.ts.map +1 -0
- package/dist/dialogs/contributor.js +17 -20
- package/dist/dialogs/contributor.js.map +1 -1
- package/dist/dialogs/figure.d.ts +51 -0
- package/dist/dialogs/figure.d.ts.map +1 -0
- package/dist/dialogs/figure.js +123 -81
- package/dist/dialogs/figure.js.map +1 -1
- package/dist/dialogs/index.d.ts +11 -0
- package/dist/dialogs/index.d.ts.map +1 -0
- package/dist/dialogs/index.js.map +1 -1
- package/dist/dialogs/language.d.ts +10 -0
- package/dist/dialogs/language.d.ts.map +1 -0
- package/dist/dialogs/language.js +4 -1
- package/dist/dialogs/language.js.map +1 -1
- package/dist/dialogs/link.d.ts +30 -0
- package/dist/dialogs/link.d.ts.map +1 -0
- package/dist/dialogs/link.js +27 -15
- package/dist/dialogs/link.js.map +1 -1
- package/dist/dialogs/math.d.ts +22 -0
- package/dist/dialogs/math.d.ts.map +1 -0
- package/dist/dialogs/math.js +27 -14
- package/dist/dialogs/math.js.map +1 -1
- package/dist/dialogs/ordered_list.d.ts +22 -0
- package/dist/dialogs/ordered_list.d.ts.map +1 -0
- package/dist/dialogs/ordered_list.js +12 -5
- package/dist/dialogs/ordered_list.js.map +1 -1
- package/dist/dialogs/revision.d.ts +8 -0
- package/dist/dialogs/revision.d.ts.map +1 -0
- package/dist/dialogs/revision.js +2 -0
- package/dist/dialogs/revision.js.map +1 -1
- package/dist/dialogs/subsup.d.ts +5 -0
- package/dist/dialogs/subsup.d.ts.map +1 -0
- package/dist/dialogs/subsup.js +3 -3
- package/dist/dialogs/subsup.js.map +1 -1
- package/dist/dialogs/table.d.ts +33 -0
- package/dist/dialogs/table.d.ts.map +1 -0
- package/dist/dialogs/table.js +43 -21
- package/dist/dialogs/table.js.map +1 -1
- package/dist/dialogs/templates.d.ts +85 -0
- package/dist/dialogs/templates.d.ts.map +1 -0
- package/dist/dialogs/templates.js +8 -8
- package/dist/dialogs/templates.js.map +1 -1
- package/dist/document_template/exporter.d.ts +23 -0
- package/dist/document_template/exporter.d.ts.map +1 -0
- package/dist/document_template/exporter.js +14 -5
- package/dist/document_template/exporter.js.map +1 -1
- package/dist/document_template/index.d.ts +35 -0
- package/dist/document_template/index.d.ts.map +1 -0
- package/dist/document_template/index.js +61 -53
- package/dist/document_template/index.js.map +1 -1
- package/dist/document_template/schema.d.ts +13 -0
- package/dist/document_template/schema.d.ts.map +1 -0
- package/dist/document_template/schema.js +2 -2
- package/dist/document_template/schema.js.map +1 -1
- package/dist/documents/access_rights/index.d.ts +85 -0
- package/dist/documents/access_rights/index.d.ts.map +1 -0
- package/dist/documents/access_rights/index.js +96 -60
- package/dist/documents/access_rights/index.js.map +1 -1
- package/dist/documents/access_rights/templates.d.ts +47 -0
- package/dist/documents/access_rights/templates.d.ts.map +1 -0
- package/dist/documents/access_rights/templates.js.map +1 -1
- package/dist/e2ee/snapshot-manager.d.ts +120 -0
- package/dist/e2ee/snapshot-manager.d.ts.map +1 -0
- package/dist/e2ee/snapshot-manager.js +27 -38
- package/dist/e2ee/snapshot-manager.js.map +1 -1
- package/dist/exporter/native/copy.d.ts +16 -0
- package/dist/exporter/native/copy.d.ts.map +1 -0
- package/dist/exporter/native/copy.js +51 -35
- package/dist/exporter/native/copy.js.map +1 -1
- package/dist/exporter/native/file.d.ts +6 -0
- package/dist/exporter/native/file.d.ts.map +1 -0
- package/dist/exporter/native/file.js +1 -1
- package/dist/exporter/native/file.js.map +1 -1
- package/dist/exporter/native/index.d.ts +4 -0
- package/dist/exporter/native/index.d.ts.map +1 -0
- package/dist/exporter/native/index.js.map +1 -1
- package/dist/exporter/native/revision.d.ts +8 -0
- package/dist/exporter/native/revision.d.ts.map +1 -0
- package/dist/exporter/native/revision.js +2 -2
- package/dist/exporter/native/revision.js.map +1 -1
- package/dist/exporter/native/zip.d.ts +2 -0
- package/dist/exporter/native/zip.d.ts.map +1 -0
- package/dist/exporter/native/zip.js.map +1 -1
- package/dist/footnotes/editor.d.ts +25 -0
- package/dist/footnotes/editor.d.ts.map +1 -0
- package/dist/footnotes/editor.js +5 -3
- package/dist/footnotes/editor.js.map +1 -1
- package/dist/footnotes/index.d.ts +11 -0
- package/dist/footnotes/index.d.ts.map +1 -0
- package/dist/footnotes/index.js +5 -2
- package/dist/footnotes/index.js.map +1 -1
- package/dist/footnotes/layout.d.ts +15 -0
- package/dist/footnotes/layout.d.ts.map +1 -0
- package/dist/footnotes/layout.js +26 -17
- package/dist/footnotes/layout.js.map +1 -1
- package/dist/footnotes/state_plugins/access_rights.d.ts +6 -0
- package/dist/footnotes/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/access_rights.js +1 -1
- package/dist/footnotes/state_plugins/access_rights.js.map +1 -1
- package/dist/footnotes/state_plugins/index.d.ts +2 -0
- package/dist/footnotes/state_plugins/index.d.ts.map +1 -0
- package/dist/footnotes/state_plugins/index.js.map +1 -1
- package/dist/images/edit_dialog/model.d.ts +4 -0
- package/dist/images/edit_dialog/model.d.ts.map +1 -0
- package/dist/images/edit_dialog/model.js.map +1 -1
- package/dist/index.d.ts +74 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +88 -60
- package/dist/index.js.map +1 -1
- package/dist/keymap.d.ts +5 -0
- package/dist/keymap.d.ts.map +1 -0
- package/dist/keymap.js +1 -1
- package/dist/keymap.js.map +1 -1
- package/dist/marginboxes/index.d.ts +107 -0
- package/dist/marginboxes/index.d.ts.map +1 -0
- package/dist/marginboxes/index.js +165 -88
- package/dist/marginboxes/index.js.map +1 -1
- package/dist/marginboxes/templates.d.ts +118 -0
- package/dist/marginboxes/templates.d.ts.map +1 -0
- package/dist/marginboxes/templates.js +25 -24
- package/dist/marginboxes/templates.js.map +1 -1
- package/dist/menus/code_block/index.d.ts +2 -0
- package/dist/menus/code_block/index.d.ts.map +1 -0
- package/dist/menus/code_block/index.js.map +1 -1
- package/dist/menus/code_block/model.d.ts +14 -0
- package/dist/menus/code_block/model.d.ts.map +1 -0
- package/dist/menus/code_block/model.js +5 -4
- package/dist/menus/code_block/model.js.map +1 -1
- package/dist/menus/figure/index.d.ts +3 -0
- package/dist/menus/figure/index.d.ts.map +1 -0
- package/dist/menus/figure/index.js.map +1 -1
- package/dist/menus/figure/model.d.ts +32 -0
- package/dist/menus/figure/model.d.ts.map +1 -0
- package/dist/menus/figure/model.js +11 -12
- package/dist/menus/figure/model.js.map +1 -1
- package/dist/menus/figure/utils.d.ts +3 -0
- package/dist/menus/figure/utils.d.ts.map +1 -0
- package/dist/menus/figure/utils.js +4 -1
- package/dist/menus/figure/utils.js.map +1 -1
- package/dist/menus/headerbar/index.d.ts +3 -0
- package/dist/menus/headerbar/index.d.ts.map +1 -0
- package/dist/menus/headerbar/index.js.map +1 -1
- package/dist/menus/headerbar/model.d.ts +192 -0
- package/dist/menus/headerbar/model.d.ts.map +1 -0
- package/dist/menus/headerbar/model.js +141 -110
- package/dist/menus/headerbar/model.js.map +1 -1
- package/dist/menus/headerbar/view.d.ts +89 -0
- package/dist/menus/headerbar/view.d.ts.map +1 -0
- package/dist/menus/headerbar/view.js +76 -45
- package/dist/menus/headerbar/view.js.map +1 -1
- package/dist/menus/image/index.d.ts +2 -0
- package/dist/menus/image/index.d.ts.map +1 -0
- package/dist/menus/image/index.js.map +1 -1
- package/dist/menus/image/model.d.ts +18 -0
- package/dist/menus/image/model.d.ts.map +1 -0
- package/dist/menus/image/model.js +2 -2
- package/dist/menus/image/model.js.map +1 -1
- package/dist/menus/index.d.ts +10 -0
- package/dist/menus/index.d.ts.map +1 -0
- package/dist/menus/index.js.map +1 -1
- package/dist/menus/navigator/index.d.ts +2 -0
- package/dist/menus/navigator/index.d.ts.map +1 -0
- package/dist/menus/navigator/index.js.map +1 -1
- package/dist/menus/navigator/model.d.ts +9 -0
- package/dist/menus/navigator/model.d.ts.map +1 -0
- package/dist/menus/navigator/model.js.map +1 -1
- package/dist/menus/ordered_list/index.d.ts +2 -0
- package/dist/menus/ordered_list/index.d.ts.map +1 -0
- package/dist/menus/ordered_list/index.js.map +1 -1
- package/dist/menus/ordered_list/model.d.ts +11 -0
- package/dist/menus/ordered_list/model.d.ts.map +1 -0
- package/dist/menus/ordered_list/model.js +1 -1
- package/dist/menus/ordered_list/model.js.map +1 -1
- package/dist/menus/selection/index.d.ts +3 -0
- package/dist/menus/selection/index.d.ts.map +1 -0
- package/dist/menus/selection/index.js.map +1 -1
- package/dist/menus/selection/model.d.ts +16 -0
- package/dist/menus/selection/model.d.ts.map +1 -0
- package/dist/menus/selection/model.js +18 -16
- package/dist/menus/selection/model.js.map +1 -1
- package/dist/menus/selection/view.d.ts +49 -0
- package/dist/menus/selection/view.d.ts.map +1 -0
- package/dist/menus/selection/view.js +33 -18
- package/dist/menus/selection/view.js.map +1 -1
- package/dist/menus/table/index.d.ts +2 -0
- package/dist/menus/table/index.d.ts.map +1 -0
- package/dist/menus/table/index.js.map +1 -1
- package/dist/menus/table/model.d.ts +39 -0
- package/dist/menus/table/model.d.ts.map +1 -0
- package/dist/menus/table/model.js +53 -50
- package/dist/menus/table/model.js.map +1 -1
- package/dist/menus/toolbar/index.d.ts +3 -0
- package/dist/menus/toolbar/index.d.ts.map +1 -0
- package/dist/menus/toolbar/index.js.map +1 -1
- package/dist/menus/toolbar/model.d.ts +125 -0
- package/dist/menus/toolbar/model.d.ts.map +1 -0
- package/dist/menus/toolbar/model.js +160 -140
- package/dist/menus/toolbar/model.js.map +1 -1
- package/dist/menus/toolbar/view.d.ts +72 -0
- package/dist/menus/toolbar/view.d.ts.map +1 -0
- package/dist/menus/toolbar/view.js +61 -36
- package/dist/menus/toolbar/view.js.map +1 -1
- package/dist/navigator/index.d.ts +38 -0
- package/dist/navigator/index.d.ts.map +1 -0
- package/dist/navigator/index.js +42 -21
- package/dist/navigator/index.js.map +1 -1
- package/dist/no_collab_save/index.d.ts +20 -0
- package/dist/no_collab_save/index.d.ts.map +1 -0
- package/dist/no_collab_save/index.js +20 -11
- package/dist/no_collab_save/index.js.map +1 -1
- package/dist/plugins/citation_dialog/index.d.ts +2 -0
- package/dist/plugins/citation_dialog/index.d.ts.map +1 -0
- package/dist/plugins/citation_dialog/index.js.map +1 -1
- package/dist/plugins/editor/index.d.ts +2 -0
- package/dist/plugins/editor/index.d.ts.map +1 -0
- package/dist/plugins/editor/index.js.map +1 -1
- package/dist/state_plugins/access_rights.d.ts +6 -0
- package/dist/state_plugins/access_rights.d.ts.map +1 -0
- package/dist/state_plugins/access_rights.js +5 -3
- package/dist/state_plugins/access_rights.js.map +1 -1
- package/dist/state_plugins/citation_render.d.ts +9 -0
- package/dist/state_plugins/citation_render.d.ts.map +1 -0
- package/dist/state_plugins/citation_render.js +12 -43
- package/dist/state_plugins/citation_render.js.map +1 -1
- package/dist/state_plugins/clipboard.d.ts +12 -0
- package/dist/state_plugins/clipboard.d.ts.map +1 -0
- package/dist/state_plugins/clipboard.js +13 -11
- package/dist/state_plugins/clipboard.js.map +1 -1
- package/dist/state_plugins/code_block.d.ts +6 -0
- package/dist/state_plugins/code_block.d.ts.map +1 -0
- package/dist/state_plugins/code_block.js +23 -9
- package/dist/state_plugins/code_block.js.map +1 -1
- package/dist/state_plugins/collab_carets.d.ts +26 -0
- package/dist/state_plugins/collab_carets.d.ts.map +1 -0
- package/dist/state_plugins/collab_carets.js +24 -16
- package/dist/state_plugins/collab_carets.js.map +1 -1
- package/dist/state_plugins/comments.d.ts +15 -0
- package/dist/state_plugins/comments.d.ts.map +1 -0
- package/dist/state_plugins/comments.js +26 -21
- package/dist/state_plugins/comments.js.map +1 -1
- package/dist/state_plugins/contributor_input/dropup.d.ts +17 -0
- package/dist/state_plugins/contributor_input/dropup.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/dropup.js +19 -20
- package/dist/state_plugins/contributor_input/dropup.js.map +1 -1
- package/dist/state_plugins/contributor_input/index.d.ts +3 -0
- package/dist/state_plugins/contributor_input/index.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/index.js.map +1 -1
- package/dist/state_plugins/contributor_input/node_view.d.ts +7 -0
- package/dist/state_plugins/contributor_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/node_view.js.map +1 -1
- package/dist/state_plugins/contributor_input/plugin.d.ts +19 -0
- package/dist/state_plugins/contributor_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/contributor_input/plugin.js +14 -45
- package/dist/state_plugins/contributor_input/plugin.js.map +1 -1
- package/dist/state_plugins/document_template.d.ts +33 -0
- package/dist/state_plugins/document_template.d.ts.map +1 -0
- package/dist/state_plugins/document_template.js +34 -15
- package/dist/state_plugins/document_template.js.map +1 -1
- package/dist/state_plugins/figure.d.ts +6 -0
- package/dist/state_plugins/figure.d.ts.map +1 -0
- package/dist/state_plugins/figure.js +26 -8
- package/dist/state_plugins/figure.js.map +1 -1
- package/dist/state_plugins/footnote_markers.d.ts +15 -0
- package/dist/state_plugins/footnote_markers.d.ts.map +1 -0
- package/dist/state_plugins/footnote_markers.js +72 -153
- package/dist/state_plugins/footnote_markers.js.map +1 -1
- package/dist/state_plugins/headerbar.d.ts +6 -0
- package/dist/state_plugins/headerbar.d.ts.map +1 -0
- package/dist/state_plugins/headerbar.js +1 -1
- package/dist/state_plugins/headerbar.js.map +1 -1
- package/dist/state_plugins/index.d.ts +28 -0
- package/dist/state_plugins/index.d.ts.map +1 -0
- package/dist/state_plugins/index.js +13 -12
- package/dist/state_plugins/index.js.map +1 -1
- package/dist/state_plugins/inline_math.d.ts +6 -0
- package/dist/state_plugins/inline_math.d.ts.map +1 -0
- package/dist/state_plugins/inline_math.js +28 -19
- package/dist/state_plugins/inline_math.js.map +1 -1
- package/dist/state_plugins/inline_reference/dropup.d.ts +62 -0
- package/dist/state_plugins/inline_reference/dropup.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/dropup.js +17 -17
- package/dist/state_plugins/inline_reference/dropup.js.map +1 -1
- package/dist/state_plugins/inline_reference/index.d.ts +2 -0
- package/dist/state_plugins/inline_reference/index.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/index.js.map +1 -1
- package/dist/state_plugins/inline_reference/plugin.d.ts +35 -0
- package/dist/state_plugins/inline_reference/plugin.d.ts.map +1 -0
- package/dist/state_plugins/inline_reference/plugin.js +68 -55
- package/dist/state_plugins/inline_reference/plugin.js.map +1 -1
- package/dist/state_plugins/jump_hidden_nodes.d.ts +5 -0
- package/dist/state_plugins/jump_hidden_nodes.d.ts.map +1 -0
- package/dist/state_plugins/jump_hidden_nodes.js +35 -22
- package/dist/state_plugins/jump_hidden_nodes.js.map +1 -1
- package/dist/state_plugins/links.d.ts +11 -0
- package/dist/state_plugins/links.d.ts.map +1 -0
- package/dist/state_plugins/links.js +39 -25
- package/dist/state_plugins/links.js.map +1 -1
- package/dist/state_plugins/marginboxes.d.ts +6 -0
- package/dist/state_plugins/marginboxes.d.ts.map +1 -0
- package/dist/state_plugins/marginboxes.js +2 -1
- package/dist/state_plugins/marginboxes.js.map +1 -1
- package/dist/state_plugins/ordered_list_menu.d.ts +6 -0
- package/dist/state_plugins/ordered_list_menu.d.ts.map +1 -0
- package/dist/state_plugins/ordered_list_menu.js +20 -6
- package/dist/state_plugins/ordered_list_menu.js.map +1 -1
- package/dist/state_plugins/placeholders.d.ts +6 -0
- package/dist/state_plugins/placeholders.d.ts.map +1 -0
- package/dist/state_plugins/placeholders.js +18 -54
- package/dist/state_plugins/placeholders.js.map +1 -1
- package/dist/state_plugins/search.d.ts +34 -0
- package/dist/state_plugins/search.d.ts.map +1 -0
- package/dist/state_plugins/search.js +31 -27
- package/dist/state_plugins/search.js.map +1 -1
- package/dist/state_plugins/selection_menu.d.ts +6 -0
- package/dist/state_plugins/selection_menu.d.ts.map +1 -0
- package/dist/state_plugins/selection_menu.js +1 -1
- package/dist/state_plugins/selection_menu.js.map +1 -1
- package/dist/state_plugins/settings.d.ts +8 -0
- package/dist/state_plugins/settings.d.ts.map +1 -0
- package/dist/state_plugins/settings.js +31 -21
- package/dist/state_plugins/settings.js.map +1 -1
- package/dist/state_plugins/table.d.ts +6 -0
- package/dist/state_plugins/table.d.ts.map +1 -0
- package/dist/state_plugins/table.js +33 -13
- package/dist/state_plugins/table.js.map +1 -1
- package/dist/state_plugins/tag_input/index.d.ts +3 -0
- package/dist/state_plugins/tag_input/index.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/index.js.map +1 -1
- package/dist/state_plugins/tag_input/node_view.d.ts +7 -0
- package/dist/state_plugins/tag_input/node_view.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/node_view.js.map +1 -1
- package/dist/state_plugins/tag_input/plugin.d.ts +14 -0
- package/dist/state_plugins/tag_input/plugin.d.ts.map +1 -0
- package/dist/state_plugins/tag_input/plugin.js +7 -6
- package/dist/state_plugins/tag_input/plugin.js.map +1 -1
- package/dist/state_plugins/toc_render.d.ts +6 -0
- package/dist/state_plugins/toc_render.d.ts.map +1 -0
- package/dist/state_plugins/toc_render.js +59 -96
- package/dist/state_plugins/toc_render.js.map +1 -1
- package/dist/state_plugins/toolbar.d.ts +6 -0
- package/dist/state_plugins/toolbar.d.ts.map +1 -0
- package/dist/state_plugins/toolbar.js +1 -1
- package/dist/state_plugins/toolbar.js.map +1 -1
- package/dist/state_plugins/track/find_selected_changes.d.ts +13 -0
- package/dist/state_plugins/track/find_selected_changes.d.ts.map +1 -0
- package/dist/state_plugins/track/find_selected_changes.js +4 -3
- package/dist/state_plugins/track/find_selected_changes.js.map +1 -1
- package/dist/state_plugins/track/helpers.d.ts +29 -0
- package/dist/state_plugins/track/helpers.d.ts.map +1 -0
- package/dist/state_plugins/track/helpers.js +9 -3
- package/dist/state_plugins/track/helpers.js.map +1 -1
- package/dist/state_plugins/track/index.d.ts +3 -0
- package/dist/state_plugins/track/index.d.ts.map +1 -0
- package/dist/state_plugins/track/index.js.map +1 -1
- package/dist/state_plugins/track/plugin.d.ts +14 -0
- package/dist/state_plugins/track/plugin.d.ts.map +1 -0
- package/dist/state_plugins/track/plugin.js +10 -6
- package/dist/state_plugins/track/plugin.js.map +1 -1
- package/dist/tools/index.d.ts +4 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/key_bindings/index.d.ts +7 -0
- package/dist/tools/key_bindings/index.d.ts.map +1 -0
- package/dist/tools/key_bindings/index.js +1 -3
- package/dist/tools/key_bindings/index.js.map +1 -1
- package/dist/tools/key_bindings/templates.d.ts +2 -0
- package/dist/tools/key_bindings/templates.d.ts.map +1 -0
- package/dist/tools/key_bindings/templates.js.map +1 -1
- package/dist/tools/search_replace/index.d.ts +28 -0
- package/dist/tools/search_replace/index.d.ts.map +1 -0
- package/dist/tools/search_replace/index.js +53 -27
- package/dist/tools/search_replace/index.js.map +1 -1
- package/dist/tools/search_replace/templates.d.ts +6 -0
- package/dist/tools/search_replace/templates.d.ts.map +1 -0
- package/dist/tools/search_replace/templates.js.map +1 -1
- package/dist/tools/word_count/index.d.ts +15 -0
- package/dist/tools/word_count/index.d.ts.map +1 -0
- package/dist/tools/word_count/index.js +2 -1
- package/dist/tools/word_count/index.js.map +1 -1
- package/dist/tools/word_count/templates.d.ts +11 -0
- package/dist/tools/word_count/templates.d.ts.map +1 -0
- package/dist/tools/word_count/templates.js.map +1 -1
- package/dist/track/accept.d.ts +3 -0
- package/dist/track/accept.d.ts.map +1 -0
- package/dist/track/accept.js +10 -5
- package/dist/track/accept.js.map +1 -1
- package/dist/track/accept_all.d.ts +3 -0
- package/dist/track/accept_all.d.ts.map +1 -0
- package/dist/track/accept_all.js +2 -2
- package/dist/track/accept_all.js.map +1 -1
- package/dist/track/accept_all_no_insertions.d.ts +3 -0
- package/dist/track/accept_all_no_insertions.d.ts.map +1 -0
- package/dist/track/accept_all_no_insertions.js +2 -2
- package/dist/track/accept_all_no_insertions.js.map +1 -1
- package/dist/track/amend_transaction.d.ts +5 -0
- package/dist/track/amend_transaction.d.ts.map +1 -0
- package/dist/track/amend_transaction.js +55 -32
- package/dist/track/amend_transaction.js.map +1 -1
- package/dist/track/delete.d.ts +3 -0
- package/dist/track/delete.d.ts.map +1 -0
- package/dist/track/delete.js +4 -3
- package/dist/track/delete.js.map +1 -1
- package/dist/track/index.d.ts +6 -0
- package/dist/track/index.d.ts.map +1 -0
- package/dist/track/index.js.map +1 -1
- package/dist/track/mod.d.ts +10 -0
- package/dist/track/mod.d.ts.map +1 -0
- package/dist/track/mod.js +9 -5
- package/dist/track/mod.js.map +1 -1
- package/dist/track/reject.d.ts +3 -0
- package/dist/track/reject.d.ts.map +1 -0
- package/dist/track/reject.js +14 -5
- package/dist/track/reject.js.map +1 -1
- package/dist/track/reject_all.d.ts +3 -0
- package/dist/track/reject_all.d.ts.map +1 -0
- package/dist/track/reject_all.js +6 -2
- package/dist/track/reject_all.js.map +1 -1
- package/dist/types.d.ts +182 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +17 -0
- package/dist/types.js.map +1 -0
- package/package.json +38 -3
- package/src/bibliography/{tools.js → tools.ts} +16 -5
- package/src/citations/{index.js → index.ts} +100 -80
- package/src/citations/{render.js → render.ts} +43 -15
- package/src/clipboard/copy/{schema.js → schema.ts} +19 -8
- package/src/clipboard/copy/{serializers.js → serializers.ts} +44 -32
- package/src/clipboard/paste/{fidus_writer.js → fidus_writer.ts} +28 -8
- package/src/clipboard/paste/{general.js → general.ts} +28 -13
- package/src/clipboard/paste/{google_docs.js → google_docs.ts} +7 -4
- package/src/clipboard/paste/{html.js → html.ts} +35 -8
- package/src/clipboard/paste/{libreoffice_writer.js → libreoffice_writer.ts} +4 -4
- package/src/clipboard/paste/{microsoft_word.js → microsoft_word.ts} +22 -21
- package/src/clipboard/paste/{text.js → text.ts} +11 -7
- package/src/collab/{chat.js → chat.ts} +78 -27
- package/src/collab/{colors.js → colors.ts} +21 -5
- package/src/collab/{doc.js → doc.ts} +290 -184
- package/src/collab/{index.js → index.ts} +47 -13
- package/src/collab/merge/{changeset.js → changeset.ts} +33 -20
- package/src/collab/merge/{editor.js → editor.ts} +211 -107
- package/src/collab/merge/{footnotes.js → footnotes.ts} +43 -22
- package/src/collab/merge/{index.js → index.ts} +147 -70
- package/src/collab/merge/{recreate_transform.js → recreate_transform.ts} +60 -29
- package/src/collab/merge/{schema.js → schema.ts} +55 -35
- package/src/collab/merge/state_plugins/{action.js → action.ts} +65 -27
- package/src/collab/merge/state_plugins/{clipboard.js → clipboard.ts} +13 -3
- package/src/collab/merge/state_plugins/{diff.js → diff.ts} +279 -168
- package/src/collab/merge/{tools.js → tools.ts} +57 -27
- package/src/collab/{templates.js → templates.ts} +17 -2
- package/src/comments/{comment.js → comment.ts} +26 -0
- package/src/comments/editors/{answer.js → answer.ts} +27 -12
- package/src/comments/editors/{comment.js → comment.ts} +112 -36
- package/src/comments/editors/{notify.js → notify.ts} +6 -1
- package/src/comments/editors/{schema.js → schema.ts} +9 -8
- package/src/comments/index.ts +16 -0
- package/src/comments/{interactions.js → interactions.ts} +150 -89
- package/src/comments/{store.js → store.ts} +149 -73
- package/src/contacts/{add_dialog.js → add_dialog.ts} +50 -37
- package/src/contacts/{templates.js → templates.ts} +9 -3
- package/src/copyright_dialog/{index.js → index.ts} +92 -57
- package/src/copyright_dialog/{templates.js → templates.ts} +18 -3
- package/src/databases/{bibliography.js → bibliography.ts} +62 -36
- package/src/databases/{images.js → images.ts} +146 -96
- package/src/databases/index.ts +116 -0
- package/src/dialogs/{citation.js → citation.ts} +191 -107
- package/src/dialogs/{code_block.js → code_block.ts} +75 -33
- package/src/dialogs/{contributor.js → contributor.ts} +74 -49
- package/src/dialogs/{figure.js → figure.ts} +250 -149
- package/src/dialogs/{language.js → language.ts} +11 -6
- package/src/dialogs/{link.js → link.ts} +105 -60
- package/src/dialogs/{math.js → math.ts} +56 -28
- package/src/dialogs/{ordered_list.js → ordered_list.ts} +25 -12
- package/src/dialogs/{revision.js → revision.ts} +13 -9
- package/src/dialogs/{subsup.js → subsup.ts} +9 -7
- package/src/dialogs/{table.js → table.ts} +129 -70
- package/src/dialogs/{templates.js → templates.ts} +102 -22
- package/src/document_template/exporter.ts +158 -0
- package/src/document_template/{index.js → index.ts} +158 -117
- package/src/document_template/{schema.js → schema.ts} +31 -28
- package/src/documents/access_rights/{index.js → index.ts} +240 -123
- package/src/documents/access_rights/{templates.js → templates.ts} +41 -5
- package/src/e2ee/{snapshot-manager.js → snapshot-manager.ts} +80 -49
- package/src/exporter/native/copy.ts +302 -0
- package/src/exporter/native/{file.js → file.ts} +12 -5
- package/src/exporter/native/{revision.js → revision.ts} +17 -9
- package/src/footnotes/{editor.js → editor.ts} +37 -18
- package/src/footnotes/index.ts +21 -0
- package/src/footnotes/{layout.js → layout.ts} +53 -36
- package/src/footnotes/state_plugins/{access_rights.js → access_rights.ts} +6 -4
- package/src/global.d.ts +29 -0
- package/src/images/edit_dialog/{model.js → model.ts} +1 -1
- package/src/{index.js → index.ts} +194 -132
- package/src/{keymap.js → keymap.ts} +36 -16
- package/src/marginboxes/{index.js → index.ts} +341 -171
- package/src/marginboxes/{templates.js → templates.ts} +236 -38
- package/src/menus/code_block/{model.js → model.ts} +16 -5
- package/src/menus/figure/{model.js → model.ts} +21 -16
- package/src/menus/figure/utils.ts +13 -0
- package/src/menus/headerbar/{model.js → model.ts} +243 -153
- package/src/menus/headerbar/{view.js → view.ts} +189 -92
- package/src/menus/image/{model.js → model.ts} +13 -4
- package/src/menus/navigator/{model.js → model.ts} +6 -1
- package/src/menus/ordered_list/{model.js → model.ts} +2 -1
- package/src/menus/selection/{model.js → model.ts} +38 -20
- package/src/menus/selection/{view.js → view.ts} +88 -35
- package/src/menus/table/{model.js → model.ts} +84 -63
- package/src/menus/toolbar/{model.js → model.ts} +267 -215
- package/src/menus/toolbar/{view.js → view.ts} +135 -65
- package/src/modules.d.ts +84 -0
- package/src/navigator/{index.js → index.ts} +90 -56
- package/src/no_collab_save/{index.js → index.ts} +54 -31
- package/src/state_plugins/{access_rights.js → access_rights.ts} +12 -7
- package/src/state_plugins/citation_render.ts +63 -0
- package/src/state_plugins/{clipboard.js → clipboard.ts} +38 -23
- package/src/state_plugins/{code_block.js → code_block.ts} +62 -28
- package/src/state_plugins/{collab_carets.js → collab_carets.ts} +56 -25
- package/src/state_plugins/{comments.js → comments.ts} +70 -40
- package/src/state_plugins/contributor_input/{dropup.js → dropup.ts} +70 -38
- package/src/state_plugins/contributor_input/{node_view.js → node_view.ts} +13 -4
- package/src/state_plugins/contributor_input/{plugin.js → plugin.ts} +74 -75
- package/src/state_plugins/{document_template.js → document_template.ts} +108 -49
- package/src/state_plugins/{figure.js → figure.ts} +61 -23
- package/src/state_plugins/footnote_markers.ts +142 -0
- package/src/state_plugins/{headerbar.js → headerbar.ts} +4 -2
- package/src/state_plugins/{index.js → index.ts} +23 -56
- package/src/state_plugins/{inline_math.js → inline_math.ts} +151 -65
- package/src/state_plugins/inline_reference/{dropup.js → dropup.ts} +68 -34
- package/src/state_plugins/inline_reference/{plugin.js → plugin.ts} +221 -101
- package/src/state_plugins/jump_hidden_nodes.ts +67 -0
- package/src/state_plugins/{links.js → links.ts} +153 -99
- package/src/state_plugins/marginboxes.ts +17 -0
- package/src/state_plugins/{ordered_list_menu.js → ordered_list_menu.ts} +43 -17
- package/src/state_plugins/placeholders.ts +78 -0
- package/src/state_plugins/{search.js → search.ts} +110 -48
- package/src/state_plugins/{selection_menu.js → selection_menu.ts} +4 -2
- package/src/state_plugins/{settings.js → settings.ts} +68 -39
- package/src/state_plugins/table.ts +169 -0
- package/src/state_plugins/tag_input/{node_view.js → node_view.ts} +12 -3
- package/src/state_plugins/tag_input/plugin.ts +292 -0
- package/src/state_plugins/toc_render.ts +133 -0
- package/src/state_plugins/{toolbar.js → toolbar.ts} +4 -2
- package/src/state_plugins/track/{find_selected_changes.js → find_selected_changes.ts} +34 -19
- package/src/state_plugins/track/{helpers.js → helpers.ts} +36 -10
- package/src/state_plugins/track/{plugin.js → plugin.ts} +38 -14
- package/src/tools/key_bindings/{index.js → index.ts} +7 -3
- package/src/tools/key_bindings/{templates.js → templates.ts} +1 -1
- package/src/tools/search_replace/{index.js → index.ts} +115 -69
- package/src/tools/search_replace/{templates.js → templates.ts} +6 -1
- package/src/tools/word_count/{index.js → index.ts} +16 -6
- package/src/tools/word_count/{templates.js → templates.ts} +10 -1
- package/src/track/{accept.js → accept.ts} +20 -9
- package/src/track/{accept_all.js → accept_all.ts} +27 -17
- package/src/track/{accept_all_no_insertions.js → accept_all_no_insertions.ts} +16 -10
- package/src/track/{amend_transaction.js → amend_transaction.ts} +130 -70
- package/src/track/{delete.js → delete.ts} +15 -12
- package/src/track/{mod.js → mod.ts} +51 -32
- package/src/track/{reject.js → reject.ts} +34 -19
- package/src/track/{reject_all.js → reject_all.ts} +44 -24
- package/src/types.ts +214 -0
- package/src/comments/index.js +0 -11
- package/src/databases/index.js +0 -69
- package/src/document_template/exporter.js +0 -97
- package/src/exporter/native/copy.js +0 -191
- package/src/footnotes/index.js +0 -16
- package/src/menus/figure/utils.js +0 -5
- package/src/state_plugins/citation_render.js +0 -88
- package/src/state_plugins/footnote_markers.js +0 -238
- package/src/state_plugins/jump_hidden_nodes.js +0 -58
- package/src/state_plugins/marginboxes.js +0 -14
- package/src/state_plugins/placeholders.js +0 -123
- package/src/state_plugins/table.js +0 -127
- package/src/state_plugins/tag_input/plugin.js +0 -278
- package/src/state_plugins/toc_render.js +0 -160
- /package/src/clipboard/copy/{index.js → index.ts} +0 -0
- /package/src/clipboard/paste/{index.js → index.ts} +0 -0
- /package/src/collab/merge/state_plugins/{index.js → index.ts} +0 -0
- /package/src/comments/editors/{index.js → index.ts} +0 -0
- /package/src/dialogs/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{index.js → index.ts} +0 -0
- /package/src/exporter/native/{zip.js → zip.ts} +0 -0
- /package/src/footnotes/state_plugins/{index.js → index.ts} +0 -0
- /package/src/menus/code_block/{index.js → index.ts} +0 -0
- /package/src/menus/figure/{index.js → index.ts} +0 -0
- /package/src/menus/headerbar/{index.js → index.ts} +0 -0
- /package/src/menus/image/{index.js → index.ts} +0 -0
- /package/src/menus/{index.js → index.ts} +0 -0
- /package/src/menus/navigator/{index.js → index.ts} +0 -0
- /package/src/menus/ordered_list/{index.js → index.ts} +0 -0
- /package/src/menus/selection/{index.js → index.ts} +0 -0
- /package/src/menus/table/{index.js → index.ts} +0 -0
- /package/src/menus/toolbar/{index.js → index.ts} +0 -0
- /package/src/plugins/citation_dialog/{index.js → index.ts} +0 -0
- /package/src/plugins/editor/{index.js → index.ts} +0 -0
- /package/src/state_plugins/contributor_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/inline_reference/{index.js → index.ts} +0 -0
- /package/src/state_plugins/tag_input/{index.js → index.ts} +0 -0
- /package/src/state_plugins/track/{index.js → index.ts} +0 -0
- /package/src/tools/{index.js → index.ts} +0 -0
- /package/src/track/{index.js → index.ts} +0 -0
|
@@ -1,25 +1,114 @@
|
|
|
1
1
|
import {DiffDOM, stringToObj} from "diff-dom"
|
|
2
2
|
import fastdom from "fastdom"
|
|
3
|
+
import type {Node} from "prosemirror-model"
|
|
4
|
+
import type {Selection} from "prosemirror-state"
|
|
5
|
+
import type {EditorView} from "prosemirror-view"
|
|
3
6
|
|
|
4
7
|
import {cancelPromise, findTarget} from "fwtoolkit"
|
|
5
8
|
import {READ_ONLY_ROLES} from "../index.js"
|
|
6
9
|
import {
|
|
7
10
|
getCommentDuringCreationDecoration,
|
|
8
|
-
getFootnoteMarkers
|
|
9
|
-
getSelectedChanges
|
|
11
|
+
getFootnoteMarkers
|
|
10
12
|
} from "../state_plugins/index.js"
|
|
13
|
+
import {getSelectedChanges} from "../state_plugins/track/index.js"
|
|
14
|
+
import type {Editor} from "../types.js"
|
|
11
15
|
import {
|
|
12
16
|
globalCommentsTemplate,
|
|
13
17
|
marginBoxOptions,
|
|
14
18
|
marginBoxesTemplate,
|
|
15
19
|
marginboxFilterTemplate
|
|
16
20
|
} from "./templates.js"
|
|
21
|
+
import type {
|
|
22
|
+
Comment,
|
|
23
|
+
MarginBox,
|
|
24
|
+
MarginBoxFilterOptions,
|
|
25
|
+
Participant
|
|
26
|
+
} from "./templates.js"
|
|
27
|
+
|
|
28
|
+
interface SelectedChanges {
|
|
29
|
+
insertion?: {from: number; to: number}
|
|
30
|
+
deletion?: {from: number; to: number}
|
|
31
|
+
format_change?: {from: number; to: number}
|
|
32
|
+
block_change?: {from: number; to: number}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface NodeTrack {
|
|
36
|
+
type: string
|
|
37
|
+
data: Record<string, unknown>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
interface CommentInteractions {
|
|
41
|
+
createNewGlobalComment(): void
|
|
42
|
+
deactivateSelectedChanges(): void
|
|
43
|
+
activateComment(id: string): void
|
|
44
|
+
isCurrentlyEditing(): boolean
|
|
45
|
+
activateSelectedComment(view: EditorView): void
|
|
46
|
+
editComment: boolean
|
|
47
|
+
activeCommentAnswerId: number | string | undefined
|
|
48
|
+
activeCommentId: number | string | undefined
|
|
49
|
+
findCommentIds(node: Node): string[]
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
interface CommentStore {
|
|
53
|
+
commentDuringCreation?: {
|
|
54
|
+
comment: Comment
|
|
55
|
+
inDOM?: boolean
|
|
56
|
+
}
|
|
57
|
+
comments: Record<string, Comment>
|
|
58
|
+
findComment(id: string): Comment | undefined
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface CommentsMod {
|
|
62
|
+
interactions: CommentInteractions
|
|
63
|
+
store: CommentStore
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
interface CollabMod {
|
|
67
|
+
pastParticipants: Participant[]
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
interface FootnotesMod {
|
|
71
|
+
fnEditor: {view: EditorView}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
interface TrackMod {
|
|
75
|
+
activateTrack(view: string, type: string, pos: number): void
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface MarginboxesEditorMod {
|
|
79
|
+
comments: CommentsMod
|
|
80
|
+
collab: CollabMod
|
|
81
|
+
footnotes: FootnotesMod
|
|
82
|
+
track: TrackMod
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface MarginBoxPlacement {
|
|
86
|
+
height: number
|
|
87
|
+
refPos: number
|
|
88
|
+
pos?: number
|
|
89
|
+
}
|
|
17
90
|
|
|
18
91
|
/* Functions related to layouting of comments */
|
|
19
92
|
export class ModMarginboxes {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
93
|
+
editor: Editor & {mod: MarginboxesEditorMod}
|
|
94
|
+
activeCommentStyle: string
|
|
95
|
+
filterOptions: MarginBoxFilterOptions
|
|
96
|
+
commentColors: {isMajor: string; marker: string; active: string}
|
|
97
|
+
dd: DiffDOM
|
|
98
|
+
marginBoxesContainerString: string
|
|
99
|
+
marginBoxesContainerObj: ReturnType<typeof stringToObj>
|
|
100
|
+
globalCommentsContainerString: string
|
|
101
|
+
globalCommentsContainerObj: ReturnType<typeof stringToObj>
|
|
102
|
+
marginBoxesPlacementStyle: string
|
|
103
|
+
marginBoxes: MarginBox[]
|
|
104
|
+
marginBoxesContainer: HTMLElement | null
|
|
105
|
+
globalCommentsContainer: HTMLElement | null
|
|
106
|
+
activeCommentStyleElement: HTMLElement | null
|
|
107
|
+
trackOptionsStyleElement: HTMLElement | null
|
|
108
|
+
|
|
109
|
+
constructor(editor: Editor) {
|
|
110
|
+
this.editor = editor as Editor & {mod: MarginboxesEditorMod}
|
|
111
|
+
this.editor.mod.marginboxes = this
|
|
23
112
|
this.activeCommentStyle = ""
|
|
24
113
|
this.filterOptions = {
|
|
25
114
|
track: true,
|
|
@@ -51,6 +140,10 @@ export class ModMarginboxes {
|
|
|
51
140
|
)
|
|
52
141
|
this.marginBoxesPlacementStyle = ""
|
|
53
142
|
this.marginBoxes = []
|
|
143
|
+
this.marginBoxesContainer = null
|
|
144
|
+
this.globalCommentsContainer = null
|
|
145
|
+
this.activeCommentStyleElement = null
|
|
146
|
+
this.trackOptionsStyleElement = null
|
|
54
147
|
}
|
|
55
148
|
|
|
56
149
|
init() {
|
|
@@ -75,7 +168,9 @@ export class ModMarginboxes {
|
|
|
75
168
|
document.getElementById("new-global-comment")
|
|
76
169
|
if (
|
|
77
170
|
newGlobalCommentButton &&
|
|
78
|
-
READ_ONLY_ROLES.includes(
|
|
171
|
+
READ_ONLY_ROLES.includes(
|
|
172
|
+
this.editor.docInfo.access_rights || ""
|
|
173
|
+
)
|
|
79
174
|
) {
|
|
80
175
|
newGlobalCommentButton.classList.add("fw-hide")
|
|
81
176
|
}
|
|
@@ -85,7 +180,7 @@ export class ModMarginboxes {
|
|
|
85
180
|
bindEvents() {
|
|
86
181
|
// Bind all the click events related to the margin box filter
|
|
87
182
|
document.body.addEventListener("click", event => {
|
|
88
|
-
const el = {}
|
|
183
|
+
const el: {target?: Element | null} = {}
|
|
89
184
|
switch (true) {
|
|
90
185
|
case findTarget(event, "#new-global-comment", el):
|
|
91
186
|
this.editor.mod.comments.interactions.createNewGlobalComment()
|
|
@@ -97,57 +192,68 @@ export class ModMarginboxes {
|
|
|
97
192
|
event,
|
|
98
193
|
".margin-box-filter-comments-author",
|
|
99
194
|
el
|
|
100
|
-
):
|
|
195
|
+
): {
|
|
196
|
+
const target = el.target as HTMLElement | null | undefined
|
|
101
197
|
this.filterOptions.commentsAuthor = Number.parseInt(
|
|
102
|
-
|
|
198
|
+
target?.dataset.id || "0"
|
|
103
199
|
)
|
|
104
200
|
this.view(this.editor.currentView)
|
|
105
201
|
break
|
|
202
|
+
}
|
|
106
203
|
case findTarget(
|
|
107
204
|
event,
|
|
108
205
|
".margin-box-filter-comments-assigned",
|
|
109
206
|
el
|
|
110
|
-
):
|
|
207
|
+
): {
|
|
208
|
+
const target = el.target as HTMLElement | null | undefined
|
|
111
209
|
this.filterOptions.assigned = Number.parseInt(
|
|
112
|
-
|
|
210
|
+
target?.dataset.id || "0"
|
|
113
211
|
)
|
|
114
212
|
this.view(this.editor.currentView)
|
|
115
213
|
break
|
|
116
|
-
|
|
214
|
+
}
|
|
215
|
+
case findTarget(event, ".show-marginbox-options-submenu", el): {
|
|
216
|
+
const target = el.target as HTMLElement | null | undefined
|
|
117
217
|
this.closeAllMenus(".marginbox-options-submenu.fw-open")
|
|
118
|
-
Array.from(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
)
|
|
122
|
-
|
|
218
|
+
const submenu = Array.from(
|
|
219
|
+
target?.parentElement?.children || []
|
|
220
|
+
).find(node =>
|
|
221
|
+
node.matches(".marginbox-options-submenu")
|
|
222
|
+
) as HTMLElement | undefined
|
|
223
|
+
submenu?.classList.add("fw-open")
|
|
123
224
|
break
|
|
124
|
-
|
|
225
|
+
}
|
|
226
|
+
case findTarget(event, ".show-marginbox-options", el): {
|
|
227
|
+
const target = el.target as HTMLElement | null | undefined
|
|
125
228
|
this.closeAllMenus()
|
|
126
229
|
if (
|
|
127
|
-
|
|
230
|
+
target?.parentElement?.classList.contains(
|
|
128
231
|
"margin-box-filter-button"
|
|
129
232
|
)
|
|
130
233
|
) {
|
|
131
|
-
Array.from(
|
|
132
|
-
.
|
|
133
|
-
|
|
234
|
+
const options = Array.from(
|
|
235
|
+
target.parentElement.children
|
|
236
|
+
).find(node => node.matches(".fw-marginbox-options"))
|
|
237
|
+
if (options) {
|
|
238
|
+
;(options as HTMLElement).classList.add("fw-open")
|
|
239
|
+
}
|
|
134
240
|
} else {
|
|
135
241
|
let resolved = false
|
|
136
|
-
if (
|
|
242
|
+
if (target?.parentElement?.parentElement) {
|
|
137
243
|
resolved =
|
|
138
|
-
|
|
244
|
+
target.parentElement.parentElement.classList.contains(
|
|
139
245
|
"resolved"
|
|
140
246
|
)
|
|
141
247
|
}
|
|
142
248
|
const user = this.editor.user
|
|
143
249
|
const docInfo = this.editor.docInfo
|
|
144
|
-
const elData =
|
|
250
|
+
const elData = (target as HTMLElement).dataset
|
|
145
251
|
const comment = {
|
|
146
252
|
answer: elData.hasOwnProperty("answer"),
|
|
147
|
-
id: elData.id,
|
|
148
|
-
commentId: elData.commentid,
|
|
149
|
-
user: Number(elData.commentuser),
|
|
150
|
-
resolved
|
|
253
|
+
id: elData.id || "",
|
|
254
|
+
commentId: elData.commentid || "",
|
|
255
|
+
user: Number(elData.commentuser || 0),
|
|
256
|
+
resolved
|
|
151
257
|
}
|
|
152
258
|
document.body.insertAdjacentHTML(
|
|
153
259
|
"beforeend",
|
|
@@ -156,20 +262,25 @@ export class ModMarginboxes {
|
|
|
156
262
|
const marginboxOptions = document.body.querySelector(
|
|
157
263
|
".comment-answer-options.fw-marginbox-options"
|
|
158
264
|
)
|
|
159
|
-
marginboxOptions
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
265
|
+
if (marginboxOptions && target) {
|
|
266
|
+
marginboxOptions.classList.add("fw-open")
|
|
267
|
+
this.positionMarginBoxOptions(
|
|
268
|
+
marginboxOptions as HTMLElement,
|
|
269
|
+
target
|
|
270
|
+
)
|
|
271
|
+
}
|
|
164
272
|
}
|
|
165
273
|
break
|
|
166
|
-
|
|
274
|
+
}
|
|
275
|
+
case findTarget(event, ".margin-box-filter-track-author", el): {
|
|
276
|
+
const target = el.target as HTMLElement | null | undefined
|
|
167
277
|
this.filterOptions.trackAuthor = Number.parseInt(
|
|
168
|
-
|
|
278
|
+
target?.dataset.id || "0"
|
|
169
279
|
)
|
|
170
280
|
this.setTrackStyle()
|
|
171
281
|
this.view(this.editor.currentView)
|
|
172
282
|
break
|
|
283
|
+
}
|
|
173
284
|
case findTarget(event, "#margin-box-filter-track", el):
|
|
174
285
|
this.filterOptions.track = !this.filterOptions.track
|
|
175
286
|
this.setTrackStyle()
|
|
@@ -183,44 +294,59 @@ export class ModMarginboxes {
|
|
|
183
294
|
this.filterOptions.info = !this.filterOptions.info
|
|
184
295
|
this.view(this.editor.currentView)
|
|
185
296
|
break
|
|
186
|
-
case findTarget(event, ".margin-box.comment.inactive", el):
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
commentId
|
|
192
|
-
)
|
|
193
|
-
if (!comment?.isGlobal) {
|
|
194
|
-
this.editor.mod.comments.interactions.deactivateSelectedChanges()
|
|
195
|
-
}
|
|
196
|
-
this.editor.mod.comments.interactions.activateComment(
|
|
197
|
-
commentId
|
|
198
|
-
)
|
|
199
|
-
this.scrollToGlobalComment(commentId)
|
|
297
|
+
case findTarget(event, ".margin-box.comment.inactive", el): {
|
|
298
|
+
const target = el.target as HTMLElement | null | undefined
|
|
299
|
+
const commentId = target?.dataset.id
|
|
300
|
+
if (!commentId) {
|
|
301
|
+
break
|
|
200
302
|
}
|
|
303
|
+
const comment =
|
|
304
|
+
this.editor.mod.comments.store.findComment(commentId)
|
|
305
|
+
if (!comment?.isGlobal) {
|
|
306
|
+
this.editor.mod.comments.interactions.deactivateSelectedChanges()
|
|
307
|
+
}
|
|
308
|
+
this.editor.mod.comments.interactions.activateComment(
|
|
309
|
+
commentId
|
|
310
|
+
)
|
|
311
|
+
this.scrollToGlobalComment(commentId)
|
|
201
312
|
break
|
|
313
|
+
}
|
|
202
314
|
case findTarget(event, ".margin-box.track.inactive", el): {
|
|
315
|
+
const target = el.target as HTMLElement | null | undefined
|
|
203
316
|
let boxNumber = 0
|
|
204
|
-
let seekItem =
|
|
205
|
-
while (seekItem
|
|
317
|
+
let seekItem: Element | null | undefined = target
|
|
318
|
+
while (seekItem?.previousElementSibling) {
|
|
206
319
|
boxNumber += 1
|
|
207
320
|
seekItem = seekItem.previousElementSibling
|
|
208
321
|
}
|
|
209
322
|
const box = this.marginBoxes[boxNumber]
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
323
|
+
switch (box.type) {
|
|
324
|
+
case "insertion":
|
|
325
|
+
case "deletion":
|
|
326
|
+
case "format_change":
|
|
327
|
+
case "block_change":
|
|
328
|
+
this.editor.mod.track.activateTrack(
|
|
329
|
+
box.view,
|
|
330
|
+
box.type,
|
|
331
|
+
box.pos as number
|
|
332
|
+
)
|
|
333
|
+
break
|
|
334
|
+
default:
|
|
335
|
+
break
|
|
336
|
+
}
|
|
215
337
|
break
|
|
216
338
|
}
|
|
217
339
|
case findTarget(
|
|
218
340
|
event,
|
|
219
341
|
".margin-box.comment.fw-active .show-more-less",
|
|
220
342
|
el
|
|
221
|
-
):
|
|
222
|
-
|
|
343
|
+
): {
|
|
344
|
+
const target = el.target as HTMLElement | null | undefined
|
|
345
|
+
if (target) {
|
|
346
|
+
this.toggleShowMore(target)
|
|
347
|
+
}
|
|
223
348
|
break
|
|
349
|
+
}
|
|
224
350
|
default:
|
|
225
351
|
this.closeAllMenus()
|
|
226
352
|
this.closeAllLongComments()
|
|
@@ -231,25 +357,25 @@ export class ModMarginboxes {
|
|
|
231
357
|
document.body.addEventListener(
|
|
232
358
|
"change",
|
|
233
359
|
evt => {
|
|
234
|
-
|
|
360
|
+
const target = evt.target as HTMLInputElement | null
|
|
361
|
+
switch (target?.id) {
|
|
235
362
|
case "margin-box-filter-comments-resolved":
|
|
236
|
-
this.filterOptions.commentsResolved =
|
|
363
|
+
this.filterOptions.commentsResolved = target.checked
|
|
237
364
|
this.view(this.editor.currentView)
|
|
238
365
|
break
|
|
239
366
|
|
|
240
367
|
case "margin-box-filter-comments-only-major":
|
|
241
|
-
this.filterOptions.commentsOnlyMajor =
|
|
242
|
-
evt.target.checked
|
|
368
|
+
this.filterOptions.commentsOnlyMajor = target.checked
|
|
243
369
|
this.view(this.editor.currentView)
|
|
244
370
|
break
|
|
245
371
|
|
|
246
372
|
case "margin-box-filter-info-help":
|
|
247
|
-
this.filterOptions.help =
|
|
373
|
+
this.filterOptions.help = target.checked
|
|
248
374
|
this.view(this.editor.currentView)
|
|
249
375
|
break
|
|
250
376
|
|
|
251
377
|
case "margin-box-filter-info-warning":
|
|
252
|
-
this.filterOptions.warning =
|
|
378
|
+
this.filterOptions.warning = target.checked
|
|
253
379
|
this.view(this.editor.currentView)
|
|
254
380
|
break
|
|
255
381
|
}
|
|
@@ -265,32 +391,35 @@ export class ModMarginboxes {
|
|
|
265
391
|
) {
|
|
266
392
|
document.querySelectorAll(selector).forEach(el => {
|
|
267
393
|
if (el.classList.contains("comment-answer-options")) {
|
|
268
|
-
el.parentElement
|
|
394
|
+
el.parentElement?.removeChild(el)
|
|
269
395
|
} else {
|
|
270
396
|
el.classList.remove("fw-open")
|
|
271
397
|
}
|
|
272
398
|
})
|
|
273
399
|
}
|
|
274
400
|
|
|
275
|
-
view(view) {
|
|
401
|
+
view(view: EditorView) {
|
|
276
402
|
// Give up if the user is currently editing a comment.
|
|
277
403
|
if (this.editor.mod.comments.interactions.isCurrentlyEditing()) {
|
|
278
404
|
return false
|
|
279
405
|
}
|
|
280
406
|
this.editor.mod.comments.interactions.activateSelectedComment(view)
|
|
407
|
+
return
|
|
281
408
|
}
|
|
282
409
|
|
|
283
|
-
updateDOM() {
|
|
410
|
+
updateDOM(): Promise<void> | false {
|
|
284
411
|
// Handle the layout of the comments on the screen.
|
|
285
412
|
// DOM write phase
|
|
286
413
|
|
|
287
|
-
const marginBoxes = [],
|
|
288
|
-
globalComments = [],
|
|
289
|
-
referrers = []
|
|
290
|
-
|
|
414
|
+
const marginBoxes: MarginBox[] = [],
|
|
415
|
+
globalComments: import("./templates.js").CommentMarginBox[] = [],
|
|
416
|
+
referrers: number[] = []
|
|
417
|
+
const selectedChanges = getSelectedChanges(
|
|
418
|
+
this.editor.currentView.state
|
|
419
|
+
) as SelectedChanges
|
|
291
420
|
let fnIndex = 0,
|
|
292
421
|
fnPosCount = 0,
|
|
293
|
-
lastNodeTracks = [],
|
|
422
|
+
lastNodeTracks: NodeTrack[] = [],
|
|
294
423
|
lastNode = this.editor.view.state.doc
|
|
295
424
|
|
|
296
425
|
this.activeCommentStyle = ""
|
|
@@ -315,7 +444,7 @@ export class ModMarginboxes {
|
|
|
315
444
|
if (node.type.name === "footnote") {
|
|
316
445
|
let lastFnNode =
|
|
317
446
|
this.editor.mod.footnotes.fnEditor.view.state.doc,
|
|
318
|
-
lastFnNodeTracks = []
|
|
447
|
+
lastFnNodeTracks: NodeTrack[] = []
|
|
319
448
|
const footnote =
|
|
320
449
|
lastFnNode.childCount > fnIndex
|
|
321
450
|
? lastFnNode.child(fnIndex)
|
|
@@ -326,7 +455,7 @@ export class ModMarginboxes {
|
|
|
326
455
|
this.editor.mod.footnotes.fnEditor.view.state.doc.nodesBetween(
|
|
327
456
|
fnPosCount,
|
|
328
457
|
fnPosCount + footnote.nodeSize,
|
|
329
|
-
(fnNode, fnPos) => {
|
|
458
|
+
(fnNode: Node, fnPos: number) => {
|
|
330
459
|
if (fnPos < fnPosCount) {
|
|
331
460
|
return false
|
|
332
461
|
}
|
|
@@ -343,11 +472,13 @@ export class ModMarginboxes {
|
|
|
343
472
|
this.editor.view.state.selection
|
|
344
473
|
)
|
|
345
474
|
lastFnNode = fnNode
|
|
475
|
+
return
|
|
346
476
|
}
|
|
347
477
|
)
|
|
348
478
|
fnIndex++
|
|
349
479
|
fnPosCount += footnote.nodeSize
|
|
350
480
|
}
|
|
481
|
+
return
|
|
351
482
|
})
|
|
352
483
|
|
|
353
484
|
// Add a comment that is currently under construction to the list.
|
|
@@ -367,15 +498,15 @@ export class ModMarginboxes {
|
|
|
367
498
|
} else {
|
|
368
499
|
const deco = getCommentDuringCreationDecoration(
|
|
369
500
|
this.editor.view.state
|
|
370
|
-
)
|
|
371
|
-
let pos, view
|
|
501
|
+
) as {from: number} | null | undefined
|
|
502
|
+
let pos: number | undefined, view: string | undefined
|
|
372
503
|
if (deco) {
|
|
373
504
|
pos = deco.from
|
|
374
505
|
view = "main"
|
|
375
506
|
} else {
|
|
376
507
|
const fnDeco = getCommentDuringCreationDecoration(
|
|
377
508
|
this.editor.mod.footnotes.fnEditor.view.state
|
|
378
|
-
)
|
|
509
|
+
) as {from: number} | null | undefined
|
|
379
510
|
if (fnDeco) {
|
|
380
511
|
pos = this.fnPosToPos(fnDeco.from)
|
|
381
512
|
view = "footnote"
|
|
@@ -394,7 +525,7 @@ export class ModMarginboxes {
|
|
|
394
525
|
view,
|
|
395
526
|
pos,
|
|
396
527
|
active: true
|
|
397
|
-
})
|
|
528
|
+
} as MarginBox)
|
|
398
529
|
referrers.splice(index, 0, pos)
|
|
399
530
|
this.activeCommentStyle +=
|
|
400
531
|
".active-comment, .active-comment .comment {background-color: #fffacf !important;}"
|
|
@@ -449,7 +580,9 @@ export class ModMarginboxes {
|
|
|
449
580
|
this.marginBoxesContainerObj,
|
|
450
581
|
newMarginBoxesContainerObj
|
|
451
582
|
)
|
|
452
|
-
|
|
583
|
+
if (this.marginBoxesContainer) {
|
|
584
|
+
this.dd.apply(this.marginBoxesContainer, diff)
|
|
585
|
+
}
|
|
453
586
|
this.marginBoxesContainerString = marginBoxesHTML
|
|
454
587
|
this.marginBoxesContainerObj = newMarginBoxesContainerObj
|
|
455
588
|
}
|
|
@@ -461,14 +594,14 @@ export class ModMarginboxes {
|
|
|
461
594
|
this.globalCommentsContainerObj,
|
|
462
595
|
newGlobalCommentsContainerObj
|
|
463
596
|
)
|
|
464
|
-
|
|
597
|
+
if (this.globalCommentsContainer) {
|
|
598
|
+
this.dd.apply(this.globalCommentsContainer, diff)
|
|
599
|
+
}
|
|
465
600
|
this.globalCommentsContainerString = globalCommentsHTML
|
|
466
601
|
this.globalCommentsContainerObj = newGlobalCommentsContainerObj
|
|
467
602
|
}
|
|
468
603
|
|
|
469
|
-
if (
|
|
470
|
-
this.activeCommentStyleElement.innerHTML != this.activeCommentStyle
|
|
471
|
-
) {
|
|
604
|
+
if (this.activeCommentStyleElement) {
|
|
472
605
|
this.activeCommentStyleElement.innerHTML = this.activeCommentStyle
|
|
473
606
|
}
|
|
474
607
|
|
|
@@ -491,7 +624,11 @@ export class ModMarginboxes {
|
|
|
491
624
|
}
|
|
492
625
|
|
|
493
626
|
return new Promise(resolve => {
|
|
494
|
-
fastdom
|
|
627
|
+
const fd = fastdom as unknown as {
|
|
628
|
+
measure(cb: () => void): void
|
|
629
|
+
mutate(cb: () => void): void
|
|
630
|
+
}
|
|
631
|
+
fd.measure(() => {
|
|
495
632
|
// DOM read phase
|
|
496
633
|
let marginBoxesPlacementStyle = ""
|
|
497
634
|
if (
|
|
@@ -513,19 +650,19 @@ export class ModMarginboxes {
|
|
|
513
650
|
return
|
|
514
651
|
}
|
|
515
652
|
const bodyTop = document.body.getBoundingClientRect().top,
|
|
516
|
-
marginBoxPlacements = Array.from(
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
653
|
+
marginBoxPlacements: MarginBoxPlacement[] = Array.from(
|
|
654
|
+
marginBoxesDOM
|
|
655
|
+
).map((mboxDOM, index) => {
|
|
656
|
+
const mboxDOMRect =
|
|
657
|
+
mboxDOM.getBoundingClientRect()
|
|
658
|
+
return {
|
|
659
|
+
height: mboxDOMRect.height,
|
|
660
|
+
refPos:
|
|
661
|
+
this.editor.view.coordsAtPos(
|
|
662
|
+
referrers[index]
|
|
663
|
+
).top - bodyTop
|
|
527
664
|
}
|
|
528
|
-
),
|
|
665
|
+
}),
|
|
529
666
|
firstActiveIndex = marginBoxes.findIndex(
|
|
530
667
|
mBox => mBox.active
|
|
531
668
|
),
|
|
@@ -546,12 +683,12 @@ export class ModMarginboxes {
|
|
|
546
683
|
mboxPlacement.refPos
|
|
547
684
|
)
|
|
548
685
|
}
|
|
549
|
-
currentPos = mboxPlacement.pos
|
|
686
|
+
currentPos = mboxPlacement.pos as number
|
|
550
687
|
activeIndex--
|
|
551
688
|
}
|
|
552
689
|
if (firstActiveIndex > -1) {
|
|
553
690
|
currentPos =
|
|
554
|
-
firstActiveMboxPlacement.pos +
|
|
691
|
+
(firstActiveMboxPlacement.pos as number) +
|
|
555
692
|
firstActiveMboxPlacement.height
|
|
556
693
|
activeIndex = firstActiveIndex + 1
|
|
557
694
|
} else {
|
|
@@ -564,7 +701,7 @@ export class ModMarginboxes {
|
|
|
564
701
|
currentPos + 2,
|
|
565
702
|
mboxPlacement.refPos
|
|
566
703
|
)
|
|
567
|
-
currentPos = mboxPlacement.pos + mboxPlacement.height
|
|
704
|
+
currentPos = (mboxPlacement.pos as number) + mboxPlacement.height
|
|
568
705
|
activeIndex++
|
|
569
706
|
}
|
|
570
707
|
|
|
@@ -587,10 +724,10 @@ export class ModMarginboxes {
|
|
|
587
724
|
if (mboxPlacement.height === 0) {
|
|
588
725
|
return ""
|
|
589
726
|
}
|
|
590
|
-
const pos = mboxPlacement.pos - initialOffset
|
|
727
|
+
const pos = (mboxPlacement.pos as number) - initialOffset
|
|
591
728
|
let css = ""
|
|
592
729
|
if (pos !== totalOffset) {
|
|
593
|
-
let topMargin =
|
|
730
|
+
let topMargin = Math.trunc(
|
|
594
731
|
pos - totalOffset
|
|
595
732
|
)
|
|
596
733
|
if (selectionInTitle) {
|
|
@@ -605,7 +742,8 @@ export class ModMarginboxes {
|
|
|
605
742
|
.join("")
|
|
606
743
|
if (firstActiveIndex > -1) {
|
|
607
744
|
const topMenuHeight =
|
|
608
|
-
this.editor.dom.querySelector("header")
|
|
745
|
+
(this.editor.dom.querySelector("header") as HTMLElement | null)
|
|
746
|
+
?.offsetHeight || 0
|
|
609
747
|
const refDistanceFromTop = this.editor.view.coordsAtPos(
|
|
610
748
|
referrers[firstActiveIndex]
|
|
611
749
|
).top
|
|
@@ -619,22 +757,24 @@ export class ModMarginboxes {
|
|
|
619
757
|
window.scrollBy({
|
|
620
758
|
left: 0,
|
|
621
759
|
top: scrollTop,
|
|
622
|
-
behavior: "smooth"
|
|
623
|
-
|
|
624
|
-
})
|
|
760
|
+
behavior: "smooth"
|
|
761
|
+
} as unknown as ScrollToOptions)
|
|
625
762
|
}
|
|
626
763
|
}
|
|
627
764
|
}
|
|
628
765
|
|
|
629
|
-
|
|
766
|
+
fd.mutate(() => {
|
|
630
767
|
//DOM write phase
|
|
631
768
|
if (
|
|
632
769
|
this.marginBoxesPlacementStyle !==
|
|
633
770
|
marginBoxesPlacementStyle
|
|
634
771
|
) {
|
|
635
|
-
document.getElementById(
|
|
772
|
+
const placementStyleEl = document.getElementById(
|
|
636
773
|
"margin-box-placement-style"
|
|
637
|
-
)
|
|
774
|
+
)
|
|
775
|
+
if (placementStyleEl) {
|
|
776
|
+
placementStyleEl.innerHTML = marginBoxesPlacementStyle
|
|
777
|
+
}
|
|
638
778
|
this.marginBoxesPlacementStyle =
|
|
639
779
|
marginBoxesPlacementStyle
|
|
640
780
|
}
|
|
@@ -647,37 +787,44 @@ export class ModMarginboxes {
|
|
|
647
787
|
})
|
|
648
788
|
}
|
|
649
789
|
|
|
650
|
-
fnPosToPos(fnPos) {
|
|
790
|
+
fnPosToPos(fnPos: number) {
|
|
651
791
|
const fnIndex = this.editor.mod.footnotes.fnEditor.view.state.doc
|
|
652
792
|
.resolve(fnPos)
|
|
653
793
|
.index(0),
|
|
654
|
-
fnMarker =
|
|
794
|
+
fnMarker = (
|
|
795
|
+
getFootnoteMarkers(this.editor.view.state) as Array<{
|
|
796
|
+
from: number
|
|
797
|
+
}>
|
|
798
|
+
)[fnIndex]
|
|
655
799
|
|
|
656
800
|
return fnMarker.from
|
|
657
801
|
}
|
|
658
802
|
|
|
659
803
|
getMarginBoxes(
|
|
660
|
-
node,
|
|
661
|
-
pos,
|
|
662
|
-
refPos,
|
|
663
|
-
lastNode,
|
|
664
|
-
lastNodeTracks,
|
|
665
|
-
view,
|
|
666
|
-
marginBoxes,
|
|
667
|
-
referrers,
|
|
668
|
-
selectedChanges,
|
|
669
|
-
selection
|
|
670
|
-
) {
|
|
804
|
+
node: Node,
|
|
805
|
+
pos: number,
|
|
806
|
+
refPos: number,
|
|
807
|
+
lastNode: Node,
|
|
808
|
+
lastNodeTracks: NodeTrack[],
|
|
809
|
+
view: string,
|
|
810
|
+
marginBoxes: MarginBox[],
|
|
811
|
+
referrers: number[],
|
|
812
|
+
selectedChanges: SelectedChanges,
|
|
813
|
+
selection: Selection
|
|
814
|
+
): NodeTrack[] {
|
|
815
|
+
const selectionLike = selection as Selection & {
|
|
816
|
+
node?: Node
|
|
817
|
+
}
|
|
671
818
|
if (node.attrs.help) {
|
|
672
819
|
// Help/instruction margin boxes
|
|
673
820
|
const helpBox = {
|
|
674
821
|
type: "help",
|
|
675
822
|
data: {
|
|
676
|
-
active:
|
|
823
|
+
active: selectionLike.$anchor.node(1) === node ? true : false,
|
|
677
824
|
help: node.attrs.help
|
|
678
825
|
}
|
|
679
826
|
}
|
|
680
|
-
marginBoxes.push(helpBox)
|
|
827
|
+
marginBoxes.push(helpBox as MarginBox)
|
|
681
828
|
referrers.push(refPos)
|
|
682
829
|
}
|
|
683
830
|
|
|
@@ -685,11 +832,11 @@ export class ModMarginboxes {
|
|
|
685
832
|
const warningBox = {
|
|
686
833
|
type: "warning",
|
|
687
834
|
data: {
|
|
688
|
-
active:
|
|
835
|
+
active: selectionLike.node && selectionLike.node === node,
|
|
689
836
|
warning: gettext("A cross reference has lost its target.")
|
|
690
837
|
}
|
|
691
838
|
}
|
|
692
|
-
marginBoxes.push(warningBox)
|
|
839
|
+
marginBoxes.push(warningBox as MarginBox)
|
|
693
840
|
referrers.push(refPos)
|
|
694
841
|
}
|
|
695
842
|
|
|
@@ -702,15 +849,17 @@ export class ModMarginboxes {
|
|
|
702
849
|
)
|
|
703
850
|
) {
|
|
704
851
|
const linkMark = node.marks.find(mark => mark.type.name === "link")
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
852
|
+
if (linkMark) {
|
|
853
|
+
const warningBox = {
|
|
854
|
+
type: "warning",
|
|
855
|
+
data: {
|
|
856
|
+
active: linkMark.isInSet(selectionLike.$anchor.marks()),
|
|
857
|
+
warning: gettext("An internal link has lost its target.")
|
|
858
|
+
}
|
|
710
859
|
}
|
|
860
|
+
marginBoxes.push(warningBox as MarginBox)
|
|
861
|
+
referrers.push(refPos)
|
|
711
862
|
}
|
|
712
|
-
marginBoxes.push(warningBox)
|
|
713
|
-
referrers.push(refPos)
|
|
714
863
|
}
|
|
715
864
|
|
|
716
865
|
const commentIds =
|
|
@@ -719,8 +868,16 @@ export class ModMarginboxes {
|
|
|
719
868
|
: []
|
|
720
869
|
|
|
721
870
|
const nodeTracks = node.attrs.track
|
|
722
|
-
?
|
|
723
|
-
|
|
871
|
+
? (
|
|
872
|
+
node.attrs.track as Array<{
|
|
873
|
+
type: string
|
|
874
|
+
user: number
|
|
875
|
+
username: string
|
|
876
|
+
date: number
|
|
877
|
+
before?: unknown
|
|
878
|
+
}>
|
|
879
|
+
).map(track => {
|
|
880
|
+
const nodeTrack: NodeTrack = {
|
|
724
881
|
type: track.type,
|
|
725
882
|
data: {
|
|
726
883
|
user: track.user,
|
|
@@ -762,26 +919,33 @@ export class ModMarginboxes {
|
|
|
762
919
|
track.type
|
|
763
920
|
) ||
|
|
764
921
|
(track.type === "format_change" &&
|
|
765
|
-
track.data.before.length ===
|
|
766
|
-
lastTrack.data.before
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
922
|
+
(track.data.before as string[]).length ===
|
|
923
|
+
(lastTrack.data.before as string[])
|
|
924
|
+
.length &&
|
|
925
|
+
(track.data.after as string[]).length ===
|
|
926
|
+
(lastTrack.data.after as string[])
|
|
927
|
+
.length &&
|
|
928
|
+
(track.data.before as string[]).every(
|
|
929
|
+
markName =>
|
|
930
|
+
(lastTrack.data.before as string[]).includes(
|
|
931
|
+
markName
|
|
932
|
+
)
|
|
773
933
|
) &&
|
|
774
|
-
track.data.after.every(
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
934
|
+
(track.data.after as string[]).every(
|
|
935
|
+
markName =>
|
|
936
|
+
(lastTrack.data.after as string[]).includes(
|
|
937
|
+
markName
|
|
938
|
+
)
|
|
778
939
|
)) ||
|
|
779
940
|
(track.type === "block_change" &&
|
|
780
|
-
track.data.before.type ===
|
|
781
|
-
lastTrack.data.before
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
941
|
+
(track.data.before as {type: string}).type ===
|
|
942
|
+
(lastTrack.data.before as {type: string})
|
|
943
|
+
.type &&
|
|
944
|
+
(track.data.before as {attrs?: {level?: number}})
|
|
945
|
+
.attrs?.level ===
|
|
946
|
+
(lastTrack.data.before as {
|
|
947
|
+
attrs?: {level?: number}
|
|
948
|
+
}).attrs?.level))
|
|
785
949
|
)
|
|
786
950
|
)
|
|
787
951
|
: nodeTracks
|
|
@@ -793,11 +957,12 @@ export class ModMarginboxes {
|
|
|
793
957
|
pos,
|
|
794
958
|
view,
|
|
795
959
|
active:
|
|
796
|
-
selectedChanges[track.type] &&
|
|
797
|
-
selectedChanges[track.type
|
|
960
|
+
selectedChanges[track.type as keyof SelectedChanges] &&
|
|
961
|
+
selectedChanges[track.type as keyof SelectedChanges]!
|
|
962
|
+
.from === pos
|
|
798
963
|
},
|
|
799
964
|
track
|
|
800
|
-
)
|
|
965
|
+
) as MarginBox
|
|
801
966
|
)
|
|
802
967
|
referrers.push(refPos)
|
|
803
968
|
})
|
|
@@ -850,25 +1015,28 @@ export class ModMarginboxes {
|
|
|
850
1015
|
document.body.querySelectorAll(selector).forEach(el => {
|
|
851
1016
|
el.classList.remove("show-more")
|
|
852
1017
|
const showMoreButton =
|
|
853
|
-
el.parentElement
|
|
1018
|
+
el.parentElement?.parentElement?.querySelector(".show-more-less")
|
|
854
1019
|
if (showMoreButton) {
|
|
855
|
-
showMoreButton.
|
|
1020
|
+
showMoreButton.innerHTML = `${gettext("show more")}`
|
|
856
1021
|
}
|
|
857
1022
|
})
|
|
858
1023
|
}
|
|
859
1024
|
|
|
860
|
-
positionMarginBoxOptions(
|
|
1025
|
+
positionMarginBoxOptions(
|
|
1026
|
+
marginBoxDialog: HTMLElement,
|
|
1027
|
+
showMarginboxOptionsBtn: Element
|
|
1028
|
+
) {
|
|
861
1029
|
const btnTop = showMarginboxOptionsBtn.getBoundingClientRect().top,
|
|
862
1030
|
scrollTopOffset = window.pageYOffset,
|
|
863
1031
|
mBoxRight = showMarginboxOptionsBtn
|
|
864
1032
|
.closest(".comment-answer-container")
|
|
865
|
-
|
|
1033
|
+
?.getBoundingClientRect().right || 0
|
|
866
1034
|
|
|
867
1035
|
marginBoxDialog.style.top = `${btnTop + scrollTopOffset + 30}px`
|
|
868
1036
|
marginBoxDialog.style.left = `${mBoxRight - marginBoxDialog.getBoundingClientRect().width - 10}px`
|
|
869
1037
|
}
|
|
870
1038
|
|
|
871
|
-
scrollToGlobalComment(id) {
|
|
1039
|
+
scrollToGlobalComment(id: string) {
|
|
872
1040
|
const commentDOM = document.querySelector(
|
|
873
1041
|
`#global-comments #margin-box-${id}`
|
|
874
1042
|
)
|
|
@@ -876,7 +1044,8 @@ export class ModMarginboxes {
|
|
|
876
1044
|
return
|
|
877
1045
|
}
|
|
878
1046
|
const topMenuHeight =
|
|
879
|
-
this.editor.dom.querySelector("header")
|
|
1047
|
+
(this.editor.dom.querySelector("header") as HTMLElement | null)
|
|
1048
|
+
?.offsetHeight || 0,
|
|
880
1049
|
rect = commentDOM.getBoundingClientRect()
|
|
881
1050
|
if (rect.top < topMenuHeight || rect.bottom > window.innerHeight - 30) {
|
|
882
1051
|
const scrollTop = rect.top - (topMenuHeight + 90)
|
|
@@ -893,7 +1062,7 @@ export class ModMarginboxes {
|
|
|
893
1062
|
.querySelectorAll(".comment-answer-container")
|
|
894
1063
|
.forEach(element => {
|
|
895
1064
|
element.addEventListener("scroll", () => {
|
|
896
|
-
const scrollTop = element.scrollTop
|
|
1065
|
+
const scrollTop = (element as HTMLElement).scrollTop
|
|
897
1066
|
const marginBoxOption = Array.from(element.children).find(
|
|
898
1067
|
node => node.matches(".show-marginbox-options")
|
|
899
1068
|
)
|
|
@@ -906,22 +1075,23 @@ export class ModMarginboxes {
|
|
|
906
1075
|
})
|
|
907
1076
|
}
|
|
908
1077
|
|
|
909
|
-
toggleShowMore(element) {
|
|
1078
|
+
toggleShowMore(element: Element) {
|
|
910
1079
|
const commentText =
|
|
911
|
-
element.
|
|
912
|
-
|
|
913
|
-
|
|
1080
|
+
element.parentElement?.parentElement?.querySelector(".comment-p")
|
|
1081
|
+
if (!commentText) {
|
|
1082
|
+
return
|
|
1083
|
+
}
|
|
914
1084
|
commentText.classList.toggle("show-more")
|
|
915
1085
|
if (commentText.classList.contains("show-more")) {
|
|
916
|
-
element.
|
|
1086
|
+
;(element as HTMLElement).innerText = `${gettext("show less")}`
|
|
917
1087
|
} else {
|
|
918
|
-
element.
|
|
1088
|
+
;(element as HTMLElement).innerText = `${gettext("show more")}`
|
|
919
1089
|
}
|
|
920
1090
|
}
|
|
921
1091
|
|
|
922
1092
|
setTrackStyle() {
|
|
923
1093
|
if (!this.filterOptions.track) {
|
|
924
|
-
this.trackOptionsStyleElement
|
|
1094
|
+
this.trackOptionsStyleElement!.innerHTML = `span.insertion, .selected-insertion, .selected-format_change, .selected-block_change {
|
|
925
1095
|
color: inherit !important;
|
|
926
1096
|
background-color: inherit !important;
|
|
927
1097
|
}
|
|
@@ -929,7 +1099,7 @@ export class ModMarginboxes {
|
|
|
929
1099
|
display: none;
|
|
930
1100
|
}`
|
|
931
1101
|
} else if (this.filterOptions.trackAuthor) {
|
|
932
|
-
this.trackOptionsStyleElement
|
|
1102
|
+
this.trackOptionsStyleElement!.innerHTML = `span.insertion:not([data-user="${this.filterOptions.trackAuthor}"]),
|
|
933
1103
|
span.insertion:not([data-user="${this.filterOptions.trackAuthor}"]) .selected-insertion,
|
|
934
1104
|
.selected-format_change:not([data-user="${this.filterOptions.trackAuthor}"]),
|
|
935
1105
|
.selected-block_change:not([data-user="${this.filterOptions.trackAuthor}"]) {
|
|
@@ -940,7 +1110,7 @@ export class ModMarginboxes {
|
|
|
940
1110
|
display: none;
|
|
941
1111
|
}`
|
|
942
1112
|
} else {
|
|
943
|
-
this.trackOptionsStyleElement
|
|
1113
|
+
this.trackOptionsStyleElement!.innerHTML = ""
|
|
944
1114
|
}
|
|
945
1115
|
}
|
|
946
1116
|
}
|