@verdocs/web-sdk 2.3.16 → 2.3.18
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/{TemplateFieldStore-7449e5ff.js → TemplateFieldStore-48265c39.js} +3 -1
- package/dist/cjs/{TemplateStore-0074c71d.js → TemplateStore-3e45f5ef.js} +2 -2
- package/dist/cjs/ipc-test.cjs.entry.js +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-0916d10f.js → utils-c531813b.js} +2 -0
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-button-panel.cjs.entry.js +80 -0
- package/dist/cjs/{verdocs-contact-picker_3.cjs.entry.js → verdocs-contact-picker_2.cjs.entry.js} +1 -73
- 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 +24 -11
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +26 -10
- package/dist/cjs/verdocs-field-date.cjs.entry.js +29 -12
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +26 -10
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +27 -11
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +19 -9
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +28 -12
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +27 -11
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +29 -14
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +25 -20
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +28 -12
- package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
- package/dist/cjs/{verdocs-button-panel_2.cjs.entry.js → verdocs-portal_2.cjs.entry.js} +79 -80
- package/dist/cjs/verdocs-preview_8.cjs.entry.js +3 -3
- package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-sign.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +26 -22
- 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-sign/verdocs-sign.js +1 -0
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.css +14 -0
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +36 -26
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +14 -0
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +74 -25
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +14 -0
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +75 -29
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.css +14 -0
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +74 -25
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +14 -0
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +71 -26
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.css +14 -0
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +64 -25
- package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.css +14 -0
- package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +76 -27
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +14 -0
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +71 -26
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.css +14 -0
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +41 -29
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +14 -0
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +28 -43
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.css +14 -0
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +76 -27
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +6 -0
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +21 -20
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +23 -19
- package/dist/collection/utils/TemplateFieldStore.js +3 -1
- package/dist/collection/utils/TemplateStore.js +6 -2
- package/dist/collection/utils/utils.js +2 -7
- package/dist/components/TemplateFieldStore.js +23 -0
- package/dist/components/TemplateStore.js +3 -20
- package/dist/components/utils.js +2 -0
- package/dist/components/verdocs-button-panel.js +94 -1
- package/dist/components/verdocs-field-attachment.js +34 -21
- package/dist/components/verdocs-field-checkbox.js +38 -20
- package/dist/components/verdocs-field-date.js +42 -23
- package/dist/components/verdocs-field-dropdown.js +38 -20
- package/dist/components/verdocs-field-initial.js +41 -23
- package/dist/components/verdocs-field-payment.js +22 -10
- package/dist/components/verdocs-field-radio-button.js +40 -22
- package/dist/components/verdocs-field-signature.js +39 -21
- package/dist/components/verdocs-field-textarea.js +39 -24
- package/dist/components/verdocs-field-textbox.js +34 -29
- package/dist/components/verdocs-field-timestamp.js +40 -22
- package/dist/components/verdocs-preview2.js +1 -1
- package/dist/components/verdocs-sign.js +1 -0
- package/dist/components/verdocs-template-field-properties2.js +24 -22
- package/dist/components/verdocs-template-fields2.js +25 -20
- package/dist/docs.json +398 -167
- package/dist/esm/{TemplateFieldStore-4f1b6332.js → TemplateFieldStore-9dbcdd90.js} +3 -1
- package/dist/esm/{TemplateStore-a2ebdaca.js → TemplateStore-9fb3ba37.js} +2 -2
- package/dist/esm/ipc-test.entry.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-ca3121df.js → utils-ccf09e73.js} +2 -0
- package/dist/esm/verdocs-build.entry.js +2 -2
- package/dist/{components/verdocs-button-panel2.js → esm/verdocs-button-panel.entry.js} +8 -28
- package/dist/esm/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +2 -73
- 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 +25 -12
- package/dist/esm/verdocs-field-checkbox.entry.js +27 -11
- package/dist/esm/verdocs-field-date.entry.js +30 -13
- package/dist/esm/verdocs-field-dropdown.entry.js +27 -11
- package/dist/esm/verdocs-field-initial.entry.js +28 -12
- package/dist/esm/verdocs-field-payment.entry.js +20 -10
- package/dist/esm/verdocs-field-radio-button.entry.js +29 -13
- package/dist/esm/verdocs-field-signature.entry.js +28 -12
- package/dist/esm/verdocs-field-textarea.entry.js +30 -15
- package/dist/esm/verdocs-field-textbox.entry.js +26 -21
- package/dist/esm/verdocs-field-timestamp.entry.js +29 -13
- package/dist/esm/verdocs-pagination_2.entry.js +1 -1
- package/dist/esm/{verdocs-button-panel_2.entry.js → verdocs-portal_2.entry.js} +80 -81
- package/dist/esm/verdocs-preview_8.entry.js +3 -3
- package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
- package/dist/esm/verdocs-sign.entry.js +2 -1
- package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
- package/dist/esm/verdocs-template-fields_4.entry.js +26 -22
- package/dist/esm/verdocs-view.entry.js +1 -1
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/TemplateFieldStore-9dbcdd90.js +1 -0
- package/dist/esm-es5/{TemplateStore-a2ebdaca.js → TemplateStore-9fb3ba37.js} +1 -1
- package/dist/esm-es5/ipc-test.entry.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel.entry.js +1 -0
- package/dist/esm-es5/{verdocs-contact-picker_3.entry.js → 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-pagination_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-portal_2.entry.js +1 -0
- 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/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +7 -4
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +15 -4
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +14 -3
- package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +15 -4
- package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +14 -3
- package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +13 -3
- package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +15 -4
- package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +15 -4
- package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +7 -4
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -5
- package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +15 -4
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -1
- package/dist/types/components.d.ts +171 -51
- package/dist/types/utils/utils.d.ts +0 -1
- package/dist/verdocs-web-sdk/{p-4e74bb3c.entry.js → p-0328539a.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-097f349a.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-0aca6235.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3cd0d440.system.entry.js → p-0ccf2abe.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-05e6bc91.entry.js → p-1cad24fa.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-1e5ad9ba.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-6331d113.entry.js → p-28272d35.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-2d0b17e7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2d4ca5a0.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2dd4da7d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-59769c39.system.entry.js → p-30f3c33a.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-36c5379e.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-38497444.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3e490dfa.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4027169f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-41e51012.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-acc873cf.system.entry.js → p-49fba82f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-4e27ba77.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-55180d12.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-63b86867.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-66443920.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-691f18de.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6c3ba7d3.js +1 -0
- package/dist/verdocs-web-sdk/p-7203fda7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7211a137.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-ba653c39.system.entry.js → p-72c635ef.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e4dc3264.system.entry.js → p-749a7d9d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-74c05793.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7c2627ba.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-5bf12ef8.entry.js → p-84e7ab97.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-85ee0dbe.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-8dc15d33.js → p-884367a1.js} +1 -1
- package/dist/verdocs-web-sdk/p-8f99d965.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-90b7699c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-1a7aa04b.entry.js → p-91d084e9.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-5aa77f6d.system.entry.js → p-93a6c71d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-e1bc55f8.entry.js → p-94caaad0.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-9b0a81c2.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9f61c422.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-2ccbf54d.entry.js → p-a1f94c81.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-a38c70eb.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-a627881e.system.js → p-a5da4f00.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-a6a93948.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b1019fba.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-1e38b22f.system.entry.js → p-b68869f2.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-ba76e170.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-1cb878c8.system.entry.js → p-bcb8d6bf.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-aae6b4e0.entry.js → p-bd444cde.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-736fbb87.system.entry.js → p-bf0cc00c.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-d381bf8c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d4522397.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-76f8c30a.entry.js → p-ee4bb73a.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-72978ba3.system.entry.js → p-f073d143.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-410c63e6.entry.js → p-fcf9db79.entry.js} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +1 -1
- package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +0 -1
- package/dist/esm-es5/verdocs-button-panel_2.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-084c23e4.system.js +0 -1
- package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-22e0d2bc.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-319c00bd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-32c40388.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-358aef29.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-37dfdc84.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3f3807b0.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-429cad70.js +0 -1
- package/dist/verdocs-web-sdk/p-46624bec.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4e47ed1c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6685ff29.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7b30c523.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-870707e8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8af68516.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9360b085.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a40b3946.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ac98f6f1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b7a815e9.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b91de346.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d59b6988.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d99a05e4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-dd2c2edc.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e28878eb.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-eeca4c30.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f42c84f1.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f6b7439f.system.entry.js +0 -1
- /package/dist/esm-es5/{utils-ca3121df.js → utils-ccf09e73.js} +0 -0
- /package/dist/verdocs-web-sdk/{p-840827b7.system.js → p-9a7178fe.system.js} +0 -0
- /package/dist/verdocs-web-sdk/{p-02a71e03.js → p-a9f315bb.js} +0 -0
@@ -2,10 +2,10 @@ import interact from 'interactjs';
|
|
2
2
|
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
|
-
import { h, Host } from '@stencil/core';
|
6
|
-
import { getFieldSettings } from '../../../utils/utils';
|
5
|
+
import { h, Host, Fragment } from '@stencil/core';
|
7
6
|
import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
|
8
|
-
|
7
|
+
import { getFieldSettings } from '../../../utils/utils';
|
8
|
+
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>';
|
9
9
|
/**
|
10
10
|
* Display a text input field.
|
11
11
|
*/
|
@@ -14,7 +14,6 @@ export class VerdocsFieldTextbox {
|
|
14
14
|
this.fieldStore = null;
|
15
15
|
this.endpoint = VerdocsEndpoint.getDefault();
|
16
16
|
this.templateid = '';
|
17
|
-
this.field = null;
|
18
17
|
this.fieldname = '';
|
19
18
|
this.disabled = false;
|
20
19
|
this.editable = false;
|
@@ -24,24 +23,24 @@ export class VerdocsFieldTextbox {
|
|
24
23
|
this.xscale = 1;
|
25
24
|
this.yscale = 1;
|
26
25
|
this.rerender = 0;
|
26
|
+
this.showingProperties = false;
|
27
27
|
}
|
28
28
|
async focusField() {
|
29
29
|
this.inputEl.focus();
|
30
30
|
}
|
31
31
|
async showSettingsPanel() {
|
32
|
-
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.
|
32
|
+
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
|
33
33
|
if (settingsPanel && settingsPanel.showPanel) {
|
34
34
|
settingsPanel.showPanel();
|
35
35
|
}
|
36
36
|
}
|
37
37
|
async hideSettingsPanel() {
|
38
|
-
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.
|
38
|
+
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
|
39
39
|
if (settingsPanel && settingsPanel.hidePanel) {
|
40
40
|
settingsPanel.hidePanel();
|
41
41
|
}
|
42
42
|
}
|
43
43
|
async componentWillLoad() {
|
44
|
-
console.log('Loading field', this.field);
|
45
44
|
this.fieldStore = getTemplateFieldStore(this.templateid);
|
46
45
|
}
|
47
46
|
componentDidRender() {
|
@@ -75,28 +74,31 @@ export class VerdocsFieldTextbox {
|
|
75
74
|
Object.assign(e.target.dataset, { x, y, h });
|
76
75
|
}
|
77
76
|
handleResizeEnd(e) {
|
78
|
-
const
|
77
|
+
const field = this.fieldStore.get(this.fieldname);
|
78
|
+
const newSettings = { ...getFieldSettings(field) };
|
79
79
|
const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
|
80
80
|
newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
|
81
81
|
newSettings.height = Math.round(parseFloat(e.target.style.height) / this.yscale);
|
82
82
|
newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
|
83
83
|
newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
|
84
|
-
updateField(this.endpoint, this.templateid, this.
|
84
|
+
updateField(this.endpoint, this.templateid, this.fieldname, { setting: newSettings })
|
85
85
|
.then(field => {
|
86
86
|
var _a;
|
87
87
|
console.log('update result', field);
|
88
|
-
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName:
|
88
|
+
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name, settings: newSettings, field });
|
89
89
|
Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
|
90
90
|
})
|
91
91
|
.catch(e => console.log('Field update failed', e));
|
92
92
|
}
|
93
93
|
render() {
|
94
|
-
var _a, _b
|
95
|
-
const
|
96
|
-
|
97
|
-
|
94
|
+
var _a, _b;
|
95
|
+
const field = this.fieldStore.get(this.fieldname);
|
96
|
+
if (!field) {
|
97
|
+
return h(Fragment, null);
|
98
|
+
}
|
99
|
+
const settings = getFieldSettings(field);
|
98
100
|
let disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
|
99
|
-
const backgroundColor =
|
101
|
+
const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
|
100
102
|
const value = (settings === null || settings === void 0 ? void 0 : settings.result) || '';
|
101
103
|
const width = settings.width || 150;
|
102
104
|
// TODO: This is an outdated technique from the old system. We should compute it.
|
@@ -104,15 +106,18 @@ export class VerdocsFieldTextbox {
|
|
104
106
|
if (this.done) {
|
105
107
|
return h(Host, { class: { done: this.done } }, value);
|
106
108
|
}
|
107
|
-
return (h(Host, { class: { required:
|
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: settingsIcon, onClick: (e) => {
|
110
|
+
e.stopPropagation();
|
111
|
+
this.showingProperties = !this.showingProperties;
|
112
|
+
} }), 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: () => {
|
108
113
|
var _a;
|
109
|
-
(_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName:
|
114
|
+
(_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
|
110
115
|
return this.hideSettingsPanel();
|
111
116
|
}, onSettingsChanged: e => {
|
112
117
|
var _a;
|
113
118
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
114
119
|
return this.hideSettingsPanel();
|
115
|
-
}, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))));
|
120
|
+
}, helpText: 'Text boxes may be used to capture simple text input. Participant-entered values will be stored for later retrieval via the "name" field.<br /><br />If marked required, the participant must complete the field before proceeding.' })))))));
|
116
121
|
}
|
117
122
|
static get is() { return "verdocs-field-textbox"; }
|
118
123
|
static get originalStyleUrls() {
|
@@ -166,31 +171,6 @@ export class VerdocsFieldTextbox {
|
|
166
171
|
"reflect": false,
|
167
172
|
"defaultValue": "''"
|
168
173
|
},
|
169
|
-
"field": {
|
170
|
-
"type": "unknown",
|
171
|
-
"mutable": false,
|
172
|
-
"complexType": {
|
173
|
-
"original": "IEnvelopeField | ITemplateField | null",
|
174
|
-
"resolved": "IEnvelopeField | ITemplateField",
|
175
|
-
"references": {
|
176
|
-
"IEnvelopeField": {
|
177
|
-
"location": "import",
|
178
|
-
"path": "@verdocs/js-sdk/Envelopes/Types"
|
179
|
-
},
|
180
|
-
"ITemplateField": {
|
181
|
-
"location": "import",
|
182
|
-
"path": "@verdocs/js-sdk/Templates/Types"
|
183
|
-
}
|
184
|
-
}
|
185
|
-
},
|
186
|
-
"required": false,
|
187
|
-
"optional": false,
|
188
|
-
"docs": {
|
189
|
-
"tags": [],
|
190
|
-
"text": "The document or template field to display."
|
191
|
-
},
|
192
|
-
"defaultValue": "null"
|
193
|
-
},
|
194
174
|
"fieldname": {
|
195
175
|
"type": "string",
|
196
176
|
"mutable": false,
|
@@ -355,6 +335,11 @@ export class VerdocsFieldTextbox {
|
|
355
335
|
}
|
356
336
|
};
|
357
337
|
}
|
338
|
+
static get states() {
|
339
|
+
return {
|
340
|
+
"showingProperties": {}
|
341
|
+
};
|
342
|
+
}
|
358
343
|
static get events() {
|
359
344
|
return [{
|
360
345
|
"method": "settingsChanged",
|
package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.css
CHANGED
@@ -51,4 +51,18 @@ verdocs-field-timestamp verdocs-button-panel .icon svg {
|
|
51
51
|
}
|
52
52
|
verdocs-field-timestamp verdocs-button-panel .icon:hover svg {
|
53
53
|
fill: #000000;
|
54
|
+
}
|
55
|
+
verdocs-field-timestamp .settings-icon {
|
56
|
+
position: absolute;
|
57
|
+
top: -3px;
|
58
|
+
left: -20px;
|
59
|
+
display: inline-block;
|
60
|
+
cursor: pointer;
|
61
|
+
opacity: 0.6;
|
62
|
+
}
|
63
|
+
verdocs-field-timestamp .settings-icon svg {
|
64
|
+
fill: #707ae5;
|
65
|
+
}
|
66
|
+
verdocs-field-timestamp .settings-icon:hover {
|
67
|
+
opacity: 1;
|
54
68
|
}
|
package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js
CHANGED
@@ -1,62 +1,77 @@
|
|
1
1
|
import { format } from 'date-fns';
|
2
2
|
import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
3
|
-
import { h, Host } from '@stencil/core';
|
3
|
+
import { h, Host, Fragment } from '@stencil/core';
|
4
4
|
import { getFieldSettings } from '../../../utils/utils';
|
5
5
|
import { FORMAT_TIMESTAMP } from '../../../utils/Types';
|
6
|
+
import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
|
6
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>';
|
7
8
|
/**
|
8
9
|
* Display a timestamp field.
|
9
10
|
*/
|
10
11
|
export class VerdocsFieldTimestamp {
|
11
12
|
constructor() {
|
13
|
+
this.fieldStore = null;
|
12
14
|
this.templateid = '';
|
13
|
-
this.
|
15
|
+
this.fieldname = '';
|
14
16
|
this.disabled = false;
|
15
17
|
this.editable = false;
|
16
18
|
this.moveable = false;
|
17
19
|
this.done = false;
|
18
20
|
this.roleindex = 0;
|
19
21
|
this.rerender = 0;
|
22
|
+
this.xscale = 1;
|
23
|
+
this.yscale = 1;
|
24
|
+
this.showingProperties = false;
|
20
25
|
}
|
21
26
|
async focusField() {
|
22
27
|
this.el.focus();
|
23
28
|
}
|
24
29
|
async showSettingsPanel() {
|
25
|
-
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.
|
30
|
+
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
|
26
31
|
if (settingsPanel && settingsPanel.showPanel) {
|
27
32
|
settingsPanel.showPanel();
|
28
33
|
}
|
29
34
|
}
|
30
35
|
async hideSettingsPanel() {
|
31
|
-
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.
|
36
|
+
const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
|
32
37
|
if (settingsPanel && settingsPanel.hidePanel) {
|
33
38
|
settingsPanel.hidePanel();
|
34
39
|
}
|
35
40
|
// TemplateStore.updateCount++;
|
36
41
|
}
|
42
|
+
async componentWillLoad() {
|
43
|
+
this.fieldStore = getTemplateFieldStore(this.templateid);
|
44
|
+
}
|
37
45
|
render() {
|
38
|
-
var _a, _b
|
39
|
-
const
|
46
|
+
var _a, _b;
|
47
|
+
const field = this.fieldStore.get(this.fieldname);
|
48
|
+
if (!field) {
|
49
|
+
return h(Fragment, null);
|
50
|
+
}
|
51
|
+
const settings = getFieldSettings(field);
|
40
52
|
const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
|
41
|
-
const backgroundColor =
|
53
|
+
const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
|
42
54
|
const value = settings.value || new Date().toISOString();
|
43
55
|
const dt = new Date(value);
|
44
56
|
const formatted = format(dt, FORMAT_TIMESTAMP);
|
45
57
|
if (this.done) {
|
46
58
|
return h(Host, { class: { done: this.done } }, formatted);
|
47
59
|
}
|
48
|
-
return (h(Host, { class: { required:
|
60
|
+
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,
|
49
61
|
// TODO: It would really make more sense to show the date and time but the default width of 64px for this field
|
50
62
|
// is encoded in a ton of existing entries in the database and is hard to change.
|
51
|
-
value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h("
|
63
|
+
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) => {
|
64
|
+
e.stopPropagation();
|
65
|
+
this.showingProperties = !this.showingProperties;
|
66
|
+
} }), 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: () => {
|
52
67
|
var _a;
|
53
|
-
(_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName:
|
68
|
+
(_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
|
54
69
|
return this.hideSettingsPanel();
|
55
70
|
}, onSettingsChanged: e => {
|
56
71
|
var _a;
|
57
72
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
58
73
|
return this.hideSettingsPanel();
|
59
|
-
} })))));
|
74
|
+
}, helpText: 'Time stamps are automatically set when the recipient signs the document.' })))))));
|
60
75
|
}
|
61
76
|
static get is() { return "verdocs-field-timestamp"; }
|
62
77
|
static get originalStyleUrls() {
|
@@ -89,30 +104,23 @@ export class VerdocsFieldTimestamp {
|
|
89
104
|
"reflect": false,
|
90
105
|
"defaultValue": "''"
|
91
106
|
},
|
92
|
-
"
|
93
|
-
"type": "
|
107
|
+
"fieldname": {
|
108
|
+
"type": "string",
|
94
109
|
"mutable": false,
|
95
110
|
"complexType": {
|
96
|
-
"original": "
|
97
|
-
"resolved": "
|
98
|
-
"references": {
|
99
|
-
"IEnvelopeField": {
|
100
|
-
"location": "import",
|
101
|
-
"path": "@verdocs/js-sdk/Envelopes/Types"
|
102
|
-
},
|
103
|
-
"ITemplateField": {
|
104
|
-
"location": "import",
|
105
|
-
"path": "@verdocs/js-sdk/Templates/Types"
|
106
|
-
}
|
107
|
-
}
|
111
|
+
"original": "string",
|
112
|
+
"resolved": "string",
|
113
|
+
"references": {}
|
108
114
|
},
|
109
115
|
"required": false,
|
110
116
|
"optional": false,
|
111
117
|
"docs": {
|
112
118
|
"tags": [],
|
113
|
-
"text": "The
|
119
|
+
"text": "The name of the field to display."
|
114
120
|
},
|
115
|
-
"
|
121
|
+
"attribute": "fieldname",
|
122
|
+
"reflect": false,
|
123
|
+
"defaultValue": "''"
|
116
124
|
},
|
117
125
|
"disabled": {
|
118
126
|
"type": "boolean",
|
@@ -221,9 +229,50 @@ export class VerdocsFieldTimestamp {
|
|
221
229
|
"attribute": "rerender",
|
222
230
|
"reflect": false,
|
223
231
|
"defaultValue": "0"
|
232
|
+
},
|
233
|
+
"xscale": {
|
234
|
+
"type": "number",
|
235
|
+
"mutable": false,
|
236
|
+
"complexType": {
|
237
|
+
"original": "number",
|
238
|
+
"resolved": "number",
|
239
|
+
"references": {}
|
240
|
+
},
|
241
|
+
"required": false,
|
242
|
+
"optional": true,
|
243
|
+
"docs": {
|
244
|
+
"tags": [],
|
245
|
+
"text": "If set, the field will be be scaled horizontally by this factor."
|
246
|
+
},
|
247
|
+
"attribute": "xscale",
|
248
|
+
"reflect": false,
|
249
|
+
"defaultValue": "1"
|
250
|
+
},
|
251
|
+
"yscale": {
|
252
|
+
"type": "number",
|
253
|
+
"mutable": false,
|
254
|
+
"complexType": {
|
255
|
+
"original": "number",
|
256
|
+
"resolved": "number",
|
257
|
+
"references": {}
|
258
|
+
},
|
259
|
+
"required": false,
|
260
|
+
"optional": true,
|
261
|
+
"docs": {
|
262
|
+
"tags": [],
|
263
|
+
"text": "If set, the field will be be scaled vertically by this factor."
|
264
|
+
},
|
265
|
+
"attribute": "yscale",
|
266
|
+
"reflect": false,
|
267
|
+
"defaultValue": "1"
|
224
268
|
}
|
225
269
|
};
|
226
270
|
}
|
271
|
+
static get states() {
|
272
|
+
return {
|
273
|
+
"showingProperties": {}
|
274
|
+
};
|
275
|
+
}
|
227
276
|
static get events() {
|
228
277
|
return [{
|
229
278
|
"method": "settingsChanged",
|
@@ -1,5 +1,11 @@
|
|
1
1
|
verdocs-template-field-properties {
|
2
|
+
padding: 20px;
|
3
|
+
display: block;
|
4
|
+
border-radius: 4px;
|
5
|
+
background: #ffffff;
|
6
|
+
border: 1px solid #ccc;
|
2
7
|
font-family: "Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
|
8
|
+
box-shadow: 2px 2px 10px 0px #0000001f;
|
3
9
|
}
|
4
10
|
verdocs-template-field-properties .buttons {
|
5
11
|
display: flex;
|
@@ -53,33 +53,34 @@ export class VerdocsTemplateFieldProperties {
|
|
53
53
|
return;
|
54
54
|
}
|
55
55
|
this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
|
56
|
+
createTemplateFieldStore(this.templateStore.state);
|
56
57
|
this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
|
58
|
+
// console.log('tfs', this.fieldStore?.state);
|
57
59
|
const field = this.fieldStore.get(this.fieldName);
|
60
|
+
// console.log('gf', field);
|
58
61
|
if (!field) {
|
59
62
|
console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
|
60
63
|
}
|
61
64
|
else {
|
62
65
|
console.log('props', field);
|
63
66
|
}
|
64
|
-
createTemplateFieldStore(this.templateStore.state);
|
65
67
|
this.watcher = this.fieldStore.onChange(this.fieldName, field => {
|
66
|
-
var _a, _b, _c, _d;
|
67
68
|
console.log('Field changed', field);
|
68
|
-
this.type = field.type;
|
69
|
-
this.name = field.name;
|
70
|
-
this.label = field.label;
|
71
|
-
this.group = field.name;
|
72
|
-
this.roleName = field.role_name;
|
73
|
-
this.required = field.required;
|
74
|
-
this.fieldType = field.type;
|
75
|
-
// TODO: Talk about how we want to handle labels/placeholders
|
76
|
-
this.placeholder =
|
77
|
-
this.value =
|
78
|
-
this.leading =
|
79
|
-
this.setting = field.setting || {};
|
80
|
-
this.options =
|
81
|
-
this.dirty = false;
|
82
|
-
this.loading = false;
|
69
|
+
// this.type = field.type;
|
70
|
+
// this.name = field.name;
|
71
|
+
// this.label = field.label;
|
72
|
+
// this.group = field.name;
|
73
|
+
// this.roleName = field.role_name;
|
74
|
+
// this.required = field.required;
|
75
|
+
// this.fieldType = field.type;
|
76
|
+
// // TODO: Talk about how we want to handle labels/placeholders
|
77
|
+
// this.placeholder = field.setting?.placeholder || '';
|
78
|
+
// this.value = field.setting?.result || '';
|
79
|
+
// this.leading = field.setting?.leading || 0;
|
80
|
+
// this.setting = field.setting || {};
|
81
|
+
// this.options = field.setting?.options || [];
|
82
|
+
// this.dirty = false;
|
83
|
+
// this.loading = false;
|
83
84
|
});
|
84
85
|
console.log('watcher', this.watcher);
|
85
86
|
this.type = field.type;
|
@@ -146,7 +147,7 @@ export class VerdocsTemplateFieldProperties {
|
|
146
147
|
options: this.options,
|
147
148
|
};
|
148
149
|
}
|
149
|
-
console.log('FP: Will update', newProperties);
|
150
|
+
console.log('FP: Will update', this.fieldName, newProperties);
|
150
151
|
updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
|
151
152
|
.then(field => {
|
152
153
|
var _a, _b;
|
@@ -199,9 +200,8 @@ export class VerdocsTemplateFieldProperties {
|
|
199
200
|
}
|
200
201
|
updateField(newField) {
|
201
202
|
const oldField = this.fieldStore.get(this.fieldName) || {};
|
202
|
-
console.log('Updating field',
|
203
|
+
console.log('Updating field', this.fieldName, newField);
|
203
204
|
Object.assign(oldField, newField);
|
204
|
-
this.fieldStore.set(this.fieldName, newField);
|
205
205
|
}
|
206
206
|
async handleDelete(e) {
|
207
207
|
e.stopPropagation();
|
@@ -230,6 +230,7 @@ export class VerdocsTemplateFieldProperties {
|
|
230
230
|
if (this.helpText && this.showingHelp) {
|
231
231
|
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions", innerHTML: this.helpText })));
|
232
232
|
}
|
233
|
+
// console.log('tfp', this.templateId, this.fieldName);
|
233
234
|
return (h(Host, null, h("h6", null, capitalize(this.fieldType.replace(/_/g, ' ')), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
|
234
235
|
// helpText="The internal name of the field. Must be unique, and contain only letters, numbers, and dashes. After an envelope is completed, the value entered by the signer will be tagged with this key."
|
235
236
|
placeholder: "Field Name...", onInput: (e) => {
|
package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js
CHANGED
@@ -65,9 +65,7 @@ export class VerdocsTemplateFields {
|
|
65
65
|
}
|
66
66
|
this.templateStore = await getTemplateStore(this.endpoint, this.templateId, true);
|
67
67
|
this.fieldStore = createTemplateFieldStore(this.templateStore.state);
|
68
|
-
console.log(`[FIELDS] Loaded template ${this.templateId}`, this.templateStore.state, this.fieldStore);
|
69
68
|
this.selectedRoleName = ((_d = (_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
|
70
|
-
console.log('[FIELDS] Starting with role', this.selectedRoleName);
|
71
69
|
}
|
72
70
|
catch (e) {
|
73
71
|
console.log('[FIELDS] Error with preview session', e);
|
@@ -102,10 +100,10 @@ export class VerdocsTemplateFields {
|
|
102
100
|
console.log('[FIELDS] handleFieldChange', field, e, optionId);
|
103
101
|
this.rerender++;
|
104
102
|
}
|
105
|
-
handleFieldSettingsChange(pageInfo, field, el, newFieldData) {
|
103
|
+
handleFieldSettingsChange(pageInfo, field, el, newFieldData, oldName) {
|
106
104
|
var _a, _b;
|
107
105
|
// handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
|
108
|
-
console.log('[FIELDS] Field settings changed', field.name, newFieldData);
|
106
|
+
console.log('[FIELDS] Field settings changed', oldName, field.name, newFieldData);
|
109
107
|
Object.assign(field, newFieldData);
|
110
108
|
el.field = newFieldData;
|
111
109
|
this.selectedRoleName = field.role_name;
|
@@ -114,17 +112,30 @@ export class VerdocsTemplateFields {
|
|
114
112
|
this.rerender++;
|
115
113
|
el.setAttribute('rerender', this.rerender);
|
116
114
|
(_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' });
|
117
|
-
|
115
|
+
// We do this to avoid dupes if the field gets renamed.
|
116
|
+
if (field.name !== oldName) {
|
117
|
+
console.log('[FIELDS] Renaming field', oldName, field.name);
|
118
|
+
el.remove();
|
119
|
+
delete this.fieldStore.state[oldName];
|
120
|
+
}
|
121
|
+
else {
|
122
|
+
console.log('[FIELDS] Updating existing field', field.name);
|
123
|
+
}
|
124
|
+
// REMINDER: Do not access el past this point! It may have been removed from the DOM.
|
125
|
+
console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber, field);
|
118
126
|
this.fieldStore.set(field.name, field);
|
119
|
-
// this.
|
127
|
+
// const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
|
128
|
+
// this.attachFieldAttributes(pageInfo, field, roleIndex, el);
|
129
|
+
this.reRenderField(field, pageInfo.pageNumber);
|
120
130
|
// const newEl = renderDocumentField(field, pageInfo, roleIndex, {disabled: true, editable: true, draggable: true});
|
121
131
|
// if (!newEl) {
|
122
132
|
// return;
|
123
133
|
// }
|
124
134
|
}
|
125
135
|
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
136
|
+
// console.log('afa', field);
|
126
137
|
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
127
|
-
el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field));
|
138
|
+
el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field, e.detail.fieldName));
|
128
139
|
// el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
|
129
140
|
el.addEventListener('deleted', () => {
|
130
141
|
var _a, _b;
|
@@ -143,7 +154,7 @@ export class VerdocsTemplateFields {
|
|
143
154
|
}
|
144
155
|
handlePageRendered(e) {
|
145
156
|
const pageInfo = e.detail;
|
146
|
-
console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
|
157
|
+
// console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
|
147
158
|
this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
|
148
159
|
this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
|
149
160
|
const fields = Object.values(this.fieldStore.state).filter(field => field.page_sequence === pageInfo.pageNumber);
|
@@ -190,7 +201,6 @@ export class VerdocsTemplateFields {
|
|
190
201
|
const name = event.target.getAttribute('name');
|
191
202
|
const option = +(event.target.getAttribute('option') || '0');
|
192
203
|
const field = this.fieldStore.get(name);
|
193
|
-
console.log('Dropped field', name, field);
|
194
204
|
if (!field) {
|
195
205
|
console.log('[FIELDS] Unable to find field', name);
|
196
206
|
return;
|
@@ -206,9 +216,7 @@ export class VerdocsTemplateFields {
|
|
206
216
|
// "up" from the bottom (negative displacement).
|
207
217
|
const newX = Math.max(clientRect.left - parentRect.left, 0);
|
208
218
|
const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
|
209
|
-
// console.log('Computing coordinates', {naturalWidth, width: event.rect.width, naturalHeight, height: event.rect.height, newX, newY});
|
210
219
|
const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - width, naturalHeight - height);
|
211
|
-
// console.log('Drop End', {x, y, newX, newY});
|
212
220
|
switch (field.type) {
|
213
221
|
case 'attachment':
|
214
222
|
case 'payment':
|
@@ -233,12 +241,10 @@ export class VerdocsTemplateFields {
|
|
233
241
|
}
|
234
242
|
break;
|
235
243
|
}
|
236
|
-
console.log('[FIELDS] Will update', name, option, field);
|
244
|
+
console.log('[FIELDS] Will update', name, y, option, field);
|
237
245
|
const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
|
238
246
|
const pageInfo = this.cachedPageInfo[pageNumber];
|
239
|
-
|
240
|
-
this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData);
|
241
|
-
// this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
|
247
|
+
this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData, name);
|
242
248
|
event.target.removeAttribute('posX');
|
243
249
|
event.target.removeAttribute('posY');
|
244
250
|
}
|
@@ -256,7 +262,6 @@ export class VerdocsTemplateFields {
|
|
256
262
|
const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
|
257
263
|
const x = Math.floor(Math.min(viewX / xScale, xMax));
|
258
264
|
const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
|
259
|
-
console.log('Computed coordinates', { x, y, viewX, viewY, xMax, yMax });
|
260
265
|
return { x, y };
|
261
266
|
}
|
262
267
|
async handleClickPage(e, pageNumber) {
|
@@ -353,7 +358,7 @@ export class VerdocsTemplateFields {
|
|
353
358
|
field.type = 'textbox';
|
354
359
|
}
|
355
360
|
const saved = await createField(this.endpoint, this.templateId, field);
|
356
|
-
console.log('Saved field', saved);
|
361
|
+
console.log('[FIELDS] Saved field', saved);
|
357
362
|
this.fieldStore.set(saved.name, saved);
|
358
363
|
this.placing = null;
|
359
364
|
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
|
@@ -362,7 +367,6 @@ export class VerdocsTemplateFields {
|
|
362
367
|
}
|
363
368
|
render() {
|
364
369
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
365
|
-
console.log('[FIELDS] Rendering', this.selectedRoleName);
|
366
370
|
if (!this.endpoint.session) {
|
367
371
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
368
372
|
}
|
@@ -372,7 +376,7 @@ export class VerdocsTemplateFields {
|
|
372
376
|
}
|
373
377
|
const selectableRoles = (_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
|
374
378
|
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
|
375
|
-
console.log('onSubmit');
|
379
|
+
// console.log('onSubmit');
|
376
380
|
} }, h("div", { id: "verdocs-template-fields-toolbar" }, h("div", { class: "add-for" }, "Add field:"), h("verdocs-select-input", { value: this.selectedRoleName, options: selectableRoles, onInput: (e) => (this.selectedRoleName = e.target.value) }), menuOptions.map(option => (h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, onClick: () => {
|
377
381
|
// We ignore empty-tooltip entries because they're separators
|
378
382
|
if (option.tooltip) {
|
@@ -2,13 +2,15 @@ import { createStore } from '@stencil/store';
|
|
2
2
|
const templateFieldStores = {};
|
3
3
|
export const getTemplateFieldStore = (templateId) => templateFieldStores[templateId];
|
4
4
|
export const createTemplateFieldStore = (template) => {
|
5
|
-
console.log('Creating template field store for template: ', template);
|
6
5
|
let store = getTemplateFieldStore(template.id);
|
7
6
|
if (!store) {
|
7
|
+
console.log('Creating template field store for template', template.id);
|
8
8
|
store = createStore({});
|
9
9
|
templateFieldStores[template.id] = store;
|
10
10
|
}
|
11
11
|
else {
|
12
|
+
console.log('Resetting template field store for template', template.id);
|
13
|
+
console.trace('Stack');
|
12
14
|
store.reset();
|
13
15
|
}
|
14
16
|
template.fields.forEach(field => {
|
@@ -1,7 +1,7 @@
|
|
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 } from
|
4
|
+
import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
|
5
5
|
const createTemplateStore = (templateId) => {
|
6
6
|
const now = new Date().toISOString();
|
7
7
|
return createStore({
|
@@ -69,6 +69,7 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
|
|
69
69
|
store.state.isLoaded = true;
|
70
70
|
store.state.isError = false;
|
71
71
|
store.state.error = undefined;
|
72
|
+
createTemplateFieldStore(template);
|
72
73
|
}
|
73
74
|
catch (e) {
|
74
75
|
console.error('[TEMPLATES] Error loading template', e);
|
@@ -80,7 +81,10 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
|
|
80
81
|
store.state.isLoading = false;
|
81
82
|
store.state.updateCount++;
|
82
83
|
}
|
83
|
-
|
84
|
+
else {
|
85
|
+
// Just make sure it exists
|
86
|
+
getTemplateFieldStore(templateId);
|
87
|
+
}
|
84
88
|
return store;
|
85
89
|
};
|
86
90
|
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); };
|