@verdocs/web-sdk 2.3.31 → 2.3.33
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/{Icons-a11fb3fc.js → Icons-3286d014.js} +2 -0
- package/dist/cjs/TemplateRoleStore-e17bb006.js +44 -0
- package/dist/cjs/{TemplateStore-78b8944b.js → TemplateStore-e62c16a8.js} +2 -39
- package/dist/cjs/ipc-test.cjs.entry.js +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-aeaf4a31.js → utils-ac526133.js} +1 -7
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +8 -7
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +8 -7
- package/dist/cjs/verdocs-field-date.cjs.entry.js +10 -8
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +8 -6
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +9 -7
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +6 -4
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +8 -6
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +9 -7
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +12 -7
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +9 -6
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +10 -8
- package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-portal_2.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-preview_8.cjs.entry.js +29 -24
- package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +10 -12
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +18 -17
- package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +11 -8
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +16 -14
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +10 -12
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +7 -42
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +7 -42
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +8 -42
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +7 -41
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +8 -42
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +5 -21
- package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +7 -41
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +8 -42
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +11 -42
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +8 -41
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +8 -42
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +10 -10
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.stories.js +1 -1
- package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +2 -3
- package/dist/collection/utils/Icons.js +1 -0
- package/dist/collection/utils/TemplateRoleStore.js +2 -0
- package/dist/collection/utils/TemplateStore.js +1 -2
- package/dist/collection/utils/utils.js +1 -15
- package/dist/{esm/Icons-c29eb0fa.js → components/Icons.js} +2 -1
- package/dist/components/TemplateRoleStore.js +37 -0
- package/dist/components/TemplateStore.js +2 -34
- package/dist/components/utils.js +2 -7
- package/dist/components/verdocs-contact-picker2.js +1 -1
- package/dist/components/verdocs-field-attachment.js +7 -8
- package/dist/components/verdocs-field-checkbox.js +7 -8
- package/dist/components/verdocs-field-date.js +8 -8
- package/dist/components/verdocs-field-dropdown.js +7 -7
- package/dist/components/verdocs-field-initial.js +8 -8
- package/dist/components/verdocs-field-payment.js +5 -4
- package/dist/components/verdocs-field-radio-button.js +7 -7
- package/dist/components/verdocs-field-signature.js +8 -8
- package/dist/components/verdocs-field-textarea.js +11 -8
- package/dist/components/verdocs-field-textbox.js +8 -7
- package/dist/components/verdocs-field-timestamp.js +8 -8
- package/dist/components/verdocs-file-chooser2.js +2 -75
- package/dist/components/verdocs-preview2.js +11 -8
- package/dist/components/verdocs-quick-filter2.js +1 -1
- package/dist/components/verdocs-send2.js +16 -14
- package/dist/components/verdocs-settings-organization2.js +1 -1
- package/dist/components/verdocs-settings-profile2.js +1 -1
- package/dist/components/verdocs-sign.js +10 -12
- package/dist/components/verdocs-template-attachments2.js +2 -1
- package/dist/components/verdocs-template-field-properties2.js +2 -1
- package/dist/components/verdocs-template-fields2.js +10 -9
- package/dist/components/verdocs-template-role-properties2.js +2 -1
- package/dist/components/verdocs-template-roles2.js +3 -3
- package/dist/docs.json +1 -358
- package/dist/esm/Icons-ddea87bf.js +76 -0
- package/dist/esm/TemplateRoleStore-bbb2b098.js +37 -0
- package/dist/esm/{TemplateStore-618fb47f.js → TemplateStore-adbf68a0.js} +2 -34
- package/dist/esm/ipc-test.entry.js +2 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-f76f3448.js → utils-d081a2b9.js} +2 -7
- package/dist/esm/verdocs-build.entry.js +2 -1
- package/dist/esm/verdocs-contact-picker_2.entry.js +1 -1
- package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
- package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
- package/dist/esm/verdocs-field-attachment.entry.js +8 -7
- package/dist/esm/verdocs-field-checkbox.entry.js +8 -7
- package/dist/esm/verdocs-field-date.entry.js +10 -8
- package/dist/esm/verdocs-field-dropdown.entry.js +8 -6
- package/dist/esm/verdocs-field-initial.entry.js +9 -7
- package/dist/esm/verdocs-field-payment.entry.js +6 -4
- package/dist/esm/verdocs-field-radio-button.entry.js +8 -6
- package/dist/esm/verdocs-field-signature.entry.js +9 -7
- package/dist/esm/verdocs-field-textarea.entry.js +12 -7
- package/dist/esm/verdocs-field-textbox.entry.js +9 -6
- package/dist/esm/verdocs-field-timestamp.entry.js +10 -8
- package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/verdocs-portal_2.entry.js +2 -1
- package/dist/esm/verdocs-preview_8.entry.js +29 -24
- package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +10 -12
- package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-template-fields_4.entry.js +12 -11
- package/dist/esm/verdocs-view.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Icons-c29eb0fa.js → Icons-ddea87bf.js} +1 -1
- package/dist/esm-es5/TemplateRoleStore-bbb2b098.js +1 -0
- package/dist/esm-es5/TemplateStore-adbf68a0.js +1 -0
- package/dist/esm-es5/ipc-test.entry.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{utils-f76f3448.js → utils-d081a2b9.js} +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelopes-list.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-file-chooser_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-portal_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
- package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-fields_4.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/embeds/verdocs-preview/verdocs-preview.d.ts +4 -2
- package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -1
- package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +2 -4
- package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +3 -9
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +2 -8
- package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +2 -8
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +3 -3
- package/dist/types/components.d.ts +0 -168
- package/dist/types/utils/Icons.d.ts +1 -0
- package/dist/types/utils/TemplateRoleStore.d.ts +2 -0
- package/dist/types/utils/TemplateStore.d.ts +0 -1
- package/dist/types/utils/utils.d.ts +1 -6
- package/dist/verdocs-web-sdk/p-01730f6a.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-637fee9b.js → p-029ae656.js} +1 -1
- package/dist/verdocs-web-sdk/{p-9b6f0565.entry.js → p-07c30f7e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-0a93ada5.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-0aa50735.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-0ef84cfe.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3898a9b0.entry.js → p-140b8c97.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-72dc5fb4.system.entry.js → p-15259f81.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-17575e47.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3c5240df.system.entry.js → p-1a70513e.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-242a7d5f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2af02a9e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2c13a315.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2dddc88a.js +1 -0
- package/dist/verdocs-web-sdk/p-306af4e0.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e65e9d24.js → p-34f03fee.js} +1 -1
- package/dist/verdocs-web-sdk/{p-455d16dc.system.js → p-3f628837.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-47b2d159.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-94009f45.entry.js → p-4861684b.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-4c7998f0.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3f7aa186.system.entry.js → p-56da687c.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-579d1e2c.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-9542e890.system.entry.js → p-5a6581cc.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-5f96dd8d.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-0685d939.system.entry.js → p-6384f444.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-67b93075.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-794ce527.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-c1f51f1b.system.entry.js → p-7ae877b4.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-7dc5daed.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-89d8a21e.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e96924b5.system.entry.js → p-8b111775.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-8bbe0209.system.js +1 -0
- package/dist/verdocs-web-sdk/p-93aa6f6e.js +1 -0
- package/dist/verdocs-web-sdk/p-9d274e45.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3b1711df.entry.js → p-a3326659.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-a7580374.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-623fe013.system.entry.js → p-a91615c2.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-77ca800b.entry.js → p-ac6d0fb0.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-b5aee483.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-126c423d.entry.js → p-ba2aa74b.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-bce1fa90.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-bd8918e3.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c10da56f.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4be3b251.entry.js → p-c3c142f0.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-c67f893d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c72dfb47.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7a47fcd9.system.js → p-c90481a4.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-c9e30988.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cd7bd84e.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cff1b0e9.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d4cd201f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-cbe7b8c8.system.entry.js → p-d72dc783.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-d87c1330.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-bfdbd210.entry.js → p-da9462c7.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
- package/dist/verdocs-web-sdk/p-f59a30d0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-f9efd9ae.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-fb73910e.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-fc9067c0.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/custom-elements.json +0 -2175
- package/dist/esm-es5/TemplateStore-618fb47f.js +0 -1
- package/dist/verdocs-web-sdk/p-058f0e56.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-093f593d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-09babc77.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0a5b8a89.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-17245241.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-18cb9ef7.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1b661190.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-350f1ca4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-35720475.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-371effb1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3930ee22.js +0 -1
- package/dist/verdocs-web-sdk/p-3989e584.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3d9adca7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-413a5b21.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-591b695c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5cd0b997.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-62ec3db9.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6d42921b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6d81d774.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6e45e610.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-71faa59f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7c8419d7.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-961ee618.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a97512f6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-aa29c7ec.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bc017ceb.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c11c841c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c82a2a4e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d32278c8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-df621f8d.system.js +0 -1
- package/dist/verdocs-web-sdk/p-ea52b891.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ebc1c670.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fda04bb0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ff473972.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ffa4091d.entry.js +0 -1
@@ -3,15 +3,17 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
3
3
|
import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
4
4
|
import { updateField } from '@verdocs/js-sdk/Templates/Fields';
|
5
5
|
import { h, Host, Fragment } from '@stencil/core';
|
6
|
-
import { getFieldSettings } from '../../../utils/utils';
|
7
6
|
import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
|
8
|
-
|
7
|
+
import { getRoleIndex, getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
|
8
|
+
import { getFieldSettings } from '../../../utils/utils';
|
9
|
+
import { SettingsIcon } from '../../../utils/Icons';
|
9
10
|
/**
|
10
11
|
* Display a multi-line text input field.
|
11
12
|
*/
|
12
13
|
export class VerdocsFieldTextarea {
|
13
14
|
constructor() {
|
14
15
|
this.fieldStore = null;
|
16
|
+
this.roleStore = null;
|
15
17
|
this.endpoint = VerdocsEndpoint.getDefault();
|
16
18
|
this.templateid = '';
|
17
19
|
this.fieldname = '';
|
@@ -19,10 +21,8 @@ export class VerdocsFieldTextarea {
|
|
19
21
|
this.editable = false;
|
20
22
|
this.moveable = false;
|
21
23
|
this.done = false;
|
22
|
-
this.roleindex = 0;
|
23
24
|
this.xscale = 1;
|
24
25
|
this.yscale = 1;
|
25
|
-
this.rerender = 0;
|
26
26
|
this.showingProperties = false;
|
27
27
|
}
|
28
28
|
async focusField() {
|
@@ -42,6 +42,7 @@ export class VerdocsFieldTextarea {
|
|
42
42
|
}
|
43
43
|
async componentWillLoad() {
|
44
44
|
this.fieldStore = getTemplateFieldStore(this.templateid);
|
45
|
+
this.roleStore = getTemplateRoleStore(this.templateid);
|
45
46
|
}
|
46
47
|
componentDidRender() {
|
47
48
|
interact.dynamicDrop(true);
|
@@ -75,6 +76,9 @@ export class VerdocsFieldTextarea {
|
|
75
76
|
}
|
76
77
|
handleResizeEnd(e) {
|
77
78
|
const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
|
79
|
+
if (!field) {
|
80
|
+
return h(Fragment, null);
|
81
|
+
}
|
78
82
|
const newSettings = { ...getFieldSettings(field) };
|
79
83
|
const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
|
80
84
|
newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
|
@@ -92,17 +96,18 @@ export class VerdocsFieldTextarea {
|
|
92
96
|
render() {
|
93
97
|
var _a, _b;
|
94
98
|
const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
|
99
|
+
const roleIndex = getRoleIndex(this.roleStore, field.role_name);
|
100
|
+
const backgroundColor = field['rgba'] || getRGBA(roleIndex);
|
95
101
|
if (!field) {
|
96
102
|
return h(Fragment, null);
|
97
103
|
}
|
98
104
|
const settings = getFieldSettings(field);
|
99
105
|
const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
|
100
106
|
const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
|
101
|
-
const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
|
102
107
|
if (this.done) {
|
103
108
|
return h(Host, { class: { done: this.done } }, settings.value);
|
104
109
|
}
|
105
|
-
return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled, done: this.done }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, disabled: disabled, name: field.name, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el) }, value), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML:
|
110
|
+
return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled, done: this.done }, style: { backgroundColor } }, h("textarea", { placeholder: settings.placeholder || '', tabIndex: settings.order, disabled: disabled, name: field.name, required: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el) }, value), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
106
111
|
e.stopPropagation();
|
107
112
|
this.showingProperties = !this.showingProperties;
|
108
113
|
} }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${this.fieldname}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
|
@@ -257,24 +262,6 @@ export class VerdocsFieldTextarea {
|
|
257
262
|
"reflect": false,
|
258
263
|
"defaultValue": "false"
|
259
264
|
},
|
260
|
-
"roleindex": {
|
261
|
-
"type": "number",
|
262
|
-
"mutable": false,
|
263
|
-
"complexType": {
|
264
|
-
"original": "number",
|
265
|
-
"resolved": "number",
|
266
|
-
"references": {}
|
267
|
-
},
|
268
|
-
"required": false,
|
269
|
-
"optional": true,
|
270
|
-
"docs": {
|
271
|
-
"tags": [],
|
272
|
-
"text": "If set, the field will be colored using this index value to select the background color."
|
273
|
-
},
|
274
|
-
"attribute": "roleindex",
|
275
|
-
"reflect": false,
|
276
|
-
"defaultValue": "0"
|
277
|
-
},
|
278
265
|
"xscale": {
|
279
266
|
"type": "number",
|
280
267
|
"mutable": false,
|
@@ -310,24 +297,6 @@ export class VerdocsFieldTextarea {
|
|
310
297
|
"attribute": "yscale",
|
311
298
|
"reflect": false,
|
312
299
|
"defaultValue": "1"
|
313
|
-
},
|
314
|
-
"rerender": {
|
315
|
-
"type": "number",
|
316
|
-
"mutable": false,
|
317
|
-
"complexType": {
|
318
|
-
"original": "number",
|
319
|
-
"resolved": "number",
|
320
|
-
"references": {}
|
321
|
-
},
|
322
|
-
"required": false,
|
323
|
-
"optional": true,
|
324
|
-
"docs": {
|
325
|
-
"tags": [],
|
326
|
-
"text": "May be used to force the field to re-render."
|
327
|
-
},
|
328
|
-
"attribute": "rerender",
|
329
|
-
"reflect": false,
|
330
|
-
"defaultValue": "0"
|
331
300
|
}
|
332
301
|
};
|
333
302
|
}
|
@@ -3,15 +3,17 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
3
3
|
import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
4
4
|
import { updateField } from '@verdocs/js-sdk/Templates/Fields';
|
5
5
|
import { h, Host, Fragment } from '@stencil/core';
|
6
|
+
import { getRoleIndex, getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
|
6
7
|
import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
|
7
8
|
import { getFieldSettings } from '../../../utils/utils';
|
8
|
-
|
9
|
+
import { SettingsIcon } from '../../../utils/Icons';
|
9
10
|
/**
|
10
11
|
* Display a text input field.
|
11
12
|
*/
|
12
13
|
export class VerdocsFieldTextbox {
|
13
14
|
constructor() {
|
14
15
|
this.fieldStore = null;
|
16
|
+
this.roleStore = null;
|
15
17
|
this.endpoint = VerdocsEndpoint.getDefault();
|
16
18
|
this.templateid = '';
|
17
19
|
this.fieldname = '';
|
@@ -19,10 +21,8 @@ export class VerdocsFieldTextbox {
|
|
19
21
|
this.editable = false;
|
20
22
|
this.moveable = false;
|
21
23
|
this.done = false;
|
22
|
-
this.roleindex = 0;
|
23
24
|
this.xscale = 1;
|
24
25
|
this.yscale = 1;
|
25
|
-
this.rerender = 0;
|
26
26
|
this.showingProperties = false;
|
27
27
|
}
|
28
28
|
async focusField() {
|
@@ -42,6 +42,7 @@ export class VerdocsFieldTextbox {
|
|
42
42
|
}
|
43
43
|
async componentWillLoad() {
|
44
44
|
this.fieldStore = getTemplateFieldStore(this.templateid);
|
45
|
+
this.roleStore = getTemplateRoleStore(this.templateid);
|
45
46
|
}
|
46
47
|
componentDidRender() {
|
47
48
|
interact.dynamicDrop(true);
|
@@ -93,12 +94,14 @@ export class VerdocsFieldTextbox {
|
|
93
94
|
render() {
|
94
95
|
var _a, _b;
|
95
96
|
const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
|
97
|
+
console.log('Rendering tb', this.fieldname, field);
|
98
|
+
const roleIndex = getRoleIndex(this.roleStore, field.role_name);
|
99
|
+
const backgroundColor = field['rgba'] || getRGBA(roleIndex);
|
96
100
|
if (!field) {
|
97
101
|
return h(Fragment, null);
|
98
102
|
}
|
99
103
|
const settings = getFieldSettings(field);
|
100
104
|
let disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
|
101
|
-
const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
|
102
105
|
const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
|
103
106
|
const width = settings.width || 150;
|
104
107
|
// TODO: This is an outdated technique from the old system. We should compute it.
|
@@ -106,7 +109,7 @@ export class VerdocsFieldTextbox {
|
|
106
109
|
if (this.done) {
|
107
110
|
return h(Host, { class: { done: this.done } }, value);
|
108
111
|
}
|
109
|
-
return (h(Host, { class: { required: field.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: field.name, 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: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML:
|
112
|
+
return (h(Host, { class: { required: field.required, disabled, done: this.done }, style: { backgroundColor } }, h("input", { type: "text", name: field.name, 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: field === null || field === void 0 ? void 0 : field.required, ref: el => (this.inputEl = el), maxlength: maxlength }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
110
113
|
e.stopPropagation();
|
111
114
|
this.showingProperties = !this.showingProperties;
|
112
115
|
} }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
|
@@ -261,24 +264,6 @@ export class VerdocsFieldTextbox {
|
|
261
264
|
"reflect": false,
|
262
265
|
"defaultValue": "false"
|
263
266
|
},
|
264
|
-
"roleindex": {
|
265
|
-
"type": "number",
|
266
|
-
"mutable": false,
|
267
|
-
"complexType": {
|
268
|
-
"original": "number",
|
269
|
-
"resolved": "number",
|
270
|
-
"references": {}
|
271
|
-
},
|
272
|
-
"required": false,
|
273
|
-
"optional": true,
|
274
|
-
"docs": {
|
275
|
-
"tags": [],
|
276
|
-
"text": "If set, the field will be colored using this index value to select the background color."
|
277
|
-
},
|
278
|
-
"attribute": "roleindex",
|
279
|
-
"reflect": false,
|
280
|
-
"defaultValue": "0"
|
281
|
-
},
|
282
267
|
"xscale": {
|
283
268
|
"type": "number",
|
284
269
|
"mutable": false,
|
@@ -314,24 +299,6 @@ export class VerdocsFieldTextbox {
|
|
314
299
|
"attribute": "yscale",
|
315
300
|
"reflect": false,
|
316
301
|
"defaultValue": "1"
|
317
|
-
},
|
318
|
-
"rerender": {
|
319
|
-
"type": "number",
|
320
|
-
"mutable": false,
|
321
|
-
"complexType": {
|
322
|
-
"original": "number",
|
323
|
-
"resolved": "number",
|
324
|
-
"references": {}
|
325
|
-
},
|
326
|
-
"required": false,
|
327
|
-
"optional": true,
|
328
|
-
"docs": {
|
329
|
-
"tags": [],
|
330
|
-
"text": "May be used to force the field to re-render."
|
331
|
-
},
|
332
|
-
"attribute": "rerender",
|
333
|
-
"reflect": false,
|
334
|
-
"defaultValue": "0"
|
335
302
|
}
|
336
303
|
};
|
337
304
|
}
|
package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js
CHANGED
@@ -1,24 +1,24 @@
|
|
1
1
|
import { format } from 'date-fns';
|
2
2
|
import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
3
3
|
import { h, Host, Fragment } from '@stencil/core';
|
4
|
+
import { getRoleIndex, getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
|
5
|
+
import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
|
4
6
|
import { getFieldSettings } from '../../../utils/utils';
|
5
7
|
import { FORMAT_TIMESTAMP } from '../../../utils/Types';
|
6
|
-
import {
|
7
|
-
const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
|
8
|
+
import { SettingsIcon } from '../../../utils/Icons';
|
8
9
|
/**
|
9
10
|
* Display a timestamp field.
|
10
11
|
*/
|
11
12
|
export class VerdocsFieldTimestamp {
|
12
13
|
constructor() {
|
13
14
|
this.fieldStore = null;
|
15
|
+
this.roleStore = null;
|
14
16
|
this.templateid = '';
|
15
17
|
this.fieldname = '';
|
16
18
|
this.disabled = false;
|
17
19
|
this.editable = false;
|
18
20
|
this.moveable = false;
|
19
21
|
this.done = false;
|
20
|
-
this.roleindex = 0;
|
21
|
-
this.rerender = 0;
|
22
22
|
this.xscale = 1;
|
23
23
|
this.yscale = 1;
|
24
24
|
this.showingProperties = false;
|
@@ -40,16 +40,18 @@ export class VerdocsFieldTimestamp {
|
|
40
40
|
}
|
41
41
|
async componentWillLoad() {
|
42
42
|
this.fieldStore = getTemplateFieldStore(this.templateid);
|
43
|
+
this.roleStore = getTemplateRoleStore(this.templateid);
|
43
44
|
}
|
44
45
|
render() {
|
45
46
|
var _a, _b;
|
46
47
|
const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
|
48
|
+
const roleIndex = getRoleIndex(this.roleStore, field.role_name);
|
49
|
+
const backgroundColor = field['rgba'] || getRGBA(roleIndex);
|
47
50
|
if (!field) {
|
48
51
|
return h(Fragment, null);
|
49
52
|
}
|
50
53
|
const settings = getFieldSettings(field);
|
51
54
|
const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
|
52
|
-
const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
|
53
55
|
const value = settings.value || new Date().toISOString();
|
54
56
|
const dt = new Date(value);
|
55
57
|
const formatted = format(dt, FORMAT_TIMESTAMP);
|
@@ -59,7 +61,7 @@ export class VerdocsFieldTimestamp {
|
|
59
61
|
return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.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,
|
60
62
|
// TODO: It would really make more sense to show the date and time but the default width of 64px for this field
|
61
63
|
// is encoded in a ton of existing entries in the database and is hard to change.
|
62
|
-
value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML:
|
64
|
+
value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: SettingsIcon, onClick: (e) => {
|
63
65
|
e.stopPropagation();
|
64
66
|
this.showingProperties = !this.showingProperties;
|
65
67
|
} }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
|
@@ -193,42 +195,6 @@ export class VerdocsFieldTimestamp {
|
|
193
195
|
"reflect": false,
|
194
196
|
"defaultValue": "false"
|
195
197
|
},
|
196
|
-
"roleindex": {
|
197
|
-
"type": "number",
|
198
|
-
"mutable": false,
|
199
|
-
"complexType": {
|
200
|
-
"original": "number",
|
201
|
-
"resolved": "number",
|
202
|
-
"references": {}
|
203
|
-
},
|
204
|
-
"required": false,
|
205
|
-
"optional": true,
|
206
|
-
"docs": {
|
207
|
-
"tags": [],
|
208
|
-
"text": "If set, the field will be colored using this index value to select the background color."
|
209
|
-
},
|
210
|
-
"attribute": "roleindex",
|
211
|
-
"reflect": false,
|
212
|
-
"defaultValue": "0"
|
213
|
-
},
|
214
|
-
"rerender": {
|
215
|
-
"type": "number",
|
216
|
-
"mutable": false,
|
217
|
-
"complexType": {
|
218
|
-
"original": "number",
|
219
|
-
"resolved": "number",
|
220
|
-
"references": {}
|
221
|
-
},
|
222
|
-
"required": false,
|
223
|
-
"optional": true,
|
224
|
-
"docs": {
|
225
|
-
"tags": [],
|
226
|
-
"text": "May be used to force the field to re-render."
|
227
|
-
},
|
228
|
-
"attribute": "rerender",
|
229
|
-
"reflect": false,
|
230
|
-
"defaultValue": "0"
|
231
|
-
},
|
232
198
|
"xscale": {
|
233
199
|
"type": "number",
|
234
200
|
"mutable": false,
|
package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js
CHANGED
@@ -2,11 +2,11 @@ import interact from 'interactjs';
|
|
2
2
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
3
3
|
import { integerSequence } from '@verdocs/js-sdk/Utils/Primitives';
|
4
4
|
import { createField, updateField } from '@verdocs/js-sdk/Templates/Fields';
|
5
|
-
import { h, Host } from '@stencil/core';
|
6
|
-
import { defaultHeight, defaultWidth, getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
|
7
|
-
import { getRoleNames, getTemplateStore } from '../../../utils/TemplateStore';
|
8
5
|
import { getTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
|
6
|
+
import { defaultHeight, defaultWidth, renderDocumentField, updateCssTransform } from '../../../utils/utils';
|
7
|
+
import { h, Host } from '@stencil/core';
|
9
8
|
import { getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
|
9
|
+
import { getTemplateStore } from '../../../utils/TemplateStore';
|
10
10
|
import { SDKError } from '../../../utils/errors';
|
11
11
|
const iconTextbox = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
|
12
12
|
const iconTextarea = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.225 20.725v-3.15h11.55v3.15Zm0-4.775V12.8h17.55v3.15Zm0-4.75V8.05h17.55v3.15Zm0-4.775v-3.15h17.55v3.15Z"/></svg>';
|
@@ -103,7 +103,7 @@ export class VerdocsTemplateFields {
|
|
103
103
|
async handleFieldChange(field, e, optionId) {
|
104
104
|
console.log('[FIELDS] handleFieldChange', field, e, optionId);
|
105
105
|
}
|
106
|
-
attachFieldAttributes(pageInfo, field,
|
106
|
+
attachFieldAttributes(pageInfo, field, el) {
|
107
107
|
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
108
108
|
el.addEventListener('settingsChanged', () => {
|
109
109
|
var _a, _b;
|
@@ -117,7 +117,6 @@ export class VerdocsTemplateFields {
|
|
117
117
|
});
|
118
118
|
el.setAttribute('templateid', this.templateId);
|
119
119
|
el.setAttribute('fieldname', field.name);
|
120
|
-
el.setAttribute('roleindex', roleIndex);
|
121
120
|
el.setAttribute('pageNumber', pageInfo.pageNumber);
|
122
121
|
el.setAttribute('xScale', pageInfo.xScale);
|
123
122
|
el.setAttribute('yScale', pageInfo.yScale);
|
@@ -134,19 +133,19 @@ export class VerdocsTemplateFields {
|
|
134
133
|
}
|
135
134
|
reRenderField(field, pageNumber) {
|
136
135
|
const pageInfo = this.cachedPageInfo[pageNumber];
|
137
|
-
const roleIndex = getRoleIndex(getRoleNames(this.
|
138
|
-
const el = renderDocumentField(field, pageInfo,
|
136
|
+
// const roleIndex = getRoleIndex(getRoleNames(this.roleStore), field.role_name);
|
137
|
+
const el = renderDocumentField(field, pageInfo, { disabled: true, editable: true, draggable: true });
|
139
138
|
if (!el) {
|
140
139
|
return;
|
141
140
|
}
|
142
141
|
if (Array.isArray(el)) {
|
143
142
|
el.forEach(childEl => {
|
144
|
-
this.attachFieldAttributes(pageInfo, field,
|
143
|
+
this.attachFieldAttributes(pageInfo, field, childEl);
|
145
144
|
this.makeDraggable(childEl);
|
146
145
|
});
|
147
146
|
}
|
148
147
|
else {
|
149
|
-
this.attachFieldAttributes(pageInfo, field,
|
148
|
+
this.attachFieldAttributes(pageInfo, field, el);
|
150
149
|
this.makeDraggable(el);
|
151
150
|
}
|
152
151
|
}
|
@@ -219,7 +218,8 @@ export class VerdocsTemplateFields {
|
|
219
218
|
updateStoreField(this.fieldStore, name, newFieldData);
|
220
219
|
event.target.removeAttribute('posX');
|
221
220
|
event.target.removeAttribute('posY');
|
222
|
-
this.reRenderField(newFieldData, pageNumber);
|
221
|
+
// this.reRenderField(newFieldData, pageNumber);
|
222
|
+
console.log('[FIELDS] Updated', name, newFieldData);
|
223
223
|
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
|
224
224
|
}
|
225
225
|
generateFieldName(type, pageNumber) {
|
package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js
CHANGED
@@ -4,9 +4,8 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
|
4
4
|
import { createRole, updateRole } from '@verdocs/js-sdk/Templates/Roles';
|
5
5
|
import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
|
6
6
|
import { h, Fragment, Host } from '@stencil/core';
|
7
|
-
import { getTemplateRoleStore, updateStoreRole } from '../../../utils/TemplateRoleStore';
|
7
|
+
import { getRoleIndex, getTemplateRoleStore, updateStoreRole } from '../../../utils/TemplateRoleStore';
|
8
8
|
import { getTemplateStore } from '../../../utils/TemplateStore';
|
9
|
-
import { getRoleIndex } from '../../../utils/utils';
|
10
9
|
import { SDKError } from '../../../utils/errors';
|
11
10
|
const senderLabels = {
|
12
11
|
[TemplateSenderTypes.EVERYONE]: 'Everyone',
|
@@ -230,7 +229,7 @@ export class VerdocsTemplateRoles {
|
|
230
229
|
console.log('Rendering', roleNames, sequences);
|
231
230
|
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Roles and Workflow"), 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[(_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.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"))), 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 }), this.getRolesAtSequence(sequence).map(role => {
|
232
231
|
const unknown = !role.email;
|
233
|
-
return unknown ? (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(
|
232
|
+
return unknown ? (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, 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 }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: getRGBA(getRoleIndex(this.roleStore, role.name)) }, "data-rolename": role.name, "data-sequence": sequence, "data-order": role.order }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.full_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 })));
|
234
233
|
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), 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": 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, 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: () => this.handleCancel() }), h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
|
235
234
|
this.showingRoleDialog = null;
|
236
235
|
}, onDelete: async () => {
|
@@ -71,3 +71,4 @@ export const PageCountIcon = `<svg width="19" height="24" viewBox="0 0 19 24" fi
|
|
71
71
|
<rect x="4.5" y="4.5" width="14" height="19" rx="0.5" fill="white" stroke="#375367"/>
|
72
72
|
</svg>
|
73
73
|
`;
|
74
|
+
export const SettingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54A6.992 6.992 0 0 1 7.51 3.456l.33-1.652ZM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" clip-rule="evenodd" /></svg>';
|
@@ -30,3 +30,5 @@ export const deleteStoreRole = (store, name) => {
|
|
30
30
|
const newRoles = [...store.get('roles').filter(field => field.name !== name)];
|
31
31
|
store.set('roles', newRoles);
|
32
32
|
};
|
33
|
+
export const getRoleNames = (store) => store.get('roles').map(role => role.name);
|
34
|
+
export const getRoleIndex = (store, name) => getRoleNames(store).findIndex(roleName => roleName === name);
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { createStore } from '@stencil/store';
|
2
2
|
import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
3
3
|
import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
|
4
|
-
import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
|
5
4
|
import { createTemplateRoleStore, getTemplateRoleStore } from './TemplateRoleStore';
|
5
|
+
import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
|
6
6
|
const createTemplateStore = (templateId) => {
|
7
7
|
const now = new Date().toISOString();
|
8
8
|
return createStore({
|
@@ -88,4 +88,3 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
|
|
88
88
|
}
|
89
89
|
return store;
|
90
90
|
};
|
91
|
-
export const getRoleNames = (store) => { var _a; return (((_a = store === null || store === void 0 ? void 0 : store.state) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name); };
|
@@ -95,7 +95,7 @@ export const updateDocumentFieldValue = (field) => {
|
|
95
95
|
existingField.setAttribute('disabled', false); // We need this to trigger a re-render
|
96
96
|
}
|
97
97
|
};
|
98
|
-
export const renderDocumentField = (field, docPage,
|
98
|
+
export const renderDocumentField = (field, docPage, fieldOptions) => {
|
99
99
|
var _a, _b;
|
100
100
|
// console.log('rdf', field);
|
101
101
|
const { disabled = false, editable = false, draggable = false, done = false } = fieldOptions;
|
@@ -130,7 +130,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
|
|
130
130
|
const el = document.createElement(`verdocs-field-${type}`);
|
131
131
|
el.field = field;
|
132
132
|
el.setAttribute('id', id);
|
133
|
-
el.setAttribute('roleIndex', roleIndex);
|
134
133
|
el.setAttribute('fieldname', field.name);
|
135
134
|
el.setAttribute('templateid', 'template_id' in field ? field.template_id : 'PREVIEW');
|
136
135
|
if (disabled) {
|
@@ -164,7 +163,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
|
|
164
163
|
const cbEl = document.createElement(`verdocs-field-checkbox`);
|
165
164
|
cbEl.field = field;
|
166
165
|
cbEl.setAttribute('id', id);
|
167
|
-
cbEl.setAttribute('roleIndex', roleIndex);
|
168
166
|
cbEl.setAttribute('option', 0);
|
169
167
|
if (disabled) {
|
170
168
|
cbEl.setAttribute('disabled', true);
|
@@ -192,7 +190,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
|
|
192
190
|
const cbEl = document.createElement(`verdocs-field-checkbox`);
|
193
191
|
cbEl.field = field;
|
194
192
|
cbEl.setAttribute('id', id);
|
195
|
-
cbEl.setAttribute('roleIndex', roleIndex);
|
196
193
|
cbEl.setAttribute('option', checkboxIndex);
|
197
194
|
if (disabled) {
|
198
195
|
cbEl.setAttribute('disabled', true);
|
@@ -221,7 +218,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
|
|
221
218
|
const radioEl = document.createElement(`verdocs-field-radio-button`);
|
222
219
|
radioEl.field = field;
|
223
220
|
radioEl.setAttribute('id', id);
|
224
|
-
radioEl.setAttribute('roleIndex', roleIndex);
|
225
221
|
radioEl.setAttribute('option', buttonIndex);
|
226
222
|
if (disabled) {
|
227
223
|
radioEl.setAttribute('disabled', true);
|
@@ -251,7 +247,6 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
|
|
251
247
|
return null;
|
252
248
|
}
|
253
249
|
};
|
254
|
-
export const getRoleIndex = (roles, role) => roles.indexOf(role) || 0;
|
255
250
|
// TODO: We can clean this up a lot if we alter the API to emit both setting and settings regardless of the source type,
|
256
251
|
// but then merge the SDK types to encourage developers to use just `settings`.
|
257
252
|
export const getFieldSettings = (field) => {
|
@@ -330,15 +325,6 @@ export const throttle = (f, delay) => {
|
|
330
325
|
timer = setTimeout(() => f.apply(this, args), delay);
|
331
326
|
};
|
332
327
|
};
|
333
|
-
/**
|
334
|
-
* Convert a browser File object's data into a base64-encoded string.
|
335
|
-
*/
|
336
|
-
export const fileToBase64 = (file) => new Promise((resolve, reject) => {
|
337
|
-
const reader = new FileReader();
|
338
|
-
reader.readAsDataURL(file);
|
339
|
-
reader.onload = () => { var _a; return resolve(((_a = reader.result) === null || _a === void 0 ? void 0 : _a.toString()) || ''); };
|
340
|
-
reader.onerror = error => reject(error);
|
341
|
-
});
|
342
328
|
/**
|
343
329
|
* Compute the rendered width of a given text string, using a given font.
|
344
330
|
*/
|
@@ -71,5 +71,6 @@ const PageCountIcon = `<svg width="19" height="24" viewBox="0 0 19 24" fill="non
|
|
71
71
|
<rect x="4.5" y="4.5" width="14" height="19" rx="0.5" fill="white" stroke="#375367"/>
|
72
72
|
</svg>
|
73
73
|
`;
|
74
|
+
const SettingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M7.84 1.804A1 1 0 0 1 8.82 1h2.36a1 1 0 0 1 .98.804l.331 1.652a6.993 6.993 0 0 1 1.929 1.115l1.598-.54a1 1 0 0 1 1.186.447l1.18 2.044a1 1 0 0 1-.205 1.251l-1.267 1.113a7.047 7.047 0 0 1 0 2.228l1.267 1.113a1 1 0 0 1 .206 1.25l-1.18 2.045a1 1 0 0 1-1.187.447l-1.598-.54a6.993 6.993 0 0 1-1.929 1.115l-.33 1.652a1 1 0 0 1-.98.804H8.82a1 1 0 0 1-.98-.804l-.331-1.652a6.993 6.993 0 0 1-1.929-1.115l-1.598.54a1 1 0 0 1-1.186-.447l-1.18-2.044a1 1 0 0 1 .205-1.251l1.267-1.114a7.05 7.05 0 0 1 0-2.227L1.821 7.773a1 1 0 0 1-.206-1.25l1.18-2.045a1 1 0 0 1 1.187-.447l1.598.54A6.992 6.992 0 0 1 7.51 3.456l.33-1.652ZM10 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" clip-rule="evenodd" /></svg>';
|
74
75
|
|
75
|
-
export { DocIcon as D, FileIcon as F, JpgIcon as J, PngIcon as P, TrashIcon as T, PdfIcon as a, PageCountIcon as b, unicodeNBSP as u };
|
76
|
+
export { DocIcon as D, FileIcon as F, JpgIcon as J, PngIcon as P, SettingsIcon as S, TrashIcon as T, PdfIcon as a, PageCountIcon as b, unicodeNBSP as u };
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { c as createStore } from './index4.js';
|
2
|
+
|
3
|
+
const templateRoleStores = {};
|
4
|
+
const getTemplateRoleStore = (templateId) => templateRoleStores[templateId];
|
5
|
+
const createTemplateRoleStore = (template) => {
|
6
|
+
let store = getTemplateRoleStore(template.id);
|
7
|
+
if (!store) {
|
8
|
+
console.log('Creating template role store for template', template.id);
|
9
|
+
store = createStore({ roles: [] });
|
10
|
+
templateRoleStores[template.id] = store;
|
11
|
+
}
|
12
|
+
else {
|
13
|
+
console.log('Resetting template role store for template', template.id);
|
14
|
+
store.reset();
|
15
|
+
}
|
16
|
+
store.set('roles', [...template.roles]);
|
17
|
+
return store;
|
18
|
+
};
|
19
|
+
const updateStoreRole = (store, name, newRoleData) => {
|
20
|
+
const newRoles = [
|
21
|
+
...store.get('roles').map(role => {
|
22
|
+
if (role.name !== name) {
|
23
|
+
return role;
|
24
|
+
}
|
25
|
+
return { ...role, ...newRoleData };
|
26
|
+
}),
|
27
|
+
];
|
28
|
+
store.set('roles', newRoles);
|
29
|
+
};
|
30
|
+
const deleteStoreRole = (store, name) => {
|
31
|
+
const newRoles = [...store.get('roles').filter(field => field.name !== name)];
|
32
|
+
store.set('roles', newRoles);
|
33
|
+
};
|
34
|
+
const getRoleNames = (store) => store.get('roles').map(role => role.name);
|
35
|
+
const getRoleIndex = (store, name) => getRoleNames(store).findIndex(roleName => roleName === name);
|
36
|
+
|
37
|
+
export { getRoleIndex as a, getRoleNames as b, createTemplateRoleStore as c, deleteStoreRole as d, getTemplateRoleStore as g, updateStoreRole as u };
|
@@ -1,39 +1,8 @@
|
|
1
1
|
import { c as createStore } from './index4.js';
|
2
2
|
import { g as getTemplate, b as TemplateSenderTypes } from './VerdocsEndpoint.js';
|
3
|
+
import { c as createTemplateRoleStore } from './TemplateRoleStore.js';
|
3
4
|
import { a as createTemplateFieldStore } from './TemplateFieldStore.js';
|
4
5
|
|
5
|
-
const templateRoleStores = {};
|
6
|
-
const getTemplateRoleStore = (templateId) => templateRoleStores[templateId];
|
7
|
-
const createTemplateRoleStore = (template) => {
|
8
|
-
let store = getTemplateRoleStore(template.id);
|
9
|
-
if (!store) {
|
10
|
-
console.log('Creating template role store for template', template.id);
|
11
|
-
store = createStore({ roles: [] });
|
12
|
-
templateRoleStores[template.id] = store;
|
13
|
-
}
|
14
|
-
else {
|
15
|
-
console.log('Resetting template role store for template', template.id);
|
16
|
-
store.reset();
|
17
|
-
}
|
18
|
-
store.set('roles', [...template.roles]);
|
19
|
-
return store;
|
20
|
-
};
|
21
|
-
const updateStoreRole = (store, name, newRoleData) => {
|
22
|
-
const newRoles = [
|
23
|
-
...store.get('roles').map(role => {
|
24
|
-
if (role.name !== name) {
|
25
|
-
return role;
|
26
|
-
}
|
27
|
-
return { ...role, ...newRoleData };
|
28
|
-
}),
|
29
|
-
];
|
30
|
-
store.set('roles', newRoles);
|
31
|
-
};
|
32
|
-
const deleteStoreRole = (store, name) => {
|
33
|
-
const newRoles = [...store.get('roles').filter(field => field.name !== name)];
|
34
|
-
store.set('roles', newRoles);
|
35
|
-
};
|
36
|
-
|
37
6
|
const createTemplateStore = (templateId) => {
|
38
7
|
const now = new Date().toISOString();
|
39
8
|
return createStore({
|
@@ -114,6 +83,5 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
|
|
114
83
|
}
|
115
84
|
return store;
|
116
85
|
};
|
117
|
-
const getRoleNames = (store) => { var _a; return (((_a = store === null || store === void 0 ? void 0 : store.state) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name); };
|
118
86
|
|
119
|
-
export {
|
87
|
+
export { getTemplateStore as g };
|