@verdocs/web-sdk 4.2.158 → 5.0.1
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/cjs/Datastore-b1742da2.js +1783 -0
- package/dist/cjs/{index-2589e4d1.js → index-ccac8641.js} +11 -27
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{utils-6d673ca1.js → utils-ba1e95e0.js} +3 -2
- package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +22 -13
- package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +1 -1
- package/dist/cjs/{verdocs-button_3.cjs.entry.js → verdocs-button_2.cjs.entry.js} +1 -56
- package/dist/cjs/{verdocs-checkbox_4.cjs.entry.js → verdocs-checkbox_6.cjs.entry.js} +115 -24
- package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +30 -15
- package/dist/cjs/verdocs-envelope-recipient-summary.cjs.entry.js +32 -17
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +64 -45
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-attachment_13.cjs.entry.js +104 -155
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +38 -25
- package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-kba-dialog_2.cjs.entry.js +27 -5
- package/dist/cjs/verdocs-ok-dialog.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-organization-card_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
- package/dist/cjs/{verdocs-preview_9.cjs.entry.js → verdocs-preview_6.cjs.entry.js} +252 -469
- package/dist/cjs/verdocs-quick-functions.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-radio-button.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-search-box.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-search-tabs.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +11 -12
- package/dist/cjs/verdocs-spinner.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-status-indicator.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-table.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-card.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-create.cjs.entry.js +108 -0
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +78 -63
- package/dist/cjs/verdocs-template-role-properties.cjs.entry.js +58 -37
- package/dist/cjs/verdocs-template-star.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-tags.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-toggle.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +2 -4
- package/dist/collection/components/controls/verdocs-text-input/verdocs-text-input.js +5 -21
- package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +27 -40
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +27 -28
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +45 -44
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +12 -11
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +28 -28
- package/dist/collection/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.js +34 -15
- package/dist/collection/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.js +35 -17
- package/dist/collection/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +67 -45
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +29 -18
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +30 -20
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +30 -22
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +29 -17
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +30 -18
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +192 -139
- package/dist/collection/components/fields/verdocs-field-radio/verdocs-field-radio.js +30 -20
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +30 -18
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +31 -19
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +31 -0
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +44 -44
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +29 -17
- package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +37 -17
- package/dist/collection/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.js +37 -32
- package/dist/collection/components/templates/verdocs-template-create/verdocs-template-create.js +7 -15
- package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.css +6 -0
- package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +79 -61
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +48 -24
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +63 -61
- package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +61 -36
- package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +63 -46
- package/dist/collection/components/templates/verdocs-template-star/verdocs-template-star.js +1 -1
- package/dist/collection/components/templates/verdocs-template-tags/verdocs-template-tags.js +1 -1
- package/dist/collection/utils/Datastore.js +141 -0
- package/dist/collection/utils/Templates.js +2 -0
- package/dist/collection/utils/utils.js +3 -2
- package/dist/components/index.js +1 -5
- package/dist/components/{p-3044c9cb.js → p-070bebd7.js} +1 -1
- package/dist/components/{p-1b60debe.js → p-0a69031f.js} +29 -28
- package/dist/components/{p-69881420.js → p-0ca7012b.js} +1 -1
- package/dist/components/{p-b2bf338f.js → p-0d063bf9.js} +65 -35
- package/dist/components/{p-ac7578f6.js → p-0e332769.js} +1 -1
- package/dist/components/{p-a655b737.js → p-15d530b8.js} +6 -6
- package/dist/components/{p-71dd305b.js → p-18999830.js} +2 -2
- package/dist/components/{p-90540412.js → p-1ae5d7e0.js} +1 -1
- package/dist/components/{p-8f942993.js → p-1ca705bc.js} +31 -30
- package/dist/components/{p-4d2f2954.js → p-1e2e8b1c.js} +1 -1
- package/dist/components/{p-c7a21595.js → p-1e67ebdf.js} +67 -42
- package/dist/components/{p-fe2dca8c.js → p-22da6d14.js} +2 -2
- package/dist/components/{p-945d225a.js → p-22e52874.js} +90 -88
- package/dist/components/{p-85ef4d07.js → p-2548f3f0.js} +49 -38
- package/dist/components/{p-263dc67d.js → p-315d6592.js} +1 -1
- package/dist/components/{p-4dc4418a.js → p-3201d529.js} +1 -1
- package/dist/components/{p-7786799a.js → p-324ed895.js} +8 -4
- package/dist/components/{p-b679d760.js → p-49153610.js} +32 -31
- package/dist/components/{p-03660739.js → p-4afcdc84.js} +30 -31
- package/dist/components/{p-b0af9b72.js → p-4bc5ac82.js} +3 -2
- package/dist/components/{p-ffe8b41d.js → p-4dd750e9.js} +1 -1
- package/dist/components/{p-82fb3284.js → p-58c2bd5d.js} +1 -1
- package/dist/components/{p-d3170dcd.js → p-5a9cea40.js} +4 -4
- package/dist/components/{p-8b27ce22.js → p-5d4bbcd0.js} +1 -1
- package/dist/components/{p-1e66385b.js → p-5d82a9f3.js} +64 -57
- package/dist/components/{p-877eaf65.js → p-5eb45a4f.js} +1 -1
- package/dist/components/{p-62f8b36c.js → p-6400f542.js} +36 -14
- package/dist/components/{p-e4ac6259.js → p-6fcd99d1.js} +2 -2
- package/dist/components/{p-921297ba.js → p-84ae0283.js} +1 -1
- package/dist/components/{p-7927a846.js → p-8d3c0b4c.js} +2 -2
- package/dist/components/{p-83a2fa2f.js → p-8fbc64e9.js} +72 -55
- package/dist/components/{p-0e64ccc3.js → p-9bb47a5a.js} +1 -1
- package/dist/components/{p-12594438.js → p-9c3fd545.js} +31 -31
- package/dist/components/{p-fe533b11.js → p-a22a3b1b.js} +125 -101
- package/dist/components/{p-df4ac086.js → p-a3e12c74.js} +2 -2
- package/dist/components/{p-6e8c00bc.js → p-b0c02eb8.js} +31 -30
- package/dist/components/{p-6b369b14.js → p-b16c202a.js} +1 -1
- package/dist/components/{p-3518350d.js → p-b9034018.js} +4 -4
- package/dist/components/{p-c7db1c7d.js → p-c25e82b9.js} +52 -53
- package/dist/components/{p-4535a9fd.js → p-c7b00ce6.js} +36 -17
- package/dist/components/{p-e4a852b5.js → p-c8fedb4e.js} +7 -6
- package/dist/components/{p-83245875.js → p-cf6ea837.js} +2 -2
- package/dist/components/{p-b8cd75c0.js → p-d9704a51.js} +55 -45
- package/dist/components/p-da4d4eed.js +1781 -0
- package/dist/components/{p-cdf871dd.js → p-dd701894.js} +29 -28
- package/dist/components/p-ea5954bd.js +4 -0
- package/dist/components/{p-42a676b7.js → p-ec894daf.js} +2 -2
- package/dist/components/{p-72e959a7.js → p-ecc818bb.js} +30 -31
- package/dist/components/{p-ed9a1a21.js → p-ed88b8d2.js} +44 -24
- package/dist/components/{p-556596e4.js → p-f72b9c45.js} +1 -1
- package/dist/components/{p-a7bbe96b.js → p-f990140a.js} +3 -3
- package/dist/components/{p-db4a15fd.js → p-fcad60f5.js} +1 -1
- package/dist/components/{p-0162bdd3.js → p-fd96322b.js} +30 -33
- package/dist/components/verdocs-auth.js +4 -4
- package/dist/components/verdocs-build.js +99 -103
- package/dist/components/verdocs-button-panel.js +1 -1
- package/dist/components/verdocs-button.js +1 -1
- package/dist/components/verdocs-checkbox.js +1 -1
- package/dist/components/verdocs-component-error.js +1 -1
- package/dist/components/verdocs-contact-picker.js +1 -1
- package/dist/components/verdocs-dialog.js +1 -1
- package/dist/components/verdocs-dropdown.js +1 -1
- package/dist/components/verdocs-envelope-document-page.js +1 -1
- package/dist/components/verdocs-envelope-recipient-link.js +1 -1
- package/dist/components/verdocs-envelope-recipient-summary.js +37 -19
- package/dist/components/verdocs-envelope-sidebar.js +76 -54
- package/dist/components/verdocs-envelopes-list.js +12 -12
- package/dist/components/verdocs-field-attachment.js +1 -1
- package/dist/components/verdocs-field-checkbox.js +1 -1
- package/dist/components/verdocs-field-date.js +1 -1
- package/dist/components/verdocs-field-dropdown.js +1 -1
- package/dist/components/verdocs-field-initial.js +1 -1
- package/dist/components/verdocs-field-payment.js +106 -33
- package/dist/components/verdocs-field-radio.js +1 -1
- package/dist/components/verdocs-field-signature.js +1 -1
- package/dist/components/verdocs-field-textarea.js +1 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-field-timestamp.js +1 -1
- package/dist/components/verdocs-file-chooser.js +1 -1
- package/dist/components/verdocs-help-icon.js +1 -1
- package/dist/components/verdocs-initial-dialog.js +1 -1
- package/dist/components/verdocs-kba-dialog.js +1 -1
- package/dist/components/verdocs-loader.js +1 -1
- package/dist/components/verdocs-ok-dialog.js +1 -1
- package/dist/components/verdocs-organization-card.js +2 -2
- package/dist/components/verdocs-pagination.js +1 -1
- package/dist/components/verdocs-portal.js +1 -1
- package/dist/components/verdocs-preview.js +1 -1
- package/dist/components/verdocs-progress-bar.js +1 -1
- package/dist/components/verdocs-quick-filter.js +1 -1
- package/dist/components/verdocs-quick-functions.js +1 -1
- package/dist/components/verdocs-radio-button.js +1 -1
- package/dist/components/verdocs-search-box.js +1 -1
- package/dist/components/verdocs-search-tabs.js +1 -1
- package/dist/components/verdocs-select-input.js +1 -1
- package/dist/components/verdocs-send.js +1 -1
- package/dist/components/verdocs-sign.js +24 -23
- package/dist/components/verdocs-signature-dialog.js +1 -1
- package/dist/components/verdocs-spinner.js +1 -1
- package/dist/components/verdocs-status-indicator.js +1 -1
- package/dist/components/verdocs-switch.js +1 -1
- package/dist/components/verdocs-table.js +1 -1
- package/dist/components/verdocs-tabs.js +1 -1
- package/dist/components/verdocs-template-attachments.js +1 -1
- package/dist/components/verdocs-template-build-tabs.js +1 -1
- package/dist/components/verdocs-template-card.js +1 -1
- package/dist/components/verdocs-template-create.js +148 -1
- package/dist/components/verdocs-template-document-page.js +1 -1
- package/dist/components/verdocs-template-field-properties.js +1 -1
- package/dist/components/verdocs-template-fields.js +1 -1
- package/dist/components/verdocs-template-role-properties.js +1 -1
- package/dist/components/verdocs-template-roles.js +1 -1
- package/dist/components/verdocs-template-star.js +1 -1
- package/dist/components/verdocs-template-tags.js +2 -2
- package/dist/components/verdocs-templates-list.js +11 -11
- package/dist/components/verdocs-text-input.js +1 -1
- package/dist/components/verdocs-toggle-button.js +1 -1
- package/dist/components/verdocs-toggle.js +1 -1
- package/dist/components/verdocs-toolbar-icon.js +1 -1
- package/dist/components/verdocs-upload-dialog.js +1 -1
- package/dist/components/verdocs-view.js +1 -1
- package/dist/esm/Datastore-52fcbac6.js +1781 -0
- package/dist/esm/{index-c8587076.js → index-272d51a4.js} +12 -26
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{utils-27fa12eb.js → utils-47de6f79.js} +3 -2
- package/dist/esm/verdocs-auth.entry.js +1 -1
- package/dist/esm/verdocs-build.entry.js +23 -14
- package/dist/esm/verdocs-button-panel_2.entry.js +1 -1
- package/dist/esm/{verdocs-button_3.entry.js → verdocs-button_2.entry.js} +2 -56
- package/dist/esm/{verdocs-checkbox_4.entry.js → verdocs-checkbox_6.entry.js} +115 -26
- package/dist/esm/verdocs-contact-picker_2.entry.js +2 -2
- package/dist/esm/verdocs-dialog.entry.js +1 -1
- package/dist/esm/verdocs-dropdown.entry.js +1 -1
- package/dist/esm/verdocs-envelope-document-page.entry.js +2 -2
- package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +31 -16
- package/dist/esm/verdocs-envelope-recipient-summary.entry.js +33 -18
- package/dist/esm/verdocs-envelope-sidebar.entry.js +65 -46
- package/dist/esm/verdocs-envelopes-list.entry.js +2 -2
- package/dist/esm/verdocs-field-attachment_13.entry.js +104 -155
- package/dist/esm/verdocs-field-payment.entry.js +38 -25
- package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
- package/dist/esm/verdocs-kba-dialog_2.entry.js +27 -5
- package/dist/esm/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm/verdocs-organization-card_2.entry.js +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +2 -2
- package/dist/esm/{verdocs-preview_9.entry.js → verdocs-preview_6.entry.js} +256 -470
- package/dist/esm/verdocs-quick-functions.entry.js +1 -1
- package/dist/esm/verdocs-radio-button.entry.js +1 -1
- package/dist/esm/verdocs-search-box.entry.js +1 -1
- package/dist/esm/verdocs-search-tabs.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +11 -12
- package/dist/esm/verdocs-spinner.entry.js +1 -1
- package/dist/esm/verdocs-status-indicator.entry.js +1 -1
- package/dist/esm/verdocs-table.entry.js +1 -1
- package/dist/esm/verdocs-template-card.entry.js +1 -1
- package/dist/{components/p-f9cc62a7.js → esm/verdocs-template-create.entry.js} +15 -69
- package/dist/esm/verdocs-template-document-page_2.entry.js +79 -64
- package/dist/esm/verdocs-template-role-properties.entry.js +59 -38
- package/dist/esm/verdocs-template-star.entry.js +2 -2
- package/dist/esm/verdocs-template-tags.entry.js +2 -2
- package/dist/esm/verdocs-templates-list.entry.js +1 -1
- package/dist/esm/verdocs-toggle.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +4 -4
- package/dist/esm-es5/Datastore-52fcbac6.js +1 -0
- package/dist/esm-es5/index-272d51a4.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{utils-27fa12eb.js → utils-47de6f79.js} +1 -1
- package/dist/esm-es5/verdocs-auth.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-button_2.entry.js +1 -0
- package/dist/esm-es5/verdocs-checkbox_6.entry.js +1 -0
- package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-recipient-summary.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment_13.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-kba-dialog_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-ok-dialog.entry.js +1 -1
- package/dist/esm-es5/verdocs-organization-card_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_6.entry.js +1 -0
- package/dist/esm-es5/verdocs-quick-functions.entry.js +1 -1
- package/dist/esm-es5/verdocs-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-search-box.entry.js +1 -1
- package/dist/esm-es5/verdocs-search-tabs.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-spinner.entry.js +1 -1
- package/dist/esm-es5/verdocs-status-indicator.entry.js +1 -1
- package/dist/esm-es5/verdocs-table.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-card.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create.entry.js +1 -0
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-role-properties.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-tags.entry.js +1 -1
- package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
- package/dist/esm-es5/verdocs-toggle.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/controls/verdocs-text-input/verdocs-text-input.d.ts +0 -2
- package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +8 -32
- package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +6 -8
- package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +7 -6
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +3 -3
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +6 -5
- package/dist/types/components/envelopes/verdocs-envelope-recipient-link/verdocs-envelope-recipient-link.d.ts +6 -3
- package/dist/types/components/envelopes/verdocs-envelope-recipient-summary/verdocs-envelope-recipient-summary.d.ts +6 -3
- package/dist/types/components/envelopes/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +8 -4
- package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +44 -30
- package/dist/types/components/fields/verdocs-field-radio/verdocs-field-radio.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +6 -7
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +5 -12
- package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +6 -7
- package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +6 -2
- package/dist/types/components/templates/verdocs-template-build-tabs/verdocs-template-build-tabs.d.ts +7 -4
- package/dist/types/components/templates/verdocs-template-document-page/verdocs-template-document-page.d.ts +7 -4
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -8
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +6 -8
- package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +7 -7
- package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +7 -6
- package/dist/types/components.d.ts +176 -330
- package/dist/types/utils/Datastore.d.ts +24 -0
- package/dist/types/utils/Templates.d.ts +3 -0
- package/dist/types/utils/utils.d.ts +1 -1
- package/dist/verdocs-web-sdk/{p-98c5f5a5.entry.js → p-0ca1e87c.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-0e9de098.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-fc053d00.entry.js → p-167e3d7e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-7bd37bca.entry.js → p-2a1287ec.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-6419b913.system.js → p-2be751c4.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-cb30f11e.entry.js → p-2f73c9de.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-3364cc13.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-196bc80f.system.entry.js → p-37d747fb.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-386d789c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3a1fa556.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-0fd57194.entry.js → p-41cbf650.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-26715b8b.entry.js → p-4b36ca30.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-98501408.system.entry.js → p-4e9e154f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-a3778013.system.entry.js → p-511a4ecc.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-65a4e01e.entry.js → p-524f37a0.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-13fe8650.system.entry.js → p-53f4c7c3.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-54f085d1.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-cca517dc.entry.js → p-584113d1.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f8cad58e.entry.js → p-5f1a000c.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-256f07fd.system.entry.js → p-62f15675.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-9b921211.js → p-650697bd.js} +1 -1
- package/dist/verdocs-web-sdk/{p-c06d2604.entry.js → p-65c5398e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0446030b.entry.js → p-6ced37ed.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-16619383.entry.js → p-7464b84f.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-6e3fa0c4.system.entry.js → p-761f6656.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-30bc5986.entry.js → p-76cc40fe.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-c45dc777.entry.js → p-771c2f92.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-78191329.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-f3c995d8.system.entry.js → p-7c8938e7.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-1ce2f724.system.entry.js → p-80ce3711.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-81c8663f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8221a48f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-860b9f94.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-89cdecac.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8a2ff048.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8c03fc69.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8d401072.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-921b56fd.system.entry.js → p-914e131c.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-5737f0ae.system.js → p-9186f42e.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-8e233a6b.system.entry.js → p-9227d400.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-92ce6180.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9567cb7d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-97b00cae.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4b4801ad.system.entry.js → p-982f1b36.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-1b6736fe.system.entry.js → p-9d0b0e36.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-6d1d86ff.system.entry.js → p-a08886c1.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e25e1dcf.entry.js → p-a165607e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-a242aa80.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-5d6a2fda.system.entry.js → p-a9635106.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-aebb0cd9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b0b958a0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b8737f7b.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-49988769.js → p-b9654a5e.js} +2 -2
- package/dist/verdocs-web-sdk/p-bb0effe1.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-bcc23811.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-0c3a471b.entry.js → p-bd7406ae.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e8d91957.entry.js → p-bdd7b3d3.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-c5818330.entry.js → p-c1728f5c.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-c18c718f.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-731066de.system.entry.js → p-c6fd3e53.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-c7cd6843.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4f7c72f9.system.entry.js → p-c9f40726.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-ca712f40.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cbb75c5e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-751b0280.entry.js → p-d475fff3.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-91c4298b.system.entry.js → p-d5870e33.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e5126f26.system.entry.js → p-d8dae4e9.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-93093a7a.system.entry.js → p-d98cbd0f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-da4d4eed.js +1 -0
- package/dist/verdocs-web-sdk/{p-2298c22e.entry.js → p-ddb17b3e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-df04f0ca.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-9ff1be63.entry.js → p-df392ef9.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-e2b70dfb.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-2aea0c7b.system.entry.js → p-e438bd02.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0c42cb22.system.entry.js → p-e5d291f3.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-7f1e0c5e.entry.js → p-e6dbb0f7.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-c4d61c66.entry.js → p-e83cd333.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-edfb1951.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-f4fcf7a5.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-97b951e6.system.entry.js → p-f5d01982.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-6e55af26.system.entry.js → p-f9b37af2.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.js +1 -1
- package/package.json +3 -3
- package/dist/cjs/EnvelopeStore-f1cd9bd3.js +0 -96
- package/dist/cjs/TemplateFieldStore-7bcc0f7a.js +0 -44
- package/dist/cjs/TemplateRoleStore-e8bb00ec.js +0 -51
- package/dist/cjs/TemplateStore-db21be4d.js +0 -99
- package/dist/cjs/index-2a189d85.js +0 -3721
- package/dist/cjs/index-76d03a35.js +0 -196
- package/dist/cjs/verdocs-loader.cjs.entry.js +0 -20
- package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.css +0 -0
- package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +0 -196
- package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.css +0 -86
- package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +0 -203
- package/dist/collection/utils/EnvelopeStore.js +0 -90
- package/dist/collection/utils/TemplateFieldStore.js +0 -36
- package/dist/collection/utils/TemplateRoleStore.js +0 -41
- package/dist/collection/utils/TemplateStore.js +0 -94
- package/dist/components/p-00d39dca.js +0 -39
- package/dist/components/p-0933fb2d.js +0 -127
- package/dist/components/p-09d28afd.js +0 -97
- package/dist/components/p-3555cef1.js +0 -122
- package/dist/components/p-474b6663.js +0 -1314
- package/dist/components/p-821f2345.js +0 -93
- package/dist/components/p-9b5a4f9e.js +0 -44
- package/dist/components/p-a706bac9.js +0 -3719
- package/dist/components/verdocs-template-name.d.ts +0 -11
- package/dist/components/verdocs-template-name.js +0 -6
- package/dist/components/verdocs-template-visibility.d.ts +0 -11
- package/dist/components/verdocs-template-visibility.js +0 -6
- package/dist/esm/EnvelopeStore-4599b7d3.js +0 -93
- package/dist/esm/TemplateFieldStore-909147d8.js +0 -39
- package/dist/esm/TemplateRoleStore-2fef1fdb.js +0 -44
- package/dist/esm/TemplateStore-ace14a8b.js +0 -97
- package/dist/esm/index-24d8ae6a.js +0 -194
- package/dist/esm/index-7588a071.js +0 -3719
- package/dist/esm/verdocs-loader.entry.js +0 -16
- package/dist/esm-es5/EnvelopeStore-4599b7d3.js +0 -1
- package/dist/esm-es5/TemplateFieldStore-909147d8.js +0 -1
- package/dist/esm-es5/TemplateRoleStore-2fef1fdb.js +0 -1
- package/dist/esm-es5/TemplateStore-ace14a8b.js +0 -1
- package/dist/esm-es5/index-24d8ae6a.js +0 -1
- package/dist/esm-es5/index-7588a071.js +0 -1
- package/dist/esm-es5/index-c8587076.js +0 -1
- package/dist/esm-es5/verdocs-button_3.entry.js +0 -1
- package/dist/esm-es5/verdocs-checkbox_4.entry.js +0 -1
- package/dist/esm-es5/verdocs-loader.entry.js +0 -1
- package/dist/esm-es5/verdocs-preview_9.entry.js +0 -1
- package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +0 -41
- package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +0 -42
- package/dist/types/utils/EnvelopeStore.d.ts +0 -12
- package/dist/types/utils/TemplateFieldStore.d.ts +0 -9
- package/dist/types/utils/TemplateRoleStore.d.ts +0 -11
- package/dist/types/utils/TemplateStore.d.ts +0 -16
- package/dist/verdocs-web-sdk/p-0c51c5be.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-194f9f4d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1bb57e5d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2211234d.system.js +0 -1
- package/dist/verdocs-web-sdk/p-2305c1e8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-341d540f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-368a36ea.system.js +0 -1
- package/dist/verdocs-web-sdk/p-36b5d46e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-483f3d7f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-569434fb.system.js +0 -1
- package/dist/verdocs-web-sdk/p-56c1ebd6.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5bf2910c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-60da2bbe.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6fda3817.js +0 -1
- package/dist/verdocs-web-sdk/p-79e222f8.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7d18cb23.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7d593603.system.js +0 -1
- package/dist/verdocs-web-sdk/p-9515e206.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9fabdbb1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a04aac80.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a706bac9.js +0 -1
- package/dist/verdocs-web-sdk/p-b17843d9.system.js +0 -1
- package/dist/verdocs-web-sdk/p-b56793c4.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b7a9f07d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b84d1a25.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bb253149.js +0 -1
- package/dist/verdocs-web-sdk/p-bd642df2.js +0 -1
- package/dist/verdocs-web-sdk/p-c7115b35.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-cde4c155.js +0 -1
- package/dist/verdocs-web-sdk/p-d86c8c1a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-dbddb752.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-dcd3eb1b.js +0 -1
- package/dist/verdocs-web-sdk/p-e123f19c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e294b6c2.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e48b387d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e83a163d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e952ab89.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f08eb8bf.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f5064e0c.system.js +0 -1
- package/dist/verdocs-web-sdk/p-f79b8537.system.js +0 -1
- package/dist/verdocs-web-sdk/p-fa06e241.entry.js +0 -1
@@ -2,19 +2,15 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
5
|
+
const index = require('./index-ccac8641.js');
|
6
6
|
const jsSdk = require('@verdocs/js-sdk');
|
7
|
-
const TemplateFieldStore = require('./TemplateFieldStore-7bcc0f7a.js');
|
8
|
-
const TemplateRoleStore = require('./TemplateRoleStore-e8bb00ec.js');
|
9
|
-
const TemplateStore = require('./TemplateStore-db21be4d.js');
|
10
7
|
const errors = require('./errors-017fb835.js');
|
8
|
+
const Datastore = require('./Datastore-b1742da2.js');
|
11
9
|
const Toast = require('./Toast-d84d7bd3.js');
|
12
10
|
const Icons = require('./Icons-9a6f2f7c.js');
|
13
11
|
const format = require('./format-dc0f3757.js');
|
14
12
|
const interact_min = require('./interact.min-e6956f8b.js');
|
15
|
-
const utils = require('./utils-
|
16
|
-
require('./index-76d03a35.js');
|
17
|
-
require('./index-2a189d85.js');
|
13
|
+
const utils = require('./utils-ba1e95e0.js');
|
18
14
|
require('./_commonjsHelpers-e6ff1d6e.js');
|
19
15
|
require('./Types-7a726ff3.js');
|
20
16
|
|
@@ -25,16 +21,31 @@ const VerdocsPreview = class {
|
|
25
21
|
constructor(hostRef) {
|
26
22
|
index.registerInstance(this, hostRef);
|
27
23
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
28
|
-
this.
|
29
|
-
this.fieldStore = null;
|
30
|
-
this.roleStore = null;
|
24
|
+
this.templateListenerId = null;
|
31
25
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
32
26
|
this.templateId = null;
|
33
27
|
this.loading = true;
|
28
|
+
this.template = null;
|
29
|
+
}
|
30
|
+
disconnectedCallback() {
|
31
|
+
this.unlistenToTemplate();
|
32
|
+
}
|
33
|
+
async listenToTemplate() {
|
34
|
+
this.unlistenToTemplate();
|
35
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
36
|
+
this.template = template;
|
37
|
+
this.loading = false;
|
38
|
+
});
|
39
|
+
}
|
40
|
+
unlistenToTemplate() {
|
41
|
+
if (this.templateListenerId) {
|
42
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
43
|
+
this.templateListenerId = null;
|
44
|
+
}
|
34
45
|
}
|
35
46
|
onTemplateIdChanged(newTemplateId) {
|
36
47
|
console.log('[PREVIEW] Template ID changed', newTemplateId);
|
37
|
-
this.
|
48
|
+
this.listenToTemplate();
|
38
49
|
}
|
39
50
|
async componentWillLoad() {
|
40
51
|
var _a, _b, _c;
|
@@ -48,40 +59,25 @@ const VerdocsPreview = class {
|
|
48
59
|
console.log(`[PREVIEW] Missing required template ID ${this.templateId}`);
|
49
60
|
return;
|
50
61
|
}
|
51
|
-
|
62
|
+
this.listenToTemplate();
|
52
63
|
}
|
53
64
|
catch (e) {
|
54
65
|
console.log('[PREVIEW] Error with preview session', e);
|
55
66
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
56
67
|
}
|
57
68
|
}
|
58
|
-
async loadTemplate(templateId) {
|
59
|
-
if (templateId) {
|
60
|
-
TemplateStore.getTemplateStore(this.endpoint, templateId, false)
|
61
|
-
.then(ts => {
|
62
|
-
this.templateStore = ts;
|
63
|
-
this.fieldStore = TemplateFieldStore.getTemplateFieldStore(this.templateId);
|
64
|
-
this.roleStore = TemplateRoleStore.getTemplateRoleStore(this.templateId);
|
65
|
-
this.loading = false;
|
66
|
-
})
|
67
|
-
.catch(e => {
|
68
|
-
console.log('Unable to load template', e);
|
69
|
-
throw e;
|
70
|
-
});
|
71
|
-
}
|
72
|
-
}
|
73
69
|
handlePageRendered(_e) {
|
74
70
|
// const pageInfo = e.detail as IDocumentPageInfo;
|
75
|
-
// const fields = this.
|
71
|
+
// const fields = (this.template?.fields || []).filter(field => field.page === pageInfo.pageNumber);
|
76
72
|
// console.log('[PREVIEW] Page rendered', pageInfo, fields);
|
77
73
|
// fields.forEach(field => renderDocumentField(field, pageInfo, {disabled: true, editable: false, draggable: false}));
|
78
74
|
}
|
79
75
|
render() {
|
80
|
-
var _a
|
76
|
+
var _a;
|
81
77
|
if (this.loading) {
|
82
78
|
return (index.h(index.Host, null, index.h("verdocs-loader", null)));
|
83
79
|
}
|
84
|
-
return (index.h(index.Host, null, (((
|
80
|
+
return (index.h(index.Host, null, (((_a = this.template) === null || _a === void 0 ? void 0 : _a.documents) || []).map(document => {
|
85
81
|
const pageNumbers = jsSdk.integerSequence(1, document.pages);
|
86
82
|
return (index.h(index.Fragment, null, pageNumbers.map(pageNumber => {
|
87
83
|
var _a;
|
@@ -99,6 +95,9 @@ const VerdocsPreview = class {
|
|
99
95
|
};
|
100
96
|
VerdocsPreview.style = VerdocsPreviewStyle0;
|
101
97
|
|
98
|
+
const getRoleNames = (template) => ((template === null || template === void 0 ? void 0 : template.roles) || []).map(role => role.name);
|
99
|
+
const getRoleIndex = (template, role_name) => Math.max(getRoleNames(template).findIndex(name => name === role_name), 0);
|
100
|
+
|
102
101
|
const verdocsSendCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-send{padding:10px;position:relative;background:#ffffff;-ms-flex-direction:column;flex-direction:column;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-send.sendable{display:-ms-flexbox;display:flex}verdocs-send .recipients{position:relative}verdocs-send .left-line{top:32px;left:20px;z-index:1;width:12px;bottom:30px;position:absolute;background:#ffffff;border-left:3px dotted #9b9b9b}verdocs-send .level{display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;margin-left:50px;position:relative;-ms-flex-direction:row;flex-direction:row;padding:8px 0 4px 0;border-bottom:1px solid rgba(151, 151, 151, 0.2666666667)}verdocs-send .level .level-icon{top:14px;z-index:2;left:-40px;width:24px;height:24px;position:absolute;background:#ffffff}verdocs-send .level .level-icon svg{fill:rgba(0, 0, 0, 0.537254902)}verdocs-send .level .recipient{height:30px;display:-ms-flexbox;display:flex;-ms-flex:0 0 30px;flex:0 0 30px;color:#000000;cursor:pointer;font-size:14px;-ms-flex-align:center;align-items:center;border-radius:30px;-ms-flex-direction:row;flex-direction:row;background:#dddddd;white-space:nowrap;border:2px solid #dddddd;padding:2px 10px 2px 14px}verdocs-send .level .recipient .icon{width:22px;height:22px;-ms-flex:0 0 22px;flex:0 0 22px;margin:0 0 0 10px}verdocs-send .level .recipient .icon svg{width:22px;height:22px;fill:#333333;outline:none}verdocs-send .level .complete{-ms-flex:1;flex:1;height:30px;display:-ms-flexbox;display:flex;color:#000000;font-size:14px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:3px 10px 3px 2px}verdocs-send .buttons{display:-ms-flexbox;display:flex;margin-top:10px;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;-ms-flex-direction:row;flex-direction:row}verdocs-send verdocs-contact-picker{left:0;top:41px;z-index:10;position:absolute;border:1px solid #dddddd;-webkit-box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1);box-shadow:0 0 6px 3px rgba(0, 0, 0, 0.1)}";
|
103
102
|
const VerdocsSendStyle0 = verdocsSendCss;
|
104
103
|
|
@@ -114,6 +113,7 @@ const VerdocsSend = class {
|
|
114
113
|
this.exit = index.createEvent(this, "exit", 7);
|
115
114
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
116
115
|
this.searchContacts = index.createEvent(this, "searchContacts", 7);
|
116
|
+
this.templateListenerId = null;
|
117
117
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
118
118
|
this.templateId = null;
|
119
119
|
this.environment = '';
|
@@ -122,15 +122,33 @@ const VerdocsSend = class {
|
|
122
122
|
this.sessionContacts = [];
|
123
123
|
this.sending = false;
|
124
124
|
this.rolesCompleted = {};
|
125
|
-
this.
|
126
|
-
this.
|
125
|
+
this.loading = true;
|
126
|
+
this.template = null;
|
127
|
+
}
|
128
|
+
disconnectedCallback() {
|
129
|
+
this.unlistenToTemplate();
|
130
|
+
}
|
131
|
+
async listenToTemplate() {
|
132
|
+
console.log('[SEND] Loading template', this.templateId);
|
133
|
+
this.unlistenToTemplate();
|
134
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
135
|
+
this.template = template;
|
136
|
+
this.loading = false;
|
137
|
+
this.rolesCompleted = {};
|
138
|
+
});
|
139
|
+
}
|
140
|
+
unlistenToTemplate() {
|
141
|
+
if (this.templateListenerId) {
|
142
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
143
|
+
this.templateListenerId = null;
|
144
|
+
}
|
127
145
|
}
|
128
146
|
async reset() {
|
129
147
|
this.rolesCompleted = {};
|
130
148
|
}
|
131
149
|
onTemplateIdChanged(newTemplateId) {
|
132
150
|
console.log('[SEND] Template ID changed', newTemplateId);
|
133
|
-
this.
|
151
|
+
this.listenToTemplate();
|
134
152
|
}
|
135
153
|
async componentWillLoad() {
|
136
154
|
var _a, _b, _c;
|
@@ -167,37 +185,18 @@ const VerdocsSend = class {
|
|
167
185
|
console.log(`[SEND] Missing required template ID ${this.templateId}`);
|
168
186
|
return;
|
169
187
|
}
|
170
|
-
|
188
|
+
this.listenToTemplate();
|
171
189
|
}
|
172
190
|
catch (e) {
|
173
191
|
console.log('[SEND] Error with send session', e);
|
174
192
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
175
193
|
}
|
176
194
|
}
|
177
|
-
async loadTemplate(templateId) {
|
178
|
-
var _a, _b, _c, _d, _e;
|
179
|
-
if (!templateId) {
|
180
|
-
return;
|
181
|
-
}
|
182
|
-
try {
|
183
|
-
this.templateStore = await TemplateStore.getTemplateStore(this.endpoint, templateId, false);
|
184
|
-
this.roleStore = TemplateRoleStore.getTemplateRoleStore(templateId);
|
185
|
-
this.recomputeRolesCompleted();
|
186
|
-
if (!((_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_sendable)) {
|
187
|
-
console.warn(`[SEND] Template is not sendable`, templateId);
|
188
|
-
}
|
189
|
-
}
|
190
|
-
catch (e) {
|
191
|
-
console.log('[SEND] Error with preview session', e);
|
192
|
-
(_c = this.sdkError) === null || _c === void 0 ? void 0 : _c.emit(new errors.SDKError(e.message, (_d = e.response) === null || _d === void 0 ? void 0 : _d.status, (_e = e.response) === null || _e === void 0 ? void 0 : _e.data));
|
193
|
-
}
|
194
|
-
}
|
195
195
|
recomputeRolesCompleted() {
|
196
196
|
var _a;
|
197
|
-
const roles = ((_a = this.roleStore) === null || _a === void 0 ? void 0 : _a.get('roles')) || [];
|
198
|
-
const rolesAtLevel = {};
|
199
197
|
this.rolesCompleted = {};
|
200
|
-
|
198
|
+
const rolesAtLevel = {};
|
199
|
+
(((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).forEach(role => {
|
201
200
|
const level = role.sequence - 1;
|
202
201
|
rolesAtLevel[level] || (rolesAtLevel[level] = []);
|
203
202
|
const id = `r-${level}-${rolesAtLevel[level].length}`;
|
@@ -211,15 +210,13 @@ const VerdocsSend = class {
|
|
211
210
|
}
|
212
211
|
getLevels() {
|
213
212
|
var _a;
|
214
|
-
const
|
215
|
-
const levels = [...new Set(roles.map(role => role.sequence - 1))];
|
213
|
+
const levels = [...new Set((((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.sequence - 1))];
|
216
214
|
levels.sort((a, b) => a - b);
|
217
215
|
return levels;
|
218
216
|
}
|
219
217
|
getRolesAtLevel(level) {
|
220
218
|
var _a;
|
221
|
-
const
|
222
|
-
const rolesAtLevel = roles
|
219
|
+
const rolesAtLevel = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || [])
|
223
220
|
.filter(role => role.sequence - 1 === level)
|
224
221
|
.map((role, index) => ({
|
225
222
|
...role,
|
@@ -252,7 +249,7 @@ const VerdocsSend = class {
|
|
252
249
|
this.showPickerForId = role.id;
|
253
250
|
}
|
254
251
|
handleSend(e) {
|
255
|
-
var _a, _b
|
252
|
+
var _a, _b;
|
256
253
|
if (this.sending) {
|
257
254
|
console.log('[SEND] Skipping duplicate send', e);
|
258
255
|
return;
|
@@ -264,7 +261,7 @@ const VerdocsSend = class {
|
|
264
261
|
(_a = this.sendingEnvelope) === null || _a === void 0 ? void 0 : _a.emit({ sending: true });
|
265
262
|
const details = {
|
266
263
|
template_id: this.templateId,
|
267
|
-
name: ((
|
264
|
+
name: ((_b = this.template) === null || _b === void 0 ? void 0 : _b.name) || 'New Envelope',
|
268
265
|
environment: this.environment,
|
269
266
|
initial_reminder: 0,
|
270
267
|
followup_reminders: 0,
|
@@ -275,12 +272,12 @@ const VerdocsSend = class {
|
|
275
272
|
console.log('[SEND] Creating envelope', details);
|
276
273
|
jsSdk.createEnvelope(this.endpoint, details)
|
277
274
|
.then(r => {
|
278
|
-
var _a, _b
|
275
|
+
var _a, _b;
|
279
276
|
console.log('[SEND] Send envelope', r);
|
280
277
|
this.reset().catch((e) => console.log('Unknown Error', e));
|
281
278
|
this.sending = false;
|
282
279
|
(_a = this.sendingEnvelope) === null || _a === void 0 ? void 0 : _a.emit({ sending: false });
|
283
|
-
(_b = this.send) === null || _b === void 0 ? void 0 : _b.emit({ ...details, name:
|
280
|
+
(_b = this.send) === null || _b === void 0 ? void 0 : _b.emit({ ...details, name: details.name, envelope_id: r.id, envelope: r });
|
284
281
|
})
|
285
282
|
.catch(e => {
|
286
283
|
var _a, _b, _c;
|
@@ -296,22 +293,25 @@ const VerdocsSend = class {
|
|
296
293
|
(_a = this.exit) === null || _a === void 0 ? void 0 : _a.emit();
|
297
294
|
}
|
298
295
|
render() {
|
299
|
-
var _a
|
296
|
+
var _a;
|
297
|
+
if (this.loading) {
|
298
|
+
return (index.h(index.Host, null, index.h("verdocs-loader", null)));
|
299
|
+
}
|
300
300
|
if (!this.endpoint.session) {
|
301
301
|
return (index.h(index.Host, { style: { display: 'flex' } }, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
302
302
|
}
|
303
303
|
const levels = this.getLevels();
|
304
|
-
const roleNames = TemplateRoleStore.getRoleNames(this.roleStore);
|
305
304
|
const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => jsSdk.isValidEmail(recipient.email));
|
306
305
|
// TODO: Reactivate once SMS is re-enabled
|
307
306
|
// const rolesAssigned = Object.values(this.rolesCompleted).filter(recipient => isValidEmail(recipient.email) || isValidPhone(recipient.phone));
|
308
|
-
const allRolesAssigned = rolesAssigned.length >=
|
309
|
-
|
310
|
-
return (index.h(index.Host, { class: { sendable: (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_sendable } }, index.h("div", { class: "recipients" }, index.h("div", { class: "left-line" }), index.h("div", { class: `level level-start` }, this.getLevelIcon(-1), index.h("div", { class: "complete" }, "Send Envelope")), levels.map(level => (index.h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.getRolesAtLevel(level).map(role => {
|
307
|
+
const allRolesAssigned = rolesAssigned.length >= getRoleNames(this.template).length;
|
308
|
+
return (index.h(index.Host, { class: { sendable: (_a = this.template) === null || _a === void 0 ? void 0 : _a.is_sendable } }, index.h("div", { class: "recipients" }, index.h("div", { class: "left-line" }), index.h("div", { class: `level level-start` }, this.getLevelIcon(-1), index.h("div", { class: "complete" }, "Send Envelope")), levels.map(level => (index.h("div", { class: `level level-${level}` }, this.getLevelIcon(level), this.getRolesAtLevel(level).map(role => {
|
311
309
|
var _a, _b, _c, _d;
|
312
310
|
const unknown = !role.email;
|
313
311
|
const elId = `verdocs-send-recipient-${role.role_name}`;
|
314
|
-
|
312
|
+
const roleIndex = getRoleIndex(this.template, role.role_name);
|
313
|
+
const rgba = jsSdk.getRGBA(roleIndex);
|
314
|
+
return unknown ? (index.h("div", { class: "recipient", "data-ri": roleIndex, "data-rn": role.role_name, style: { backgroundColor: rgba }, onClick: e => this.handleClickRole(e, role), id: elId }, ((_a = this.rolesCompleted[role.id]) === null || _a === void 0 ? void 0 : _a.first_name) ? jsSdk.formatFullName(this.rolesCompleted[role.id]) : role.role_name, index.h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (index.h("verdocs-portal", { anchor: elId, onClickAway: () => (this.showPickerForId = '') }, index.h("verdocs-contact-picker", { onExit: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: (_b = this.rolesCompleted[role.id]) !== null && _b !== void 0 ? _b : role, onSearchContacts: e => { var _a; return (_a = this.searchContacts) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } }))))) : (index.h("div", { class: "recipient", style: { borderColor: rgba }, onClick: e => this.handleClickRole(e, role), id: elId }, ((_c = this.rolesCompleted[role.id]) === null || _c === void 0 ? void 0 : _c.first_name) ? jsSdk.formatFullName(this.rolesCompleted[role.id]) : role.role_name, index.h("div", { class: "icon", innerHTML: editIcon }), this.showPickerForId === role.id && (index.h("verdocs-portal", { anchor: elId, onClickAway: () => (this.showPickerForId = '') }, index.h("verdocs-contact-picker", { onExit: () => (this.showPickerForId = ''), onNext: e => this.handleSelectContact(e, role), contactSuggestions: this.sessionContacts, templateRole: ((_d = this.rolesCompleted[role.id]) !== null && _d !== void 0 ? _d : role), onSearchContacts: e => { var _a; return (_a = this.searchContacts) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })))));
|
315
315
|
})))), index.h("div", { class: `level level-done` }, this.getLevelIcon(levels.length), index.h("div", { class: "complete" }, "Signing Complete"))), index.h("div", { class: "buttons" }, index.h("verdocs-button", { label: "Cancel", size: "small", variant: "outline", onClick: e => this.handleCancel(e), disabled: this.sending }), index.h("verdocs-button", { label: "Send", size: "small", disabled: !allRolesAssigned || this.sending, onClick: e => this.handleSend(e) }), this.sending && index.h("verdocs-spinner", null))));
|
316
316
|
}
|
317
317
|
static get watchers() { return {
|
@@ -330,6 +330,7 @@ const VerdocsTemplateAttachments = class {
|
|
330
330
|
this.next = index.createEvent(this, "next", 7);
|
331
331
|
this.templateUpdated = index.createEvent(this, "templateUpdated", 7);
|
332
332
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
333
|
+
this.templateListenerId = null;
|
333
334
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
334
335
|
this.templateId = '';
|
335
336
|
this.uploading = false;
|
@@ -337,7 +338,8 @@ const VerdocsTemplateAttachments = class {
|
|
337
338
|
this.progressPercent = 0;
|
338
339
|
this.showDeleteError = false;
|
339
340
|
this.confirmDeleteDocument = null;
|
340
|
-
this.
|
341
|
+
this.loading = true;
|
342
|
+
this.template = null;
|
341
343
|
}
|
342
344
|
async componentWillLoad() {
|
343
345
|
var _a, _b, _c;
|
@@ -351,13 +353,29 @@ const VerdocsTemplateAttachments = class {
|
|
351
353
|
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
352
354
|
return;
|
353
355
|
}
|
354
|
-
this.
|
356
|
+
this.listenToTemplate();
|
355
357
|
}
|
356
358
|
catch (e) {
|
357
359
|
console.log('[TEMPLATE ATTACHMENTS] Error loading template', e);
|
358
360
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
359
361
|
}
|
360
362
|
}
|
363
|
+
disconnectedCallback() {
|
364
|
+
this.unlistenToTemplate();
|
365
|
+
}
|
366
|
+
async listenToTemplate() {
|
367
|
+
this.unlistenToTemplate();
|
368
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
369
|
+
this.template = template;
|
370
|
+
this.loading = false;
|
371
|
+
});
|
372
|
+
}
|
373
|
+
unlistenToTemplate() {
|
374
|
+
if (this.templateListenerId) {
|
375
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
376
|
+
this.templateListenerId = null;
|
377
|
+
}
|
378
|
+
}
|
361
379
|
handleCancel(e) {
|
362
380
|
e.stopPropagation();
|
363
381
|
this.exit.emit();
|
@@ -384,9 +402,10 @@ const VerdocsTemplateAttachments = class {
|
|
384
402
|
try {
|
385
403
|
const template = await jsSdk.createTemplateDocument(this.endpoint, this.templateId, file, this.handleUploadProgress.bind(this));
|
386
404
|
console.log('[ATTACHMENTS] Created attachment', template);
|
387
|
-
|
388
|
-
|
389
|
-
|
405
|
+
// TODO: Just updated it in place.
|
406
|
+
this.template = await Datastore.Store.getTemplate(this.endpoint, this.templateId, true);
|
407
|
+
console.log('[ATTACHMENTS] Updated template', this.template);
|
408
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.template, event: 'attachments' });
|
390
409
|
this.uploading = false;
|
391
410
|
this.progressLabel = '';
|
392
411
|
this.progressPercent = 0;
|
@@ -403,17 +422,18 @@ const VerdocsTemplateAttachments = class {
|
|
403
422
|
this.uploading = false;
|
404
423
|
this.progressLabel = '';
|
405
424
|
this.progressPercent = 0;
|
406
|
-
(_a = this.next) === null || _a === void 0 ? void 0 : _a.emit({ template: this.
|
425
|
+
(_a = this.next) === null || _a === void 0 ? void 0 : _a.emit({ template: this.template });
|
407
426
|
}
|
408
427
|
async confirmDelete() {
|
409
428
|
await jsSdk.deleteTemplateDocument(this.endpoint, this.templateId, this.confirmDeleteDocument.id);
|
410
|
-
|
411
|
-
|
429
|
+
// TODO: Update it in place
|
430
|
+
this.template = await Datastore.Store.getTemplate(this.endpoint, this.templateId, true);
|
431
|
+
console.log('[ATTACHMENTS] New template', this.template);
|
412
432
|
this.confirmDeleteDocument = null;
|
413
433
|
}
|
414
434
|
async handleDelete(document) {
|
415
435
|
var _a;
|
416
|
-
if (((_a = this.
|
436
|
+
if ((((_a = this.template) === null || _a === void 0 ? void 0 : _a.documents) || []).length > 1) {
|
417
437
|
this.confirmDeleteDocument = document;
|
418
438
|
}
|
419
439
|
else {
|
@@ -435,19 +455,18 @@ const VerdocsTemplateAttachments = class {
|
|
435
455
|
return Icons.FileIcon;
|
436
456
|
}
|
437
457
|
render() {
|
438
|
-
var _a, _b
|
458
|
+
var _a, _b;
|
439
459
|
if (!this.endpoint.session) {
|
440
460
|
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
441
461
|
}
|
442
|
-
|
443
|
-
if (!templateState.isLoaded) {
|
462
|
+
if (this.loading) {
|
444
463
|
return (index.h(index.Host, { class: "loading" }, index.h("verdocs-loader", null)));
|
445
464
|
}
|
446
465
|
// This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
|
447
|
-
if (!this.endpoint.session || !
|
466
|
+
if (!this.endpoint.session || !this.template) {
|
448
467
|
return index.h(index.Host, { class: "empty" });
|
449
468
|
}
|
450
|
-
return (index.h(index.Host, null, index.h("h5", null, "Existing Attachments"), index.h("div", { class: "attachments" }, (
|
469
|
+
return (index.h(index.Host, null, index.h("h5", null, "Existing Attachments"), index.h("div", { class: "attachments" }, (((_a = this.template) === null || _a === void 0 ? void 0 : _a.documents) || []).map(document => (index.h("div", { class: "attachment" }, index.h("div", { class: "file-icon", innerHTML: this.getFileIcon(document) }), index.h("div", { class: "filename", title: document.name }, document.name), index.h("div", { class: "pages" }, index.h("div", { class: "count" }, document.pages), index.h("div", { class: "pages-icon", innerHTML: Icons.PageCountIcon })), index.h("div", { class: "trash-icon", innerHTML: Icons.TrashIcon, onClick: () => this.handleDelete(document) }))))), index.h("h5", null, "Attach a New Document"), this.uploading ? (index.h("div", { class: "loader-wrapper" }, index.h("verdocs-loader", null), this.progressLabel && (index.h("div", { class: "progress-wrapper" }, index.h("verdocs-progress-bar", { showPercent: true, percent: this.progressPercent, label: this.progressLabel }))))) : (index.h("verdocs-file-chooser", { onFileSelected: e => this.handleUpload(e) })), index.h("div", { class: "buttons" }, index.h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e), disabled: this.uploading }), index.h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleNext(e), disabled: !(((_b = this.template) === null || _b === void 0 ? void 0 : _b.documents) || []).length || this.uploading })), this.showDeleteError && (index.h("verdocs-ok-dialog", { heading: "Unable to Delete Attachment", message: "Templates must contain at least one attachment.", onNext: () => (this.showDeleteError = false) })), this.confirmDeleteDocument && (index.h("verdocs-ok-dialog", { heading: "Delete this Attachment?", message: "This operation cannot be undone. All fields placed<br />on the deleted attachment will also be removed.", onNext: () => this.confirmDelete(), showCancel: true, onExit: () => {
|
451
470
|
this.confirmDeleteDocument = null;
|
452
471
|
} }))));
|
453
472
|
}
|
@@ -465,21 +484,38 @@ const VerdocsTemplateBuildTabs = class {
|
|
465
484
|
index.registerInstance(this, hostRef);
|
466
485
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
467
486
|
this.stepChanged = index.createEvent(this, "stepChanged", 7);
|
487
|
+
this.templateListenerId = null;
|
468
488
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
469
489
|
this.templateId = null;
|
470
490
|
this.step = 'preview';
|
471
|
-
this.
|
491
|
+
this.loading = true;
|
492
|
+
this.template = null;
|
493
|
+
}
|
494
|
+
disconnectedCallback() {
|
495
|
+
this.unlistenToTemplate();
|
496
|
+
}
|
497
|
+
async listenToTemplate() {
|
498
|
+
this.unlistenToTemplate();
|
499
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
500
|
+
this.template = template;
|
501
|
+
this.loading = false;
|
502
|
+
});
|
503
|
+
}
|
504
|
+
unlistenToTemplate() {
|
505
|
+
if (this.templateListenerId) {
|
506
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
507
|
+
this.templateListenerId = null;
|
508
|
+
}
|
472
509
|
}
|
473
510
|
onTemplateIdChanged(newTemplateId) {
|
474
511
|
console.log('[BUILD_TABS] Template ID changed', newTemplateId);
|
475
|
-
this.
|
512
|
+
this.listenToTemplate();
|
476
513
|
}
|
477
514
|
onStepChanged(newStep) {
|
478
515
|
console.log('[BUILD_TABS] Step changed', newStep);
|
479
|
-
this.loadTemplate(this.templateId).catch((e) => console.log('Unknown Error', e));
|
480
516
|
}
|
481
517
|
async componentWillLoad() {
|
482
|
-
var _a, _b, _c
|
518
|
+
var _a, _b, _c;
|
483
519
|
try {
|
484
520
|
this.endpoint.loadSession();
|
485
521
|
if (!this.endpoint.session) {
|
@@ -491,27 +527,16 @@ const VerdocsTemplateBuildTabs = class {
|
|
491
527
|
console.log('[BUILD_TABS] Missing required template ID, forcing view to attachments');
|
492
528
|
return;
|
493
529
|
}
|
494
|
-
|
495
|
-
this.templateStore = await TemplateStore.getTemplateStore(this.endpoint, this.templateId, false);
|
496
|
-
}
|
497
|
-
catch (e) {
|
498
|
-
console.log('[BUILD_TABS] Error loading template', e);
|
499
|
-
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
500
|
-
}
|
530
|
+
this.listenToTemplate();
|
501
531
|
}
|
502
532
|
catch (e) {
|
503
533
|
console.log('[BUILD_TABS] Error loading template', e);
|
504
|
-
(
|
505
|
-
}
|
506
|
-
}
|
507
|
-
async loadTemplate(templateId) {
|
508
|
-
if (templateId) {
|
509
|
-
this.templateStore = await TemplateStore.getTemplateStore(this.endpoint, templateId, false);
|
534
|
+
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
510
535
|
}
|
511
536
|
}
|
512
537
|
setStep(e) {
|
513
538
|
var _a;
|
514
|
-
console.log('Selected step', e.detail.tab.id);
|
539
|
+
console.log('[BUILD_TABS] Selected step', e.detail.tab.id);
|
515
540
|
e.stopPropagation();
|
516
541
|
e.preventDefault();
|
517
542
|
this.step = e.detail.tab.id;
|
@@ -530,18 +555,16 @@ const VerdocsTemplateBuildTabs = class {
|
|
530
555
|
});
|
531
556
|
}
|
532
557
|
render() {
|
533
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
558
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
559
|
+
if (this.loading) {
|
560
|
+
return (index.h(index.Host, null, index.h("verdocs-loader", null)));
|
561
|
+
}
|
534
562
|
if (!this.endpoint.session) {
|
535
563
|
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
536
564
|
}
|
537
|
-
|
538
|
-
let canEditFields =
|
539
|
-
|
540
|
-
if (this.templateId && this.templateStore && this.templateStore.state) {
|
541
|
-
canEditRoles = ((_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.documents) === null || _c === void 0 ? void 0 : _c.length) > 0;
|
542
|
-
canEditFields = canEditRoles && ((_f = (_e = (_d = this.templateStore) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.roles) === null || _f === void 0 ? void 0 : _f.length) > 0;
|
543
|
-
canPreview = canEditFields && ((_j = (_h = (_g = this.templateStore) === null || _g === void 0 ? void 0 : _g.state) === null || _h === void 0 ? void 0 : _h.fields) === null || _j === void 0 ? void 0 : _j.length) > 0;
|
544
|
-
}
|
565
|
+
const canEditRoles = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.documents) || []).length > 0;
|
566
|
+
let canEditFields = canEditRoles && (((_b = this.template) === null || _b === void 0 ? void 0 : _b.roles) || []).length > 0;
|
567
|
+
const canPreview = canEditFields && (((_c = this.template) === null || _c === void 0 ? void 0 : _c.fields) || []).length > 0;
|
545
568
|
let selectedStepIndex = Math.max(STEPS.indexOf(this.step), 0);
|
546
569
|
if (!canPreview && selectedStepIndex >= 4) {
|
547
570
|
selectedStepIndex = 3;
|
@@ -558,8 +581,8 @@ const VerdocsTemplateBuildTabs = class {
|
|
558
581
|
{ id: 'settings', disabled: !canEditFields, label: 'Settings' },
|
559
582
|
{ id: 'fields', disabled: !canEditFields, label: 'Fields' },
|
560
583
|
{ id: 'preview', disabled: !canPreview, label: 'Preview/Send' },
|
561
|
-
] }), this.templateId && (index.h("div", { class: "info" }, index.h("verdocs-button-panel", { icon: HelpIcon }, index.h("div", { class: "template-details-panel" }, index.h("h6", null, "Template Details"), index.h("div", { class: "row" }, index.h("label", null, "ID:"), index.h("div", { class: "value" }, this.templateId), index.h("div", { class: "icon-button", innerHTML: CopyIcon, onClick: () => this.copyTemplateId() })), index.h("div", { class: "row" }, index.h("label", null, "Name:"), index.h("div", { class: "value" }, (
|
562
|
-
|
584
|
+
] }), this.templateId && (index.h("div", { class: "info" }, index.h("verdocs-button-panel", { icon: HelpIcon }, index.h("div", { class: "template-details-panel" }, index.h("h6", null, "Template Details"), index.h("div", { class: "row" }, index.h("label", null, "ID:"), index.h("div", { class: "value" }, this.templateId), index.h("div", { class: "icon-button", innerHTML: CopyIcon, onClick: () => this.copyTemplateId() })), index.h("div", { class: "row" }, index.h("label", null, "Name:"), index.h("div", { class: "value" }, (_d = this.template) === null || _d === void 0 ? void 0 : _d.name)), index.h("div", { class: "row" }, index.h("label", null, "Visibility:"), index.h("div", { class: "value" }, ((_e = this.template) === null || _e === void 0 ? void 0 : _e.is_public) ? 'Public' : ((_f = this.template) === null || _f === void 0 ? void 0 : _f.is_personal) ? 'Private' : 'Shared')), index.h("div", { class: "row" }, index.h("label", null, "Created:"), index.h("div", { class: "value" }, ((_g = this.template) === null || _g === void 0 ? void 0 : _g.counter) ? format.format(new Date((_h = this.template) === null || _h === void 0 ? void 0 : _h.created_at), 'P p') : '')), index.h("div", { class: "row" }, index.h("label", null, "Used:"), index.h("div", { class: "value" }, (_j = this.template) === null || _j === void 0 ? void 0 :
|
585
|
+
_j.counter, " time(s)"))))))));
|
563
586
|
}
|
564
587
|
static get watchers() { return {
|
565
588
|
"templateId": ["onTemplateIdChanged"],
|
@@ -568,112 +591,6 @@ const VerdocsTemplateBuildTabs = class {
|
|
568
591
|
};
|
569
592
|
VerdocsTemplateBuildTabs.style = VerdocsTemplateBuildTabsStyle0;
|
570
593
|
|
571
|
-
const verdocsTemplateCreateCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-template-create{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-create form{background-color:#ffffff;padding:12px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-template-create form .upload-box{-webkit-box-sizing:border-box;box-sizing:border-box;width:320px;text-align:center;padding:44px 18px 66px;border:2px dashed #979797;color:rgba(0, 0, 0, 0.54)}verdocs-template-create form .upload-box.drag-over{border:2px solid #4c56cb}verdocs-template-create form .upload-box svg{width:64px;fill:#5c6575}verdocs-template-create p{color:#33364b;margin-top:20px;font-size:18px;font-weight:500;overflow-wrap:anywhere}verdocs-template-create p.subscript{color:#5c6575;font-size:14px;margin:20px}verdocs-template-create .loader-wrapper{background-color:#ffffff;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:320px;height:320px;text-align:center;border:2px dashed #979797;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-create .progress-wrapper{padding:20px}verdocs-template-create .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:end;justify-content:flex-end}verdocs-template-create .buttons .flex-fill{-ms-flex:1;flex:1}verdocs-template-create ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-create ::-moz-placeholder{color:#aaaaaa}verdocs-template-create :-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-create ::placeholder{color:#aaaaaa}verdocs-template-create .error{margin:20px 0;color:#cc0000}";
|
572
|
-
const VerdocsTemplateCreateStyle0 = verdocsTemplateCreateCss;
|
573
|
-
|
574
|
-
const FileIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24"><path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"></path></svg>';
|
575
|
-
const VerdocsTemplateCreate = class {
|
576
|
-
constructor(hostRef) {
|
577
|
-
index.registerInstance(this, hostRef);
|
578
|
-
this.exit = index.createEvent(this, "exit", 7);
|
579
|
-
this.next = index.createEvent(this, "next", 7);
|
580
|
-
this.sdkError = index.createEvent(this, "sdkError", 7);
|
581
|
-
this.templateCreated = index.createEvent(this, "templateCreated", 7);
|
582
|
-
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
583
|
-
this.maxSize = 20.5 * 1024 * 1024;
|
584
|
-
this.file = undefined;
|
585
|
-
this.creating = false;
|
586
|
-
this.progressLabel = 'Uploading...';
|
587
|
-
this.progressPercent = 0;
|
588
|
-
this.errorMessage = '';
|
589
|
-
}
|
590
|
-
componentWillLoad() {
|
591
|
-
this.endpoint.setTimeout(30000);
|
592
|
-
this.endpoint.loadSession();
|
593
|
-
}
|
594
|
-
handleFileChanged(e) {
|
595
|
-
var _a;
|
596
|
-
this.errorMessage = '';
|
597
|
-
this.file = ((_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0]) || null;
|
598
|
-
console.log('[CREATE] Selected file', this.file);
|
599
|
-
const totalSize = this.file.size;
|
600
|
-
if (totalSize > this.maxSize) {
|
601
|
-
this.errorMessage = 'Total file size must not exceed 20MB.';
|
602
|
-
}
|
603
|
-
}
|
604
|
-
handleUpload(e) {
|
605
|
-
e.stopPropagation();
|
606
|
-
const fileElem = document.getElementById('verdocs-template-create-file');
|
607
|
-
fileElem.click();
|
608
|
-
}
|
609
|
-
handleCancel(e) {
|
610
|
-
e.stopPropagation();
|
611
|
-
this.exit.emit();
|
612
|
-
}
|
613
|
-
async handleSubmit(e) {
|
614
|
-
var _a, _b, _c;
|
615
|
-
e.stopPropagation();
|
616
|
-
// Should be true if we're here because onClick is only enabled then. We're just guarding this for Typescript.
|
617
|
-
if (!this.file) {
|
618
|
-
return;
|
619
|
-
}
|
620
|
-
this.creating = true;
|
621
|
-
this.progressLabel = 'Uploading...';
|
622
|
-
try {
|
623
|
-
const template = await jsSdk.createTemplate(this.endpoint, {
|
624
|
-
name: this.file.name,
|
625
|
-
// TODO: Make optional in the SDK
|
626
|
-
initial_reminder: 0,
|
627
|
-
followup_reminders: 0,
|
628
|
-
documents: [this.file],
|
629
|
-
}, percent => {
|
630
|
-
if (percent >= 99) {
|
631
|
-
this.progressLabel = 'Processing...';
|
632
|
-
this.progressPercent = 100;
|
633
|
-
}
|
634
|
-
else {
|
635
|
-
this.progressPercent = percent;
|
636
|
-
}
|
637
|
-
});
|
638
|
-
console.log('[CREATE] Created template', template);
|
639
|
-
TemplateStore.getTemplateStore(this.endpoint, template.id, true)
|
640
|
-
.then(() => {
|
641
|
-
var _a, _b;
|
642
|
-
(_a = this.templateCreated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template, templateId: template.id });
|
643
|
-
(_b = this.next) === null || _b === void 0 ? void 0 : _b.emit(template);
|
644
|
-
this.creating = false;
|
645
|
-
this.progressLabel = '';
|
646
|
-
this.progressPercent = 0;
|
647
|
-
})
|
648
|
-
.catch(e => {
|
649
|
-
console.log(e);
|
650
|
-
});
|
651
|
-
}
|
652
|
-
catch (e) {
|
653
|
-
console.log('[CREATE] Error creating template', e);
|
654
|
-
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
655
|
-
this.creating = false;
|
656
|
-
}
|
657
|
-
}
|
658
|
-
render() {
|
659
|
-
if (!this.endpoint.session) {
|
660
|
-
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
661
|
-
}
|
662
|
-
return (index.h(index.Host, null, index.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index.h("input", { type: "file", id: "verdocs-template-create-file", multiple: true, accept: ".pdf,application/pdf,.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document", style: { display: 'none' }, onChange: e => this.handleFileChanged(e) }), this.creating ? (index.h("div", { class: "loader-wrapper" }, index.h("verdocs-loader", null), this.progressLabel && (index.h("div", { class: "progress-wrapper" }, index.h("verdocs-progress-bar", { showPercent: true, percent: this.progressPercent, label: this.progressLabel }))))) : (index.h("div", { class: "upload-box", onDrop: (e) => {
|
663
|
-
e.preventDefault();
|
664
|
-
e.target.classList.remove('drag-over');
|
665
|
-
this.file = e.dataTransfer.files[0];
|
666
|
-
if (this.file.size > this.maxSize) {
|
667
|
-
this.errorMessage = 'Total file size must not exceed 20MB.';
|
668
|
-
}
|
669
|
-
}, onDragOver: (e) => {
|
670
|
-
e.preventDefault();
|
671
|
-
e.dataTransfer.dropEffect = 'copy';
|
672
|
-
}, onDragEnter: (e) => e.target.classList.add('drag-over'), onDragLeave: (e) => e.target.classList.remove('drag-over') }, index.h("span", { innerHTML: FileIcon, style: { display: 'flex', justifyContent: 'center' } }), index.h("p", null, this.file ? this.file.name : 'Drag and drop your files here'), index.h("p", { class: "subscript" }, "Supported files: PDF, Word"), index.h("verdocs-button", { label: this.file ? 'Select a different file' : 'Select a file from your computer', size: "small", onClick: e => this.handleUpload(e) }))), !!this.errorMessage && index.h("div", { class: "error" }, this.errorMessage), index.h("div", { class: "buttons" }, index.h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e), disabled: this.creating }), index.h("verdocs-button", { label: "Next", size: "small", onClick: e => this.handleSubmit(e), disabled: !this.file || this.creating || !!this.errorMessage })))));
|
673
|
-
}
|
674
|
-
};
|
675
|
-
VerdocsTemplateCreate.style = VerdocsTemplateCreateStyle0;
|
676
|
-
|
677
594
|
const verdocsTemplateFieldsCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-template-fields{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif;position:relative;display:block;min-height:600px}verdocs-template-fields .page-0{padding:65px 15px 0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields .page-0 .user-placed-fields{height:100px;position:relative;background:#ffffff;-webkit-box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294);box-shadow:0 0 10px 5px rgba(0, 0, 0, 0.0588235294)}verdocs-template-fields .page-0 .user-placed-fields .title{top:0;left:0;color:#ffffff;font-size:12px;padding:3px 6px;font-weight:bold;position:absolute;background:#46497d}verdocs-template-fields .pages{display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column}verdocs-template-fields .pages div,verdocs-template-fields .pages canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-template-fields #verdocs-template-fields-toolbar{height:50px;display:-ms-flexbox;display:flex;-webkit-column-gap:15px;-moz-column-gap:15px;column-gap:15px;font-weight:700;padding:0 20px 0 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;color:#f5f5fa;-ms-flex-pack:center;justify-content:center;background:#46497d}verdocs-template-fields #verdocs-template-fields-toolbar>verdocs-select-input{margin:0}verdocs-template-fields #verdocs-template-fields-toolbar svg{width:24px;height:24px}verdocs-template-fields #verdocs-template-fields-toolbar .add-for{margin:0;font-weight:500;color:#f5f5fa}verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{margin:0 20px 0 0}@media all and (max-width: 1000px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;padding:0 10px 0 0}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.8);transform:scale(0.8)}verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}@media all and (max-width: 600px){verdocs-template-fields #verdocs-template-fields-toolbar{-webkit-column-gap:6px;-moz-column-gap:6px;column-gap:6px}verdocs-template-fields #verdocs-template-fields-toolbar svg{-webkit-transform:scale(0.6);transform:scale(0.6)}verdocs-template-fields #verdocs-template-fields-toolbar .separator,verdocs-template-fields #verdocs-template-fields-toolbar .add-for,verdocs-template-fields #verdocs-template-fields-toolbar verdocs-select-input{display:none}}verdocs-template-fields.placing-attachment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-checkbox{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-date{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-dropdown{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24' stroke-width='1.5' stroke='currentColor'%3E%3Cpath stroke='%23000000' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25' /%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-initial{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-payment{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m10.55 16.55 7.275-7.275L16.05 7.5l-5.5 5.45-2.675-2.65L6.1 12.075Zm-5.375 4.925q-1.125 0-1.887-.763-.763-.762-.763-1.887V5.175q0-1.125.763-1.888.762-.762 1.887-.762h13.65q1.125 0 1.888.762.762.763.762 1.888v13.65q0 1.125-.762 1.887-.763.763-1.888.763Zm0-2.65h13.65V5.175H5.175v13.65Zm0-13.65v13.65-13.65Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-radio{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M12 17q2.075 0 3.538-1.463Q17 14.075 17 12t-1.462-3.538Q14.075 7 12 7 9.925 7 8.463 8.462 7 9.925 7 12q0 2.075 1.463 3.537Q9.925 17 12 17Zm0 5.85q-2.275 0-4.25-.85t-3.438-2.312Q2.85 18.225 2 16.25q-.85-1.975-.85-4.25T2 7.75q.85-1.975 2.312-3.438Q5.775 2.85 7.75 2q1.975-.85 4.25-.85t4.25.85q1.975.85 3.438 2.312Q21.15 5.775 22 7.75q.85 1.975.85 4.25T22 16.25q-.85 1.975-2.312 3.438Q18.225 21.15 16.25 22q-1.975.85-4.25.85Zm0-3.15q3.25 0 5.475-2.225Q19.7 15.25 19.7 12q0-3.25-2.225-5.475Q15.25 4.3 12 4.3q-3.25 0-5.475 2.225Q4.3 8.75 4.3 12q0 3.25 2.225 5.475Q8.75 19.7 12 19.7Zm0-7.7Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-signature{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textarea{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath d='M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z'/%3E%3C/svg%3E\") 16 16, pointer}verdocs-template-fields.placing-textbox{cursor:url(\"data:image/svg+xml,%3Csvg width='32' height='15' viewBox='0 0 32 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='path-1-inside-1_1401_24' fill='white'%3E%3Cpath d='M0 0H32V15H0V0Z'/%3E%3C/mask%3E%3Cpath d='M0 0H32V15H0V0Z' fill='%234C56CB' fill-opacity='0.1'/%3E%3Cpath d='M0 0V-1H-1V0H0ZM0 15H-1V16H0V15ZM0 1H32V-1H0V1ZM32 14H0V16H32V14ZM1 15V0H-1V15H1Z' fill='%234C56CB' mask='url(%23path-1-inside-1_1401_24)'/%3E%3Cpath d='M3 11.8V8.65H14.15V11.8H3ZM3 6.65V3.5H20.15V6.65H3Z' fill='%234C56CB'/%3E%3Cline x1='31.5' y1='1' x2='31.5' y2='14' stroke='%234C56CB' stroke-opacity='0.32' stroke-dasharray='1 1'/%3E%3C/svg%3E%0A\") 0 14, pointer}verdocs-template-fields.placing-timestamp{cursor:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24' width='24'%3E%3Cpath fill='%23000000' d='M9 1h6v2H9zm10.03 6.39 1.42-1.42c-.43-.51-.9-.99-1.41-1.41l-1.42 1.42C16.07 4.74 14.12 4 12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9 9-4.03 9-9c0-2.12-.74-4.07-1.97-5.61zM13 14h-2V8h2v6z'%3E%3C/path%3E%3C/svg%3E\") 16 16, pointer}";
|
678
595
|
const VerdocsTemplateFieldsStyle0 = verdocsTemplateFieldsCss;
|
679
596
|
|
@@ -708,10 +625,8 @@ const VerdocsTemplateFields = class {
|
|
708
625
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
709
626
|
this.templateUpdated = index.createEvent(this, "templateUpdated", 7);
|
710
627
|
this.fieldsUpdated = index.createEvent(this, "fieldsUpdated", 7);
|
628
|
+
this.templateListenerId = null;
|
711
629
|
this.pageHeights = {};
|
712
|
-
this.templateStore = null;
|
713
|
-
this.fieldStore = null;
|
714
|
-
this.roleStore = null;
|
715
630
|
this.cachedPageInfo = {};
|
716
631
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
717
632
|
this.templateId = null;
|
@@ -720,9 +635,10 @@ const VerdocsTemplateFields = class {
|
|
720
635
|
this.showMustSelectRole = false;
|
721
636
|
this.selectedRoleName = '';
|
722
637
|
this.loading = true;
|
638
|
+
this.template = null;
|
723
639
|
}
|
724
|
-
onTemplateIdChanged(
|
725
|
-
this.
|
640
|
+
onTemplateIdChanged() {
|
641
|
+
this.listenToTemplate();
|
726
642
|
}
|
727
643
|
// Stop field-placement mode if ESC is pressed
|
728
644
|
handleKeyDown(ev) {
|
@@ -731,7 +647,7 @@ const VerdocsTemplateFields = class {
|
|
731
647
|
}
|
732
648
|
}
|
733
649
|
async componentWillLoad() {
|
734
|
-
var _a, _b, _c
|
650
|
+
var _a, _b, _c;
|
735
651
|
try {
|
736
652
|
this.endpoint.loadSession();
|
737
653
|
if (!this.templateId) {
|
@@ -742,17 +658,11 @@ const VerdocsTemplateFields = class {
|
|
742
658
|
console.log('[FIELDS] Unable to start builder session, must be authenticated');
|
743
659
|
return;
|
744
660
|
}
|
745
|
-
|
746
|
-
this.loadTemplate(this.templateId).catch(e => console.log('[BUILD] Unable to load template', e));
|
747
|
-
}
|
748
|
-
catch (e) {
|
749
|
-
console.log('[FIELDS] Error loading template', e);
|
750
|
-
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
751
|
-
}
|
661
|
+
this.listenToTemplate();
|
752
662
|
}
|
753
663
|
catch (e) {
|
754
664
|
console.log('[FIELDS] Error with fields session', e);
|
755
|
-
(
|
665
|
+
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new errors.SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
756
666
|
}
|
757
667
|
}
|
758
668
|
componentDidRender() {
|
@@ -768,35 +678,40 @@ const VerdocsTemplateFields = class {
|
|
768
678
|
componentWillUpdate() {
|
769
679
|
var _a, _b;
|
770
680
|
// If a new role was added and there were none yet so far, or the "selected" role was deleted, reset our selection
|
771
|
-
const roles = ((_a = this.
|
681
|
+
const roles = ((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || [];
|
772
682
|
if (!this.selectedRoleName || !roles.find(role => role && role.name === this.selectedRoleName)) {
|
773
683
|
this.selectedRoleName = ((_b = roles[0]) === null || _b === void 0 ? void 0 : _b.name) || '';
|
774
684
|
console.log('[FIELDS] Selected new role', this.selectedRoleName);
|
775
685
|
}
|
776
686
|
}
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
this.
|
687
|
+
disconnectedCallback() {
|
688
|
+
this.unlistenToTemplate();
|
689
|
+
}
|
690
|
+
async listenToTemplate() {
|
691
|
+
this.unlistenToTemplate();
|
692
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
693
|
+
var _a, _b;
|
694
|
+
this.template = template;
|
785
695
|
this.loading = false;
|
786
|
-
|
787
|
-
|
696
|
+
this.selectedRoleName = ((_b = (_a = template.roles) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name) || '';
|
697
|
+
});
|
698
|
+
}
|
699
|
+
unlistenToTemplate() {
|
700
|
+
if (this.templateListenerId) {
|
701
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
702
|
+
this.templateListenerId = null;
|
788
703
|
}
|
789
704
|
}
|
790
705
|
attachFieldAttributes(pageInfo, field, el) {
|
791
706
|
// el.addEventListener('input', e => this.handleFieldChange(field, e));
|
792
707
|
el.addEventListener('settingsChanged', () => {
|
793
|
-
var _a
|
794
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template:
|
708
|
+
var _a;
|
709
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.template, event: 'added-field' });
|
795
710
|
});
|
796
711
|
el.addEventListener('deleted', () => {
|
797
|
-
var _a
|
712
|
+
var _a;
|
798
713
|
el.remove();
|
799
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template:
|
714
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: this.template, event: 'updated-field' });
|
800
715
|
});
|
801
716
|
el.setAttribute('templateid', this.templateId);
|
802
717
|
el.setAttribute('fieldname', field.name);
|
@@ -806,12 +721,12 @@ const VerdocsTemplateFields = class {
|
|
806
721
|
el.setAttribute('name', field.name);
|
807
722
|
}
|
808
723
|
handlePageRendered(e) {
|
724
|
+
var _a;
|
809
725
|
const pageInfo = e.detail;
|
810
726
|
// console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo.xScale, pageInfo.yScale);
|
811
727
|
this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
|
812
728
|
this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
|
813
|
-
this.
|
814
|
-
.get('fields')
|
729
|
+
(((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || [])
|
815
730
|
.filter(field => field && field.page === pageInfo.pageNumber)
|
816
731
|
.forEach(field => {
|
817
732
|
const id = utils.getFieldId(field);
|
@@ -843,10 +758,9 @@ const VerdocsTemplateFields = class {
|
|
843
758
|
utils.updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
|
844
759
|
}
|
845
760
|
async handleMoveEnd(event) {
|
846
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
761
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
847
762
|
const name = event.target.getAttribute('fieldname');
|
848
|
-
const
|
849
|
-
const field = this.fieldStore.get('fields').find(field => field.name === name);
|
763
|
+
const field = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).find(field => field.name === name);
|
850
764
|
if (!field) {
|
851
765
|
console.log('[FIELDS] Unable to find field', name, event.target);
|
852
766
|
return;
|
@@ -862,10 +776,9 @@ const VerdocsTemplateFields = class {
|
|
862
776
|
// (positive displacement) while bottom measures "up" from the bottom (negative displacement).
|
863
777
|
const newX = Math.max(clientRect.left - parentRect.left, 0);
|
864
778
|
let newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
|
865
|
-
console.log('drop', { pageNumber, newX, newY });
|
866
779
|
let newPageNumber = parseInt(pageNumber);
|
867
780
|
if (newY > renderedHeight) {
|
868
|
-
newPageNumber = Math.min(newPageNumber + 1, ((_d = (_c = (_b =
|
781
|
+
newPageNumber = Math.min(newPageNumber + 1, ((_d = (_c = (((_b = this.template) === null || _b === void 0 ? void 0 : _b.documents) || [])) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.pages) || 1);
|
869
782
|
newY -= renderedHeight;
|
870
783
|
renderedHeight = this.cachedPageInfo[newPageNumber].renderedHeight;
|
871
784
|
console.log('Next page', { newPageNumber, newY, renderedHeight });
|
@@ -874,38 +787,43 @@ const VerdocsTemplateFields = class {
|
|
874
787
|
newPageNumber = Math.max(newPageNumber - 1, 1);
|
875
788
|
renderedHeight = this.cachedPageInfo[newPageNumber].renderedHeight;
|
876
789
|
newY += renderedHeight;
|
877
|
-
console.log('Next page', { newPageNumber, newY, renderedHeight });
|
790
|
+
console.log('[FIELDS] Next page', { newPageNumber, newY, renderedHeight });
|
878
791
|
}
|
879
792
|
const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - width, naturalHeight - height);
|
880
793
|
try {
|
881
794
|
const params = { x, y, page: newPageNumber };
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
795
|
+
const updatedField = await jsSdk.updateField(this.endpoint, this.templateId, name, params);
|
796
|
+
console.log('[FIELDS] Updated', updatedField);
|
797
|
+
const newTemplate = JSON.parse(JSON.stringify(this.template));
|
798
|
+
const fieldIndex = newTemplate.fields.findIndex(field => field.name === name);
|
799
|
+
if (fieldIndex > -1) {
|
800
|
+
newTemplate.fields[fieldIndex] = updatedField;
|
801
|
+
}
|
802
|
+
Datastore.Store.updateTemplate(this.templateId, newTemplate);
|
886
803
|
event.target.removeAttribute('posX');
|
887
804
|
event.target.removeAttribute('posY');
|
888
805
|
utils.removeCssTransform(event.target);
|
889
806
|
const { xScale = 1, yScale = 1 } = this.cachedPageInfo[pageNumber];
|
890
|
-
utils.setControlStyles(event.target,
|
891
|
-
(_e = this.templateUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, template:
|
807
|
+
utils.setControlStyles(event.target, updatedField, xScale, yScale);
|
808
|
+
(_e = this.templateUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, template: newTemplate, event: 'updated-field' });
|
892
809
|
}
|
893
810
|
catch (e) {
|
894
811
|
Toast.VerdocsToast('Error updating field, please try again later', { style: 'error' });
|
895
812
|
console.log('[FIELDS] Error updating field', e);
|
896
|
-
(
|
813
|
+
(_f = this.sdkError) === null || _f === void 0 ? void 0 : _f.emit(new errors.SDKError(e.message, (_g = e.response) === null || _g === void 0 ? void 0 : _g.status, (_h = e.response) === null || _h === void 0 ? void 0 : _h.data));
|
897
814
|
event.target.removeAttribute('posX');
|
898
815
|
event.target.removeAttribute('posY');
|
899
816
|
utils.removeCssTransform(event.target);
|
900
817
|
}
|
901
818
|
}
|
902
819
|
generateFieldName(type, pageNumber) {
|
820
|
+
var _a;
|
903
821
|
let i = 1;
|
904
822
|
let fieldName;
|
905
823
|
do {
|
906
824
|
fieldName = `${type}P${pageNumber}-${i}`;
|
907
825
|
i++;
|
908
|
-
} while (this.
|
826
|
+
} while ((((_a = this.template) === null || _a === void 0 ? void 0 : _a.fields) || []).some(field => field && field.name === fieldName));
|
909
827
|
return fieldName;
|
910
828
|
}
|
911
829
|
// Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
|
@@ -916,7 +834,7 @@ const VerdocsTemplateFields = class {
|
|
916
834
|
return { x, y };
|
917
835
|
}
|
918
836
|
async handleClickPage(e, pageNumber) {
|
919
|
-
var _a
|
837
|
+
var _a;
|
920
838
|
if (this.placing) {
|
921
839
|
const clickedX = e.offsetX;
|
922
840
|
const clickedY = e.offsetY;
|
@@ -949,22 +867,24 @@ const VerdocsTemplateFields = class {
|
|
949
867
|
options: this.placing === 'radio' ? [{ id: 'option-1', label: 'Option 1' }] : [],
|
950
868
|
};
|
951
869
|
console.log('[FIELDS] Will save new field', field);
|
952
|
-
const
|
953
|
-
console.log('[FIELDS] Saved field',
|
954
|
-
|
870
|
+
const newField = await jsSdk.createField(this.endpoint, this.templateId, field);
|
871
|
+
console.log('[FIELDS] Saved field', newField);
|
872
|
+
const newTemplate = JSON.parse(JSON.stringify(this.template));
|
873
|
+
newTemplate.fields.push(newField);
|
874
|
+
Datastore.Store.updateTemplate(this.templateId, newTemplate);
|
875
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: newTemplate, event: 'added-field' });
|
955
876
|
this.placing = null;
|
956
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
|
957
877
|
}
|
958
878
|
}
|
959
879
|
render() {
|
960
880
|
var _a, _b, _c;
|
881
|
+
if (this.loading) {
|
882
|
+
return (index.h(index.Host, null, index.h("verdocs-loader", null)));
|
883
|
+
}
|
961
884
|
if (!this.endpoint.session) {
|
962
885
|
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
963
886
|
}
|
964
|
-
|
965
|
-
return (index.h(index.Host, null, index.h("verdocs-loader", null)));
|
966
|
-
}
|
967
|
-
const selectableRoles = this.roleStore.get('roles').map(role => ({ value: role.name, label: role.full_name ? `${role.name}: ${role.full_name}` : role.name }));
|
887
|
+
const selectableRoles = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => ({ value: role.name, label: role.full_name ? `${role.name}: ${role.full_name}` : role.name }));
|
968
888
|
return (index.h(index.Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, onSubmit: () => { } }, index.h("div", { id: "verdocs-template-fields-toolbar" }, index.h("div", { class: "add-for" }, "Add field:"), index.h("verdocs-select-input", { value: this.selectedRoleName, options: selectableRoles, onInput: (e) => (this.selectedRoleName = e.target.value) }), menuOptions.map(option => (index.h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, class: option.class, onClick: () => {
|
969
889
|
// We ignore empty-tooltip entries because they're separators
|
970
890
|
if (option.tooltip) {
|
@@ -976,7 +896,7 @@ const VerdocsTemplateFields = class {
|
|
976
896
|
this.showMustSelectRole = true;
|
977
897
|
}
|
978
898
|
}
|
979
|
-
} })))), index.h("div", { class: "pages" }, (((
|
899
|
+
} })))), index.h("div", { class: "pages" }, (((_b = this.template) === null || _b === void 0 ? void 0 : _b.documents) || []).map(document => {
|
980
900
|
const pageNumbers = jsSdk.integerSequence(1, document.pages);
|
981
901
|
return pageNumbers.map(page => {
|
982
902
|
const pageSize = document.page_sizes[page];
|
@@ -985,7 +905,7 @@ const VerdocsTemplateFields = class {
|
|
985
905
|
{ name: 'controls', type: 'div' },
|
986
906
|
] }));
|
987
907
|
});
|
988
|
-
})), this.showMustSelectRole && (index.h("verdocs-ok-dialog", { heading: "Unable to add field", message: this.
|
908
|
+
})), this.showMustSelectRole && (index.h("verdocs-ok-dialog", { heading: "Unable to add field", message: (((_c = this.template) === null || _c === void 0 ? void 0 : _c.roles) || []).length > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
|
989
909
|
}
|
990
910
|
static get watchers() { return {
|
991
911
|
"templateId": ["onTemplateIdChanged"]
|
@@ -993,85 +913,13 @@ const VerdocsTemplateFields = class {
|
|
993
913
|
};
|
994
914
|
VerdocsTemplateFields.style = VerdocsTemplateFieldsStyle0;
|
995
915
|
|
996
|
-
const verdocsTemplateNameCss = "";
|
997
|
-
const VerdocsTemplateNameStyle0 = verdocsTemplateNameCss;
|
998
|
-
|
999
|
-
const VerdocsTemplateName = class {
|
1000
|
-
constructor(hostRef) {
|
1001
|
-
index.registerInstance(this, hostRef);
|
1002
|
-
this.close = index.createEvent(this, "close", 7);
|
1003
|
-
this.sdkError = index.createEvent(this, "sdkError", 7);
|
1004
|
-
this.templateUpdated = index.createEvent(this, "templateUpdated", 7);
|
1005
|
-
this.store = null;
|
1006
|
-
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
1007
|
-
this.templateId = '';
|
1008
|
-
this.name = '';
|
1009
|
-
this.dirty = false;
|
1010
|
-
}
|
1011
|
-
async componentWillLoad() {
|
1012
|
-
var _a, _b, _c, _d, _e;
|
1013
|
-
try {
|
1014
|
-
this.endpoint.loadSession();
|
1015
|
-
if (!this.templateId) {
|
1016
|
-
console.log(`[ROLES] Missing required template ID ${this.templateId}`);
|
1017
|
-
return;
|
1018
|
-
}
|
1019
|
-
if (!this.endpoint.session) {
|
1020
|
-
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
1021
|
-
return;
|
1022
|
-
}
|
1023
|
-
this.store = await TemplateStore.getTemplateStore(this.endpoint, this.templateId, false);
|
1024
|
-
this.name = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.name;
|
1025
|
-
this.dirty = false;
|
1026
|
-
}
|
1027
|
-
catch (e) {
|
1028
|
-
console.log('[TEMPLATE NAME] Error loading template', e);
|
1029
|
-
(_c = this.sdkError) === null || _c === void 0 ? void 0 : _c.emit(new errors.SDKError(e.message, (_d = e.response) === null || _d === void 0 ? void 0 : _d.status, (_e = e.response) === null || _e === void 0 ? void 0 : _e.data));
|
1030
|
-
}
|
1031
|
-
}
|
1032
|
-
handleCancel(e) {
|
1033
|
-
var _a, _b, _c;
|
1034
|
-
e.stopPropagation();
|
1035
|
-
this.name = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.name;
|
1036
|
-
this.dirty = false;
|
1037
|
-
console.log('Closing');
|
1038
|
-
(_c = this.close) === null || _c === void 0 ? void 0 : _c.emit();
|
1039
|
-
}
|
1040
|
-
async handleSave(e) {
|
1041
|
-
var _a, _b, _c;
|
1042
|
-
e.stopPropagation();
|
1043
|
-
await jsSdk.updateTemplate(this.endpoint, this.templateId, { name: this.name });
|
1044
|
-
if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
|
1045
|
-
this.store.state.name = this.name;
|
1046
|
-
}
|
1047
|
-
this.dirty = false;
|
1048
|
-
(_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, template: this.store.state, event: 'name' });
|
1049
|
-
(_c = this.close) === null || _c === void 0 ? void 0 : _c.emit();
|
1050
|
-
}
|
1051
|
-
render() {
|
1052
|
-
var _a, _b;
|
1053
|
-
if (!this.endpoint.session) {
|
1054
|
-
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
1055
|
-
}
|
1056
|
-
if ((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoading) {
|
1057
|
-
return (index.h(index.Host, { class: "loading" }, index.h("verdocs-loader", null)));
|
1058
|
-
}
|
1059
|
-
return (index.h(index.Host, null, index.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index.h("label", { htmlFor: "verdocs-template-name" }, "Template Name"), index.h("verdocs-text-input", { id: "verdocs-template-name", value: this.name, autocomplete: "off", placeholder: "Template Name...", onInput: (e) => {
|
1060
|
-
var _a, _b;
|
1061
|
-
this.name = e.target.value;
|
1062
|
-
this.dirty = this.name !== ((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.name);
|
1063
|
-
} }), index.h("div", { class: "buttons" }, index.h("verdocs-button", { size: "small", variant: "outline", label: "Cancel", disabled: !this.dirty, onClick: e => this.handleCancel(e) }), index.h("verdocs-button", { size: "small", label: "Save", disabled: !this.dirty, onClick: e => this.handleSave(e) })))));
|
1064
|
-
}
|
1065
|
-
};
|
1066
|
-
VerdocsTemplateName.style = VerdocsTemplateNameStyle0;
|
1067
|
-
|
1068
916
|
const verdocsTemplateRolesCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-template-roles{display:block;min-width:400px;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-roles>form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#ffffff;padding:12px}verdocs-template-roles>form h5{font-size:16px;font-weight:bold;color:#46497d;margin:0 0 10px 0}verdocs-template-roles>form .participants{position:relative}verdocs-template-roles>form .left-line{top:32px;left:11px;z-index:1;width:12px;bottom:30px;position:absolute;background:#ffffff;border-left:3px dotted #9b9b9b}verdocs-template-roles>form .row{display:-ms-flexbox;display:flex;-webkit-column-gap:0;-moz-column-gap:0;column-gap:0;min-height:35px;margin-top:0;margin-left:40px;position:relative;-ms-flex-direction:row;flex-direction:row;padding:6px 0 4px 0}verdocs-template-roles>form .row .row-roles{-ms-flex:1;flex:1;gap:10px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:row;flex-direction:row}verdocs-template-roles>form .row .icon{top:14px;z-index:2;left:-40px;width:24px;height:24px;position:absolute;background:#ffffff}verdocs-template-roles>form .row .sender{height:30px;display:-ms-flexbox;display:flex;font-size:14px;line-height:30px;-ms-flex-align:center;align-items:center;border-radius:30px;-ms-flex-direction:row;flex-direction:row;padding:0 15px 0 15px;border:1px solid #c6c9cc;background-color:#f5f5fa}verdocs-template-roles>form .row .complete{height:30px;display:-ms-flexbox;display:flex;font-size:14px;padding:0 15px;line-height:30px;-ms-flex-direction:row;flex-direction:row;border-radius:30px;background-color:#f5f5fa;border:1px solid #aeb4bf}verdocs-template-roles>form .row .label{font-weight:bold;margin-right:6px;color:#33364b}verdocs-template-roles>form .row .settings-button{display:-ms-flexbox;display:flex;cursor:pointer;margin:0 0 0 9px}verdocs-template-roles>form .row .recipient{height:30px;display:-ms-flexbox;display:flex;font-size:14px;border-radius:30px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;padding:0 5px 0 6px;white-space:nowrap;border:2px solid #aeb4bf}verdocs-template-roles>form .row .recipient .type-icon{width:24px;height:24px;-webkit-transform:scale(0.8);transform:scale(0.8);opacity:0.6;margin:0 12px 0 0}verdocs-template-roles>form .row .recipient.dragging{position:absolute}verdocs-template-roles>form .row .recipient.dragging+.dropzone{display:none !important}verdocs-template-roles>form .row .dropzone{width:14px;height:30px;display:none}verdocs-template-roles>form .row .dropzone svg{fill:#cccccc}verdocs-template-roles>form .row .dropzone.visible{margin:0 7px;display:-ms-flexbox;display:flex;-ms-flex:0 0 14px;flex:0 0 14px}verdocs-template-roles>form .row .dropzone.active{-ms-flex:0 0 120px;flex:0 0 120px;border-radius:30px;background:rgba(101, 77, 203, 0.4980392157);border:1px dashed #654dcb}verdocs-template-roles>form label{display:block;font-size:14px;font-weight:500;margin:0 0 4px 0;color:#5c6575}verdocs-template-roles>form input{border:none;font-size:18px;padding:3px 6px 3px 0;background:transparent;border-bottom:1px solid #33364b}verdocs-template-roles>form input:focus{outline:none}verdocs-template-roles .row.add-sequence{display:none}verdocs-template-roles .add-role{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-roles .add-role:hover{opacity:1}verdocs-template-roles .add-role svg{width:32px;height:32px}verdocs-template-roles .add-step{margin:0;padding:0;border:none;opacity:0.5;cursor:pointer;background:none}verdocs-template-roles .add-step:hover{opacity:1}verdocs-template-roles .add-step svg{width:32px;height:32px}verdocs-template-roles.dragging .add-role{display:none}verdocs-template-roles.dragging form .row .recipient+.dropzone{display:-ms-flexbox;display:flex}verdocs-template-roles.dragging .row.add-sequence{display:-ms-flexbox;display:flex}verdocs-template-roles.dragging .row.add-sequence .dropzone{opacity:0.5;-ms-flex:0 0 120px;flex:0 0 120px;border-radius:30px;-ms-flex-align:center;align-items:center;background:rgba(101, 77, 203, 0.4980392157);-ms-flex-pack:center;justify-content:center;border:1px dashed #654dcb}verdocs-template-roles.dragging .row.add-sequence .dropzone.active{opacity:1}verdocs-template-roles .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:16px;-ms-flex-direction:row;flex-direction:row}verdocs-template-roles .empty{font-size:13px;margin-top:15px;margin-bottom:5px}verdocs-template-roles .empty svg{width:16px;height:16px;stroke:#666666;margin-bottom:2px;display:inline-block}verdocs-template-roles ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-roles ::-moz-placeholder{color:#aaaaaa}verdocs-template-roles :-ms-input-placeholder{color:#aaaaaa}verdocs-template-roles ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-roles ::placeholder{color:#aaaaaa}";
|
1069
917
|
const VerdocsTemplateRolesStyle0 = verdocsTemplateRolesCss;
|
1070
918
|
|
1071
|
-
const senderLabels = {
|
1072
|
-
|
1073
|
-
|
1074
|
-
};
|
919
|
+
// const senderLabels: Record<TTemplateSender, string> = {
|
920
|
+
// template_owner: 'Template Owner',
|
921
|
+
// envelope_creator: 'Envelope Creator',
|
922
|
+
// };
|
1075
923
|
const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20" fill="#00000089"><path d="m8.021 17.917-.313-2.5q-.27-.125-.625-.334-.354-.208-.625-.395l-2.312.979-1.979-3.438 1.979-1.5q-.021-.167-.031-.364-.011-.198-.011-.365 0-.146.011-.344.01-.198.031-.385l-1.979-1.5 1.979-3.417 2.312.958q.271-.187.615-.385t.635-.344l.313-2.5h3.958l.313 2.5q.312.167.625.344.312.177.604.385l2.333-.958 1.979 3.417-1.979 1.521q.021.187.021.364V10q0 .146-.01.333-.011.188-.011.396l1.958 1.5-1.979 3.438-2.312-.979q-.292.208-.615.395-.323.188-.614.334l-.313 2.5Zm1.937-5.355q1.063 0 1.813-.75t.75-1.812q0-1.062-.75-1.812t-1.813-.75q-1.041 0-1.802.75-.76.75-.76 1.812t.76 1.812q.761.75 1.802.75Zm0-1.333q-.5 0-.864-.364-.365-.365-.365-.865t.365-.865q.364-.364.864-.364t.865.364q.365.365.365.865t-.365.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.187q.605-.167 1.136-.49.531-.323 1.031-.802l2.021.875.854-1.375-1.792-1.354q.105-.333.136-.635.031-.303.031-.615 0-.292-.031-.573-.031-.281-.115-.635l1.792-1.396-.834-1.375-2.062.875q-.438-.438-1.021-.781-.583-.344-1.125-.49l-.271-2.208H9.167l-.271 2.208q-.584.146-1.125.458-.542.313-1.042.792l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.479.458 1.021.771.542.312 1.146.479Z"/></svg>';
|
1076
924
|
const startIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><path d="M2 12C2 6.48 6.48 2 12 2s10 4.48 10 10-4.48 10-10 10S2 17.52 2 12zm10 6c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6z"></path></svg>';
|
1077
925
|
const stepIcon = '<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" fill="#00000089"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></svg>';
|
@@ -1087,13 +935,31 @@ const VerdocsTemplateRoles = class {
|
|
1087
935
|
this.exit = index.createEvent(this, "exit", 7);
|
1088
936
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
1089
937
|
this.rolesUpdated = index.createEvent(this, "rolesUpdated", 7);
|
1090
|
-
this.
|
1091
|
-
this.roleStore = null;
|
938
|
+
this.templateListenerId = null;
|
1092
939
|
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
1093
940
|
this.templateId = '';
|
1094
941
|
this.showingRoleDialog = null;
|
1095
942
|
this.sender = null;
|
1096
943
|
this.loading = true;
|
944
|
+
this.template = null;
|
945
|
+
}
|
946
|
+
disconnectedCallback() {
|
947
|
+
this.unlistenToTemplate();
|
948
|
+
}
|
949
|
+
async listenToTemplate() {
|
950
|
+
console.log('[ROLES] Loading template', this.templateId);
|
951
|
+
this.unlistenToTemplate();
|
952
|
+
Datastore.Store.subscribe('templates', this.templateId, () => jsSdk.getTemplate(this.endpoint, this.templateId), false, (template) => {
|
953
|
+
console.log('[BUILD] Template Updated', template);
|
954
|
+
this.template = template;
|
955
|
+
this.loading = false;
|
956
|
+
});
|
957
|
+
}
|
958
|
+
unlistenToTemplate() {
|
959
|
+
if (this.templateListenerId) {
|
960
|
+
Datastore.Store.store.delListener(this.templateListenerId);
|
961
|
+
this.templateListenerId = null;
|
962
|
+
}
|
1097
963
|
}
|
1098
964
|
async componentWillLoad() {
|
1099
965
|
var _a, _b, _c;
|
@@ -1107,18 +973,7 @@ const VerdocsTemplateRoles = class {
|
|
1107
973
|
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
1108
974
|
return;
|
1109
975
|
}
|
1110
|
-
|
1111
|
-
.then(ts => {
|
1112
|
-
this.templateStore = ts;
|
1113
|
-
this.roleStore = TemplateRoleStore.getTemplateRoleStore(this.templateId);
|
1114
|
-
this.loading = false;
|
1115
|
-
this.roleStore.onChange('roles', roles => {
|
1116
|
-
var _a;
|
1117
|
-
console.log('[ROLES] Roles changed', { roles });
|
1118
|
-
(_a = this.rolesUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated', endpoint: this.endpoint, templateId: this.templateId, roles });
|
1119
|
-
});
|
1120
|
-
})
|
1121
|
-
.catch(e => console.warn(e));
|
976
|
+
this.listenToTemplate();
|
1122
977
|
}
|
1123
978
|
catch (e) {
|
1124
979
|
console.log('[FIELDS] Error with preview session', e);
|
@@ -1162,12 +1017,8 @@ const VerdocsTemplateRoles = class {
|
|
1162
1017
|
overlap: 0.05,
|
1163
1018
|
ondrop: async function onDrop(event) {
|
1164
1019
|
var _a;
|
1165
|
-
console.log('dropped', event.target.classList);
|
1166
1020
|
event.target.classList.remove('active');
|
1167
|
-
|
1168
|
-
const targetSequence = +event.target.dataset.sequence;
|
1169
|
-
const targetOrder = +event.target.dataset.order;
|
1170
|
-
TemplateRoleStore.updateStoreRole(this.roleStore, roleName, { sequence: targetSequence, order: targetOrder });
|
1021
|
+
// This will re-sort the roles and renumbers them via server calls if necessary
|
1171
1022
|
await this.renumberTemplateRoles();
|
1172
1023
|
console.log('[ROLES] Updated roles', this.getSortedRoles());
|
1173
1024
|
(_a = this.rolesUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles() });
|
@@ -1195,7 +1046,10 @@ const VerdocsTemplateRoles = class {
|
|
1195
1046
|
(_a = this.next) === null || _a === void 0 ? void 0 : _a.emit();
|
1196
1047
|
}
|
1197
1048
|
getSortedRoles() {
|
1198
|
-
|
1049
|
+
var _a;
|
1050
|
+
// NOTE: This mutates the source array but that's OK because everything that touches
|
1051
|
+
// it will want the same thing done.
|
1052
|
+
return (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).sort((a, b) => {
|
1199
1053
|
return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;
|
1200
1054
|
});
|
1201
1055
|
}
|
@@ -1213,14 +1067,15 @@ const VerdocsTemplateRoles = class {
|
|
1213
1067
|
return roles.map(role => role.name);
|
1214
1068
|
}
|
1215
1069
|
getRolesAtSequence(sequence) {
|
1070
|
+
var _a;
|
1216
1071
|
// Entries can be undefined when deleted because Stencil has no remove() operator yet for stores.
|
1217
1072
|
// See https://github.com/ionic-team/stencil-store/issues/23
|
1218
|
-
return this.
|
1073
|
+
return (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).filter(role => role && role.sequence === sequence);
|
1219
1074
|
}
|
1220
1075
|
// When the user drags a role around, we handle placement "between" items by assigning it a half-order number
|
1221
1076
|
// e.g. 1.5 to place it between items 1 and 2, 0.5 to place it at the beginning, or last+0.5 to place it at the end.
|
1222
1077
|
// Then we re-sort the list of roles and renumber them.
|
1223
|
-
renumberTemplateRoles() {
|
1078
|
+
async renumberTemplateRoles() {
|
1224
1079
|
// console.log('Renumbering roles', this.getSequenceNumbers(), JSON.stringify(this.roleStore.state));
|
1225
1080
|
// Avoid dupe renumber attempts
|
1226
1081
|
const renumbered = [];
|
@@ -1233,24 +1088,30 @@ const VerdocsTemplateRoles = class {
|
|
1233
1088
|
role.sequence = newSequenceIndex + 1;
|
1234
1089
|
role.order = newOrderIndex + 1;
|
1235
1090
|
renumbered.push(role.name);
|
1236
|
-
renumberRequests.push(jsSdk.updateTemplateRole(this.endpoint, this.templateId, role.name, {
|
1237
|
-
sequence: role.sequence,
|
1238
|
-
order: role.order,
|
1239
|
-
}));
|
1091
|
+
renumberRequests.push(jsSdk.updateTemplateRole(this.endpoint, this.templateId, role.name, { sequence: role.sequence, order: role.order }));
|
1240
1092
|
}
|
1241
1093
|
}
|
1242
1094
|
});
|
1243
1095
|
});
|
1244
|
-
|
1096
|
+
if (renumberRequests.length > 0) {
|
1097
|
+
console.log(`[ROLES] Submitting ${renumberRequests.length} renumber requests`);
|
1098
|
+
return Promise.all(renumberRequests).then(async () => {
|
1099
|
+
// When renumbering, we don't try to update the store for every individual item
|
1100
|
+
// changing. We just do it once at the end.
|
1101
|
+
this.template = await Datastore.Store.getTemplate(this.endpoint, this.templateId, true);
|
1102
|
+
});
|
1103
|
+
}
|
1104
|
+
return true;
|
1245
1105
|
}
|
1246
1106
|
// Look for name conflicts, because they're UGC and can be anything, regardless of order.
|
1247
1107
|
getNextRoleName() {
|
1108
|
+
var _a, _b;
|
1248
1109
|
let name = '';
|
1249
|
-
let nextNumber =
|
1110
|
+
let nextNumber = (((_a = this.template) === null || _a === void 0 ? void 0 : _a.roles) || []).length;
|
1250
1111
|
do {
|
1251
1112
|
nextNumber++;
|
1252
1113
|
name = `Recipient ${nextNumber}`;
|
1253
|
-
} while (!name || this.
|
1114
|
+
} while (!name || (((_b = this.template) === null || _b === void 0 ? void 0 : _b.roles) || []).some(role => role && role.name === name));
|
1254
1115
|
return name;
|
1255
1116
|
}
|
1256
1117
|
callCreateRole(name, sequence, order) {
|
@@ -1270,10 +1131,15 @@ const VerdocsTemplateRoles = class {
|
|
1270
1131
|
delegator: false,
|
1271
1132
|
kba_method: null,
|
1272
1133
|
})
|
1273
|
-
.then(async (
|
1134
|
+
.then(async (role) => {
|
1274
1135
|
var _a;
|
1275
|
-
console.log('[ROLES] Created role',
|
1276
|
-
|
1136
|
+
console.log('[ROLES] Created role', role);
|
1137
|
+
const newTemplate = JSON.parse(JSON.stringify(this.template));
|
1138
|
+
newTemplate.roles.push(role);
|
1139
|
+
// TODO: Verify this immediately triggers a self-update
|
1140
|
+
console.log('Updating template in data store');
|
1141
|
+
Datastore.Store.updateTemplate(this.templateId, newTemplate);
|
1142
|
+
// This will re-sort the roles and renumbers them via server calls if necessary
|
1277
1143
|
await this.renumberTemplateRoles();
|
1278
1144
|
(_a = this.rolesUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'added', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles() });
|
1279
1145
|
})
|
@@ -1294,25 +1160,23 @@ const VerdocsTemplateRoles = class {
|
|
1294
1160
|
this.callCreateRole(name, sequence, order);
|
1295
1161
|
}
|
1296
1162
|
render() {
|
1297
|
-
var _a, _b, _c, _d;
|
1298
1163
|
if (!this.endpoint.session) {
|
1299
1164
|
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
1300
1165
|
}
|
1301
|
-
if (this.loading || !
|
1302
|
-
console.log('Loading', this.loading, (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state.isLoaded);
|
1166
|
+
if (this.loading || !this.template) {
|
1303
1167
|
return (index.h(index.Host, { class: "loading" }, index.h("verdocs-loader", null)));
|
1304
1168
|
}
|
1305
1169
|
const roleNames = this.getRoleNames();
|
1306
1170
|
const sequences = this.getSequenceNumbers();
|
1307
|
-
return (index.h(index.Host, null, index.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index.h("h5", null, "Roles and Workflow"), index.h("div", { class: "participants" }, index.h("div", { class: "left-line" }), index.h("div", { class: "row" }, index.h("div", { class: "icon", innerHTML: startIcon }), index.h("div", { class: "row-roles" }, index.h("div", { class: "sender" }, index.h("span", { class: "label" }, "
|
1171
|
+
return (index.h(index.Host, null, index.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index.h("h5", null, "Roles and Workflow"), index.h("div", { class: "participants" }, index.h("div", { class: "left-line" }), index.h("div", { class: "row" }, index.h("div", { class: "icon", innerHTML: startIcon }), index.h("div", { class: "row-roles" }, index.h("div", { class: "sender" }, index.h("span", { class: "label" }, "Send Envelope")))), index.h("div", { class: "row add-sequence", "data-sequence": 0 }, index.h("div", { class: "icon", innerHTML: plusIcon }), index.h("div", { class: "row-roles" }, index.h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), sequences.map(sequence => (index.h(index.Fragment, null, index.h("div", { class: "row" }, index.h("div", { class: "icon", innerHTML: stepIcon }), index.h("div", { class: "row-roles" }, index.h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), this.getRolesAtSequence(sequence).map(role => {
|
1308
1172
|
const unknown = !role.email;
|
1309
|
-
|
1310
|
-
return unknown ? (index.h(index.Fragment, null, index.h("div", { class: "recipient", style: { backgroundColor: jsSdk.getRGBA(TemplateRoleStore.getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, index.h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", index.h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), index.h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence }))) : (index.h(index.Fragment, null, index.h("div", { class: "recipient", style: { borderColor: jsSdk.getRGBA(TemplateRoleStore.getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, index.h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), jsSdk.formatFullName(role), " ", index.h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), index.h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
|
1173
|
+
return unknown ? (index.h(index.Fragment, null, index.h("div", { class: "recipient", style: { backgroundColor: jsSdk.getRGBA(getRoleIndex(this.template, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, index.h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", index.h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), index.h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence }))) : (index.h(index.Fragment, null, index.h("div", { class: "recipient", style: { borderColor: jsSdk.getRGBA(getRoleIndex(this.template, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, index.h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), jsSdk.formatFullName(role), " ", index.h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), index.h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
|
1311
1174
|
}), index.h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), sequences.length > 0 && (index.h("div", { class: "row add-sequence", "data-sequence": sequence }, index.h("div", { class: "row-roles" }, index.h("div", { class: "icon", innerHTML: plusIcon }), index.h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step"))))))), index.h("div", { class: "row", "data-sequence": sequences.length + 1 }, index.h("div", { class: "row-roles" }, index.h("div", { class: "icon", innerHTML: plusIcon }), index.h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, sequences.length + 1) }))), index.h("div", { class: "row" }, index.h("div", { class: "icon", innerHTML: doneIcon }), index.h("div", { class: "row-roles" }, index.h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (index.h("div", { class: "empty" }, "You must add at least one Role before proceeding.", index.h("br", null), " Click the ", index.h("span", { innerHTML: plusIcon }), " Add button above to get started.")), index.h("div", { class: "buttons" }, index.h("div", { class: "flex-fill" }), index.h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), index.h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (index.h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
|
1312
1175
|
this.showingRoleDialog = null;
|
1313
1176
|
}, onDelete: async () => {
|
1314
1177
|
var _a;
|
1315
1178
|
this.showingRoleDialog = null;
|
1179
|
+
// This will re-sort the roles and renumbers them via server calls if necessary
|
1316
1180
|
await this.renumberTemplateRoles();
|
1317
1181
|
(_a = this.rolesUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted', endpoint: this.endpoint, templateId: this.templateId, roles: this.getSortedRoles() });
|
1318
1182
|
} }))));
|
@@ -1321,90 +1185,9 @@ const VerdocsTemplateRoles = class {
|
|
1321
1185
|
};
|
1322
1186
|
VerdocsTemplateRoles.style = VerdocsTemplateRolesStyle0;
|
1323
1187
|
|
1324
|
-
const verdocsTemplateVisibilityCss = "@-webkit-keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}@keyframes verdocs-field-pulse{0%{background-color:rgba(0, 0, 0, 0.35)}50%{background-color:rgba(0, 0, 0, 0)}100%{background-color:rgba(0, 0, 0, 0.35)}}verdocs-template-visibility{font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-template-visibility.loading{min-height:300px;position:relative;display:block}verdocs-template-visibility.empty{display:none}verdocs-template-visibility form{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}verdocs-template-visibility form .description{font-size:14px;text-align:justify;color:#5c6575}verdocs-template-visibility form h5{font-size:16px;font-weight:bold;color:#4c56cb;margin:0}verdocs-template-visibility form label{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;font-size:16px;font-weight:500;margin:0 0 4px 0;color:#33364b}verdocs-template-visibility form input{border:none;font-size:18px;padding:3px 6px 3px 0;background:transparent;border-bottom:1px solid #33364b}verdocs-template-visibility form input:focus{outline:none}verdocs-template-visibility form .input-row{display:-ms-flexbox;display:flex;margin:20px 0 0 0;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row}verdocs-template-visibility form .input-row verdocs-text-input{margin:0;display:-ms-flexbox;display:flex;-ms-flex:0 0 40px;flex:0 0 40px}verdocs-template-visibility form .input-row verdocs-text-input input{text-align:center}verdocs-template-visibility form .input-row verdocs-checkbox{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}verdocs-template-visibility form .input-row verdocs-checkbox label>input[type=checkbox]+*::before{margin-right:0}verdocs-template-visibility .buttons{display:-ms-flexbox;display:flex;-webkit-column-gap:8px;-moz-column-gap:8px;column-gap:8px;margin-top:25px;-ms-flex-direction:row;flex-direction:row}verdocs-template-visibility ::-webkit-input-placeholder{color:#aaaaaa}verdocs-template-visibility ::-moz-placeholder{color:#aaaaaa}verdocs-template-visibility :-ms-input-placeholder{color:#aaaaaa}verdocs-template-visibility ::-ms-input-placeholder{color:#aaaaaa}verdocs-template-visibility ::placeholder{color:#aaaaaa}";
|
1325
|
-
const VerdocsTemplateVisibilityStyle0 = verdocsTemplateVisibilityCss;
|
1326
|
-
|
1327
|
-
const VerdocsTemplateVisibility = class {
|
1328
|
-
constructor(hostRef) {
|
1329
|
-
index.registerInstance(this, hostRef);
|
1330
|
-
this.close = index.createEvent(this, "close", 7);
|
1331
|
-
this.sdkError = index.createEvent(this, "sdkError", 7);
|
1332
|
-
this.templateUpdated = index.createEvent(this, "templateUpdated", 7);
|
1333
|
-
this.store = null;
|
1334
|
-
this.endpoint = jsSdk.VerdocsEndpoint.getDefault();
|
1335
|
-
this.templateId = '';
|
1336
|
-
this.dirty = false;
|
1337
|
-
this.personal = false;
|
1338
|
-
this.public = false;
|
1339
|
-
}
|
1340
|
-
async componentWillLoad() {
|
1341
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
1342
|
-
try {
|
1343
|
-
this.endpoint.loadSession();
|
1344
|
-
if (!this.templateId) {
|
1345
|
-
console.log(`[VISIBILITY] Missing required template ID ${this.templateId}`);
|
1346
|
-
return;
|
1347
|
-
}
|
1348
|
-
if (!this.endpoint.session) {
|
1349
|
-
console.log('[VISIBILITY] Unable to start builder session, must be authenticated');
|
1350
|
-
return;
|
1351
|
-
}
|
1352
|
-
this.store = await TemplateStore.getTemplateStore(this.endpoint, this.templateId, false);
|
1353
|
-
this.personal = ((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal) || true;
|
1354
|
-
this.public = ((_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public) || false;
|
1355
|
-
this.dirty = false;
|
1356
|
-
}
|
1357
|
-
catch (e) {
|
1358
|
-
console.log('[TEMPLATE VISIBILITY] Error loading template', e);
|
1359
|
-
(_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new errors.SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
|
1360
|
-
}
|
1361
|
-
}
|
1362
|
-
handleCancel(e) {
|
1363
|
-
var _a, _b, _c, _d, _e;
|
1364
|
-
e.stopPropagation();
|
1365
|
-
this.personal = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal;
|
1366
|
-
this.public = (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public;
|
1367
|
-
this.dirty = false;
|
1368
|
-
(_e = this.close) === null || _e === void 0 ? void 0 : _e.emit();
|
1369
|
-
}
|
1370
|
-
async handleSave(e) {
|
1371
|
-
var _a, _b, _c;
|
1372
|
-
e.stopPropagation();
|
1373
|
-
await jsSdk.updateTemplate(this.endpoint, this.templateId, { is_personal: this.personal, is_public: this.public });
|
1374
|
-
if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
|
1375
|
-
this.store.state.is_personal = this.personal;
|
1376
|
-
this.store.state.is_public = this.public;
|
1377
|
-
}
|
1378
|
-
this.dirty = false;
|
1379
|
-
(_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, template: this.store.state, event: 'visibility' });
|
1380
|
-
(_c = this.close) === null || _c === void 0 ? void 0 : _c.emit();
|
1381
|
-
}
|
1382
|
-
render() {
|
1383
|
-
var _a, _b;
|
1384
|
-
if (!this.endpoint.session) {
|
1385
|
-
return (index.h(index.Host, null, index.h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
1386
|
-
}
|
1387
|
-
// This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
|
1388
|
-
if (!this.endpoint.session || !((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
|
1389
|
-
return index.h(index.Host, { class: "empty" });
|
1390
|
-
}
|
1391
|
-
return (index.h(index.Host, null, index.h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, index.h("h5", null, "Visibility"), index.h("div", { class: "input-row" }, index.h("label", { htmlFor: "verdocs-is-shared" }, "Shared"), index.h("verdocs-checkbox", { id: "verdocs-is-shared", name: "is-shared", checked: !this.personal, value: "on", onInput: (e) => {
|
1392
|
-
this.personal = !e.target.checked;
|
1393
|
-
this.dirty = true;
|
1394
|
-
} })), index.h("div", { class: "description" }, "Shared templates are visible to other members of your Organization (if any)."), index.h("div", { class: "input-row" }, index.h("label", { htmlFor: "verdocs-is-public" }, "Public"), index.h("verdocs-checkbox", { id: "verdocs-is-public", name: "is-public", checked: this.public, value: "on", onInput: (e) => {
|
1395
|
-
this.public = e.target.checked;
|
1396
|
-
this.dirty = true;
|
1397
|
-
} })), index.h("div", { class: "description" }, "Public templates may appear in results when any other user searches for templates. Note that a template may be both Personal and Public, which may be useful if you want your template to be found via search but not otherwise displayed to other members of your Organization (if any)."), index.h("div", { class: "buttons" }, index.h("verdocs-button", { size: "small", variant: "outline", label: "Cancel", disabled: !this.dirty, onClick: e => this.handleCancel(e) }), index.h("verdocs-button", { size: "small", label: "Save", disabled: !this.dirty, onClick: e => this.handleSave(e) })))));
|
1398
|
-
}
|
1399
|
-
};
|
1400
|
-
VerdocsTemplateVisibility.style = VerdocsTemplateVisibilityStyle0;
|
1401
|
-
|
1402
1188
|
exports.verdocs_preview = VerdocsPreview;
|
1403
1189
|
exports.verdocs_send = VerdocsSend;
|
1404
1190
|
exports.verdocs_template_attachments = VerdocsTemplateAttachments;
|
1405
1191
|
exports.verdocs_template_build_tabs = VerdocsTemplateBuildTabs;
|
1406
|
-
exports.verdocs_template_create = VerdocsTemplateCreate;
|
1407
1192
|
exports.verdocs_template_fields = VerdocsTemplateFields;
|
1408
|
-
exports.verdocs_template_name = VerdocsTemplateName;
|
1409
1193
|
exports.verdocs_template_roles = VerdocsTemplateRoles;
|
1410
|
-
exports.verdocs_template_visibility = VerdocsTemplateVisibility;
|