@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,24 +1,30 @@
|
|
|
1
1
|
import {BIBLIOGRAPHY_HEADERS} from "@fiduswriter/document/schema/i18n"
|
|
2
|
+
import type {Fragment, Schema} from "prosemirror-model"
|
|
2
3
|
import {DOMSerializer} from "prosemirror-model"
|
|
4
|
+
|
|
3
5
|
import {RenderCitations} from "../../citations/render.js"
|
|
4
6
|
import {createDocCopySchema, fnCopySchema} from "./schema.js"
|
|
7
|
+
import type {Editor} from "../../types.js"
|
|
5
8
|
|
|
6
9
|
// Wrap around DOMSerializer, allowing post processing.
|
|
7
10
|
class ClipboardDOMSerializer {
|
|
8
|
-
|
|
11
|
+
domSerializer: DOMSerializer
|
|
12
|
+
editor: Editor
|
|
13
|
+
|
|
14
|
+
constructor(nodes: Record<string, any>, marks: Record<string, any>, editor: Editor) {
|
|
9
15
|
this.domSerializer = new DOMSerializer(nodes, marks)
|
|
10
16
|
this.editor = editor
|
|
11
17
|
}
|
|
12
18
|
|
|
13
|
-
serializeFragment(fragment, options) {
|
|
19
|
+
serializeFragment(fragment: Fragment, options?: {document?: Document}): DocumentFragment {
|
|
14
20
|
const domFragment = this.domSerializer.serializeFragment(
|
|
15
21
|
fragment,
|
|
16
22
|
options
|
|
17
23
|
)
|
|
18
|
-
return this.postProcessFragment(domFragment)
|
|
24
|
+
return this.postProcessFragment(domFragment as DocumentFragment)
|
|
19
25
|
}
|
|
20
26
|
|
|
21
|
-
postProcessFragment(domFragment) {
|
|
27
|
+
postProcessFragment(domFragment: DocumentFragment): DocumentFragment {
|
|
22
28
|
const citationFormatter = this.renderCitations(domFragment)
|
|
23
29
|
this.renderFootnotes(domFragment, citationFormatter)
|
|
24
30
|
this.removeTrackingData(domFragment)
|
|
@@ -27,34 +33,37 @@ class ClipboardDOMSerializer {
|
|
|
27
33
|
return domFragment
|
|
28
34
|
}
|
|
29
35
|
|
|
30
|
-
renderCitations(domFragment) {
|
|
31
|
-
const settings = this.editor.view.state.doc.attrs,
|
|
36
|
+
renderCitations(domFragment: DocumentFragment): any {
|
|
37
|
+
const settings = this.editor.view.state.doc.attrs as Record<string, any>,
|
|
32
38
|
bibliographyHeader =
|
|
33
39
|
settings.bibliography_header[settings.language] ||
|
|
34
|
-
BIBLIOGRAPHY_HEADERS[settings.language]
|
|
40
|
+
(BIBLIOGRAPHY_HEADERS as any)[settings.language]
|
|
35
41
|
const citRenderer = new RenderCitations(
|
|
36
|
-
domFragment,
|
|
42
|
+
domFragment as any,
|
|
37
43
|
settings.citationstyle,
|
|
38
44
|
bibliographyHeader,
|
|
39
|
-
this.editor.mod.db.bibDB,
|
|
40
|
-
this.editor.app.csl,
|
|
45
|
+
(this.editor.mod.db as any).bibDB,
|
|
46
|
+
(this.editor.app as any).csl,
|
|
41
47
|
true // synchronous. Should work as the editor has used the same style previously.
|
|
42
48
|
)
|
|
49
|
+
const fm = citRenderer.fm as any
|
|
43
50
|
if (citRenderer.init()) {
|
|
44
|
-
if (
|
|
51
|
+
if (fm.bibHTML.length) {
|
|
45
52
|
const bibDiv = document.createElement("div")
|
|
46
53
|
bibDiv.classList.add("fiduswriter-clipboard-bibliography")
|
|
47
|
-
bibDiv.innerHTML =
|
|
48
|
-
bibDiv.firstElementChild.innerHTML = gettext(
|
|
54
|
+
bibDiv.innerHTML = fm.bibHTML
|
|
55
|
+
;(bibDiv.firstElementChild as HTMLElement).innerHTML = gettext(
|
|
56
|
+
"Bibliography"
|
|
57
|
+
)
|
|
49
58
|
domFragment.appendChild(bibDiv)
|
|
50
59
|
}
|
|
51
|
-
return
|
|
60
|
+
return fm
|
|
52
61
|
} else {
|
|
53
62
|
return false
|
|
54
63
|
}
|
|
55
64
|
}
|
|
56
65
|
|
|
57
|
-
renderFootnotes(domFragment, citationFormatter) {
|
|
66
|
+
renderFootnotes(domFragment: DocumentFragment, citationFormatter: any): void {
|
|
58
67
|
const footnoteSelector =
|
|
59
68
|
citationFormatter && citationFormatter.citationType === "note"
|
|
60
69
|
? ".footnote-marker, .citation"
|
|
@@ -76,13 +85,13 @@ class ClipboardDOMSerializer {
|
|
|
76
85
|
const newFootnote = document.createElement("h6") // We use H6 as Wordpress Gutenberg only allows IDs on H1-6 elements.
|
|
77
86
|
newFootnote.setAttribute("role", "doc-footnote")
|
|
78
87
|
newFootnote.innerHTML = footnote.matches(".footnote-marker")
|
|
79
|
-
? footnote.dataset.footnote
|
|
88
|
+
? (footnote as HTMLElement).dataset.footnote || ""
|
|
80
89
|
: `<p>${citationFormatter.citationTexts[citationCount++] || " "}</p>`
|
|
81
90
|
if (
|
|
82
91
|
newFootnote.firstElementChild &&
|
|
83
92
|
newFootnote.firstElementChild.matches("p")
|
|
84
93
|
) {
|
|
85
|
-
newFootnote.firstElementChild.insertAdjacentHTML(
|
|
94
|
+
;(newFootnote.firstElementChild as HTMLElement).insertAdjacentHTML(
|
|
86
95
|
"afterbegin",
|
|
87
96
|
`${counter}. `
|
|
88
97
|
)
|
|
@@ -100,13 +109,14 @@ class ClipboardDOMSerializer {
|
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
|
|
103
|
-
addFigureNumbers(domFragment) {
|
|
112
|
+
addFigureNumbers(domFragment: DocumentFragment): void {
|
|
104
113
|
domFragment
|
|
105
114
|
.querySelectorAll(
|
|
106
115
|
"figure[data-category='figure'] figcaption span.label"
|
|
107
116
|
)
|
|
108
117
|
.forEach((el, index) => {
|
|
109
|
-
el.innerHTML +=
|
|
118
|
+
;(el as HTMLElement).innerHTML +=
|
|
119
|
+
" " + (index + 1) + ": "
|
|
110
120
|
})
|
|
111
121
|
|
|
112
122
|
domFragment
|
|
@@ -114,7 +124,8 @@ class ClipboardDOMSerializer {
|
|
|
114
124
|
"figure[data-category='photo'] figcaption span.label"
|
|
115
125
|
)
|
|
116
126
|
.forEach((el, index) => {
|
|
117
|
-
el.innerHTML +=
|
|
127
|
+
;(el as HTMLElement).innerHTML +=
|
|
128
|
+
" " + (index + 1) + ": "
|
|
118
129
|
})
|
|
119
130
|
|
|
120
131
|
domFragment
|
|
@@ -122,21 +133,22 @@ class ClipboardDOMSerializer {
|
|
|
122
133
|
"figure[data-category='table'] figcaption span.label"
|
|
123
134
|
)
|
|
124
135
|
.forEach((el, index) => {
|
|
125
|
-
el.innerHTML +=
|
|
136
|
+
;(el as HTMLElement).innerHTML +=
|
|
137
|
+
" " + (index + 1) + ": "
|
|
126
138
|
})
|
|
127
139
|
}
|
|
128
140
|
|
|
129
|
-
addBaseUrlToImages(domFragment) {
|
|
141
|
+
addBaseUrlToImages(domFragment: DocumentFragment): void {
|
|
130
142
|
domFragment
|
|
131
143
|
.querySelectorAll("img")
|
|
132
144
|
.forEach(el => el.setAttribute("src", el.src))
|
|
133
145
|
}
|
|
134
146
|
|
|
135
|
-
getRandomID() {
|
|
147
|
+
getRandomID(): string {
|
|
136
148
|
return (0 | (Math.random() * 9e6)).toString(36)
|
|
137
149
|
}
|
|
138
150
|
|
|
139
|
-
getFootnoteAnchor(counter, id) {
|
|
151
|
+
getFootnoteAnchor(counter: number, id: string): HTMLElement {
|
|
140
152
|
const footnoteAnchor = document.createElement("a")
|
|
141
153
|
footnoteAnchor.setAttribute("href", `#fn-${id}`)
|
|
142
154
|
footnoteAnchor.classList.add("fn")
|
|
@@ -145,11 +157,11 @@ class ClipboardDOMSerializer {
|
|
|
145
157
|
return footnoteAnchor
|
|
146
158
|
}
|
|
147
159
|
|
|
148
|
-
removeTrackingData(domFragment) {
|
|
160
|
+
removeTrackingData(domFragment: DocumentFragment): void {
|
|
149
161
|
domFragment
|
|
150
162
|
.querySelectorAll(".approved-insertion, .insertion")
|
|
151
163
|
.forEach(el => {
|
|
152
|
-
const parent = el.parentNode
|
|
164
|
+
const parent = el.parentNode as any
|
|
153
165
|
const fragment = document.createDocumentFragment()
|
|
154
166
|
while (el.firstChild) {
|
|
155
167
|
fragment.appendChild(el.firstChild)
|
|
@@ -158,10 +170,10 @@ class ClipboardDOMSerializer {
|
|
|
158
170
|
})
|
|
159
171
|
domFragment
|
|
160
172
|
.querySelectorAll(".deletion")
|
|
161
|
-
.forEach(el => el.parentElement
|
|
173
|
+
.forEach(el => el.parentElement!.removeChild(el))
|
|
162
174
|
}
|
|
163
175
|
|
|
164
|
-
static fromSchema(schema, editor) {
|
|
176
|
+
static fromSchema(schema: Schema, editor: Editor): ClipboardDOMSerializer {
|
|
165
177
|
return new ClipboardDOMSerializer(
|
|
166
178
|
DOMSerializer.nodesFromSchema(schema),
|
|
167
179
|
DOMSerializer.marksFromSchema(schema),
|
|
@@ -170,10 +182,10 @@ class ClipboardDOMSerializer {
|
|
|
170
182
|
}
|
|
171
183
|
}
|
|
172
184
|
|
|
173
|
-
export const docClipboardSerializer = editor =>
|
|
185
|
+
export const docClipboardSerializer = (editor: Editor): ClipboardDOMSerializer =>
|
|
174
186
|
ClipboardDOMSerializer.fromSchema(
|
|
175
|
-
createDocCopySchema(editor.schema),
|
|
187
|
+
createDocCopySchema(editor.schema) as Schema,
|
|
176
188
|
editor
|
|
177
189
|
)
|
|
178
|
-
export const fnClipboardSerializer = editor =>
|
|
179
|
-
ClipboardDOMSerializer.fromSchema(fnCopySchema, editor)
|
|
190
|
+
export const fnClipboardSerializer = (editor: Editor): ClipboardDOMSerializer =>
|
|
191
|
+
ClipboardDOMSerializer.fromSchema(fnCopySchema as Schema, editor)
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import type {Editor} from "../../types.js"
|
|
2
|
+
|
|
1
3
|
import {GeneralPasteHandler} from "./general.js"
|
|
2
4
|
|
|
3
5
|
// Fidus Writer paste handler
|
|
4
6
|
export class FidusWriterPasteHandler extends GeneralPasteHandler {
|
|
5
7
|
// Convert an existing node to a different node, if needed.
|
|
6
|
-
convertNode(node) {
|
|
8
|
+
convertNode(node: HTMLElement): HTMLElement {
|
|
7
9
|
node = super.convertNode(node)
|
|
8
10
|
// Replace nodes with other nodes to not change the number of child nodes
|
|
9
11
|
// <b style="font-weight:normal;">...</b> => <span>...</span>
|
|
@@ -13,12 +15,30 @@ export class FidusWriterPasteHandler extends GeneralPasteHandler {
|
|
|
13
15
|
return node
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
verifyCitationNode(node) {
|
|
18
|
+
verifyCitationNode(node: HTMLElement): HTMLElement {
|
|
17
19
|
try {
|
|
18
|
-
const bibs = JSON.parse(node.dataset.bibs)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
const bibs = JSON.parse(node.dataset.bibs || "{}") as Record<
|
|
21
|
+
string,
|
|
22
|
+
Record<string, unknown>
|
|
23
|
+
>,
|
|
24
|
+
references = JSON.parse(node.dataset.references || "[]") as Array<{
|
|
25
|
+
id: number | string
|
|
26
|
+
}>,
|
|
27
|
+
bibDB = (this.editor as Editor).mod.db?.bibDB as
|
|
28
|
+
| {
|
|
29
|
+
findReference: (
|
|
30
|
+
reference: Record<string, unknown>
|
|
31
|
+
) => string | undefined
|
|
32
|
+
addReference: (
|
|
33
|
+
reference: Record<string, unknown>,
|
|
34
|
+
id: string | number
|
|
35
|
+
) => string | number
|
|
36
|
+
}
|
|
37
|
+
| undefined,
|
|
38
|
+
idTranslations: Record<string, number | string> = {}
|
|
39
|
+
if (!bibDB) {
|
|
40
|
+
return node
|
|
41
|
+
}
|
|
22
42
|
Object.keys(bibs).forEach(bibKey => {
|
|
23
43
|
const reference = bibs[bibKey]
|
|
24
44
|
const oldKey = bibDB.findReference(reference)
|
|
@@ -45,11 +65,11 @@ export class FidusWriterPasteHandler extends GeneralPasteHandler {
|
|
|
45
65
|
}
|
|
46
66
|
}
|
|
47
67
|
|
|
48
|
-
cleanDOM() {
|
|
68
|
+
cleanDOM(): void {
|
|
49
69
|
// Remove the bibliography that was added by the copy serializer
|
|
50
70
|
const clipboardArtifacts = this.dom.querySelectorAll(
|
|
51
71
|
".fiduswriter-clipboard-bibliography, .fiduswriter-clipboard-footnotes"
|
|
52
72
|
)
|
|
53
|
-
clipboardArtifacts.forEach(el => el.parentElement
|
|
73
|
+
clipboardArtifacts.forEach(el => el.parentElement?.removeChild(el))
|
|
54
74
|
}
|
|
55
75
|
}
|
|
@@ -1,15 +1,29 @@
|
|
|
1
|
+
import type {Editor} from "../../types.js"
|
|
2
|
+
|
|
1
3
|
// General Fallback handler for paste
|
|
2
4
|
export class GeneralPasteHandler {
|
|
3
|
-
|
|
5
|
+
editor: Editor
|
|
6
|
+
htmlDoc: HTMLElement
|
|
7
|
+
pmType: string
|
|
8
|
+
footnoteMarkers: HTMLElement[]
|
|
9
|
+
footnotes: HTMLElement[]
|
|
10
|
+
dom: HTMLElement
|
|
11
|
+
inHTML: string
|
|
12
|
+
outHTML: string
|
|
13
|
+
|
|
14
|
+
constructor(editor: Editor, htmlDoc: HTMLElement, pmType: string) {
|
|
4
15
|
this.editor = editor
|
|
5
16
|
this.htmlDoc = htmlDoc
|
|
6
17
|
this.pmType = pmType
|
|
7
18
|
this.footnoteMarkers = []
|
|
8
19
|
this.footnotes = []
|
|
20
|
+
this.dom = document.createElement("body")
|
|
21
|
+
this.inHTML = ""
|
|
22
|
+
this.outHTML = ""
|
|
9
23
|
}
|
|
10
24
|
|
|
11
25
|
// Iterate over each node in the body of the pasted content.
|
|
12
|
-
getOutput() {
|
|
26
|
+
getOutput(): string {
|
|
13
27
|
this.dom = this.htmlDoc.getElementsByTagName("body")[0]
|
|
14
28
|
this.inHTML = this.dom.innerHTML
|
|
15
29
|
this.iterateNode(this.dom)
|
|
@@ -20,17 +34,17 @@ export class GeneralPasteHandler {
|
|
|
20
34
|
}
|
|
21
35
|
|
|
22
36
|
// Remove unused content
|
|
23
|
-
cleanDOM() {}
|
|
37
|
+
cleanDOM(): void {}
|
|
24
38
|
|
|
25
39
|
// Iterate over pasted nodes and their children
|
|
26
|
-
iterateNode(node) {
|
|
27
|
-
if ((node.tagName === "P"
|
|
28
|
-
node.parentNode
|
|
29
|
-
return
|
|
40
|
+
iterateNode(node: ChildNode): boolean {
|
|
41
|
+
if ((node as HTMLElement).tagName === "P" && !node.firstChild) {
|
|
42
|
+
node.parentNode?.removeChild(node)
|
|
43
|
+
return true
|
|
30
44
|
} else if (node.nodeType === 8) {
|
|
31
45
|
// comment node
|
|
32
|
-
node.parentNode
|
|
33
|
-
return
|
|
46
|
+
node.parentNode?.removeChild(node)
|
|
47
|
+
return true
|
|
34
48
|
} else if (node.nodeType === 1) {
|
|
35
49
|
// element node
|
|
36
50
|
let childNode = node.firstChild
|
|
@@ -39,12 +53,13 @@ export class GeneralPasteHandler {
|
|
|
39
53
|
this.iterateNode(childNode)
|
|
40
54
|
childNode = nextChildNode
|
|
41
55
|
}
|
|
42
|
-
node = this.convertNode(node)
|
|
56
|
+
node = this.convertNode(node as HTMLElement)
|
|
43
57
|
}
|
|
58
|
+
return true
|
|
44
59
|
}
|
|
45
60
|
|
|
46
61
|
// Convert an existing node to a different node, if needed.
|
|
47
|
-
convertNode(node) {
|
|
62
|
+
convertNode(node: HTMLElement): HTMLElement {
|
|
48
63
|
if (
|
|
49
64
|
node.tagName === "TABLE" &&
|
|
50
65
|
node.firstElementChild?.tagName !== "CAPTION"
|
|
@@ -58,7 +73,7 @@ export class GeneralPasteHandler {
|
|
|
58
73
|
|
|
59
74
|
// Move footnotes into their markers and turn footnote markers into the
|
|
60
75
|
// required format.
|
|
61
|
-
convertFootnotes() {
|
|
76
|
+
convertFootnotes(): void {
|
|
62
77
|
this.footnoteMarkers.forEach((fnM, index) => {
|
|
63
78
|
const footnote = this.footnotes[index]
|
|
64
79
|
const newFnM = document.createElement("span")
|
|
@@ -67,7 +82,7 @@ export class GeneralPasteHandler {
|
|
|
67
82
|
// Remove linebreaks in string (not <BR>)
|
|
68
83
|
// Turn multiple white spaces into single space
|
|
69
84
|
newFnM.dataset.footnote = footnoteContents
|
|
70
|
-
fnM.parentNode
|
|
85
|
+
fnM.parentNode?.replaceChild(newFnM, fnM)
|
|
71
86
|
})
|
|
72
87
|
// Remove all footnotes from document. Some footnotes may have several
|
|
73
88
|
// markers, so only remove each footnote once.
|
|
@@ -3,23 +3,26 @@ import {GeneralPasteHandler} from "./general.js"
|
|
|
3
3
|
// Google Docs (the writing component) paste handler
|
|
4
4
|
export class GoogleDocsPasteHandler extends GeneralPasteHandler {
|
|
5
5
|
// Convert an existing node to a different node, if needed.
|
|
6
|
-
convertNode(node) {
|
|
6
|
+
convertNode(node: HTMLElement) {
|
|
7
7
|
node = super.convertNode(node)
|
|
8
8
|
// Replace nodes with other nodes to not change the number of child nodes
|
|
9
9
|
// <b style="font-weight:normal;">...</b> => <span>...</span>
|
|
10
|
-
if (
|
|
10
|
+
if (
|
|
11
|
+
node.tagName === "B" &&
|
|
12
|
+
node.style.fontWeight === "normal"
|
|
13
|
+
) {
|
|
11
14
|
node = this.neutralizeInlineNode(node)
|
|
12
15
|
}
|
|
13
16
|
return node
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
// Replace any type of inline node with a span node.
|
|
17
|
-
neutralizeInlineNode(node) {
|
|
20
|
+
neutralizeInlineNode(node: HTMLElement): HTMLElement {
|
|
18
21
|
const newNode = document.createElement("span")
|
|
19
22
|
while (node.firstChild) {
|
|
20
23
|
newNode.appendChild(node.firstChild)
|
|
21
24
|
}
|
|
22
|
-
node.parentNode
|
|
25
|
+
node.parentNode?.replaceChild(newNode, node)
|
|
23
26
|
|
|
24
27
|
return newNode
|
|
25
28
|
}
|
|
@@ -5,25 +5,49 @@ import {LibreOfficeWriterPasteHandler} from "./libreoffice_writer.js"
|
|
|
5
5
|
import {MicrosoftWordPasteHandler} from "./microsoft_word.js"
|
|
6
6
|
|
|
7
7
|
import {resetPasteRange} from "../../state_plugins/clipboard.js"
|
|
8
|
+
import type {Editor} from "../../types.js"
|
|
8
9
|
|
|
9
10
|
// Some pasted HTML will need slight conversions to work correctly.
|
|
10
11
|
// We try to sniff whether paste comes from MsWord, LibreOffice or Google Docs
|
|
11
12
|
// and use specialized handlers for these and a general handler everything else.
|
|
12
13
|
|
|
13
14
|
export class HTMLPaste {
|
|
14
|
-
|
|
15
|
+
editor: Editor
|
|
16
|
+
inHTML: string
|
|
17
|
+
pmType: string
|
|
18
|
+
view: import("prosemirror-view").EditorView
|
|
19
|
+
htmlDoc: HTMLElement | undefined
|
|
20
|
+
handler:
|
|
21
|
+
| typeof FidusWriterPasteHandler
|
|
22
|
+
| typeof GeneralPasteHandler
|
|
23
|
+
| typeof GoogleDocsPasteHandler
|
|
24
|
+
| typeof LibreOfficeWriterPasteHandler
|
|
25
|
+
| typeof MicrosoftWordPasteHandler
|
|
26
|
+
handlerInstance: GeneralPasteHandler
|
|
27
|
+
outHTML: string
|
|
28
|
+
|
|
29
|
+
constructor(
|
|
30
|
+
editor: Editor,
|
|
31
|
+
inHTML: string,
|
|
32
|
+
pmType: string,
|
|
33
|
+
view: import("prosemirror-view").EditorView
|
|
34
|
+
) {
|
|
15
35
|
this.editor = editor
|
|
16
36
|
this.inHTML = inHTML
|
|
17
37
|
this.pmType = pmType
|
|
18
38
|
this.view = view
|
|
39
|
+
this.htmlDoc = undefined
|
|
40
|
+
this.handler = GeneralPasteHandler
|
|
41
|
+
this.handlerInstance = new GeneralPasteHandler(editor, document.createElement("html"), pmType)
|
|
42
|
+
this.outHTML = ""
|
|
19
43
|
}
|
|
20
44
|
|
|
21
|
-
getOutput() {
|
|
45
|
+
getOutput(): string {
|
|
22
46
|
this.parseHTML()
|
|
23
47
|
this.selectHandler()
|
|
24
48
|
this.handlerInstance = new this.handler(
|
|
25
49
|
this.editor,
|
|
26
|
-
this.htmlDoc,
|
|
50
|
+
this.htmlDoc as HTMLElement,
|
|
27
51
|
this.pmType
|
|
28
52
|
)
|
|
29
53
|
this.outHTML = this.handlerInstance.getOutput()
|
|
@@ -33,7 +57,7 @@ export class HTMLPaste {
|
|
|
33
57
|
return this.outHTML
|
|
34
58
|
}
|
|
35
59
|
|
|
36
|
-
parseHTML() {
|
|
60
|
+
parseHTML(): void {
|
|
37
61
|
const parser = new window.DOMParser()
|
|
38
62
|
this.htmlDoc = parser
|
|
39
63
|
.parseFromString(this.inHTML, "text/html")
|
|
@@ -42,13 +66,16 @@ export class HTMLPaste {
|
|
|
42
66
|
|
|
43
67
|
// Find out what the source of the paste is and choose a corresponding
|
|
44
68
|
// handler.
|
|
45
|
-
selectHandler() {
|
|
69
|
+
selectHandler(): void {
|
|
70
|
+
if (!this.htmlDoc) {
|
|
71
|
+
return
|
|
72
|
+
}
|
|
46
73
|
// For LibreOffice
|
|
47
74
|
const head = this.htmlDoc.getElementsByTagName("head")[0]
|
|
48
|
-
const generatorMetaTag = head.querySelector("meta[name=generator]")
|
|
75
|
+
const generatorMetaTag = head.querySelector("meta[name=generator]") as HTMLMetaElement | null
|
|
49
76
|
// For Google Docs
|
|
50
77
|
const body = this.htmlDoc.getElementsByTagName("body")[0]
|
|
51
|
-
const firstB = body.querySelector("b")
|
|
78
|
+
const firstB = body.querySelector("b") as HTMLElement | null
|
|
52
79
|
// For Fidus Writer
|
|
53
80
|
const pmSlice = this.htmlDoc.querySelector("[data-pm-slice]")
|
|
54
81
|
if (
|
|
@@ -68,7 +95,7 @@ export class HTMLPaste {
|
|
|
68
95
|
}
|
|
69
96
|
}
|
|
70
97
|
|
|
71
|
-
resetPasteRange() {
|
|
98
|
+
resetPasteRange(): void {
|
|
72
99
|
const tr = this.view.state.tr
|
|
73
100
|
resetPasteRange(tr)
|
|
74
101
|
this.view.dispatch(tr)
|
|
@@ -3,7 +3,7 @@ import {GeneralPasteHandler} from "./general.js"
|
|
|
3
3
|
// LibreOffice Writer paste handler
|
|
4
4
|
export class LibreOfficeWriterPasteHandler extends GeneralPasteHandler {
|
|
5
5
|
// Convert an existing node to a different node, if needed.
|
|
6
|
-
convertNode(node) {
|
|
6
|
+
convertNode(node: HTMLElement) {
|
|
7
7
|
node = super.convertNode(node)
|
|
8
8
|
// Footnote markers (only in main pm instance):
|
|
9
9
|
if (
|
|
@@ -12,15 +12,15 @@ export class LibreOfficeWriterPasteHandler extends GeneralPasteHandler {
|
|
|
12
12
|
this.pmType === "main"
|
|
13
13
|
) {
|
|
14
14
|
// Remove "sym" at the end of the selector
|
|
15
|
-
const href = node.getAttribute("href")
|
|
15
|
+
const href = node.getAttribute("href") || ""
|
|
16
16
|
const fnSelector =
|
|
17
17
|
href.length > 3 ? href.substring(0, href.length - 3) : href
|
|
18
|
-
const footnote = this.dom.querySelector(fnSelector)
|
|
18
|
+
const footnote = this.dom.querySelector(fnSelector) as HTMLElement | null
|
|
19
19
|
if (footnote) {
|
|
20
20
|
const footnoteCounter =
|
|
21
21
|
footnote.querySelector("a.sdfootnotesym")
|
|
22
22
|
if (footnoteCounter) {
|
|
23
|
-
footnoteCounter.parentNode
|
|
23
|
+
footnoteCounter.parentNode?.removeChild(footnoteCounter)
|
|
24
24
|
}
|
|
25
25
|
this.footnoteMarkers.push(node)
|
|
26
26
|
this.footnotes.push(footnote)
|
|
@@ -3,32 +3,32 @@ import {GeneralPasteHandler} from "./general.js"
|
|
|
3
3
|
// Microsoft Word 2016 paste handler
|
|
4
4
|
export class MicrosoftWordPasteHandler extends GeneralPasteHandler {
|
|
5
5
|
// Remove unused content
|
|
6
|
-
cleanDOM() {
|
|
6
|
+
cleanDOM(): void {
|
|
7
7
|
// Remove footnote list container with separator line
|
|
8
8
|
const removableElements = this.dom.querySelectorAll(
|
|
9
9
|
'div[style*="mso-element:footnote-list"]'
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
-
removableElements.forEach(el => el.parentNode
|
|
12
|
+
removableElements.forEach(el => el.parentNode?.removeChild(el))
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
// Iterate over pasted nodes and their children
|
|
16
|
-
iterateNode(node) {
|
|
17
|
-
node = super.convertNode(node)
|
|
18
|
-
if ((node.tagName === "P"
|
|
19
|
-
node.parentNode
|
|
16
|
+
iterateNode(node: ChildNode): boolean {
|
|
17
|
+
node = super.convertNode(node as HTMLElement)
|
|
18
|
+
if ((node as HTMLElement).tagName === "P" && !node.firstChild) {
|
|
19
|
+
node.parentNode?.removeChild(node)
|
|
20
20
|
return true
|
|
21
21
|
} else if (node.nodeType === 8) {
|
|
22
22
|
if (node.textContent === "EndFragment") {
|
|
23
23
|
// End of paste content. Remove all remaining sibling nodes.
|
|
24
24
|
while (node) {
|
|
25
25
|
const nextSibling = node.nextSibling
|
|
26
|
-
node.parentNode
|
|
27
|
-
node = nextSibling
|
|
26
|
+
node.parentNode?.removeChild(node)
|
|
27
|
+
node = nextSibling as ChildNode
|
|
28
28
|
}
|
|
29
29
|
return false
|
|
30
30
|
} else {
|
|
31
|
-
node.parentNode
|
|
31
|
+
node.parentNode?.removeChild(node)
|
|
32
32
|
return true
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -39,46 +39,47 @@ export class MicrosoftWordPasteHandler extends GeneralPasteHandler {
|
|
|
39
39
|
if (this.iterateNode(childNode)) {
|
|
40
40
|
childNode = nextChildNode
|
|
41
41
|
} else {
|
|
42
|
-
childNode =
|
|
42
|
+
childNode = null
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
node = this.convertNode(node)
|
|
45
|
+
node = this.convertNode(node as HTMLElement)
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
return true
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
// Convert an existing node to a different node, if needed.
|
|
52
|
-
convertNode(node) {
|
|
52
|
+
convertNode(node: HTMLElement): HTMLElement {
|
|
53
53
|
// Footnote markers (only in main pm instance):
|
|
54
54
|
if (
|
|
55
55
|
node.tagName === "A" &&
|
|
56
|
-
node.firstChild?.
|
|
57
|
-
node.firstChild
|
|
56
|
+
node.firstChild?.nodeType === 1 &&
|
|
57
|
+
(node.firstChild as HTMLElement).tagName === "SPAN" &&
|
|
58
|
+
(node.firstChild as HTMLElement).classList.contains(
|
|
59
|
+
"MsoFootnoteReference"
|
|
60
|
+
) &&
|
|
58
61
|
this.pmType === "main"
|
|
59
62
|
) {
|
|
60
63
|
// Remove "#_ftn" from the selector (#_ftn1)
|
|
61
|
-
const fnSelector = node.getAttribute("href")
|
|
62
|
-
const fnNumber =
|
|
63
|
-
.getAttribute("href")
|
|
64
|
-
.substring(5, fnSelector.length)
|
|
64
|
+
const fnSelector = node.getAttribute("href") || ""
|
|
65
|
+
const fnNumber = fnSelector.substring(5, fnSelector.length)
|
|
65
66
|
const footnote = this.dom.querySelector("#ftn" + fnNumber)
|
|
66
67
|
if (footnote) {
|
|
67
68
|
const footnoteCounter = footnote.querySelector(
|
|
68
69
|
'a[href="#_ftnref' + fnNumber + '"]'
|
|
69
70
|
)
|
|
70
71
|
if (footnoteCounter) {
|
|
72
|
+
footnoteCounter.parentNode?.removeChild(footnoteCounter)
|
|
71
73
|
const followingNode = footnoteCounter.nextSibling
|
|
72
|
-
footnoteCounter.parentNode.removeChild(footnoteCounter)
|
|
73
74
|
if (followingNode?.nodeType === 3) {
|
|
74
75
|
// If there is a text string right after the footnote
|
|
75
76
|
// marker, remove any leading spaces.
|
|
76
77
|
followingNode.nodeValue =
|
|
77
|
-
followingNode.nodeValue
|
|
78
|
+
followingNode.nodeValue?.replace(/^\s+/, "") || ""
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
this.footnoteMarkers.push(node)
|
|
81
|
-
this.footnotes.push(footnote)
|
|
82
|
+
this.footnotes.push(footnote as HTMLElement)
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
|
|
@@ -1,23 +1,27 @@
|
|
|
1
|
-
import {TextSelection} from "prosemirror-state"
|
|
2
|
-
import {__parseFromClipboard} from "prosemirror-view"
|
|
3
|
-
|
|
4
1
|
import {getPasteRange, resetPasteRange} from "../../state_plugins/clipboard.js"
|
|
2
|
+
import type {Editor} from "../../types.js"
|
|
3
|
+
import type {EditorView} from "prosemirror-view"
|
|
5
4
|
|
|
6
5
|
export class TextPaste {
|
|
7
|
-
|
|
6
|
+
editor: Editor
|
|
7
|
+
text: string
|
|
8
|
+
view: EditorView
|
|
9
|
+
foundBibEntries: boolean
|
|
10
|
+
|
|
11
|
+
constructor(editor: Editor, text: string, view: EditorView) {
|
|
8
12
|
this.editor = editor
|
|
9
13
|
this.text = text
|
|
10
14
|
this.view = view
|
|
11
15
|
this.foundBibEntries = false
|
|
12
16
|
}
|
|
13
17
|
|
|
14
|
-
init() {
|
|
18
|
+
init(): void {
|
|
15
19
|
import("@fiduswriter/bibliography-manager/import").then(
|
|
16
20
|
({BibliographyImporter}) => {
|
|
17
21
|
const importer = new BibliographyImporter(
|
|
18
22
|
this.text,
|
|
19
|
-
this.editor.mod.db
|
|
20
|
-
newIds => {
|
|
23
|
+
this.editor.mod.db?.bibDB,
|
|
24
|
+
(newIds: string[]) => {
|
|
21
25
|
this.foundBibEntries = true
|
|
22
26
|
const format = "autocite",
|
|
23
27
|
references = newIds.map(id => ({id}))
|