@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
|
@@ -10,8 +10,39 @@
|
|
|
10
10
|
via a dedicated endpoint to an EncryptedDocumentImage model.
|
|
11
11
|
*/
|
|
12
12
|
import {addAlert, get, post, postJson} from "fwtoolkit"
|
|
13
|
+
|
|
14
|
+
import type {Editor} from "../types.js"
|
|
15
|
+
|
|
16
|
+
interface ImageEntry {
|
|
17
|
+
id?: number
|
|
18
|
+
title: string
|
|
19
|
+
copyright: string
|
|
20
|
+
image: string
|
|
21
|
+
file_type?: string
|
|
22
|
+
original_file_type?: string
|
|
23
|
+
checksum?: number
|
|
24
|
+
cats?: any[]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface ImageInput {
|
|
28
|
+
title: string
|
|
29
|
+
copyright: string
|
|
30
|
+
image?: Blob
|
|
31
|
+
original_file_type?: string
|
|
32
|
+
checksum?: number
|
|
33
|
+
}
|
|
34
|
+
|
|
13
35
|
export class ModImageDB {
|
|
14
|
-
|
|
36
|
+
mod: {
|
|
37
|
+
editor: Editor
|
|
38
|
+
[key: string]: any
|
|
39
|
+
}
|
|
40
|
+
db: Record<number, ImageEntry> | false
|
|
41
|
+
unsent: {type: string; id?: number; image?: ImageEntry}[]
|
|
42
|
+
// cats always remain empty, as we don't use categories in doc images
|
|
43
|
+
cats: any[]
|
|
44
|
+
|
|
45
|
+
constructor(mod: {editor: Editor; [key: string]: any}) {
|
|
15
46
|
mod.imageDB = this
|
|
16
47
|
this.mod = mod
|
|
17
48
|
this.db = false
|
|
@@ -20,23 +51,23 @@ export class ModImageDB {
|
|
|
20
51
|
this.cats = []
|
|
21
52
|
}
|
|
22
53
|
|
|
23
|
-
setDB(db) {
|
|
54
|
+
setDB(db: Record<number, ImageEntry>): void {
|
|
24
55
|
this.db = db
|
|
25
56
|
this.unsent = []
|
|
26
57
|
}
|
|
27
58
|
|
|
28
|
-
mustSend() {
|
|
59
|
+
mustSend(): void {
|
|
29
60
|
// Set a timeout so that the update can be combines with other updates
|
|
30
61
|
// if they happen more or less simultaneously.
|
|
31
62
|
window.setTimeout(
|
|
32
|
-
() => this.mod.editor.mod.collab.doc.sendToCollaborators(),
|
|
63
|
+
() => (this.mod as any).editor.mod.collab.doc.sendToCollaborators(),
|
|
33
64
|
100
|
|
34
65
|
)
|
|
35
66
|
}
|
|
36
67
|
|
|
37
68
|
// This function only makes real sense in the user's imageDB. It is kept here
|
|
38
69
|
// for compatibility reasons.
|
|
39
|
-
getDB() {
|
|
70
|
+
getDB(): Promise<any[]> {
|
|
40
71
|
return new Promise(resolve => {
|
|
41
72
|
window.setTimeout(() => resolve([]), 100)
|
|
42
73
|
})
|
|
@@ -44,15 +75,15 @@ export class ModImageDB {
|
|
|
44
75
|
|
|
45
76
|
// Save an image directly for this document (E2EE only).
|
|
46
77
|
// The image file is expected to be already encrypted client-side.
|
|
47
|
-
saveImage(imageData) {
|
|
78
|
+
saveImage(imageData: ImageInput): Promise<number> {
|
|
48
79
|
const isE2EE = this.mod.editor.e2ee?.encrypted === true
|
|
49
80
|
if (!isE2EE) {
|
|
50
81
|
// Non-E2EE documents must use the user's imageDB
|
|
51
|
-
return this.mod.editor.app.imageDB.saveImage(imageData)
|
|
82
|
+
return (this.mod.editor.app as any).imageDB.saveImage(imageData)
|
|
52
83
|
}
|
|
53
84
|
|
|
54
85
|
// E2EE path: upload encrypted image directly to the document
|
|
55
|
-
const jsonData = {
|
|
86
|
+
const jsonData: Record<string, any> = {
|
|
56
87
|
doc_id: this.mod.editor.docInfo.id,
|
|
57
88
|
title: imageData.title,
|
|
58
89
|
copyright: imageData.copyright,
|
|
@@ -62,7 +93,7 @@ export class ModImageDB {
|
|
|
62
93
|
jsonData.original_file_type = imageData.original_file_type
|
|
63
94
|
}
|
|
64
95
|
|
|
65
|
-
const files = {}
|
|
96
|
+
const files: Record<string, {file: Blob; filename: string}> = {}
|
|
66
97
|
if (imageData.image) {
|
|
67
98
|
files.image = {
|
|
68
99
|
file: imageData.image,
|
|
@@ -73,8 +104,8 @@ export class ModImageDB {
|
|
|
73
104
|
}
|
|
74
105
|
|
|
75
106
|
return postJson("/api/document/e2ee_image/", jsonData, files)
|
|
76
|
-
.then(({json}) => {
|
|
77
|
-
const dbEntry = {
|
|
107
|
+
.then(({json}: {json: any}) => {
|
|
108
|
+
const dbEntry: ImageEntry = {
|
|
78
109
|
id: json.id,
|
|
79
110
|
title: imageData.title,
|
|
80
111
|
copyright: imageData.copyright,
|
|
@@ -87,7 +118,7 @@ export class ModImageDB {
|
|
|
87
118
|
checksum: imageData.checksum || 0,
|
|
88
119
|
cats: []
|
|
89
120
|
}
|
|
90
|
-
this.db[json.id] = dbEntry
|
|
121
|
+
;(this.db as Record<number, ImageEntry>)[json.id] = dbEntry
|
|
91
122
|
this.setImage(json.id, dbEntry)
|
|
92
123
|
return json.id
|
|
93
124
|
})
|
|
@@ -98,7 +129,7 @@ export class ModImageDB {
|
|
|
98
129
|
}
|
|
99
130
|
|
|
100
131
|
// Add or update an in the image database both remotely and locally.
|
|
101
|
-
setImage(id, imageData) {
|
|
132
|
+
setImage(id: number, imageData: ImageEntry): void {
|
|
102
133
|
this.setLocalImage(id, imageData)
|
|
103
134
|
this.unsent.push({
|
|
104
135
|
type: "update",
|
|
@@ -108,13 +139,13 @@ export class ModImageDB {
|
|
|
108
139
|
}
|
|
109
140
|
|
|
110
141
|
// Add or update an image only locally.
|
|
111
|
-
setLocalImage(id, imageData) {
|
|
112
|
-
this.db[id] = imageData
|
|
142
|
+
setLocalImage(id: number, imageData: ImageEntry): void {
|
|
143
|
+
;(this.db as Record<number, ImageEntry>)[id] = imageData
|
|
113
144
|
}
|
|
114
145
|
|
|
115
|
-
deleteImage(id) {
|
|
146
|
+
deleteImage(id: number): void {
|
|
116
147
|
this.deleteLocalImage(id)
|
|
117
|
-
const wasDeleted = !this.db[id]
|
|
148
|
+
const wasDeleted = !(this.db as Record<number, ImageEntry>)[id]
|
|
118
149
|
if (wasDeleted && this.mod.editor.e2ee?.encrypted) {
|
|
119
150
|
// For E2EE documents, also delete the encrypted image record
|
|
120
151
|
// from the server. The diff-based delete is only for client
|
|
@@ -128,7 +159,7 @@ export class ModImageDB {
|
|
|
128
159
|
this.mustSend()
|
|
129
160
|
}
|
|
130
161
|
|
|
131
|
-
deleteE2EEImageFromServer(id) {
|
|
162
|
+
deleteE2EEImageFromServer(id: number): void {
|
|
132
163
|
post("/api/document/delete_e2ee_image/", {
|
|
133
164
|
doc_id: this.mod.editor.docInfo.id,
|
|
134
165
|
image_id: id
|
|
@@ -137,15 +168,15 @@ export class ModImageDB {
|
|
|
137
168
|
})
|
|
138
169
|
}
|
|
139
170
|
|
|
140
|
-
deleteLocalImage(id) {
|
|
141
|
-
const usedImages = []
|
|
171
|
+
deleteLocalImage(id: number): void {
|
|
172
|
+
const usedImages: number[] = []
|
|
142
173
|
this.mod.editor.view.state.doc.descendants(node => {
|
|
143
174
|
if (node.type.name === "figure" && node.attrs.image) {
|
|
144
175
|
usedImages.push(node.attrs.image)
|
|
145
176
|
}
|
|
146
177
|
})
|
|
147
|
-
if (!usedImages.includes(Number.parseInt(id))) {
|
|
148
|
-
delete this.db[id]
|
|
178
|
+
if (!usedImages.includes(Number.parseInt(String(id)))) {
|
|
179
|
+
delete (this.db as Record<number, ImageEntry>)[id]
|
|
149
180
|
return
|
|
150
181
|
}
|
|
151
182
|
if (this.mod.editor.e2ee?.encrypted === true) {
|
|
@@ -155,27 +186,28 @@ export class ModImageDB {
|
|
|
155
186
|
// document's unique key and are not reusable across documents.
|
|
156
187
|
return
|
|
157
188
|
}
|
|
158
|
-
|
|
189
|
+
const appImageDB = (this.mod.editor.app as any).imageDB
|
|
190
|
+
if (Object.keys(appImageDB.db).includes(String(id))) {
|
|
159
191
|
// Just directly reset the image as we already have the image present in user Image DB
|
|
160
|
-
this.setImage(id,
|
|
192
|
+
this.setImage(id, appImageDB.db[id])
|
|
161
193
|
} else {
|
|
162
194
|
// If image is not present in both the userImage DB and docDB we can safely assume that we have to upload again.
|
|
163
195
|
this.reUploadImage(
|
|
164
196
|
id,
|
|
165
|
-
this.db[id].image,
|
|
166
|
-
this.db[id].title,
|
|
167
|
-
this.db[id].copyright
|
|
197
|
+
(this.db as Record<number, ImageEntry>)[id].image,
|
|
198
|
+
(this.db as Record<number, ImageEntry>)[id].title,
|
|
199
|
+
(this.db as Record<number, ImageEntry>)[id].copyright
|
|
168
200
|
).then(
|
|
169
|
-
(
|
|
170
|
-
|
|
171
|
-
delete this.db[id]
|
|
201
|
+
() => delete (this.db as Record<number, ImageEntry>)[id],
|
|
202
|
+
() => {
|
|
203
|
+
delete (this.db as Record<number, ImageEntry>)[id]
|
|
172
204
|
const transaction = this.mod.editor.view.state.tr
|
|
173
205
|
this.mod.editor.view.state.doc.descendants((node, pos) => {
|
|
174
206
|
if (
|
|
175
207
|
node.type.name === "figure" &&
|
|
176
208
|
node.attrs.image == id
|
|
177
209
|
) {
|
|
178
|
-
const attrs = Object.assign({}, node.attrs)
|
|
210
|
+
const attrs = Object.assign({}, node.attrs) as Record<string, any>
|
|
179
211
|
attrs["image"] = false
|
|
180
212
|
const nodeType =
|
|
181
213
|
this.mod.editor.currentView.state.schema.nodes[
|
|
@@ -196,7 +228,12 @@ export class ModImageDB {
|
|
|
196
228
|
}
|
|
197
229
|
}
|
|
198
230
|
|
|
199
|
-
reUploadImage(
|
|
231
|
+
reUploadImage(
|
|
232
|
+
id: number,
|
|
233
|
+
imageUrl: string,
|
|
234
|
+
title: string,
|
|
235
|
+
copyright: string
|
|
236
|
+
): Promise<{id: number; newId: number}> {
|
|
200
237
|
const isE2EE = this.mod.editor.e2ee?.encrypted === true
|
|
201
238
|
if (isE2EE) {
|
|
202
239
|
// E2EE images cannot be re-uploaded from a URL because the server
|
|
@@ -205,76 +242,82 @@ export class ModImageDB {
|
|
|
205
242
|
return Promise.reject(id)
|
|
206
243
|
}
|
|
207
244
|
|
|
208
|
-
const newPromise = new Promise
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
JSON.
|
|
225
|
-
|
|
245
|
+
const newPromise = new Promise<{id: number; newId: number}>(
|
|
246
|
+
(resolve, reject) => {
|
|
247
|
+
// Depends on the fact that service worker is working and cached the image basically.
|
|
248
|
+
get(imageUrl)
|
|
249
|
+
.then(response => response.blob())
|
|
250
|
+
.then(blob => {
|
|
251
|
+
const filename = imageUrl.split("/").pop() || "image"
|
|
252
|
+
const file = new File([blob], filename, {type: blob.type})
|
|
253
|
+
const x = {
|
|
254
|
+
image: file,
|
|
255
|
+
title: title,
|
|
256
|
+
cats: [],
|
|
257
|
+
copyright: copyright
|
|
258
|
+
}
|
|
259
|
+
;(this.mod.editor.app as any).imageDB.saveImage(x).then(
|
|
260
|
+
(newId: number) => {
|
|
261
|
+
const imageData = JSON.parse(
|
|
262
|
+
JSON.stringify(
|
|
263
|
+
(this.mod.editor.app as any).imageDB.db[
|
|
264
|
+
newId
|
|
265
|
+
]
|
|
266
|
+
)
|
|
226
267
|
)
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
268
|
+
this.setImage(newId, imageData)
|
|
269
|
+
this.mod.editor.view.state.doc.descendants(
|
|
270
|
+
(node, pos) => {
|
|
271
|
+
if (
|
|
272
|
+
node.type.name === "image" &&
|
|
273
|
+
node.attrs.image == id
|
|
274
|
+
) {
|
|
275
|
+
const attrs = Object.assign(
|
|
276
|
+
{},
|
|
277
|
+
node.attrs
|
|
278
|
+
) as Record<string, any>
|
|
279
|
+
attrs["image"] = newId
|
|
280
|
+
const nodeType =
|
|
281
|
+
this.mod.editor.currentView.state
|
|
282
|
+
.schema.nodes["image"]
|
|
283
|
+
const transaction =
|
|
284
|
+
this.mod.editor.view.state.tr.setNodeMarkup(
|
|
285
|
+
pos,
|
|
286
|
+
nodeType,
|
|
287
|
+
attrs
|
|
288
|
+
)
|
|
289
|
+
this.mod.editor.view.dispatch(
|
|
290
|
+
transaction
|
|
248
291
|
)
|
|
249
|
-
|
|
250
|
-
transaction
|
|
251
|
-
)
|
|
292
|
+
}
|
|
252
293
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
)
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
294
|
+
)
|
|
295
|
+
resolve({id: id, newId: newId})
|
|
296
|
+
},
|
|
297
|
+
(_error: any) => reject(id)
|
|
298
|
+
)
|
|
299
|
+
})
|
|
300
|
+
.catch((_error: any) => {
|
|
301
|
+
reject(id)
|
|
302
|
+
})
|
|
303
|
+
}
|
|
304
|
+
)
|
|
264
305
|
return newPromise
|
|
265
306
|
}
|
|
266
307
|
|
|
267
|
-
hasUnsentEvents() {
|
|
308
|
+
hasUnsentEvents(): number {
|
|
268
309
|
return this.unsent.length
|
|
269
310
|
}
|
|
270
311
|
|
|
271
|
-
unsentEvents() {
|
|
312
|
+
unsentEvents(): {type: string; id?: number; image?: ImageEntry}[] {
|
|
272
313
|
return this.unsent.map(event => {
|
|
273
314
|
if (event.type === "delete") {
|
|
274
315
|
return event
|
|
275
316
|
} else if (event.type === "update") {
|
|
276
317
|
// Check image entry still exists. Otherwise ignore.
|
|
277
|
-
const image = this.db[
|
|
318
|
+
const image = (this.db as Record<number, ImageEntry>)[
|
|
319
|
+
event.id as number
|
|
320
|
+
]
|
|
278
321
|
if (image) {
|
|
279
322
|
return {
|
|
280
323
|
type: "update",
|
|
@@ -287,30 +330,37 @@ export class ModImageDB {
|
|
|
287
330
|
}
|
|
288
331
|
}
|
|
289
332
|
}
|
|
333
|
+
return {type: "ignore"}
|
|
290
334
|
})
|
|
291
335
|
}
|
|
292
336
|
|
|
293
|
-
eventsSent(n) {
|
|
337
|
+
eventsSent(n: {length: number}): void {
|
|
294
338
|
this.unsent = this.unsent.slice(n.length)
|
|
295
339
|
}
|
|
296
340
|
|
|
297
|
-
receive(events) {
|
|
341
|
+
receive(events: {type: string; id?: number; image?: ImageEntry}[]): void {
|
|
298
342
|
events.forEach(event => {
|
|
299
343
|
if (event.type == "delete") {
|
|
300
|
-
this.deleteLocalImage(event.id)
|
|
344
|
+
this.deleteLocalImage(event.id as number)
|
|
301
345
|
} else if (event.type == "update") {
|
|
302
|
-
this.setLocalImage(
|
|
346
|
+
this.setLocalImage(
|
|
347
|
+
event.id as number,
|
|
348
|
+
event.image as ImageEntry
|
|
349
|
+
)
|
|
303
350
|
}
|
|
304
351
|
})
|
|
305
352
|
}
|
|
306
353
|
|
|
307
|
-
findImage(imageData) {
|
|
308
|
-
|
|
309
|
-
id =>
|
|
354
|
+
findImage(imageData: ImageInput): number | undefined {
|
|
355
|
+
const id = Object.keys(this.db as Record<number, ImageEntry>).find(
|
|
356
|
+
id =>
|
|
357
|
+
(this.db as Record<number, ImageEntry>)[Number.parseInt(id)]
|
|
358
|
+
.checksum === imageData.checksum
|
|
310
359
|
)
|
|
360
|
+
return id ? Number.parseInt(id) : undefined
|
|
311
361
|
}
|
|
312
362
|
|
|
313
|
-
hasImage(imageData) {
|
|
363
|
+
hasImage(imageData: ImageInput): boolean {
|
|
314
364
|
if (this.findImage(imageData) !== undefined) {
|
|
315
365
|
return true
|
|
316
366
|
} else {
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type {Node} from "prosemirror-model"
|
|
2
|
+
|
|
3
|
+
import type {Editor} from "../types.js"
|
|
4
|
+
|
|
5
|
+
import {ModBibliographyDB} from "./bibliography.js"
|
|
6
|
+
import {ModImageDB} from "./images.js"
|
|
7
|
+
|
|
8
|
+
interface ModDBImageDB {
|
|
9
|
+
db: Record<string, Record<string, unknown>>
|
|
10
|
+
unsent: unknown[]
|
|
11
|
+
unsentEvents(): unknown[]
|
|
12
|
+
deleteImage(id: string | number): void
|
|
13
|
+
setImage(id: string | number, entry: Record<string, unknown>): void
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
interface ModDBBibDB {
|
|
17
|
+
db: Record<string, Record<string, unknown>>
|
|
18
|
+
unsent: unknown[]
|
|
19
|
+
setDB(value: Record<string, Record<string, unknown>>): void
|
|
20
|
+
deleteReference(id: string | number): void
|
|
21
|
+
findReference(reference: Record<string, unknown>): string | undefined
|
|
22
|
+
addReference(
|
|
23
|
+
reference: Record<string, unknown>,
|
|
24
|
+
id: string | number
|
|
25
|
+
): string | number
|
|
26
|
+
hasUnsentEvents(): number
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export class ModDB {
|
|
30
|
+
editor: Editor
|
|
31
|
+
bibDB!: ModDBBibDB
|
|
32
|
+
imageDB!: ModDBImageDB
|
|
33
|
+
|
|
34
|
+
constructor(editor: Editor) {
|
|
35
|
+
editor.mod.db = this as unknown as Editor["mod"]["db"]
|
|
36
|
+
this.editor = editor
|
|
37
|
+
new ModBibliographyDB(this)
|
|
38
|
+
new ModImageDB(this)
|
|
39
|
+
// assign bibDB to be used in document schema.
|
|
40
|
+
this.editor.schema.cached.bibDB = this.bibDB
|
|
41
|
+
// assign bibDB to be used in footnote schema.
|
|
42
|
+
;(
|
|
43
|
+
this.editor.mod.footnotes as {
|
|
44
|
+
fnEditor: {schema: {cached: Record<string, unknown>}}
|
|
45
|
+
}
|
|
46
|
+
).fnEditor.schema.cached.bibDB = this.bibDB
|
|
47
|
+
// assign image DB to be used in document schema.
|
|
48
|
+
this.editor.schema.cached.imageDB = this.imageDB
|
|
49
|
+
// assign image DB to be used in footnote schema.
|
|
50
|
+
;(
|
|
51
|
+
this.editor.mod.footnotes as {
|
|
52
|
+
fnEditor: {schema: {cached: Record<string, unknown>}}
|
|
53
|
+
}
|
|
54
|
+
).fnEditor.schema.cached.imageDB = this.imageDB
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// remove images/citation items that are no longer part of the document.
|
|
58
|
+
clean(): void {
|
|
59
|
+
const usedImages: (number | string)[] = [],
|
|
60
|
+
usedBibs: (number | string)[] = []
|
|
61
|
+
this.editor.view.state.doc.descendants((node: Node) => {
|
|
62
|
+
if (node.type.name === "citation") {
|
|
63
|
+
node.attrs.references.forEach(
|
|
64
|
+
(ref: {id: number | string}) =>
|
|
65
|
+
usedBibs.push(Number.parseInt(String(ref.id)))
|
|
66
|
+
)
|
|
67
|
+
} else if (node.type.name === "image" && node.attrs.image) {
|
|
68
|
+
usedImages.push(node.attrs.image)
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
;(
|
|
73
|
+
this.editor.mod.footnotes as {
|
|
74
|
+
fnEditor: {view: {state: {doc: Node}}}
|
|
75
|
+
}
|
|
76
|
+
).fnEditor.view.state.doc.descendants((node: Node) => {
|
|
77
|
+
if (node.type.name === "citation") {
|
|
78
|
+
node.attrs.references.forEach(
|
|
79
|
+
(ref: {id: number | string}) =>
|
|
80
|
+
usedBibs.push(Number.parseInt(String(ref.id)))
|
|
81
|
+
)
|
|
82
|
+
} else if (node.type.name === "image" && node.attrs.image) {
|
|
83
|
+
usedImages.push(node.attrs.image)
|
|
84
|
+
}
|
|
85
|
+
})
|
|
86
|
+
|
|
87
|
+
const unusedImages = Object.keys(this.imageDB.db).filter(
|
|
88
|
+
value => !usedImages.includes(Number.parseInt(value))
|
|
89
|
+
),
|
|
90
|
+
unusedBibs = Object.keys(this.bibDB.db).filter(
|
|
91
|
+
value => !usedBibs.includes(Number.parseInt(value))
|
|
92
|
+
)
|
|
93
|
+
unusedImages.forEach(id => this.imageDB.deleteImage(id))
|
|
94
|
+
unusedBibs.forEach(id => this.bibDB.deleteReference(id))
|
|
95
|
+
|
|
96
|
+
const imageDbKeys = Object.keys(this.imageDB.db)
|
|
97
|
+
const missingImages = usedImages.filter(
|
|
98
|
+
id => !imageDbKeys.includes(String(id))
|
|
99
|
+
)
|
|
100
|
+
if (!this.editor.e2ee?.encrypted) {
|
|
101
|
+
missingImages.forEach(id => {
|
|
102
|
+
const userImage = (
|
|
103
|
+
this.editor.app as {
|
|
104
|
+
imageDB?: {db: Record<string, Record<string, unknown>>}
|
|
105
|
+
}
|
|
106
|
+
).imageDB?.db[id]
|
|
107
|
+
if (!userImage) {
|
|
108
|
+
// Image is not present. Give up.
|
|
109
|
+
return
|
|
110
|
+
}
|
|
111
|
+
const imageEntry = JSON.parse(JSON.stringify(userImage))
|
|
112
|
+
this.imageDB.setImage(id, imageEntry)
|
|
113
|
+
})
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|