@verdocs/web-sdk 1.10.10 → 1.11.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/{Envelopes-68058bbe.js → Envelopes-7381bd9a.js} +11 -0
- package/dist/cjs/{Envelopes-4cc18551.js → Envelopes-9886af0f.js} +4 -1
- package/dist/cjs/{interact.min-3e3c03a5.js → interact.min-d223d04b.js} +3 -19
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/utils-f4cfa1fb.js +349 -0
- package/dist/cjs/verdocs-checkbox_4.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +6 -3
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-date.cjs.entry.js +7 -3
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +8 -3
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +7 -3
- package/dist/cjs/verdocs-preview.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-sign.cjs.entry.js +12 -5
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +3 -0
- package/dist/cjs/verdocs-template-create_2.cjs.entry.js +16 -7
- package/dist/cjs/verdocs-template-name.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-template-recipients.cjs.entry.js +47 -11
- package/dist/cjs/verdocs-view.cjs.entry.js +51 -11
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.css +6 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +4 -2
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.stories.js +1 -1
- package/dist/collection/components/elements/verdocs-component-error/verdocs-component-error.css +2 -0
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +27 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +10 -4
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +70 -8
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +5 -1
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +5 -1
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +5 -1
- package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +5 -1
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +5 -1
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +5 -1
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +5 -1
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +5 -1
- package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +3 -0
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +37 -5
- package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +3 -4
- package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.css +16 -0
- package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.js +65 -7
- package/dist/collection/utils/envelopeStore.js +3 -0
- package/dist/collection/utils/utils.js +44 -3
- package/dist/components/Envelopes.js +4 -1
- package/dist/components/Envelopes2.js +11 -1
- package/dist/components/interact.min.js +1 -17
- package/dist/components/utils.js +80 -4
- package/dist/components/verdocs-component-error2.js +1 -1
- package/dist/components/verdocs-dropdown2.js +2 -2
- package/dist/components/verdocs-envelope-sidebar.js +4 -1
- package/dist/components/verdocs-field-checkbox.js +5 -1
- package/dist/components/verdocs-field-date.js +5 -1
- package/dist/components/verdocs-field-initial.js +5 -1
- package/dist/components/verdocs-field-radio-button.js +5 -1
- package/dist/components/verdocs-field-signature.js +5 -1
- package/dist/components/verdocs-field-textarea.js +5 -1
- package/dist/components/verdocs-field-textbox.js +5 -1
- package/dist/components/verdocs-field-timestamp.js +5 -1
- package/dist/components/verdocs-sign.js +9 -3
- package/dist/components/verdocs-template-attachments.js +10 -1
- package/dist/components/verdocs-template-fields2.js +14 -5
- package/dist/components/verdocs-template-name.js +11 -6
- package/dist/components/verdocs-template-recipients.js +53 -12
- package/dist/components/verdocs-view2.js +47 -8
- package/dist/docs.json +57 -3
- package/dist/esm/{Envelopes-91d7e139.js → Envelopes-b8945309.js} +4 -1
- package/dist/esm/{Envelopes-130fd6ea.js → Envelopes-eb3eef02.js} +11 -1
- package/dist/esm/{interact.min-32c1c1e4.js → interact.min-e472871a.js} +1 -17
- package/dist/esm/loader.js +1 -1
- package/dist/esm/utils-8065a62d.js +334 -0
- package/dist/esm/verdocs-checkbox_4.entry.js +1 -1
- package/dist/esm/verdocs-document-page_2.entry.js +3 -2
- package/dist/esm/verdocs-dropdown.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +6 -3
- package/dist/esm/verdocs-field-checkbox.entry.js +8 -3
- package/dist/esm/verdocs-field-date.entry.js +7 -3
- package/dist/esm/verdocs-field-dropdown.entry.js +3 -2
- package/dist/esm/verdocs-field-initial.entry.js +8 -3
- package/dist/esm/verdocs-field-payment.entry.js +3 -2
- package/dist/esm/verdocs-field-radio-button.entry.js +8 -3
- package/dist/esm/verdocs-field-signature.entry.js +8 -3
- package/dist/esm/verdocs-field-textarea.entry.js +8 -3
- package/dist/esm/verdocs-field-textbox.entry.js +8 -3
- package/dist/esm/verdocs-field-timestamp.entry.js +7 -3
- package/dist/esm/verdocs-preview.entry.js +3 -2
- package/dist/esm/verdocs-send.entry.js +3 -2
- package/dist/esm/verdocs-sign.entry.js +12 -5
- package/dist/esm/verdocs-template-attachments.entry.js +3 -0
- package/dist/esm/verdocs-template-create_2.entry.js +16 -7
- package/dist/esm/verdocs-template-name.entry.js +3 -4
- package/dist/esm/verdocs-template-recipients.entry.js +48 -12
- package/dist/esm/verdocs-view.entry.js +51 -11
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-b8945309.js +1 -0
- package/dist/esm-es5/{Envelopes-130fd6ea.js → Envelopes-eb3eef02.js} +1 -1
- package/dist/esm-es5/interact.min-e472871a.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/utils-8065a62d.js +13 -0
- package/dist/esm-es5/verdocs-checkbox_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-recipients.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +3 -1
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +9 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -1
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +9 -0
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +10 -1
- package/dist/types/components/templates/verdocs-template-recipients/verdocs-template-recipients.d.ts +12 -1
- package/dist/types/components.d.ts +17 -1
- package/dist/types/utils/envelopeStore.d.ts +1 -0
- package/dist/types/utils/utils.d.ts +4 -1
- package/dist/verdocs-web-sdk/p-085d66a2.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-b39df234.system.entry.js → p-0c393c2b.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-0d7db907.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-113a45d3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-127a569c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-19d13aca.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1fe9560f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-25fa36d7.js +13 -0
- package/dist/verdocs-web-sdk/p-28620067.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-388b771c.js +1 -0
- package/dist/verdocs-web-sdk/p-38d00c38.system.js +13 -0
- package/dist/verdocs-web-sdk/p-4086a15a.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-b40a50a8.system.entry.js → p-41122f38.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-42a82518.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-433a7bb3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-56196fad.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5dc58d34.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5fda1fe8.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-63c55bc3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6619bc62.js +1 -0
- package/dist/verdocs-web-sdk/p-68eb0ad8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6c231fe6.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6c4d28a2.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6e15a51e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7ac87084.system.js → p-6f53c098.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-76bdb162.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-79514d21.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7d8de5d6.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-80fe8ac3.system.js +1 -0
- package/dist/verdocs-web-sdk/p-8a430554.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8b20b903.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8e5065af.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8ff15619.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-93b857b6.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a892d5b4.js +1 -0
- package/dist/verdocs-web-sdk/p-b225dcfb.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-cdff8cba.system.entry.js → p-b430f3d0.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-b7740fe7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-d06946ca.entry.js → p-bc24fcdc.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-bde3d383.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c08b737c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-8c53e0ff.system.entry.js → p-c317702e.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-c6406e1d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cf27d3ce.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-0eb992eb.entry.js → p-d3e25ad3.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-d5836d39.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d78594bb.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-9345346d.entry.js → p-e079768b.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-e53a7969.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e65ec569.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e0cfad01.system.js → p-e764098e.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-abffbbaf.entry.js → p-ec913a97.entry.js} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +3 -2
- package/dist/cjs/utils-865fd657.js +0 -269
- package/dist/esm/utils-274e2e93.js +0 -258
- package/dist/esm-es5/Envelopes-91d7e139.js +0 -1
- package/dist/esm-es5/interact.min-32c1c1e4.js +0 -1
- package/dist/esm-es5/utils-274e2e93.js +0 -1
- package/dist/verdocs-web-sdk/p-00307be5.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0214eab8.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-07dfda29.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-19f6e8c8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1b58f506.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1c92741b.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2037252b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-242647c0.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-25256749.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-29df733a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-36fd1c28.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-46cfb904.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-47dfcf69.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4f12a8a7.js +0 -1
- package/dist/verdocs-web-sdk/p-50c9771e.js +0 -1
- package/dist/verdocs-web-sdk/p-587f4405.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-628aef1d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6790f267.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-72f4b40b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7a05d4ac.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-875f9455.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-880b619d.js +0 -1
- package/dist/verdocs-web-sdk/p-996008f6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-af65650c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b22a2c9a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b981d415.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bda7353b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c11a7c7e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c73998d3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c86a40a3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c9eb3771.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-cd4270a9.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d122cadd.system.js +0 -1
- package/dist/verdocs-web-sdk/p-d6e07c20.js +0 -1
- package/dist/verdocs-web-sdk/p-d88f7d5e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e090d5e1.system.js +0 -1
- package/dist/verdocs-web-sdk/p-e1754b47.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e6f3735e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e845dc2c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ef4603fd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f81a559c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ff2816cf.entry.js +0 -1
|
@@ -38,7 +38,11 @@ export class VerdocsFieldCheckbox {
|
|
|
38
38
|
if (this.done) {
|
|
39
39
|
return h(Host, { class: { done: this.done } }, option.checked ? '✓' : '☐');
|
|
40
40
|
}
|
|
41
|
-
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("label", null, h("input", { type: "checkbox", tabIndex: settings.order, checked: option.checked, disabled: disabled, required: settings.required, value: option.id }), h("span", null), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
41
|
+
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("label", null, h("input", { type: "checkbox", tabIndex: settings.order, checked: option.checked, disabled: disabled, required: settings.required, value: option.id }), h("span", null), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
42
|
+
var _a;
|
|
43
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
44
|
+
return this.hideSettingsPanel();
|
|
45
|
+
}, onSettingsChanged: e => {
|
|
42
46
|
var _a;
|
|
43
47
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
44
48
|
return this.hideSettingsPanel();
|
|
@@ -61,7 +61,11 @@ export class VerdocsFieldDate {
|
|
|
61
61
|
const formatted = (settings === null || settings === void 0 ? void 0 : settings.result) ? format(new Date(settings === null || settings === void 0 ? void 0 : settings.result), 'MMM d, y') : '';
|
|
62
62
|
return h(Host, { class: { done: this.done } }, formatted);
|
|
63
63
|
}
|
|
64
|
-
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", value: "", id: this.containerId, disabled: disabled, placeholder: settings.placeholder, required: settings.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
64
|
+
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", value: "", id: this.containerId, disabled: disabled, placeholder: settings.placeholder, required: settings.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
65
|
+
var _a;
|
|
66
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
67
|
+
return this.hideSettingsPanel();
|
|
68
|
+
}, onSettingsChanged: e => {
|
|
65
69
|
var _a;
|
|
66
70
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
67
71
|
return this.hideSettingsPanel();
|
|
@@ -63,7 +63,11 @@ export class VerdocsFieldInitial {
|
|
|
63
63
|
if (this.done) {
|
|
64
64
|
return h(Host, { class: { done: this.done } }, value && h("img", { src: value, alt: "Initials" }));
|
|
65
65
|
}
|
|
66
|
-
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, value ? (h("img", { src: value, alt: "Initials" })) : (h("button", { class: {}, onClick: () => !disabled && this.handleShow() }, "Initials")), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
66
|
+
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, value ? (h("img", { src: value, alt: "Initials" })) : (h("button", { class: {}, onClick: () => !disabled && this.handleShow() }, "Initials")), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
67
|
+
var _a;
|
|
68
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
69
|
+
return this.hideSettingsPanel();
|
|
70
|
+
}, onSettingsChanged: e => {
|
|
67
71
|
var _a;
|
|
68
72
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
69
73
|
return this.hideSettingsPanel();
|
|
@@ -42,7 +42,11 @@ export class VerdocsFieldRadioButton {
|
|
|
42
42
|
if (this.done) {
|
|
43
43
|
return (h(Host, { class: { done: this.done }, style: { maxWidth: '10px' } }, h("span", { innerHTML: !!option.selected ? RadioIconSelected : RadioIconUnselected })));
|
|
44
44
|
}
|
|
45
|
-
return (h(Host, { class: { required, disabled }, style: { backgroundColor } }, h("input", { id: id, type: "radio", value: option.id, tabIndex: settings.order, name: this.field.name, checked: !!option.selected, disabled: disabled, required: settings.required }), h("label", { htmlFor: id }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
45
|
+
return (h(Host, { class: { required, disabled }, style: { backgroundColor } }, h("input", { id: id, type: "radio", value: option.id, tabIndex: settings.order, name: this.field.name, checked: !!option.selected, disabled: disabled, required: settings.required }), h("label", { htmlFor: id }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
46
|
+
var _a;
|
|
47
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
48
|
+
return this.hideSettingsPanel();
|
|
49
|
+
}, onSettingsChanged: e => {
|
|
46
50
|
var _a;
|
|
47
51
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
48
52
|
return this.hideSettingsPanel();
|
package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js
CHANGED
|
@@ -64,7 +64,11 @@ export class VerdocsFieldSignature {
|
|
|
64
64
|
if (this.done) {
|
|
65
65
|
return h(Host, { class: { done: this.done } }, value && h("img", { src: value, alt: "Signature" }));
|
|
66
66
|
}
|
|
67
|
-
return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled }, style: { backgroundColor } }, value ? h("img", { src: value, alt: "Signature" }) : h("button", { onClick: () => !disabled && this.handleShow() }, "Signature"), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
67
|
+
return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled }, style: { backgroundColor } }, value ? h("img", { src: value, alt: "Signature" }) : h("button", { onClick: () => !disabled && this.handleShow() }, "Signature"), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
68
|
+
var _a;
|
|
69
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
70
|
+
return this.hideSettingsPanel();
|
|
71
|
+
}, onSettingsChanged: e => {
|
|
68
72
|
var _a;
|
|
69
73
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
70
74
|
return this.hideSettingsPanel();
|
|
@@ -39,7 +39,11 @@ export class VerdocsFieldTextarea {
|
|
|
39
39
|
if (this.done) {
|
|
40
40
|
return h(Host, { class: { done: this.done } }, settings.value);
|
|
41
41
|
}
|
|
42
|
-
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, value: settings.value, disabled: disabled, required: settings.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
42
|
+
return (h(Host, { class: { required: settings.required, disabled }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, value: settings.value, disabled: disabled, required: settings.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
43
|
+
var _a;
|
|
44
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
45
|
+
return this.hideSettingsPanel();
|
|
46
|
+
}, onSettingsChanged: e => {
|
|
43
47
|
var _a;
|
|
44
48
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
45
49
|
return this.hideSettingsPanel();
|
|
@@ -40,7 +40,11 @@ export class VerdocsFieldTextbox {
|
|
|
40
40
|
if (this.done) {
|
|
41
41
|
return h(Host, { class: { done: this.done } }, value);
|
|
42
42
|
}
|
|
43
|
-
return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
43
|
+
return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order, value: value, disabled: disabled, required: (_d = this.field) === null || _d === void 0 ? void 0 : _d.required, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
44
|
+
var _a;
|
|
45
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
46
|
+
return this.hideSettingsPanel();
|
|
47
|
+
}, onSettingsChanged: e => {
|
|
44
48
|
var _a;
|
|
45
49
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
46
50
|
return this.hideSettingsPanel();
|
package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js
CHANGED
|
@@ -46,7 +46,11 @@ export class VerdocsFieldTimestamp {
|
|
|
46
46
|
return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order,
|
|
47
47
|
// TODO: It would really make more sense to show the date and time but the default width of 64px for this field
|
|
48
48
|
// is encoded in a ton of existing entries in the database and is hard to change.
|
|
49
|
-
value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(),
|
|
49
|
+
value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("h6", null, "Field Settings"), h("verdocs-template-field-properties", { templateId: TemplateStore.templateId, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
|
|
50
|
+
var _a;
|
|
51
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
|
|
52
|
+
return this.hideSettingsPanel();
|
|
53
|
+
}, onSettingsChanged: e => {
|
|
50
54
|
var _a;
|
|
51
55
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
|
52
56
|
return this.hideSettingsPanel();
|
|
@@ -28,6 +28,9 @@ export class VerdocsTemplateAttachments {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
+
if (!this.endpoint.session) {
|
|
32
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
33
|
+
}
|
|
31
34
|
if (this.loading) {
|
|
32
35
|
return (h(Host, { class: "loading" }, h("verdocs-loader", null)));
|
|
33
36
|
}
|
package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js
CHANGED
|
@@ -14,12 +14,12 @@ const iconDatepicker = '<svg xmlns="http://www.w3.org/2000/svg" height="24" widt
|
|
|
14
14
|
const iconSignature = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path 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"/></svg>';
|
|
15
15
|
const iconInitial = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z"/></svg>';
|
|
16
16
|
const menuOptions = [
|
|
17
|
-
{
|
|
17
|
+
// {id: 'attachment', tooltip: 'Attachment', icon: 'A'},
|
|
18
18
|
{ id: 'checkbox', tooltip: 'Check Box', icon: iconCheck },
|
|
19
19
|
{ id: 'date', tooltip: 'Date', icon: iconDatepicker },
|
|
20
20
|
{ id: 'dropdown', tooltip: 'Dropdown', icon: 'O' },
|
|
21
21
|
{ id: 'initial', tooltip: 'Initials', icon: iconInitial },
|
|
22
|
-
{
|
|
22
|
+
// {id: 'payment', tooltip: 'Payment', icon: 'P'},
|
|
23
23
|
{ id: 'radio', tooltip: 'Radio Button', icon: iconRadio },
|
|
24
24
|
{ id: 'signature', tooltip: 'Signature', icon: iconSignature },
|
|
25
25
|
{ id: 'textarea', tooltip: 'Text Area', icon: iconMultiline },
|
|
@@ -38,6 +38,7 @@ export class VerdocsTemplateFields {
|
|
|
38
38
|
this.templateId = null;
|
|
39
39
|
this.placing = null;
|
|
40
40
|
this.selectedRoleName = '';
|
|
41
|
+
this.rerender = 1;
|
|
41
42
|
}
|
|
42
43
|
async componentWillLoad() {
|
|
43
44
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -72,11 +73,16 @@ export class VerdocsTemplateFields {
|
|
|
72
73
|
}
|
|
73
74
|
async handleFieldChange(field, e, optionId) {
|
|
74
75
|
console.log('[FIELDS] handleFieldChange', field, e, optionId);
|
|
76
|
+
this.rerender++;
|
|
75
77
|
}
|
|
76
78
|
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
|
77
79
|
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
|
78
80
|
el.addEventListener('settingsChanged', () => {
|
|
81
|
+
var _a;
|
|
82
|
+
console.log('settings changed', this, field);
|
|
79
83
|
el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, field.role_name));
|
|
84
|
+
this.rerender++;
|
|
85
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: TemplateStore.template, event: 'updated-field' });
|
|
80
86
|
});
|
|
81
87
|
el.setAttribute('roleindex', roleIndex);
|
|
82
88
|
el.setAttribute('pageNumber', pageInfo.pageNumber);
|
|
@@ -160,6 +166,7 @@ export class VerdocsTemplateFields {
|
|
|
160
166
|
return { x, y };
|
|
161
167
|
}
|
|
162
168
|
async handleClickPage(e, page) {
|
|
169
|
+
var _a;
|
|
163
170
|
if (this.placing) {
|
|
164
171
|
const pageNumber = page.sequence;
|
|
165
172
|
const clickedX = e.offsetX;
|
|
@@ -218,11 +225,11 @@ export class VerdocsTemplateFields {
|
|
|
218
225
|
console.log('Saved field', saved);
|
|
219
226
|
TemplateStore.fields.push(saved);
|
|
220
227
|
this.placing = null;
|
|
228
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: TemplateStore.template, event: 'added-field' });
|
|
221
229
|
this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
|
|
222
230
|
}
|
|
223
231
|
}
|
|
224
232
|
render() {
|
|
225
|
-
console.log('rendering', TemplateStore.updateCount);
|
|
226
233
|
if (!this.endpoint.session) {
|
|
227
234
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
228
235
|
}
|
|
@@ -232,7 +239,7 @@ export class VerdocsTemplateFields {
|
|
|
232
239
|
}
|
|
233
240
|
const pages = [...TemplateStore.template.pages];
|
|
234
241
|
pages.sort((a, b) => a.sequence - b.sequence);
|
|
235
|
-
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-
|
|
242
|
+
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
|
|
236
243
|
console.log('onSubmit');
|
|
237
244
|
} }, h("div", { class: "pages" }, pages.map(page => {
|
|
238
245
|
// console.log('rendering page', page);
|
|
@@ -301,7 +308,8 @@ export class VerdocsTemplateFields {
|
|
|
301
308
|
static get states() {
|
|
302
309
|
return {
|
|
303
310
|
"placing": {},
|
|
304
|
-
"selectedRoleName": {}
|
|
311
|
+
"selectedRoleName": {},
|
|
312
|
+
"rerender": {}
|
|
305
313
|
};
|
|
306
314
|
}
|
|
307
315
|
static get events() {
|
|
@@ -360,6 +368,30 @@ export class VerdocsTemplateFields {
|
|
|
360
368
|
}
|
|
361
369
|
}
|
|
362
370
|
}
|
|
371
|
+
}, {
|
|
372
|
+
"method": "templateUpdated",
|
|
373
|
+
"name": "templateUpdated",
|
|
374
|
+
"bubbles": true,
|
|
375
|
+
"cancelable": true,
|
|
376
|
+
"composed": true,
|
|
377
|
+
"docs": {
|
|
378
|
+
"tags": [],
|
|
379
|
+
"text": "Event fired when the template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
380
|
+
},
|
|
381
|
+
"complexType": {
|
|
382
|
+
"original": "{endpoint: VerdocsEndpoint; template: ITemplate; event: string}",
|
|
383
|
+
"resolved": "{ endpoint: VerdocsEndpoint; template: ITemplate; event: string; }",
|
|
384
|
+
"references": {
|
|
385
|
+
"VerdocsEndpoint": {
|
|
386
|
+
"location": "import",
|
|
387
|
+
"path": "@verdocs/js-sdk"
|
|
388
|
+
},
|
|
389
|
+
"ITemplate": {
|
|
390
|
+
"location": "import",
|
|
391
|
+
"path": "@verdocs/js-sdk/Templates/Types"
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
363
395
|
}];
|
|
364
396
|
}
|
|
365
397
|
}
|
|
@@ -46,13 +46,12 @@ export class VerdocsTemplateName {
|
|
|
46
46
|
(_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
|
|
47
47
|
}
|
|
48
48
|
render() {
|
|
49
|
+
if (!this.endpoint.session) {
|
|
50
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
51
|
+
}
|
|
49
52
|
if (this.loading) {
|
|
50
53
|
return (h(Host, { class: "loading" }, h("verdocs-loader", null)));
|
|
51
54
|
}
|
|
52
|
-
// This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
|
|
53
|
-
if (!this.endpoint.session || !TemplateStore.template) {
|
|
54
|
-
return h(Host, { class: "empty" });
|
|
55
|
-
}
|
|
56
55
|
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("label", { htmlFor: "verdocs-template-name" }, "Template Name"), h("verdocs-text-input", { id: "verdocs-template-name", value: this.name, autocomplete: "off", placeholder: "Template Name...", onInput: (e) => {
|
|
57
56
|
this.name = e.target.value;
|
|
58
57
|
this.dirty = this.name !== TemplateStore.template.name;
|
|
@@ -31,6 +31,7 @@ verdocs-template-recipients > form .left-line {
|
|
|
31
31
|
verdocs-template-recipients > form .row {
|
|
32
32
|
display: flex;
|
|
33
33
|
column-gap: 0;
|
|
34
|
+
min-height: 35px;
|
|
34
35
|
margin-left: 40px;
|
|
35
36
|
position: relative;
|
|
36
37
|
flex-direction: row;
|
|
@@ -160,6 +161,21 @@ verdocs-template-recipients .add-role svg {
|
|
|
160
161
|
width: 32px;
|
|
161
162
|
height: 32px;
|
|
162
163
|
}
|
|
164
|
+
verdocs-template-recipients .add-step {
|
|
165
|
+
margin: 0;
|
|
166
|
+
padding: 0;
|
|
167
|
+
border: none;
|
|
168
|
+
opacity: 0.5;
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
background: none;
|
|
171
|
+
}
|
|
172
|
+
verdocs-template-recipients .add-step:hover {
|
|
173
|
+
opacity: 1;
|
|
174
|
+
}
|
|
175
|
+
verdocs-template-recipients .add-step svg {
|
|
176
|
+
width: 32px;
|
|
177
|
+
height: 32px;
|
|
178
|
+
}
|
|
163
179
|
verdocs-template-recipients.dragging .add-role {
|
|
164
180
|
display: none;
|
|
165
181
|
}
|
|
@@ -185,17 +185,47 @@ export class VerdocsTemplateRecipients {
|
|
|
185
185
|
// Now re-extract them to get our final result e.g. [1, 2, 3]
|
|
186
186
|
this.extractSequenceNumbers();
|
|
187
187
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
191
|
-
const order = TemplateStore.template.roles.filter(role => role.sequence === sequence).length + 1;
|
|
192
|
-
// We do need to look for name conflicts because they're UGC and can be anything, regardless of order.
|
|
188
|
+
// Look for name conflicts, because they're UGC and can be anything, regardless of order.
|
|
189
|
+
getNextRecipientName() {
|
|
193
190
|
let name = '';
|
|
194
191
|
let nextNumber = TemplateStore.template.roles.length;
|
|
195
192
|
do {
|
|
196
193
|
nextNumber++;
|
|
197
194
|
name = `Recipient ${nextNumber}`;
|
|
198
195
|
} while (!name || TemplateStore.template.roles.some(role => role.name === name));
|
|
196
|
+
return name;
|
|
197
|
+
}
|
|
198
|
+
handleAddRole(e, sequence) {
|
|
199
|
+
e.stopPropagation();
|
|
200
|
+
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
201
|
+
const order = TemplateStore.template.roles.filter(role => role.sequence === sequence).length + 1;
|
|
202
|
+
const name = this.getNextRecipientName();
|
|
203
|
+
console.log('Will create', name, sequence, order);
|
|
204
|
+
createRole(this.endpoint, this.templateId, {
|
|
205
|
+
template_id: this.templateId,
|
|
206
|
+
name,
|
|
207
|
+
full_name: '',
|
|
208
|
+
email: '',
|
|
209
|
+
phone: '',
|
|
210
|
+
sequence,
|
|
211
|
+
order,
|
|
212
|
+
type: 'signer',
|
|
213
|
+
delegator: false,
|
|
214
|
+
})
|
|
215
|
+
.then(r => {
|
|
216
|
+
console.log('Created role', r);
|
|
217
|
+
TemplateStore.template.roles.push(r);
|
|
218
|
+
this.renumberTemplateRoles();
|
|
219
|
+
this.forceRerender++;
|
|
220
|
+
})
|
|
221
|
+
.catch(e => {
|
|
222
|
+
console.log('Error creating role', e);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
handleAddStep(e, sequence) {
|
|
226
|
+
e.stopPropagation();
|
|
227
|
+
const order = 1;
|
|
228
|
+
const name = this.getNextRecipientName();
|
|
199
229
|
console.log('Will create', name, sequence, order);
|
|
200
230
|
createRole(this.endpoint, this.templateId, {
|
|
201
231
|
template_id: this.templateId,
|
|
@@ -219,12 +249,16 @@ export class VerdocsTemplateRecipients {
|
|
|
219
249
|
});
|
|
220
250
|
}
|
|
221
251
|
render() {
|
|
222
|
-
|
|
252
|
+
var _a;
|
|
253
|
+
if (!this.endpoint.session) {
|
|
254
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
255
|
+
}
|
|
256
|
+
const roleNames = (((_a = TemplateStore.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name);
|
|
223
257
|
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": this.forceRerender }, h("h5", null, "Roles"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-recipients" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[TemplateStore.template.sender], ' ', h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingSenderDialog = true), "aria-role": "button" })))), h("div", { class: "row add-sequence", "data-sequence": 0 }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "row-recipients" }, h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), this.sequences.map(sequence => (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-recipients" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), TemplateStore.template.roles
|
|
224
258
|
.filter(role => role.sequence === sequence)
|
|
225
259
|
.map(role => {
|
|
226
260
|
return (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
|
|
227
|
-
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-recipients" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step")))))), this.sequences.length < 1 && (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-recipients" }, h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, 1) }))))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-recipients" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "OK", size: "small", onClick: e => this.handleSubmit(e), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
|
|
261
|
+
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-recipients" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step")))))), h("div", { class: "row", "data-sequence": this.sequences.length + 1 }, h("div", { class: "row-recipients" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), this.sequences.length < 1 && (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-recipients" }, h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, 1) }))))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-recipients" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "OK", size: "small", onClick: e => this.handleSubmit(e), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
|
|
228
262
|
this.showingRoleDialog = null;
|
|
229
263
|
this.forceRerender++;
|
|
230
264
|
}, onDelete: e => {
|
|
@@ -347,6 +381,30 @@ export class VerdocsTemplateRecipients {
|
|
|
347
381
|
}
|
|
348
382
|
}
|
|
349
383
|
}
|
|
384
|
+
}, {
|
|
385
|
+
"method": "templateUpdated",
|
|
386
|
+
"name": "templateUpdated",
|
|
387
|
+
"bubbles": true,
|
|
388
|
+
"cancelable": true,
|
|
389
|
+
"composed": true,
|
|
390
|
+
"docs": {
|
|
391
|
+
"tags": [],
|
|
392
|
+
"text": "Event fired when the template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
393
|
+
},
|
|
394
|
+
"complexType": {
|
|
395
|
+
"original": "{endpoint: VerdocsEndpoint; template: ITemplate; event: string}",
|
|
396
|
+
"resolved": "{ endpoint: VerdocsEndpoint; template: ITemplate; event: string; }",
|
|
397
|
+
"references": {
|
|
398
|
+
"VerdocsEndpoint": {
|
|
399
|
+
"location": "import",
|
|
400
|
+
"path": "@verdocs/js-sdk"
|
|
401
|
+
},
|
|
402
|
+
"ITemplate": {
|
|
403
|
+
"location": "import",
|
|
404
|
+
"path": "@verdocs/js-sdk/Templates/Types"
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
350
408
|
}];
|
|
351
409
|
}
|
|
352
410
|
static get elementRef() { return "el"; }
|
|
@@ -7,6 +7,9 @@ const { state, onChange } = createStore({
|
|
|
7
7
|
loadProgress: 0,
|
|
8
8
|
loading: true,
|
|
9
9
|
error: '',
|
|
10
|
+
// This can be used as a data field on components that need to force re-rendering when the underlying data has changed. Stencil stores
|
|
11
|
+
// are handy but not very sophisticated. They don't re-render on "deep" changes.
|
|
12
|
+
updateCount: 1,
|
|
10
13
|
roleNames: [],
|
|
11
14
|
dirty: false,
|
|
12
15
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import jszip from 'jszip';
|
|
2
|
+
import { format } from 'date-fns';
|
|
2
3
|
import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
|
4
|
+
import { rescale } from '@verdocs/js-sdk/Utils/Fields';
|
|
3
5
|
import { downloadBlob } from '@verdocs/js-sdk/Utils/Files';
|
|
4
6
|
export const defaultWidth = (type) => {
|
|
5
7
|
// checkbox was a legacy field type
|
|
@@ -235,11 +237,50 @@ export const updateCssTransform = (el, key, value) => {
|
|
|
235
237
|
`${key}(${value})`,
|
|
236
238
|
].join(' ');
|
|
237
239
|
};
|
|
238
|
-
export const
|
|
239
|
-
|
|
240
|
+
export const formatLocalDate = (date) => format(date, 'P').replace(/\//g, '-');
|
|
241
|
+
const formatEnvelopeDate = (envelope) => formatLocalDate(new Date(envelope.updated_at));
|
|
242
|
+
export const saveAttachment = async (endpoint, envelope, documentId) => {
|
|
243
|
+
// e.g. "Colorado-Motor-Vehicle-Bill-of-Sale.pdf"
|
|
244
|
+
const fileName = `${envelope.name} - ${formatEnvelopeDate(envelope)}.pdf`;
|
|
240
245
|
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
|
|
241
246
|
downloadBlob(data, fileName);
|
|
242
247
|
};
|
|
248
|
+
export const saveCertificate = async (endpoint, envelope, documentId) => {
|
|
249
|
+
// e.g "Colorado Motor Vehicle Bill of Sale_certificate.pdf"
|
|
250
|
+
const fileName = `${envelope.name} - ${formatEnvelopeDate(envelope)}_certificate.pdf`;
|
|
251
|
+
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
|
|
252
|
+
downloadBlob(data, fileName);
|
|
253
|
+
};
|
|
254
|
+
export const saveEnvelopesAsZip = async (endpoint, envelopes) => {
|
|
255
|
+
const zip = new jszip();
|
|
256
|
+
for await (let envelope of envelopes) {
|
|
257
|
+
// e.g. "98a13bc0-8861-4408-86fc-8f9af51e867a-TheSwanBrothers Phase 1 Agreement - 11-02-22"
|
|
258
|
+
const subFolder = envelopes.length > 0 ? zip.folder(`${envelope.id} - ${envelope.name} - ${formatEnvelopeDate(envelope)}`) : null;
|
|
259
|
+
for await (let document of envelope.documents) {
|
|
260
|
+
// TODO: When attachments are added to envelopes, add a field that reflects the full, original filename (including extension)
|
|
261
|
+
const documentFileName = document.type === 'certificate' ? `${envelope.name}_certificate.pdf` : `${document.name}.pdf`;
|
|
262
|
+
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, document.id);
|
|
263
|
+
if (subFolder) {
|
|
264
|
+
subFolder.file(documentFileName, data, { compression: 'DEFLATE' });
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
zip.file(documentFileName, data, { compression: 'DEFLATE' });
|
|
268
|
+
}
|
|
269
|
+
const attachFields = envelope.fields.filter(field => field.type === 'attachment' && field.settings['name']);
|
|
270
|
+
if (attachFields.length > 0) {
|
|
271
|
+
const attachmentsFolder = subFolder ? subFolder.folder('attachments') : zip.folder('attachments');
|
|
272
|
+
for await (let attachField of attachFields) {
|
|
273
|
+
const attachData = await Envelopes.getFieldAttachment(endpoint, envelope.id, attachField.name);
|
|
274
|
+
attachmentsFolder.file(attachField.settings.name, attachData, { compression: 'DEFLATE' });
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// e.g. "Colorado Motor Vehicle Bill of Sale - 01-18-23.zip" or "Verdocs-Envelopes-02-13-23.zip"
|
|
280
|
+
const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formatEnvelopeDate(envelopes[0])}.zip` : `Verdocs-Envelopes-${formatLocalDate(new Date())}`;
|
|
281
|
+
const zipped = await zip.generateAsync({ type: 'blob', compression: 'DEFLATE' });
|
|
282
|
+
downloadBlob(zipped, zipFileName);
|
|
283
|
+
};
|
|
243
284
|
/**
|
|
244
285
|
* Throttle a given function by a delay value. Useful for things like resizeObserver.
|
|
245
286
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { e as getEnvelope } from './Envelopes2.js';
|
|
2
2
|
import { c as createStore } from './index3.js';
|
|
3
3
|
import { g as getTemplate } from './Templates2.js';
|
|
4
4
|
|
|
@@ -9,6 +9,9 @@ const { state, onChange } = createStore({
|
|
|
9
9
|
loadProgress: 0,
|
|
10
10
|
loading: true,
|
|
11
11
|
error: '',
|
|
12
|
+
// This can be used as a data field on components that need to force re-rendering when the underlying data has changed. Stencil stores
|
|
13
|
+
// are handy but not very sophisticated. They don't re-render on "deep" changes.
|
|
14
|
+
updateCount: 1,
|
|
12
15
|
roleNames: [],
|
|
13
16
|
dirty: false,
|
|
14
17
|
});
|
|
@@ -107,5 +107,15 @@ var updateEnvelopeFieldInitials = function (endpoint, envelopeId, fieldName, ini
|
|
|
107
107
|
.then(function (r) { return r.data; })];
|
|
108
108
|
});
|
|
109
109
|
}); };
|
|
110
|
+
/**
|
|
111
|
+
* Get the attached file for an attachment field (if any)
|
|
112
|
+
*/
|
|
113
|
+
var getFieldAttachment = function (endpoint, envelopeId, fieldName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
return [2 /*return*/, endpoint.api //
|
|
116
|
+
.get("/envelopes/".concat(envelopeId, "/fields/").concat(fieldName, "/document"), { responseType: 'blob' })
|
|
117
|
+
.then(function (r) { return r.data; })];
|
|
118
|
+
});
|
|
119
|
+
}); };
|
|
110
120
|
|
|
111
|
-
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeFile as c,
|
|
121
|
+
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeFile as c, getFieldAttachment as d, getEnvelope as e, getSigningSession as g, updateEnvelopeField as u };
|
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
function createCommonjsModule(fn, basedir, module) {
|
|
6
|
-
return module = {
|
|
7
|
-
path: basedir,
|
|
8
|
-
exports: {},
|
|
9
|
-
require: function (path, base) {
|
|
10
|
-
return commonjsRequire();
|
|
11
|
-
}
|
|
12
|
-
}, fn(module, module.exports), module.exports;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
function commonjsRequire () {
|
|
16
|
-
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
17
|
-
}
|
|
1
|
+
import { i as getDefaultExportFromCjs, j as createCommonjsModule } from './utils.js';
|
|
18
2
|
|
|
19
3
|
var interact_min = createCommonjsModule(function (module, exports) {
|
|
20
4
|
/* interact.js 1.10.17 | https://interactjs.io/license */
|