@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,8 @@ import {
|
|
|
10
10
|
postJson,
|
|
11
11
|
setCheckableLabel
|
|
12
12
|
} from "fwtoolkit"
|
|
13
|
+
import type {ContentMenuInit} from "fwtoolkit/content_menu"
|
|
13
14
|
|
|
14
|
-
ensureCSS(staticUrl("css/checkable_list.css"))
|
|
15
15
|
import {AddContactDialog} from "../../contacts/add_dialog.js"
|
|
16
16
|
import {
|
|
17
17
|
collaboratorsTemplate,
|
|
@@ -23,13 +23,71 @@ import {
|
|
|
23
23
|
shareTokenRowTemplate
|
|
24
24
|
} from "./templates.js"
|
|
25
25
|
|
|
26
|
+
ensureCSS(staticUrl("css/checkable_list.css"))
|
|
27
|
+
|
|
28
|
+
interface Contact {
|
|
29
|
+
id: number | string
|
|
30
|
+
type: string
|
|
31
|
+
name: string
|
|
32
|
+
avatar?: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
interface AccessRightHolder {
|
|
36
|
+
id: number
|
|
37
|
+
type: string
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
interface AccessRight {
|
|
41
|
+
document_id?: number
|
|
42
|
+
holder: AccessRightHolder
|
|
43
|
+
rights: string
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
interface Collaborator {
|
|
47
|
+
holder: Contact
|
|
48
|
+
rights: string
|
|
49
|
+
count: number
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
interface ShareToken {
|
|
53
|
+
id: number
|
|
54
|
+
share_url: string
|
|
55
|
+
expires_at?: string
|
|
56
|
+
note?: string
|
|
57
|
+
rights: string
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
interface AccessRightsTabOptions {
|
|
61
|
+
documentIds: number[]
|
|
62
|
+
contacts: Contact[]
|
|
63
|
+
newContactCall: (contactData: Contact) => void
|
|
64
|
+
e2ee: boolean
|
|
65
|
+
documentPassword?: string
|
|
66
|
+
onShareSuccess?: (accessRights: AccessRight[]) => void
|
|
67
|
+
settings: Record<string, unknown>
|
|
68
|
+
container?: HTMLElement | null
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
interface AccessRightMenuItem {
|
|
72
|
+
type?: "header" | "action" | "separator"
|
|
73
|
+
title: string
|
|
74
|
+
tooltip?: string
|
|
75
|
+
icon?: string
|
|
76
|
+
right?: string
|
|
77
|
+
action?: () => void
|
|
78
|
+
selected?: boolean
|
|
79
|
+
}
|
|
80
|
+
|
|
26
81
|
/**
|
|
27
82
|
* Build the collaborators list from raw access rights and document IDs.
|
|
28
83
|
*/
|
|
29
|
-
function getCollaborators(
|
|
30
|
-
|
|
84
|
+
function getCollaborators(
|
|
85
|
+
accessRights: AccessRight[],
|
|
86
|
+
documentIds: number[]
|
|
87
|
+
): Collaborator[] {
|
|
88
|
+
const docCollabs: Record<string, Collaborator> = {}
|
|
31
89
|
accessRights.forEach(ar => {
|
|
32
|
-
if (!documentIds.includes(ar.document_id)) {
|
|
90
|
+
if (!ar.document_id || !documentIds.includes(ar.document_id)) {
|
|
33
91
|
return
|
|
34
92
|
}
|
|
35
93
|
const holderIdent = ar.holder.type + ar.holder.id
|
|
@@ -39,8 +97,10 @@ function getCollaborators(accessRights, documentIds) {
|
|
|
39
97
|
}
|
|
40
98
|
docCollabs[holderIdent].count += 1
|
|
41
99
|
} else {
|
|
42
|
-
docCollabs[holderIdent] = Object.assign({}, ar
|
|
43
|
-
|
|
100
|
+
docCollabs[holderIdent] = Object.assign({}, ar, {
|
|
101
|
+
holder: {id: ar.holder.id, type: ar.holder.type},
|
|
102
|
+
count: 1
|
|
103
|
+
}) as unknown as Collaborator
|
|
44
104
|
}
|
|
45
105
|
})
|
|
46
106
|
return Object.values(docCollabs).filter(
|
|
@@ -51,17 +111,18 @@ function getCollaborators(accessRights, documentIds) {
|
|
|
51
111
|
/**
|
|
52
112
|
* Collect access rights from the DOM inside a given container.
|
|
53
113
|
*/
|
|
54
|
-
function collectAccessRights(container) {
|
|
55
|
-
const accessRights = []
|
|
114
|
+
function collectAccessRights(container: HTMLElement): AccessRight[] {
|
|
115
|
+
const accessRights: AccessRight[] = []
|
|
56
116
|
container
|
|
57
117
|
.querySelectorAll("#share-contact .fw-collaborator-tr")
|
|
58
118
|
.forEach(el => {
|
|
119
|
+
const htmlEl = el as HTMLElement
|
|
59
120
|
accessRights.push({
|
|
60
121
|
holder: {
|
|
61
|
-
id: Number.parseInt(
|
|
62
|
-
type:
|
|
122
|
+
id: Number.parseInt(htmlEl.dataset.id || "0"),
|
|
123
|
+
type: htmlEl.dataset.type || ""
|
|
63
124
|
},
|
|
64
|
-
rights:
|
|
125
|
+
rights: htmlEl.dataset.rights || ""
|
|
65
126
|
})
|
|
66
127
|
})
|
|
67
128
|
return accessRights
|
|
@@ -74,29 +135,42 @@ function collectAccessRights(container) {
|
|
|
74
135
|
* or wrapped in its own Dialog via DocumentAccessRightsDialog.
|
|
75
136
|
*/
|
|
76
137
|
export class AccessRightsTab {
|
|
138
|
+
documentIds: number[]
|
|
139
|
+
contacts: Contact[]
|
|
140
|
+
newContactCall: (contactData: Contact) => void
|
|
141
|
+
singleDocumentId: number | null
|
|
142
|
+
e2ee: boolean
|
|
143
|
+
documentPassword: string
|
|
144
|
+
onShareSuccess?: (accessRights: AccessRight[]) => void
|
|
145
|
+
settings: Record<string, unknown>
|
|
146
|
+
container: HTMLElement | null
|
|
147
|
+
accessRights: AccessRight[]
|
|
148
|
+
dialogTabs!: DialogTabs
|
|
149
|
+
|
|
77
150
|
constructor({
|
|
78
151
|
documentIds,
|
|
79
152
|
contacts,
|
|
80
153
|
newContactCall,
|
|
81
154
|
e2ee,
|
|
82
|
-
documentPassword,
|
|
155
|
+
documentPassword = "",
|
|
83
156
|
onShareSuccess,
|
|
84
157
|
settings,
|
|
85
158
|
container = null
|
|
86
|
-
}) {
|
|
159
|
+
}: AccessRightsTabOptions) {
|
|
87
160
|
this.documentIds = documentIds
|
|
88
161
|
this.contacts = contacts
|
|
89
162
|
this.newContactCall = newContactCall
|
|
90
|
-
this.singleDocumentId =
|
|
163
|
+
this.singleDocumentId =
|
|
164
|
+
documentIds.length === 1 ? documentIds[0] : null
|
|
91
165
|
this.e2ee = e2ee
|
|
92
166
|
this.documentPassword = documentPassword
|
|
93
167
|
this.onShareSuccess = onShareSuccess
|
|
94
168
|
this.settings = settings
|
|
95
|
-
this.container = container
|
|
169
|
+
this.container = container || null
|
|
96
170
|
this.accessRights = []
|
|
97
171
|
}
|
|
98
172
|
|
|
99
|
-
load() {
|
|
173
|
+
load(): Promise<void> {
|
|
100
174
|
return postJson("/api/document/get_access_rights/", {
|
|
101
175
|
document_ids: this.documentIds
|
|
102
176
|
})
|
|
@@ -104,12 +178,13 @@ export class AccessRightsTab {
|
|
|
104
178
|
addAlert("error", gettext("Cannot load document access data."))
|
|
105
179
|
throw error
|
|
106
180
|
})
|
|
107
|
-
.then(({json}) => {
|
|
108
|
-
|
|
181
|
+
.then(({json}: {json: unknown}) => {
|
|
182
|
+
const data = json as {access_rights: AccessRight[]}
|
|
183
|
+
this.accessRights = data.access_rights
|
|
109
184
|
})
|
|
110
185
|
}
|
|
111
186
|
|
|
112
|
-
render() {
|
|
187
|
+
render(): string {
|
|
113
188
|
const collaborators = getCollaborators(
|
|
114
189
|
this.accessRights,
|
|
115
190
|
this.documentIds
|
|
@@ -156,7 +231,7 @@ export class AccessRightsTab {
|
|
|
156
231
|
return html
|
|
157
232
|
}
|
|
158
233
|
|
|
159
|
-
bindEvents() {
|
|
234
|
+
bindEvents(): void {
|
|
160
235
|
const container = this.container
|
|
161
236
|
if (!container) {
|
|
162
237
|
return
|
|
@@ -165,38 +240,38 @@ export class AccessRightsTab {
|
|
|
165
240
|
// Add selected contacts to collaborators
|
|
166
241
|
container
|
|
167
242
|
.querySelector("#add-share-contact")
|
|
168
|
-
|
|
169
|
-
const selectedData = []
|
|
243
|
+
?.addEventListener("click", () => {
|
|
244
|
+
const selectedData: Collaborator[] = []
|
|
170
245
|
container
|
|
171
246
|
.querySelectorAll("#my-contacts .fw-checkable.fw-checked")
|
|
172
247
|
.forEach(el => {
|
|
248
|
+
const htmlEl = el as HTMLElement
|
|
173
249
|
const collaboratorEl = container.querySelector(
|
|
174
|
-
`#collaborator-${
|
|
250
|
+
`#collaborator-${htmlEl.dataset.type}-${htmlEl.dataset.id}`
|
|
175
251
|
)
|
|
176
252
|
if (collaboratorEl) {
|
|
177
|
-
|
|
178
|
-
|
|
253
|
+
const colRow = collaboratorEl as HTMLElement
|
|
254
|
+
if (colRow.dataset.rights === "delete") {
|
|
255
|
+
colRow.dataset.rights = "read"
|
|
179
256
|
const accessRightIcon =
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
)
|
|
183
|
-
accessRightIcon.classList.remove(
|
|
257
|
+
colRow.querySelector(".fw-icon-access-right")
|
|
258
|
+
accessRightIcon?.classList.remove(
|
|
184
259
|
"icon-access-delete"
|
|
185
260
|
)
|
|
186
|
-
accessRightIcon
|
|
261
|
+
accessRightIcon?.classList.add(
|
|
187
262
|
"icon-access-read"
|
|
188
263
|
)
|
|
189
264
|
}
|
|
190
265
|
} else {
|
|
191
266
|
const collaborator = this.contacts.find(
|
|
192
267
|
contact =>
|
|
193
|
-
contact.type ===
|
|
268
|
+
contact.type === htmlEl.dataset.type &&
|
|
194
269
|
contact.id ===
|
|
195
|
-
Number.parseInt(
|
|
270
|
+
Number.parseInt(htmlEl.dataset.id || "0")
|
|
196
271
|
)
|
|
197
272
|
if (!collaborator) {
|
|
198
273
|
console.warn(
|
|
199
|
-
`No contact found of type: ${
|
|
274
|
+
`No contact found of type: ${htmlEl.dataset.type} id: ${htmlEl.dataset.id}.`
|
|
200
275
|
)
|
|
201
276
|
return
|
|
202
277
|
}
|
|
@@ -207,7 +282,8 @@ export class AccessRightsTab {
|
|
|
207
282
|
name: collaborator.name,
|
|
208
283
|
avatar: collaborator.avatar
|
|
209
284
|
},
|
|
210
|
-
rights: "read"
|
|
285
|
+
rights: "read",
|
|
286
|
+
count: 1
|
|
211
287
|
})
|
|
212
288
|
}
|
|
213
289
|
})
|
|
@@ -219,7 +295,7 @@ export class AccessRightsTab {
|
|
|
219
295
|
.forEach(el => el.classList.remove("fw-checked"))
|
|
220
296
|
container
|
|
221
297
|
.querySelector("#share-contact table tbody")
|
|
222
|
-
|
|
298
|
+
?.insertAdjacentHTML(
|
|
223
299
|
"beforeend",
|
|
224
300
|
collaboratorsTemplate({
|
|
225
301
|
collaborators: selectedData
|
|
@@ -232,69 +308,82 @@ export class AccessRightsTab {
|
|
|
232
308
|
|
|
233
309
|
// Share-link actions
|
|
234
310
|
container.addEventListener("click", event => {
|
|
235
|
-
const el = {}
|
|
311
|
+
const el: {target?: Element | null} = {}
|
|
236
312
|
if (findTarget(event, "#create-share-token-btn", el)) {
|
|
237
313
|
this.openCreateShareTokenDialog()
|
|
238
314
|
return
|
|
239
315
|
}
|
|
240
316
|
if (findTarget(event, ".copy-share-token-btn", el)) {
|
|
241
|
-
const url =
|
|
242
|
-
.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
)
|
|
249
|
-
|
|
250
|
-
|
|
317
|
+
const url = (
|
|
318
|
+
(el.target as HTMLElement).closest(
|
|
319
|
+
".copy-share-token-btn"
|
|
320
|
+
) as HTMLElement | null
|
|
321
|
+
)?.dataset.url
|
|
322
|
+
if (url) {
|
|
323
|
+
navigator.clipboard.writeText(url).then(
|
|
324
|
+
() =>
|
|
325
|
+
addAlert(
|
|
326
|
+
"success",
|
|
327
|
+
gettext("Link copied to clipboard.")
|
|
328
|
+
),
|
|
329
|
+
() => addAlert("error", gettext("Could not copy link."))
|
|
330
|
+
)
|
|
331
|
+
}
|
|
251
332
|
return
|
|
252
333
|
}
|
|
253
334
|
if (findTarget(event, ".revoke-share-token-btn", el)) {
|
|
254
|
-
const btn = el.target.closest(
|
|
255
|
-
|
|
335
|
+
const btn = (el.target as HTMLElement).closest(
|
|
336
|
+
".revoke-share-token-btn"
|
|
337
|
+
) as HTMLElement
|
|
338
|
+
const tokenId = Number.parseInt(btn.dataset.tokenId || "0")
|
|
256
339
|
const rowEl = btn.closest(".share-token-row")
|
|
257
|
-
|
|
340
|
+
if (rowEl) {
|
|
341
|
+
this.revokeShareToken(tokenId, rowEl as HTMLElement)
|
|
342
|
+
}
|
|
258
343
|
return
|
|
259
344
|
}
|
|
260
345
|
})
|
|
261
346
|
|
|
262
347
|
// Collaborator actions
|
|
263
348
|
container.addEventListener("click", event => {
|
|
264
|
-
const el = {}
|
|
349
|
+
const el: {target?: Element | null} = {}
|
|
265
350
|
switch (true) {
|
|
266
351
|
case findTarget(event, ".fw-checkable", el):
|
|
267
|
-
setCheckableLabel(el.target)
|
|
352
|
+
setCheckableLabel(el.target as HTMLElement)
|
|
268
353
|
break
|
|
269
354
|
case findTarget(event, ".delete-collaborator", el): {
|
|
270
|
-
const colRow = el.target.closest(
|
|
355
|
+
const colRow = (el.target as HTMLElement).closest(
|
|
356
|
+
".fw-collaborator-tr"
|
|
357
|
+
) as HTMLElement
|
|
271
358
|
colRow.dataset.rights = "delete"
|
|
272
|
-
colRow
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
)
|
|
359
|
+
const icon = colRow.querySelector(".fw-icon-access-right")
|
|
360
|
+
icon?.setAttribute(
|
|
361
|
+
"class",
|
|
362
|
+
"fw-icon-access-right icon-access-delete"
|
|
363
|
+
)
|
|
278
364
|
break
|
|
279
365
|
}
|
|
280
366
|
case findTarget(event, ".edit-right", el): {
|
|
281
|
-
const colRow = el.target.closest(
|
|
282
|
-
|
|
367
|
+
const colRow = (el.target as HTMLElement).closest(
|
|
368
|
+
".fw-collaborator-tr"
|
|
369
|
+
) as HTMLElement
|
|
370
|
+
const currentRight = colRow.dataset.rights || ""
|
|
283
371
|
const menu = this.getDropdownMenu(
|
|
284
372
|
currentRight,
|
|
285
373
|
newRight => {
|
|
286
374
|
colRow.dataset.rights = newRight
|
|
287
|
-
colRow
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
375
|
+
const icon = colRow.querySelector(
|
|
376
|
+
".fw-icon-access-right"
|
|
377
|
+
)
|
|
378
|
+
icon?.setAttribute(
|
|
379
|
+
"class",
|
|
380
|
+
`icon-access-right icon-access-${newRight}`
|
|
381
|
+
)
|
|
293
382
|
}
|
|
294
383
|
)
|
|
295
384
|
const contentMenu = new ContentMenu({
|
|
296
|
-
menu,
|
|
297
|
-
menuPos: {X: event.pageX, Y: event.pageY},
|
|
385
|
+
menu: menu as ContentMenuInit,
|
|
386
|
+
menuPos: {X: (event as MouseEvent).pageX, Y: (event as MouseEvent).pageY},
|
|
298
387
|
width: 200
|
|
299
388
|
})
|
|
300
389
|
contentMenu.open()
|
|
@@ -306,10 +395,13 @@ export class AccessRightsTab {
|
|
|
306
395
|
})
|
|
307
396
|
}
|
|
308
397
|
|
|
309
|
-
getDropdownMenu(
|
|
398
|
+
getDropdownMenu(
|
|
399
|
+
currentRight: string,
|
|
400
|
+
onChange: (newRight: string) => void
|
|
401
|
+
): {content: AccessRightMenuItem[]} {
|
|
310
402
|
const E2EE_ALLOWED_RIGHTS = ["write", "read-without-comments", "read"]
|
|
311
403
|
|
|
312
|
-
const allItems = [
|
|
404
|
+
const allItems: AccessRightMenuItem[] = [
|
|
313
405
|
{
|
|
314
406
|
type: "header",
|
|
315
407
|
title: gettext("Basic"),
|
|
@@ -396,7 +488,7 @@ export class AccessRightsTab {
|
|
|
396
488
|
if (item.type === "header") {
|
|
397
489
|
return true
|
|
398
490
|
}
|
|
399
|
-
return E2EE_ALLOWED_RIGHTS.includes(item.right)
|
|
491
|
+
return item.right && E2EE_ALLOWED_RIGHTS.includes(item.right)
|
|
400
492
|
})
|
|
401
493
|
: allItems
|
|
402
494
|
|
|
@@ -404,7 +496,9 @@ export class AccessRightsTab {
|
|
|
404
496
|
if (item.type === "header") {
|
|
405
497
|
const nextItems = content.slice(index + 1)
|
|
406
498
|
const nextAction = nextItems.find(i => i.type === "action")
|
|
407
|
-
const nextHeader = nextItems.findIndex(
|
|
499
|
+
const nextHeader = nextItems.findIndex(
|
|
500
|
+
i => i.type === "header"
|
|
501
|
+
)
|
|
408
502
|
if (!nextAction) {
|
|
409
503
|
return false
|
|
410
504
|
}
|
|
@@ -421,8 +515,8 @@ export class AccessRightsTab {
|
|
|
421
515
|
return {content: filteredContent}
|
|
422
516
|
}
|
|
423
517
|
|
|
424
|
-
loadShareTokens() {
|
|
425
|
-
const listEl = this.container
|
|
518
|
+
loadShareTokens(): void {
|
|
519
|
+
const listEl = this.container?.querySelector("#share-token-list")
|
|
426
520
|
if (!listEl) {
|
|
427
521
|
return
|
|
428
522
|
}
|
|
@@ -430,9 +524,10 @@ export class AccessRightsTab {
|
|
|
430
524
|
postJson("/api/document/share_token/list/", {
|
|
431
525
|
document_id: this.singleDocumentId
|
|
432
526
|
})
|
|
433
|
-
.then(({json}) => {
|
|
527
|
+
.then(({json}: {json: unknown}) => {
|
|
528
|
+
const data = json as {tokens: ShareToken[]}
|
|
434
529
|
listEl.innerHTML = shareTokenListTemplate({
|
|
435
|
-
tokens:
|
|
530
|
+
tokens: data.tokens
|
|
436
531
|
})
|
|
437
532
|
})
|
|
438
533
|
.catch(() => {
|
|
@@ -440,7 +535,7 @@ export class AccessRightsTab {
|
|
|
440
535
|
})
|
|
441
536
|
}
|
|
442
537
|
|
|
443
|
-
openCreateShareTokenDialog() {
|
|
538
|
+
openCreateShareTokenDialog(): void {
|
|
444
539
|
const createDialog = new Dialog({
|
|
445
540
|
title: gettext("Create share link"),
|
|
446
541
|
id: "create-share-token-dialog",
|
|
@@ -454,28 +549,35 @@ export class AccessRightsTab {
|
|
|
454
549
|
text: gettext("Create"),
|
|
455
550
|
classes: "fw-dark",
|
|
456
551
|
click: () => {
|
|
457
|
-
const rights =
|
|
458
|
-
|
|
552
|
+
const rights = (
|
|
553
|
+
createDialog.dialogEl.querySelector(
|
|
554
|
+
"#share-token-rights"
|
|
555
|
+
) as HTMLSelectElement
|
|
459
556
|
).value
|
|
460
|
-
const expiresRaw =
|
|
461
|
-
|
|
557
|
+
const expiresRaw = (
|
|
558
|
+
createDialog.dialogEl.querySelector(
|
|
559
|
+
"#share-token-expires"
|
|
560
|
+
) as HTMLInputElement
|
|
462
561
|
).value
|
|
463
|
-
const note =
|
|
464
|
-
.querySelector(
|
|
465
|
-
|
|
562
|
+
const note = (
|
|
563
|
+
createDialog.dialogEl.querySelector(
|
|
564
|
+
"#share-token-note"
|
|
565
|
+
) as HTMLInputElement
|
|
566
|
+
).value.trim()
|
|
466
567
|
postJson("/api/document/share_token/create/", {
|
|
467
568
|
document_id: this.singleDocumentId,
|
|
468
569
|
rights,
|
|
469
570
|
expires_at: expiresRaw || "",
|
|
470
571
|
note
|
|
471
572
|
})
|
|
472
|
-
.then(({json}) => {
|
|
473
|
-
|
|
573
|
+
.then(({json}: {json: unknown}) => {
|
|
574
|
+
const data = json as ShareToken
|
|
575
|
+
let shareUrl = data.share_url
|
|
474
576
|
if (this.e2ee) {
|
|
475
577
|
const passwordInput =
|
|
476
578
|
createDialog.dialogEl.querySelector(
|
|
477
579
|
"#share-token-password"
|
|
478
|
-
)
|
|
580
|
+
) as HTMLInputElement | null
|
|
479
581
|
const password = passwordInput
|
|
480
582
|
? passwordInput.value.trim()
|
|
481
583
|
: ""
|
|
@@ -483,19 +585,19 @@ export class AccessRightsTab {
|
|
|
483
585
|
shareUrl = `${shareUrl}#?password=${encodeURIComponent(password)}`
|
|
484
586
|
}
|
|
485
587
|
}
|
|
486
|
-
|
|
588
|
+
data.share_url = shareUrl
|
|
487
589
|
const listEl =
|
|
488
|
-
this.container
|
|
590
|
+
this.container?.querySelector(
|
|
489
591
|
"#share-token-list"
|
|
490
592
|
)
|
|
491
593
|
const placeholder =
|
|
492
|
-
listEl
|
|
594
|
+
listEl?.querySelector(".fw-ar-no-tokens")
|
|
493
595
|
if (placeholder) {
|
|
494
596
|
placeholder.remove()
|
|
495
597
|
}
|
|
496
|
-
listEl
|
|
598
|
+
listEl?.insertAdjacentHTML(
|
|
497
599
|
"beforeend",
|
|
498
|
-
shareTokenRowTemplate({token:
|
|
600
|
+
shareTokenRowTemplate({token: data})
|
|
499
601
|
)
|
|
500
602
|
addAlert(
|
|
501
603
|
"success",
|
|
@@ -517,19 +619,22 @@ export class AccessRightsTab {
|
|
|
517
619
|
createDialog.open()
|
|
518
620
|
const expiresInput = createDialog.dialogEl.querySelector(
|
|
519
621
|
"#share-token-expires"
|
|
520
|
-
)
|
|
622
|
+
) as HTMLInputElement
|
|
521
623
|
enableDatePicker(expiresInput, true)
|
|
522
624
|
}
|
|
523
625
|
|
|
524
|
-
revokeShareToken(tokenId, rowEl) {
|
|
626
|
+
revokeShareToken(tokenId: number, rowEl: HTMLElement): void {
|
|
525
627
|
postJson("/api/document/share_token/revoke/", {token_id: tokenId})
|
|
526
|
-
.then(({json}) => {
|
|
527
|
-
|
|
628
|
+
.then(({json}: {json: unknown}) => {
|
|
629
|
+
const data = json as {success: boolean}
|
|
630
|
+
if (data.success) {
|
|
528
631
|
rowEl.remove()
|
|
529
632
|
const listEl =
|
|
530
|
-
this.container
|
|
531
|
-
if (!listEl
|
|
532
|
-
listEl
|
|
633
|
+
this.container?.querySelector("#share-token-list")
|
|
634
|
+
if (!listEl?.querySelector(".share-token-row")) {
|
|
635
|
+
if (listEl) {
|
|
636
|
+
listEl.innerHTML = shareTokenListTemplate({tokens: []})
|
|
637
|
+
}
|
|
533
638
|
}
|
|
534
639
|
addAlert("success", gettext("Share link revoked."))
|
|
535
640
|
} else {
|
|
@@ -541,8 +646,8 @@ export class AccessRightsTab {
|
|
|
541
646
|
)
|
|
542
647
|
}
|
|
543
648
|
|
|
544
|
-
submit() {
|
|
545
|
-
const accessRights = collectAccessRights(this.container)
|
|
649
|
+
submit(): Promise<void> {
|
|
650
|
+
const accessRights = collectAccessRights(this.container!)
|
|
546
651
|
return post("/api/document/save_access_rights/", {
|
|
547
652
|
document_ids: this.documentIds,
|
|
548
653
|
access_rights: accessRights
|
|
@@ -564,14 +669,24 @@ export class AccessRightsTab {
|
|
|
564
669
|
* Supports both single-document and bulk-document editing.
|
|
565
670
|
*/
|
|
566
671
|
export class DocumentAccessRightsDialog {
|
|
672
|
+
documentIds: number[]
|
|
673
|
+
contacts: Contact[]
|
|
674
|
+
newContactCall: (contactData: Contact) => void
|
|
675
|
+
e2ee: boolean
|
|
676
|
+
documentPassword: string
|
|
677
|
+
onShareSuccess?: (accessRights: AccessRight[]) => void
|
|
678
|
+
settings: Record<string, unknown>
|
|
679
|
+
tab!: AccessRightsTab
|
|
680
|
+
dialog!: Dialog
|
|
681
|
+
|
|
567
682
|
constructor(
|
|
568
|
-
documentIds,
|
|
569
|
-
contacts,
|
|
570
|
-
newContactCall,
|
|
571
|
-
e2ee,
|
|
572
|
-
documentPassword,
|
|
573
|
-
onShareSuccess,
|
|
574
|
-
settings
|
|
683
|
+
documentIds: number[],
|
|
684
|
+
contacts: Contact[],
|
|
685
|
+
newContactCall: (contactData: Contact) => void,
|
|
686
|
+
e2ee: boolean,
|
|
687
|
+
documentPassword = "",
|
|
688
|
+
onShareSuccess?: (accessRights: AccessRight[]) => void,
|
|
689
|
+
settings: Record<string, unknown> = {}
|
|
575
690
|
) {
|
|
576
691
|
this.documentIds = documentIds
|
|
577
692
|
this.contacts = contacts
|
|
@@ -582,7 +697,7 @@ export class DocumentAccessRightsDialog {
|
|
|
582
697
|
this.settings = settings
|
|
583
698
|
}
|
|
584
699
|
|
|
585
|
-
init() {
|
|
700
|
+
init(): void {
|
|
586
701
|
this.tab = new AccessRightsTab({
|
|
587
702
|
documentIds: this.documentIds,
|
|
588
703
|
contacts: this.contacts,
|
|
@@ -595,41 +710,42 @@ export class DocumentAccessRightsDialog {
|
|
|
595
710
|
this.tab.load().then(() => this.createDialog())
|
|
596
711
|
}
|
|
597
712
|
|
|
598
|
-
createDialog() {
|
|
713
|
+
createDialog(): void {
|
|
599
714
|
const html = this.tab.render()
|
|
600
715
|
|
|
601
716
|
const buttons = [
|
|
602
717
|
{
|
|
603
718
|
text:
|
|
604
|
-
this.settings?.REGISTRATION_OPEN ||
|
|
605
|
-
this.settings?.SOCIALACCOUNT_OPEN
|
|
719
|
+
(this.settings?.REGISTRATION_OPEN as boolean | undefined) ||
|
|
720
|
+
(this.settings?.SOCIALACCOUNT_OPEN as boolean | undefined)
|
|
606
721
|
? gettext("Add contact or invite new user")
|
|
607
722
|
: gettext("Add contact"),
|
|
608
723
|
classes: "fw-light fw-add-button",
|
|
609
724
|
click: () => {
|
|
610
725
|
const dialog = new AddContactDialog(this.settings)
|
|
611
726
|
dialog.init().then(contactsData => {
|
|
612
|
-
contactsData.forEach(contactData => {
|
|
727
|
+
;(contactsData as Contact[]).forEach(contactData => {
|
|
613
728
|
if (contactData.id) {
|
|
614
729
|
this.tab.container
|
|
615
|
-
|
|
730
|
+
?.querySelector(
|
|
616
731
|
"#my-contacts .fw-data-table-body"
|
|
617
732
|
)
|
|
618
|
-
|
|
733
|
+
?.insertAdjacentHTML(
|
|
619
734
|
"beforeend",
|
|
620
735
|
contactsTemplate({
|
|
621
736
|
contacts: [contactData]
|
|
622
737
|
})
|
|
623
738
|
)
|
|
624
739
|
this.tab.container
|
|
625
|
-
|
|
626
|
-
|
|
740
|
+
?.querySelector("#share-contact table tbody")
|
|
741
|
+
?.insertAdjacentHTML(
|
|
627
742
|
"beforeend",
|
|
628
743
|
collaboratorsTemplate({
|
|
629
744
|
collaborators: [
|
|
630
745
|
{
|
|
631
746
|
holder: contactData,
|
|
632
|
-
rights: "read"
|
|
747
|
+
rights: "read",
|
|
748
|
+
count: 1
|
|
633
749
|
}
|
|
634
750
|
]
|
|
635
751
|
})
|
|
@@ -637,14 +753,15 @@ export class DocumentAccessRightsDialog {
|
|
|
637
753
|
this.newContactCall(contactData)
|
|
638
754
|
} else {
|
|
639
755
|
this.tab.container
|
|
640
|
-
|
|
641
|
-
|
|
756
|
+
?.querySelector("#share-contact table tbody")
|
|
757
|
+
?.insertAdjacentHTML(
|
|
642
758
|
"beforeend",
|
|
643
759
|
collaboratorsTemplate({
|
|
644
760
|
collaborators: [
|
|
645
761
|
{
|
|
646
762
|
holder: contactData,
|
|
647
|
-
rights: "read"
|
|
763
|
+
rights: "read",
|
|
764
|
+
count: 1
|
|
648
765
|
}
|
|
649
766
|
]
|
|
650
767
|
})
|
|
@@ -662,7 +779,7 @@ export class DocumentAccessRightsDialog {
|
|
|
662
779
|
}
|
|
663
780
|
},
|
|
664
781
|
{
|
|
665
|
-
type: "cancel"
|
|
782
|
+
type: "cancel" as const
|
|
666
783
|
}
|
|
667
784
|
]
|
|
668
785
|
|
|
@@ -686,7 +803,7 @@ export class DocumentAccessRightsDialog {
|
|
|
686
803
|
".fw-tabs-nav .fw-tab-link:last-child"
|
|
687
804
|
)
|
|
688
805
|
if (shareTab) {
|
|
689
|
-
shareTab.style.display = "none"
|
|
806
|
+
;(shareTab as HTMLElement).style.display = "none"
|
|
690
807
|
}
|
|
691
808
|
}
|
|
692
809
|
}
|