@verdocs/web-sdk 1.11.5 → 1.11.7
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/{Templates-a94ae841.js → Templates-721828dc.js} +1 -1
- package/dist/cjs/{interact.min-d223d04b.js → interact.min-8b2204e4.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{templateStore-4abb214a.js → templateStore-4e927fb4.js} +0 -1
- package/dist/cjs/{utils-f4cfa1fb.js → utils-c955f518.js} +3 -0
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +7 -2
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-preview.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-send.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-create_2.cjs.entry.js +6 -6
- package/dist/cjs/verdocs-template-document-page.cjs.entry.js +2 -4
- package/dist/cjs/verdocs-template-name.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-properties.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-reminders.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +2 -2
- package/dist/cjs/{verdocs-template-recipients.cjs.entry.js → verdocs-template-roles.cjs.entry.js} +19 -20
- package/dist/cjs/verdocs-template-visibility.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/elements/verdocs-contact-picker/verdocs-contact-picker.js +11 -3
- package/dist/collection/components/{elements → templates}/verdocs-template-document-page/verdocs-template-document-page.js +1 -3
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +2 -2
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -0
- package/dist/collection/components/templates/verdocs-template-recipients/{verdocs-template-recipients.css → verdocs-template-roles.css} +42 -42
- package/dist/collection/components/templates/verdocs-template-recipients/{verdocs-template-recipients.js → verdocs-template-roles.js} +16 -17
- package/dist/collection/components/templates/verdocs-template-recipients/{verdocs-template-recipients.stories.js → verdocs-template-roles.stories.js} +3 -3
- package/dist/collection/utils/templateStore.js +0 -1
- package/dist/collection/utils/utils.js +3 -0
- package/dist/components/index.d.ts +2 -2
- package/dist/components/index.js +1 -1
- package/dist/components/templateStore.js +0 -1
- package/dist/components/utils.js +3 -0
- package/dist/components/verdocs-contact-picker2.js +11 -3
- package/dist/components/verdocs-template-document-page2.js +1 -3
- package/dist/components/verdocs-template-fields2.js +2 -2
- package/dist/components/verdocs-template-roles.d.ts +11 -0
- package/dist/components/{verdocs-template-recipients.js → verdocs-template-roles.js} +20 -21
- package/dist/custom-elements.json +1394 -0
- package/dist/docs.json +133 -133
- package/dist/esm/{Templates-a693b275.js → Templates-f8a6628a.js} +1 -1
- package/dist/esm/{interact.min-e472871a.js → interact.min-097cd61a.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{templateStore-a399f366.js → templateStore-5cb73464.js} +0 -1
- package/dist/esm/{utils-8065a62d.js → utils-107a7649.js} +3 -0
- package/dist/esm/verdocs-build.entry.js +2 -2
- package/dist/esm/verdocs-button-panel_3.entry.js +2 -2
- package/dist/esm/verdocs-contact-picker.entry.js +7 -2
- package/dist/esm/verdocs-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-field-attachment.entry.js +1 -1
- package/dist/esm/verdocs-field-checkbox.entry.js +2 -2
- package/dist/esm/verdocs-field-date.entry.js +2 -2
- package/dist/esm/verdocs-field-dropdown.entry.js +2 -2
- package/dist/esm/verdocs-field-initial.entry.js +2 -2
- package/dist/esm/verdocs-field-payment.entry.js +2 -2
- package/dist/esm/verdocs-field-radio-button.entry.js +2 -2
- package/dist/esm/verdocs-field-signature.entry.js +2 -2
- package/dist/esm/verdocs-field-textarea.entry.js +2 -2
- package/dist/esm/verdocs-field-textbox.entry.js +2 -2
- package/dist/esm/verdocs-field-timestamp.entry.js +2 -2
- package/dist/esm/verdocs-preview.entry.js +3 -3
- package/dist/esm/verdocs-send.entry.js +3 -3
- package/dist/esm/verdocs-sign.entry.js +1 -1
- package/dist/esm/verdocs-template-attachments.entry.js +2 -2
- package/dist/esm/verdocs-template-create_2.entry.js +6 -6
- package/dist/esm/verdocs-template-document-page.entry.js +2 -4
- package/dist/esm/verdocs-template-name.entry.js +2 -2
- package/dist/esm/verdocs-template-properties.entry.js +1 -1
- package/dist/esm/verdocs-template-reminders.entry.js +2 -2
- package/dist/esm/verdocs-template-role-properties_2.entry.js +2 -2
- package/dist/esm/{verdocs-template-recipients.entry.js → verdocs-template-roles.entry.js} +19 -20
- package/dist/esm/verdocs-template-visibility.entry.js +2 -2
- package/dist/esm/verdocs-view.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Templates-a693b275.js → Templates-f8a6628a.js} +1 -1
- package/dist/esm-es5/{interact.min-e472871a.js → interact.min-097cd61a.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/templateStore-5cb73464.js +1 -0
- package/dist/esm-es5/{utils-8065a62d.js → utils-107a7649.js} +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment.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-document-page.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-properties.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-roles.entry.js +1 -0
- package/dist/esm-es5/verdocs-template-visibility.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/elements/verdocs-contact-picker/verdocs-contact-picker.d.ts +3 -0
- package/dist/types/components/templates/verdocs-template-recipients/{verdocs-template-recipients.d.ts → verdocs-template-roles.d.ts} +3 -3
- package/dist/types/components/templates/verdocs-template-recipients/{verdocs-template-recipients.stories.d.ts → verdocs-template-roles.stories.d.ts} +1 -1
- package/dist/types/components.d.ts +48 -48
- package/dist/verdocs-web-sdk/p-0048af58.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-114d885d.system.entry.js → p-014cb341.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-02061f5e.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-996ce975.system.entry.js → p-020a5685.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0513c8c3.system.js → p-03aeaebe.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-a20ba40a.system.entry.js → p-06201c22.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-38d00c38.system.js → p-07f4e46f.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ed9528b1.entry.js → p-1705fb61.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-36dff44e.entry.js → p-187977a7.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f063451d.entry.js → p-1a3bfe8f.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-966a3108.entry.js → p-1e4e776b.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-27cbd078.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-28ece044.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-49d9e761.system.entry.js → p-292567c3.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ef4081e9.entry.js → p-2a5c1eb7.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-4c5b7410.system.entry.js → p-2de5410a.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-9760d335.js → p-35c46590.js} +1 -1
- package/dist/verdocs-web-sdk/{p-13b8ea53.system.entry.js → p-36dd9466.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-837d3790.system.entry.js → p-3f0a7d52.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f0d35695.system.entry.js → p-3f3d1875.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-b4c56faa.system.entry.js → p-4a6013d8.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-408caf2e.entry.js → p-4cc43b69.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-02951f09.entry.js → p-516ec9e9.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-be65a712.entry.js → p-521211b9.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-486d9b7d.system.entry.js → p-55f89a5b.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-46c17ff0.entry.js → p-5659eb9b.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-5737eeb5.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-9775a49a.entry.js → p-58d47805.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f1465d29.entry.js → p-5b4e55a4.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-64275bfd.entry.js → p-69392f27.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-fbb9b6e2.system.entry.js → p-6ab80c6d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-3d4b366c.entry.js → p-6af151f0.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ac530c28.entry.js → p-717c36c3.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-44feafae.system.entry.js → p-7be5af5d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-7e6d7c07.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-284ceaf4.entry.js → p-89eaf4c1.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e1b674e6.system.entry.js → p-8d1dbbcf.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-5c39e66b.entry.js → p-96d46a1e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-8b68678c.system.entry.js → p-9aef6422.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-aa1d72b7.entry.js → p-9b1f97f7.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-45447db5.entry.js → p-9ced6cad.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-dff92a1d.system.entry.js → p-a3413844.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-b716d448.entry.js → p-a38a4e2d.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-30cf9417.entry.js → p-a3ac17a5.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-d0ed3251.system.entry.js → p-a72e49c5.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-a8b01bb9.js +1 -0
- package/dist/verdocs-web-sdk/{p-3db71b58.entry.js → p-ac079e06.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-80fe8ac3.system.js → p-ad9a523d.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-d2711cd7.entry.js → p-affc3613.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ffcd34e8.entry.js → p-ba6fa904.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f61da49f.system.entry.js → p-bccd1f1b.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-aec28fc8.system.entry.js → p-bd80c5b3.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-fb8c654e.system.entry.js → p-bdfdcb0f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-87362bbf.system.entry.js → p-bfbca3ba.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-3b3ba829.system.entry.js → p-c3673208.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-49a34d3f.system.entry.js → p-c4b11cd6.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-05581b87.system.entry.js → p-c712f51d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ac91d81d.system.entry.js → p-c75f0692.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-219174fc.system.entry.js → p-d0f9cafa.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-58b858fc.entry.js → p-e8d924d2.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-e999ec0a.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-d8cea42e.system.entry.js → p-ecd33c4e.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-25fa36d7.js → p-ee5acec4.js} +1 -1
- package/dist/verdocs-web-sdk/{p-340316cb.system.js → p-f0f99234.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-a892d5b4.js → p-fa129346.js} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/components/verdocs-template-recipients.d.ts +0 -11
- package/dist/esm-es5/templateStore-a399f366.js +0 -1
- package/dist/esm-es5/verdocs-template-recipients.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-82a78fe5.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8466a97d.js +0 -1
- package/dist/verdocs-web-sdk/p-85ab335b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-87e5b9b3.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9871f509.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9d063e59.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c5502771.system.entry.js +0 -1
- /package/dist/collection/components/{elements → templates}/verdocs-template-document-page/verdocs-template-document-page.css +0 -0
- /package/dist/types/components/{elements → templates}/verdocs-template-document-page/verdocs-template-document-page.d.ts +0 -0
|
@@ -24,9 +24,9 @@ const iconSigner = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="2
|
|
|
24
24
|
const iconApprover = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule="evenodd" /></svg>`;
|
|
25
25
|
const iconCC = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z" /><path d="M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z" /></svg>`;
|
|
26
26
|
/**
|
|
27
|
-
* Displays an edit form that allows the user to adjust a template's
|
|
27
|
+
* Displays an edit form that allows the user to adjust a template's roles and workflow.
|
|
28
28
|
*/
|
|
29
|
-
export class
|
|
29
|
+
export class VerdocsTemplateRoles {
|
|
30
30
|
constructor() {
|
|
31
31
|
this.sequences = [];
|
|
32
32
|
this.endpoint = VerdocsEndpoint.getDefault();
|
|
@@ -41,19 +41,19 @@ export class VerdocsTemplateRecipients {
|
|
|
41
41
|
try {
|
|
42
42
|
this.endpoint.loadSession();
|
|
43
43
|
if (!this.templateId) {
|
|
44
|
-
console.log(`[
|
|
44
|
+
console.log(`[ROLES] Missing required template ID ${this.templateId}`);
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
if (!this.endpoint.session) {
|
|
48
|
-
console.log('[
|
|
48
|
+
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
try {
|
|
52
|
-
console.log(`[
|
|
52
|
+
console.log(`[ROLES] Loading template ${this.templateId}`, this.endpoint.session);
|
|
53
53
|
await loadTemplate(this.endpoint, this.templateId, true);
|
|
54
54
|
}
|
|
55
55
|
catch (e) {
|
|
56
|
-
console.log('[
|
|
56
|
+
console.log('[ROLES] Error loading template', e);
|
|
57
57
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new 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));
|
|
58
58
|
}
|
|
59
59
|
this.sortTemplateRoles();
|
|
@@ -124,8 +124,8 @@ export class VerdocsTemplateRecipients {
|
|
|
124
124
|
sequence: role.sequence,
|
|
125
125
|
order: role.order,
|
|
126
126
|
})))
|
|
127
|
-
.then(() => console.log('[
|
|
128
|
-
.catch(e => console.log('[
|
|
127
|
+
.then(() => console.log('[ROLES] Updated roles'))
|
|
128
|
+
.catch(e => console.log('[ROLES] Role updates failed', e));
|
|
129
129
|
}
|
|
130
130
|
}.bind(this),
|
|
131
131
|
ondropactivate: e => {
|
|
@@ -188,7 +188,7 @@ export class VerdocsTemplateRecipients {
|
|
|
188
188
|
this.extractSequenceNumbers();
|
|
189
189
|
}
|
|
190
190
|
// Look for name conflicts, because they're UGC and can be anything, regardless of order.
|
|
191
|
-
|
|
191
|
+
getNextRoleName() {
|
|
192
192
|
var _a, _b;
|
|
193
193
|
let name = '';
|
|
194
194
|
let nextNumber = (_a = TemplateStore.template) === null || _a === void 0 ? void 0 : _a.roles.length;
|
|
@@ -202,7 +202,7 @@ export class VerdocsTemplateRecipients {
|
|
|
202
202
|
e.stopPropagation();
|
|
203
203
|
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
204
204
|
const order = TemplateStore.template.roles.filter(role => role.sequence === sequence).length + 1;
|
|
205
|
-
const name = this.
|
|
205
|
+
const name = this.getNextRoleName();
|
|
206
206
|
console.log('Will create', name, sequence, order);
|
|
207
207
|
createRole(this.endpoint, this.templateId, {
|
|
208
208
|
template_id: this.templateId,
|
|
@@ -228,7 +228,7 @@ export class VerdocsTemplateRecipients {
|
|
|
228
228
|
handleAddStep(e, sequence) {
|
|
229
229
|
e.stopPropagation();
|
|
230
230
|
const order = 1;
|
|
231
|
-
const name = this.
|
|
231
|
+
const name = this.getNextRoleName();
|
|
232
232
|
console.log('Will create', name, sequence, order);
|
|
233
233
|
createRole(this.endpoint, this.templateId, {
|
|
234
234
|
template_id: this.templateId,
|
|
@@ -260,12 +260,11 @@ export class VerdocsTemplateRecipients {
|
|
|
260
260
|
return (h(Host, null, h("verdocs-loader", null)));
|
|
261
261
|
}
|
|
262
262
|
const roleNames = (((_a = TemplateStore.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name);
|
|
263
|
-
|
|
264
|
-
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
|
|
263
|
+
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-roles" }, 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-roles" }, 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-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), TemplateStore.template.roles
|
|
265
264
|
.filter(role => role.sequence === sequence)
|
|
266
265
|
.map(role => {
|
|
267
266
|
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 })));
|
|
268
|
-
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-
|
|
267
|
+
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, 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-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, 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: () => {
|
|
269
268
|
this.showingRoleDialog = null;
|
|
270
269
|
this.forceRerender++;
|
|
271
270
|
}, onDelete: e => {
|
|
@@ -275,15 +274,15 @@ export class VerdocsTemplateRecipients {
|
|
|
275
274
|
this.forceRerender++;
|
|
276
275
|
} })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
|
|
277
276
|
}
|
|
278
|
-
static get is() { return "verdocs-template-
|
|
277
|
+
static get is() { return "verdocs-template-roles"; }
|
|
279
278
|
static get originalStyleUrls() {
|
|
280
279
|
return {
|
|
281
|
-
"$": ["verdocs-template-
|
|
280
|
+
"$": ["verdocs-template-roles.scss"]
|
|
282
281
|
};
|
|
283
282
|
}
|
|
284
283
|
static get styleUrls() {
|
|
285
284
|
return {
|
|
286
|
-
"$": ["verdocs-template-
|
|
285
|
+
"$": ["verdocs-template-roles.css"]
|
|
287
286
|
};
|
|
288
287
|
}
|
|
289
288
|
static get properties() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit-html';
|
|
2
2
|
export default {
|
|
3
|
-
title: 'Templates/
|
|
4
|
-
component: 'verdocs-template-
|
|
3
|
+
title: 'Templates/Roles',
|
|
4
|
+
component: 'verdocs-template-roles',
|
|
5
5
|
args: {
|
|
6
6
|
// templateId: 'ea7a792f-7e46-4662-a0ff-db6bd389306e',
|
|
7
7
|
templateId: '951016b0-c5ef-450d-b628-9a0c5b84b163',
|
|
@@ -11,4 +11,4 @@ export default {
|
|
|
11
11
|
onCancel: { action: 'cancel' },
|
|
12
12
|
},
|
|
13
13
|
};
|
|
14
|
-
export const
|
|
14
|
+
export const Roles = ({ templateId, onCancel, onSave }) => html `<verdocs-template-roles .templateId=${templateId} @cancel=${onCancel} @save=${onSave} />`;
|
|
@@ -228,14 +228,17 @@ export const getFieldSettings = (field) => {
|
|
|
228
228
|
export const updateCssTransform = (el, key, value) => {
|
|
229
229
|
// e.g. 'scale(1.87908, 1.87908) translate(0px, 0px);'
|
|
230
230
|
const currentTransform = el.style.transform;
|
|
231
|
+
console.log('ct', currentTransform);
|
|
231
232
|
// e.g. ['scale(1.87908, 1.87908)', 'scale', '1.87908, 1.87908', ...], [ 'translate(0px, 0px)', 'translate', '0px, 0px']]
|
|
232
233
|
const components = [...currentTransform.matchAll(/(\w+)\(([^)]*)\)/gi)];
|
|
234
|
+
console.log('comp', components);
|
|
233
235
|
el.style.transform = [
|
|
234
236
|
components //
|
|
235
237
|
.filter(component => component[1] !== key) // Remove the entry if it's already set
|
|
236
238
|
.map(component => component[0]),
|
|
237
239
|
`${key}(${value})`,
|
|
238
240
|
].join(' ');
|
|
241
|
+
console.log('nt', el.style.transform);
|
|
239
242
|
};
|
|
240
243
|
export const formatLocalDate = (date) => format(date, 'P').replace(/\//g, '-');
|
|
241
244
|
const formatEnvelopeDate = (envelope) => formatLocalDate(new Date(envelope.updated_at));
|
|
@@ -42,14 +42,14 @@ export { VerdocsStatusIndicator as VerdocsStatusIndicator } from '../types/compo
|
|
|
42
42
|
export { VerdocsTemplateAttachments as VerdocsTemplateAttachments } from '../types/components/templates/verdocs-template-attachments/verdocs-template-attachments';
|
|
43
43
|
export { VerdocsTemplateCard as VerdocsTemplateCard } from '../types/components/controls/verdocs-template-card/verdocs-template-card';
|
|
44
44
|
export { VerdocsTemplateCreate as VerdocsTemplateCreate } from '../types/components/templates/verdocs-template-create/verdocs-template-create';
|
|
45
|
-
export { VerdocsTemplateDocumentPage as VerdocsTemplateDocumentPage } from '../types/components/
|
|
45
|
+
export { VerdocsTemplateDocumentPage as VerdocsTemplateDocumentPage } from '../types/components/templates/verdocs-template-document-page/verdocs-template-document-page';
|
|
46
46
|
export { VerdocsTemplateFieldProperties as VerdocsTemplateFieldProperties } from '../types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties';
|
|
47
47
|
export { VerdocsTemplateFields as VerdocsTemplateFields } from '../types/components/templates/verdocs-template-fields/verdocs-template-fields';
|
|
48
48
|
export { VerdocsTemplateName as VerdocsTemplateName } from '../types/components/templates/verdocs-template-name/verdocs-template-name';
|
|
49
49
|
export { VerdocsTemplateProperties as VerdocsTemplateProperties } from '../types/components/templates/verdocs-template-properties/verdocs-template-properties';
|
|
50
|
-
export { VerdocsTemplateRecipients as VerdocsTemplateRecipients } from '../types/components/templates/verdocs-template-recipients/verdocs-template-recipients';
|
|
51
50
|
export { VerdocsTemplateReminders as VerdocsTemplateReminders } from '../types/components/templates/verdocs-template-reminders/verdocs-template-reminders';
|
|
52
51
|
export { VerdocsTemplateRoleProperties as VerdocsTemplateRoleProperties } from '../types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties';
|
|
52
|
+
export { VerdocsTemplateRoles as VerdocsTemplateRoles } from '../types/components/templates/verdocs-template-recipients/verdocs-template-roles';
|
|
53
53
|
export { VerdocsTemplateSender as VerdocsTemplateSender } from '../types/components/templates/verdocs-template-sender/verdocs-template-sender';
|
|
54
54
|
export { VerdocsTemplateTags as VerdocsTemplateTags } from '../types/components/controls/verdocs-template-tags/verdocs-template-tags';
|
|
55
55
|
export { VerdocsTemplateVisibility as VerdocsTemplateVisibility } from '../types/components/templates/verdocs-template-visibillity/verdocs-template-visibility';
|
package/dist/components/index.js
CHANGED
|
@@ -47,9 +47,9 @@ export { VerdocsTemplateFieldProperties, defineCustomElement as defineCustomElem
|
|
|
47
47
|
export { VerdocsTemplateFields, defineCustomElement as defineCustomElementVerdocsTemplateFields } from './verdocs-template-fields.js';
|
|
48
48
|
export { VerdocsTemplateName, defineCustomElement as defineCustomElementVerdocsTemplateName } from './verdocs-template-name.js';
|
|
49
49
|
export { VerdocsTemplateProperties, defineCustomElement as defineCustomElementVerdocsTemplateProperties } from './verdocs-template-properties.js';
|
|
50
|
-
export { VerdocsTemplateRecipients, defineCustomElement as defineCustomElementVerdocsTemplateRecipients } from './verdocs-template-recipients.js';
|
|
51
50
|
export { VerdocsTemplateReminders, defineCustomElement as defineCustomElementVerdocsTemplateReminders } from './verdocs-template-reminders.js';
|
|
52
51
|
export { VerdocsTemplateRoleProperties, defineCustomElement as defineCustomElementVerdocsTemplateRoleProperties } from './verdocs-template-role-properties.js';
|
|
52
|
+
export { VerdocsTemplateRoles, defineCustomElement as defineCustomElementVerdocsTemplateRoles } from './verdocs-template-roles.js';
|
|
53
53
|
export { VerdocsTemplateSender, defineCustomElement as defineCustomElementVerdocsTemplateSender } from './verdocs-template-sender.js';
|
|
54
54
|
export { VerdocsTemplateTags, defineCustomElement as defineCustomElementVerdocsTemplateTags } from './verdocs-template-tags.js';
|
|
55
55
|
export { VerdocsTemplateVisibility, defineCustomElement as defineCustomElementVerdocsTemplateVisibility } from './verdocs-template-visibility.js';
|
package/dist/components/utils.js
CHANGED
|
@@ -267,14 +267,17 @@ const getFieldSettings = (field) => {
|
|
|
267
267
|
const updateCssTransform = (el, key, value) => {
|
|
268
268
|
// e.g. 'scale(1.87908, 1.87908) translate(0px, 0px);'
|
|
269
269
|
const currentTransform = el.style.transform;
|
|
270
|
+
console.log('ct', currentTransform);
|
|
270
271
|
// e.g. ['scale(1.87908, 1.87908)', 'scale', '1.87908, 1.87908', ...], [ 'translate(0px, 0px)', 'translate', '0px, 0px']]
|
|
271
272
|
const components = [...currentTransform.matchAll(/(\w+)\(([^)]*)\)/gi)];
|
|
273
|
+
console.log('comp', components);
|
|
272
274
|
el.style.transform = [
|
|
273
275
|
components //
|
|
274
276
|
.filter(component => component[1] !== key) // Remove the entry if it's already set
|
|
275
277
|
.map(component => component[0]),
|
|
276
278
|
`${key}(${value})`,
|
|
277
279
|
].join(' ');
|
|
280
|
+
console.log('nt', el.style.transform);
|
|
278
281
|
};
|
|
279
282
|
const formatLocalDate = (date) => format(date, 'P').replace(/\//g, '-');
|
|
280
283
|
const formatEnvelopeDate = (envelope) => formatLocalDate(new Date(envelope.updated_at));
|
|
@@ -25,6 +25,9 @@ const VerdocsContactPicker = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
|
25
25
|
this.showSuggestions = false;
|
|
26
26
|
this.showMessage = false;
|
|
27
27
|
this.delegator = false;
|
|
28
|
+
this.nameFieldId = `verdocs-contact-picker-name-${Math.random().toString(36).substring(2, 11)}`;
|
|
29
|
+
this.emailFieldId = `verdocs-contact-picker-email-${Math.random().toString(36).substring(2, 11)}`;
|
|
30
|
+
this.phoneFieldId = `verdocs-contact-picker-phone-${Math.random().toString(36).substring(2, 11)}`;
|
|
28
31
|
}
|
|
29
32
|
componentWillLoad() {
|
|
30
33
|
if (this.templateRole) {
|
|
@@ -75,13 +78,15 @@ const VerdocsContactPicker = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
|
75
78
|
this.phone = suggestion.phone;
|
|
76
79
|
this.showSuggestions = false;
|
|
77
80
|
}
|
|
81
|
+
// The reason for the random names/IDs is to disable browser autocomplete. We set the autocomplete tags but many browsers ignore them
|
|
82
|
+
// and show a duplicate autocomplete picker on top of our own.
|
|
78
83
|
render() {
|
|
79
|
-
return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor:
|
|
84
|
+
return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("label", { htmlFor: this.nameFieldId }, "Name:"), h("input", { id: this.nameFieldId, name: this.nameFieldId, type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.name, placeholder: "Recipient Name...", onFocus: () => { var _a; return (this.showSuggestions = ((_a = this.contactSuggestions) === null || _a === void 0 ? void 0 : _a.length) > 0); },
|
|
80
85
|
// onBlur={() => (this.showSuggestions = false)}
|
|
81
86
|
onInput: e => this.handleNameChange(e) }), this.showSuggestions && (h("div", { class: "dropdown" }, this.contactSuggestions.map(suggestion => {
|
|
82
87
|
var _a;
|
|
83
88
|
return (h("div", { key: (_a = suggestion.id) !== null && _a !== void 0 ? _a : suggestion.name, class: "suggestion", onClick: e => this.handleSelectSuggestion(e, suggestion) }, suggestion.avatar ? h("img", { alt: "Avatar", class: "avatar", src: suggestion.avatar }) : h("div", { class: "avatar", innerHTML: placeholderIcon }), h("div", { class: "details" }, h("div", { class: "name" }, suggestion.name), suggestion.email && h("div", { class: "destination" }, suggestion.email), suggestion.phone && h("div", { class: "destination" }, suggestion.phone))));
|
|
84
|
-
})))), h("div", { class: "row" }, h("label", { htmlFor:
|
|
89
|
+
})))), h("div", { class: "row" }, h("label", { htmlFor: this.emailFieldId }, "Email:"), h("input", { id: this.emailFieldId, name: this.emailFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.email, placeholder: "Email Address...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleEmailChange(e) })), h("div", { class: "row" }, h("label", { htmlFor: this.phoneFieldId }, "Phone:"), h("input", { id: this.phoneFieldId, name: this.phoneFieldId, type: "text", "data-lpignore": "true", autoComplete: "blocked", value: this.phone, placeholder: "Phone Number...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handlePhoneChange(e) })), this.showMessage && (h("div", { class: "row" }, h("label", { htmlFor: "verdocs-contact-picker-message" }, "Message:"), h("input", { id: "verdocs-contact-picker-message", name: "verdocs-contact-picker-message", type: "text", "data-lpignore": "true", autocomplete: "blocked", value: this.message, placeholder: "Invitation Message...", onFocus: () => (this.showSuggestions = false), onInput: e => this.handleMessageChange(e) }))), h("div", { class: "buttons" }, h("verdocs-toggle-button", { icon: messageIcon, size: "small", active: this.showMessage, onToggle: e => {
|
|
85
90
|
this.showMessage = e.detail.active;
|
|
86
91
|
this.showSuggestions = false;
|
|
87
92
|
} }), h("verdocs-toggle-button", { icon: delegateIcon, size: "small", active: this.delegator, onToggle: e => {
|
|
@@ -100,7 +105,10 @@ const VerdocsContactPicker = /*@__PURE__*/ proxyCustomElement(class extends HTML
|
|
|
100
105
|
"message": [32],
|
|
101
106
|
"showSuggestions": [32],
|
|
102
107
|
"showMessage": [32],
|
|
103
|
-
"delegator": [32]
|
|
108
|
+
"delegator": [32],
|
|
109
|
+
"nameFieldId": [32],
|
|
110
|
+
"emailFieldId": [32],
|
|
111
|
+
"phoneFieldId": [32]
|
|
104
112
|
}]);
|
|
105
113
|
function defineCustomElement() {
|
|
106
114
|
if (typeof customElements === "undefined") {
|
|
@@ -27,9 +27,7 @@ const VerdocsTemplateDocumentPage = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
27
27
|
this.pageDisplayUri = '';
|
|
28
28
|
}
|
|
29
29
|
async componentWillLoad() {
|
|
30
|
-
|
|
31
|
-
console.log('pd', uri);
|
|
32
|
-
this.pageDisplayUri = uri;
|
|
30
|
+
this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.templateId, this.documentId, this.pageNumber);
|
|
33
31
|
}
|
|
34
32
|
componentDidLoad() {
|
|
35
33
|
this.resizeObserver = new ResizeObserver(throttle(entries => {
|
|
@@ -124,12 +124,12 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
|
|
|
124
124
|
}
|
|
125
125
|
handlePageRendered(e) {
|
|
126
126
|
const pageInfo = e.detail;
|
|
127
|
-
console.log('[FIELDS] Page rendered', pageInfo);
|
|
127
|
+
console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
|
|
128
128
|
this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
|
|
129
129
|
this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
|
|
130
130
|
const fields = state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
|
|
131
131
|
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
132
|
-
console.log('[FIELDS] Fields on page', fields);
|
|
132
|
+
// console.log('[FIELDS] Fields on page', fields);
|
|
133
133
|
fields.forEach(field => {
|
|
134
134
|
const roleIndex = getRoleIndex(state.roleNames, field.role_name);
|
|
135
135
|
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface VerdocsTemplateRoles extends Components.VerdocsTemplateRoles, HTMLElement {}
|
|
4
|
+
export const VerdocsTemplateRoles: {
|
|
5
|
+
prototype: VerdocsTemplateRoles;
|
|
6
|
+
new (): VerdocsTemplateRoles;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -17,7 +17,7 @@ import { d as defineCustomElement$5 } from './verdocs-select-input2.js';
|
|
|
17
17
|
import { d as defineCustomElement$3 } from './verdocs-template-sender2.js';
|
|
18
18
|
import { d as defineCustomElement$2 } from './verdocs-text-input2.js';
|
|
19
19
|
|
|
20
|
-
const
|
|
20
|
+
const verdocsTemplateRolesCss = "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:#4c56cb;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-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;display:-ms-flexbox;display:flex;-webkit-column-gap:10px;-moz-column-gap:10px;column-gap:10px;-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;padding:0 5px 0 15px;line-height:30px;-ms-flex-direction:row;flex-direction:row;border-radius:30px;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{margin:0 0 0 9px;cursor:pointer}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:1px 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:#654dcb7f;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:#654dcb7f;-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:20px;height:20px;stroke:#666666;margin-bottom:-5px}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}";
|
|
21
21
|
|
|
22
22
|
const senderLabels = {
|
|
23
23
|
[TemplateSenderTypes.EVERYONE]: 'Everyone',
|
|
@@ -34,7 +34,7 @@ const plusIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="#ffffff" viewBox
|
|
|
34
34
|
const iconSigner = '<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>';
|
|
35
35
|
const iconApprover = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule="evenodd" /></svg>`;
|
|
36
36
|
const iconCC = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z" /><path d="M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z" /></svg>`;
|
|
37
|
-
const
|
|
37
|
+
const VerdocsTemplateRoles$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
38
38
|
constructor() {
|
|
39
39
|
super();
|
|
40
40
|
this.__registerHost();
|
|
@@ -55,19 +55,19 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
55
55
|
try {
|
|
56
56
|
this.endpoint.loadSession();
|
|
57
57
|
if (!this.templateId) {
|
|
58
|
-
console.log(`[
|
|
58
|
+
console.log(`[ROLES] Missing required template ID ${this.templateId}`);
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
61
|
if (!this.endpoint.session) {
|
|
62
|
-
console.log('[
|
|
62
|
+
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
try {
|
|
66
|
-
console.log(`[
|
|
66
|
+
console.log(`[ROLES] Loading template ${this.templateId}`, this.endpoint.session);
|
|
67
67
|
await loadTemplate(this.endpoint, this.templateId, true);
|
|
68
68
|
}
|
|
69
69
|
catch (e) {
|
|
70
|
-
console.log('[
|
|
70
|
+
console.log('[ROLES] Error loading template', e);
|
|
71
71
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new 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));
|
|
72
72
|
}
|
|
73
73
|
this.sortTemplateRoles();
|
|
@@ -138,8 +138,8 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
138
138
|
sequence: role.sequence,
|
|
139
139
|
order: role.order,
|
|
140
140
|
})))
|
|
141
|
-
.then(() => console.log('[
|
|
142
|
-
.catch(e => console.log('[
|
|
141
|
+
.then(() => console.log('[ROLES] Updated roles'))
|
|
142
|
+
.catch(e => console.log('[ROLES] Role updates failed', e));
|
|
143
143
|
}
|
|
144
144
|
}.bind(this),
|
|
145
145
|
ondropactivate: e => {
|
|
@@ -202,7 +202,7 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
202
202
|
this.extractSequenceNumbers();
|
|
203
203
|
}
|
|
204
204
|
// Look for name conflicts, because they're UGC and can be anything, regardless of order.
|
|
205
|
-
|
|
205
|
+
getNextRoleName() {
|
|
206
206
|
var _a, _b;
|
|
207
207
|
let name = '';
|
|
208
208
|
let nextNumber = (_a = state.template) === null || _a === void 0 ? void 0 : _a.roles.length;
|
|
@@ -216,7 +216,7 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
216
216
|
e.stopPropagation();
|
|
217
217
|
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
218
218
|
const order = state.template.roles.filter(role => role.sequence === sequence).length + 1;
|
|
219
|
-
const name = this.
|
|
219
|
+
const name = this.getNextRoleName();
|
|
220
220
|
console.log('Will create', name, sequence, order);
|
|
221
221
|
createRole(this.endpoint, this.templateId, {
|
|
222
222
|
template_id: this.templateId,
|
|
@@ -242,7 +242,7 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
242
242
|
handleAddStep(e, sequence) {
|
|
243
243
|
e.stopPropagation();
|
|
244
244
|
const order = 1;
|
|
245
|
-
const name = this.
|
|
245
|
+
const name = this.getNextRoleName();
|
|
246
246
|
console.log('Will create', name, sequence, order);
|
|
247
247
|
createRole(this.endpoint, this.templateId, {
|
|
248
248
|
template_id: this.templateId,
|
|
@@ -274,12 +274,11 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
274
274
|
return (h(Host, null, h("verdocs-loader", null)));
|
|
275
275
|
}
|
|
276
276
|
const roleNames = (((_a = state.template) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name);
|
|
277
|
-
|
|
278
|
-
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[state.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 }), state.template.roles
|
|
277
|
+
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-roles" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[state.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-roles" }, 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-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), state.template.roles
|
|
279
278
|
.filter(role => role.sequence === sequence)
|
|
280
279
|
.map(role => {
|
|
281
280
|
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 })));
|
|
282
|
-
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-
|
|
281
|
+
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, 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-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, 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: () => {
|
|
283
282
|
this.showingRoleDialog = null;
|
|
284
283
|
this.forceRerender++;
|
|
285
284
|
}, onDelete: e => {
|
|
@@ -290,8 +289,8 @@ const VerdocsTemplateRecipients$1 = /*@__PURE__*/ proxyCustomElement(class exten
|
|
|
290
289
|
} })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
|
|
291
290
|
}
|
|
292
291
|
get el() { return this; }
|
|
293
|
-
static get style() { return
|
|
294
|
-
}, [0, "verdocs-template-
|
|
292
|
+
static get style() { return verdocsTemplateRolesCss; }
|
|
293
|
+
}, [0, "verdocs-template-roles", {
|
|
295
294
|
"endpoint": [16],
|
|
296
295
|
"templateId": [1, "template-id"],
|
|
297
296
|
"showingRoleDialog": [32],
|
|
@@ -303,11 +302,11 @@ function defineCustomElement$1() {
|
|
|
303
302
|
if (typeof customElements === "undefined") {
|
|
304
303
|
return;
|
|
305
304
|
}
|
|
306
|
-
const components = ["verdocs-template-
|
|
305
|
+
const components = ["verdocs-template-roles", "verdocs-button", "verdocs-checkbox", "verdocs-component-error", "verdocs-help-icon", "verdocs-loader", "verdocs-radio-button", "verdocs-select-input", "verdocs-template-role-properties", "verdocs-template-sender", "verdocs-text-input"];
|
|
307
306
|
components.forEach(tagName => { switch (tagName) {
|
|
308
|
-
case "verdocs-template-
|
|
307
|
+
case "verdocs-template-roles":
|
|
309
308
|
if (!customElements.get(tagName)) {
|
|
310
|
-
customElements.define(tagName,
|
|
309
|
+
customElements.define(tagName, VerdocsTemplateRoles$1);
|
|
311
310
|
}
|
|
312
311
|
break;
|
|
313
312
|
case "verdocs-button":
|
|
@@ -364,7 +363,7 @@ function defineCustomElement$1() {
|
|
|
364
363
|
}
|
|
365
364
|
defineCustomElement$1();
|
|
366
365
|
|
|
367
|
-
const
|
|
366
|
+
const VerdocsTemplateRoles = VerdocsTemplateRoles$1;
|
|
368
367
|
const defineCustomElement = defineCustomElement$1;
|
|
369
368
|
|
|
370
|
-
export {
|
|
369
|
+
export { VerdocsTemplateRoles, defineCustomElement };
|