@verdocs/web-sdk 1.9.38 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Envelopes-68058bbe.js +118 -0
- package/dist/cjs/{Envelopes-f2f8dd92.js → Envelopes-d30cba62.js} +2 -2
- package/dist/cjs/{VerdocsEndpoint-257ebdb3.js → VerdocsEndpoint-38feb32a.js} +57 -25
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-0ec89d7d.js → utils-712ba3ec.js} +20 -115
- package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +4 -1
- package/dist/cjs/{verdocs-button-panel_3.cjs.entry.js → verdocs-button-panel_2.cjs.entry.js} +0 -19
- package/dist/cjs/verdocs-component-error.cjs.entry.js +20 -0
- package/dist/cjs/verdocs-contact-picker.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-dropdown.cjs.entry.js +1 -0
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +221 -0
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +70 -0
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -1
- package/dist/cjs/verdocs-floating-menu_2.cjs.entry.js +151 -0
- package/dist/cjs/verdocs-preview.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-quick-functions_3.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-send.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-sign.cjs.entry.js +24 -23
- package/dist/cjs/{verdocs-field-signature_3.cjs.entry.js → verdocs-signature-dialog.cjs.entry.js} +0 -104
- package/dist/cjs/verdocs-template-create_4.cjs.entry.js +153 -37
- package/dist/cjs/verdocs-text-input.cjs.entry.js +25 -0
- package/dist/cjs/verdocs-view.cjs.entry.js +4 -3
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +1 -0
- package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.css +91 -0
- package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.js +158 -0
- package/dist/collection/components/controls/verdocs-floating-menu/verdocs-floating-menu.stories.js +49 -0
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.css +8 -1
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.js +29 -2
- package/dist/collection/components/elements/verdocs-component-error/verdocs-component-error.css +16 -0
- package/dist/collection/components/elements/verdocs-component-error/verdocs-component-error.js +46 -0
- package/dist/collection/components/elements/verdocs-document-page/verdocs-document-page.js +1 -1
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.css +159 -0
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +299 -0
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.js +12 -0
- package/dist/collection/components/elements/verdocs-field-radio-button-group/verdocs-field-radio-button.css +2 -2
- package/dist/collection/components/elements/verdocs-field-textbox/verdocs-field-textbox.css +2 -3
- package/dist/collection/components/elements/verdocs-template-create/verdocs-template-create.js +7 -2
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.css +34 -41
- package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js +128 -34
- package/dist/collection/components/elements/verdocs-template-properties/verdocs-template-properties.js +4 -1
- package/dist/collection/components/elements/verdocs-template-recipients/verdocs-template-recipients.js +1 -0
- package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +3 -0
- package/dist/collection/utils/utils.js +16 -0
- package/dist/components/Envelopes.js +69 -0
- package/dist/components/Envelopes2.js +111 -0
- package/dist/components/VerdocsEndpoint.js +57 -25
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/utils.js +18 -110
- package/dist/components/verdocs-build.js +19 -28
- package/dist/components/verdocs-component-error.d.ts +11 -0
- package/dist/components/verdocs-component-error.js +6 -0
- package/dist/components/verdocs-component-error2.js +33 -0
- package/dist/components/verdocs-document-page2.js +1 -1
- package/dist/components/verdocs-dropdown2.js +1 -0
- package/dist/components/verdocs-envelope-sidebar.d.ts +11 -0
- package/dist/components/verdocs-envelope-sidebar.js +242 -0
- package/dist/components/verdocs-field-radio-button.js +1 -1
- package/dist/components/verdocs-field-signature.js +116 -1
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-floating-menu.d.ts +11 -0
- package/dist/components/verdocs-floating-menu.js +6 -0
- package/dist/components/verdocs-floating-menu2.js +125 -0
- package/dist/components/verdocs-search-activity2.js +1 -1
- package/dist/components/verdocs-sign.js +5 -3
- package/dist/components/verdocs-template-create2.js +15 -4
- package/dist/components/verdocs-template-fields2.js +152 -69
- package/dist/components/verdocs-template-properties2.js +14 -5
- package/dist/components/verdocs-template-recipients2.js +1 -0
- package/dist/components/verdocs-toolbar-icon2.js +8 -3
- package/dist/components/verdocs-view2.js +3 -68
- package/dist/docs.json +281 -36
- package/dist/esm/Envelopes-130fd6ea.js +111 -0
- package/dist/esm/{Envelopes-779de57c.js → Envelopes-6982dfc6.js} +1 -1
- package/dist/esm/{VerdocsEndpoint-28ba21cc.js → VerdocsEndpoint-6df32d3a.js} +57 -25
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-06d58b15.js → utils-3d95c588.js} +18 -110
- package/dist/esm/verdocs-auth.entry.js +1 -1
- package/dist/esm/verdocs-build.entry.js +4 -1
- package/dist/esm/{verdocs-button-panel_3.entry.js → verdocs-button-panel_2.entry.js} +1 -19
- package/dist/esm/verdocs-component-error.entry.js +16 -0
- package/dist/esm/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm/verdocs-document-page_2.entry.js +3 -2
- package/dist/esm/verdocs-dropdown.entry.js +1 -0
- package/dist/esm/verdocs-envelope-sidebar.entry.js +217 -0
- package/dist/esm/verdocs-field-checkbox.entry.js +2 -1
- package/dist/esm/verdocs-field-date.entry.js +2 -1
- package/dist/esm/verdocs-field-dropdown.entry.js +2 -1
- package/dist/esm/verdocs-field-initial.entry.js +2 -1
- package/dist/esm/verdocs-field-payment.entry.js +2 -1
- package/dist/esm/verdocs-field-radio-button.entry.js +3 -2
- package/dist/{components/verdocs-field-signature2.js → esm/verdocs-field-signature.entry.js} +12 -64
- package/dist/esm/verdocs-field-textarea.entry.js +2 -1
- package/dist/esm/verdocs-field-textbox.entry.js +3 -2
- package/dist/esm/verdocs-field-timestamp.entry.js +2 -1
- package/dist/esm/verdocs-floating-menu_2.entry.js +146 -0
- package/dist/esm/verdocs-preview.entry.js +3 -2
- package/dist/esm/verdocs-quick-functions_3.entry.js +2 -2
- package/dist/esm/verdocs-search.entry.js +1 -1
- package/dist/esm/verdocs-send.entry.js +3 -2
- package/dist/esm/verdocs-sign.entry.js +5 -4
- package/dist/esm/{verdocs-field-signature_3.entry.js → verdocs-signature-dialog.entry.js} +1 -103
- package/dist/esm/verdocs-template-create_4.entry.js +153 -37
- package/dist/esm/verdocs-text-input.entry.js +21 -0
- package/dist/esm/verdocs-view.entry.js +4 -3
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/Envelopes-130fd6ea.js +1 -0
- package/dist/esm-es5/Envelopes-6982dfc6.js +1 -0
- package/dist/esm-es5/VerdocsEndpoint-6df32d3a.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/utils-3d95c588.js +1 -0
- package/dist/esm-es5/verdocs-auth.entry.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/{verdocs-button-panel_3.entry.js → verdocs-button-panel_2.entry.js} +1 -1
- package/dist/esm-es5/verdocs-component-error.entry.js +1 -0
- package/dist/esm-es5/verdocs-contact-picker.entry.js +1 -1
- package/dist/esm-es5/verdocs-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -0
- 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 -0
- 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-floating-menu_2.entry.js +1 -0
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-quick-functions_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-search.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-signature-dialog.entry.js +1 -0
- package/dist/esm-es5/verdocs-template-create_4.entry.js +1 -1
- package/dist/esm-es5/verdocs-text-input.entry.js +1 -0
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/controls/verdocs-floating-menu/verdocs-floating-menu.d.ts +31 -0
- package/dist/types/components/controls/verdocs-floating-menu/verdocs-floating-menu.stories.d.ts +7 -0
- package/dist/types/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.d.ts +5 -0
- package/dist/types/components/elements/verdocs-component-error/verdocs-component-error.d.ts +10 -0
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +39 -0
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.stories.d.ts +6 -0
- package/dist/types/components/elements/verdocs-template-fields/verdocs-template-fields.d.ts +14 -3
- package/dist/types/components.d.ts +97 -0
- package/dist/types/utils/Types.d.ts +0 -1
- package/dist/types/utils/utils.d.ts +2 -2
- package/dist/verdocs-web-sdk/p-03833051.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-0eb992eb.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-0a33398a.entry.js → p-17fd7860.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-18cf7ea1.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1be43032.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1ef0501b.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-23033619.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-89f25d01.entry.js → p-266e163c.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ddda809b.system.js → p-2d687108.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-2e4dfdc6.js +1 -0
- package/dist/verdocs-web-sdk/p-328453a9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3599f81f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3dbf8bec.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3dcd05aa.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-aa3a42a4.system.entry.js → p-45ac2230.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-5597170d.system.entry.js → p-46bb5543.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-4490a384.system.entry.js → p-47dfcf69.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-50f82ed8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5b114f68.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5b8dbf0b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5c7ef99f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-14c69e28.system.entry.js → p-5d220e75.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-621c7079.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-644cc3c3.js +1 -0
- package/dist/verdocs-web-sdk/{p-72b4fa6b.entry.js → p-6b205bb5.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-787a334a.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7b357e1a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7b66bc0d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-804fbf15.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-838d889b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-a42a5853.system.entry.js → p-86a8b6ad.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-880b619d.js +1 -0
- package/dist/verdocs-web-sdk/{p-2d36b5a3.entry.js → p-8a2dbb48.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-8f50fd8e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8f873d8e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-90a92236.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-938a7d4e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-95016ea1.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a140f6f9.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a1412c61.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a32f90e9.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a4dc6a79.system.js +1 -0
- package/dist/verdocs-web-sdk/p-aba1f14b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-123572b9.entry.js → p-ae3b30c6.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-ba6c3671.system.entry.js → p-b505db92.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-b5c21eda.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b8faf8b8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ba23b639.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/p-c3ba021b.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-4f72d7e9.js → p-c4deb4b7.js} +1 -1
- package/dist/verdocs-web-sdk/p-c6370ca8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ce442d55.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d0c587f1.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d30ee967.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d36ae684.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d6d95682.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d7e31573.system.js +1 -0
- package/dist/verdocs-web-sdk/p-d946b1b6.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d9ff093e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e0cfad01.system.js +1 -0
- package/dist/verdocs-web-sdk/p-eb68cf29.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ec7a9c6e.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-f43721cf.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ff45cca0.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +15 -15
- package/dist/esm-es5/Envelopes-779de57c.js +0 -1
- package/dist/esm-es5/VerdocsEndpoint-28ba21cc.js +0 -1
- package/dist/esm-es5/utils-06d58b15.js +0 -1
- package/dist/esm-es5/verdocs-field-signature_3.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0315f91f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0592cb20.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0b67a5f1.system.js +0 -1
- package/dist/verdocs-web-sdk/p-16fe44ba.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-17136749.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1cc4f8c2.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-24b9c1a3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2c776579.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-34bed726.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-34e3df55.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3ee11027.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-41b71077.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-427524bd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4814e58e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-49d804da.js +0 -1
- package/dist/verdocs-web-sdk/p-57165db2.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5dec58c2.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5e67c42f.js +0 -1
- package/dist/verdocs-web-sdk/p-5faa7077.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-602a22c7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6239f230.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-63a00853.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-69a32638.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6a75bbb5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-787252e0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7a6c829f.system.js +0 -1
- package/dist/verdocs-web-sdk/p-85f91c34.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-893553e7.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-93bf1041.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-99c2766b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9c595648.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a5698580.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ac4c1ad8.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b39a41fc.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ba02faae.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e9e18f1a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ef845e9c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f80f538d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fcf9e8f0.entry.js +0 -1
package/dist/collection/components/elements/verdocs-template-fields/verdocs-template-fields.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import interact from 'interactjs';
|
|
2
2
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
3
|
-
import {
|
|
3
|
+
import { createField, editField } from '@verdocs/js-sdk/Templates/Fields';
|
|
4
4
|
import { h, Host } from '@stencil/core';
|
|
5
|
-
import { getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
|
|
5
|
+
import { defaultHeight, defaultWidth, getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
|
|
6
6
|
import TemplateStore from '../../../utils/templateStore';
|
|
7
7
|
import { loadTemplate } from '../../../utils/Templates';
|
|
8
8
|
import { SDKError } from '../../../utils/errors';
|
|
@@ -13,14 +13,31 @@ const iconRadio = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24
|
|
|
13
13
|
const iconDatepicker = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M7.6 13.925q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375Zm4.4 0q-.55 0-.925-.375t-.375-.925q0-.55.375-.937.375-.388.925-.388t.925.388q.375.387.375.937t-.375.925q-.375.375-.925.375ZM5.3 22.85q-1.325 0-2.238-.912-.912-.913-.912-2.238V6.3q0-1.325.912-2.238.913-.912 2.238-.912H6v-2h2.575v2h6.85v-2H18v2h.7q1.325 0 2.238.912.912.913.912 2.238v13.4q0 1.325-.912 2.238-.913.912-2.238.912Zm0-3.15h13.4V10H5.3v9.7ZM5.3 8h13.4V6.3H5.3Zm0 0V6.3 8Z"/></svg>';
|
|
14
14
|
const iconSignature = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="m9.225 21.225 4.65-4.65h8.45v4.65Zm-5.35-2.2H5.05l8.5-8.5-1.175-1.175-8.5 8.5Zm14.25-9.95L13.8 4.8l1.325-1.325q.625-.65 1.525-.663.9-.012 1.6.663l1.225 1.175q.675.675.663 1.562-.013.888-.663 1.513ZM16.7 10.55 6 21.225H1.675V16.9L12.35 6.225Zm-3.725-.625-.6-.575 1.175 1.175Z"/></svg>';
|
|
15
15
|
const iconInitial = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path d="M6.225 20.775V7h-5V3.225H15V7h-5v13.775Zm9.775 0v-8h-3V9h9.775v3.775h-3v8Z"/></svg>';
|
|
16
|
+
const menuOptions = [
|
|
17
|
+
{ id: 'attachment', tooltip: 'Attachment', icon: 'A' },
|
|
18
|
+
{ id: 'checkbox', tooltip: 'Check Box', icon: iconCheck },
|
|
19
|
+
{ id: 'date', tooltip: 'Date', icon: iconDatepicker },
|
|
20
|
+
{ id: 'dropdown', tooltip: 'Dropdown', icon: 'O' },
|
|
21
|
+
{ id: 'initial', tooltip: 'Initials', icon: iconInitial },
|
|
22
|
+
{ id: 'payment', tooltip: 'Payment', icon: 'P' },
|
|
23
|
+
{ id: 'radio', tooltip: 'Radio Button', icon: iconRadio },
|
|
24
|
+
{ id: 'signature', tooltip: 'Signature', icon: iconSignature },
|
|
25
|
+
{ id: 'textarea', tooltip: 'Text Area', icon: iconMultiline },
|
|
26
|
+
{ id: 'textbox', tooltip: 'Text Box', icon: iconSingleline },
|
|
27
|
+
{ id: 'timestamp', tooltip: 'Timestamp', icon: 'X' },
|
|
28
|
+
];
|
|
16
29
|
/**
|
|
17
30
|
* Displays a builder experience for laying out fields in a template. Note that this experience requires a large display area to
|
|
18
31
|
* present all of the required controls, so it is primarily intended to be used in desktop environments.
|
|
19
32
|
*/
|
|
20
33
|
export class VerdocsTemplateFields {
|
|
21
34
|
constructor() {
|
|
35
|
+
this.pageHeights = {};
|
|
36
|
+
this.cachedPageInfo = {};
|
|
22
37
|
this.endpoint = VerdocsEndpoint.getDefault();
|
|
23
38
|
this.templateId = null;
|
|
39
|
+
this.placing = null;
|
|
40
|
+
this.selectedRoleName = '';
|
|
24
41
|
}
|
|
25
42
|
async componentWillLoad() {
|
|
26
43
|
var _a, _b, _c, _d, _e, _f;
|
|
@@ -30,9 +47,15 @@ export class VerdocsTemplateFields {
|
|
|
30
47
|
console.log(`[FIELDS] Missing required template ID ${this.templateId}`);
|
|
31
48
|
return;
|
|
32
49
|
}
|
|
50
|
+
if (!this.endpoint.session) {
|
|
51
|
+
console.log('[BUILD] Unable to start builder session, must be authenticated');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
33
54
|
try {
|
|
34
|
-
console.log(`[FIELDS] Loading template ${this.templateId}
|
|
55
|
+
console.log(`[FIELDS] Loading template ${this.templateId}`, this.endpoint.session);
|
|
35
56
|
await loadTemplate(this.endpoint, this.templateId);
|
|
57
|
+
this.selectedRoleName = TemplateStore.roleNames[0];
|
|
58
|
+
console.log('Starting with role', this.selectedRoleName);
|
|
36
59
|
}
|
|
37
60
|
catch (e) {
|
|
38
61
|
console.log('[FIELDS] Error loading template', e);
|
|
@@ -45,30 +68,40 @@ export class VerdocsTemplateFields {
|
|
|
45
68
|
}
|
|
46
69
|
}
|
|
47
70
|
componentDidRender() {
|
|
48
|
-
// console.log('rendered', this.page0El, this.toolbarEl);
|
|
49
|
-
// console.log('w', this.page0El.clientWidth);
|
|
50
|
-
// console.log('t', this.toolbarEl.clientWidth);
|
|
51
71
|
interact.dynamicDrop(true);
|
|
52
|
-
this.toolbarEl.style.width = `${this.page0El.clientWidth}px`;
|
|
53
72
|
}
|
|
54
73
|
async handleFieldChange(field, e, optionId) {
|
|
55
74
|
console.log('[FIELDS] handleFieldChange', field, e, optionId);
|
|
56
75
|
}
|
|
76
|
+
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
|
77
|
+
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
|
78
|
+
el.setAttribute('roleindex', roleIndex);
|
|
79
|
+
el.setAttribute('pageNumber', pageInfo.pageNumber);
|
|
80
|
+
el.setAttribute('xScale', pageInfo.xScale);
|
|
81
|
+
el.setAttribute('yScale', pageInfo.yScale);
|
|
82
|
+
el.setAttribute('name', field.name);
|
|
83
|
+
}
|
|
57
84
|
handlePageRendered(e) {
|
|
58
85
|
const pageInfo = e.detail;
|
|
59
86
|
console.log('[FIELDS] Page rendered', pageInfo);
|
|
87
|
+
this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
|
|
88
|
+
this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
|
|
89
|
+
console.log('tsf', pageInfo.pageNumber, TemplateStore.fields);
|
|
60
90
|
const fields = TemplateStore.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
|
|
61
91
|
// const fields = this.fields.filter(field => field.page_sequence === pageInfo.renderedPage.pageNumber);
|
|
62
92
|
console.log('[FIELDS] Fields on page', fields);
|
|
63
93
|
fields.forEach(field => {
|
|
64
|
-
const
|
|
94
|
+
const roleIndex = getRoleIndex(TemplateStore.roleNames, field.role_name);
|
|
95
|
+
const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
|
|
65
96
|
if (!el) {
|
|
66
97
|
return;
|
|
67
98
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
99
|
+
if (Array.isArray(el)) {
|
|
100
|
+
el.map(e => this.attachFieldAttributes(pageInfo, field, roleIndex, e));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.attachFieldAttributes(pageInfo, field, roleIndex, el);
|
|
104
|
+
}
|
|
72
105
|
interact(el).draggable({
|
|
73
106
|
listeners: {
|
|
74
107
|
start(event) {
|
|
@@ -85,42 +118,97 @@ export class VerdocsTemplateFields {
|
|
|
85
118
|
event.target.setAttribute('posy', newY);
|
|
86
119
|
updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
|
|
87
120
|
},
|
|
88
|
-
end(
|
|
89
|
-
console.log('[FIELDS] Drag ended', event);
|
|
90
|
-
// event.target.setAttribute('posX', 0);
|
|
91
|
-
// event.target.setAttribute('posy', 0);
|
|
92
|
-
// updateCssTransform(event.target, 'translate', `${0}px, ${0}px`);
|
|
93
|
-
},
|
|
121
|
+
end: this.handleMoveField.bind(this),
|
|
94
122
|
},
|
|
95
123
|
});
|
|
96
124
|
});
|
|
97
125
|
}
|
|
126
|
+
async handleMoveField(e) {
|
|
127
|
+
const pageNumber = e.target.getAttribute('pageNumber');
|
|
128
|
+
const { naturalWidth = 612, naturalHeight = 792, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
|
|
129
|
+
console.log('[FIELDS] Drag ended', pageNumber, e.target);
|
|
130
|
+
const clientRect = e.target.getBoundingClientRect();
|
|
131
|
+
const parent = e.target.parentElement;
|
|
132
|
+
const parentRect = parent.getBoundingClientRect();
|
|
133
|
+
// These two being backwards is not a mistake. Left measures "over" from the left (positive displacement) while bottom measures
|
|
134
|
+
// "up" from the bottom (negative displacement).
|
|
135
|
+
const newX = Math.max(clientRect.left - parentRect.left, 0);
|
|
136
|
+
const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
|
|
137
|
+
const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - e.rect.width, naturalHeight - e.rect.height);
|
|
138
|
+
const name = e.target.getAttribute('name');
|
|
139
|
+
const field = TemplateStore.fields.find(field => field.name === name);
|
|
140
|
+
if (field) {
|
|
141
|
+
field.setting.x = x;
|
|
142
|
+
field.setting.y = y;
|
|
143
|
+
const edited = await editField(this.endpoint, this.templateId, name, field);
|
|
144
|
+
console.log('edited field', edited);
|
|
145
|
+
this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
generateFieldName(type, pageNumber) {
|
|
149
|
+
var _a;
|
|
150
|
+
const page = (_a = TemplateStore.template.pages) === null || _a === void 0 ? void 0 : _a[pageNumber - 1];
|
|
151
|
+
const fields = (page === null || page === void 0 ? void 0 : page.fields) || [];
|
|
152
|
+
return `${type}P${pageNumber}-${fields.length}`;
|
|
153
|
+
}
|
|
154
|
+
// Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
|
|
155
|
+
viewCoordinatesToPageCoordinates(viewX, viewY, pageNumber, xMax, yMax) {
|
|
156
|
+
const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
|
|
157
|
+
const x = Math.floor(Math.min(viewX / xScale, xMax));
|
|
158
|
+
const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
|
|
159
|
+
return { x, y };
|
|
160
|
+
}
|
|
161
|
+
async handleClickPage(e, page) {
|
|
162
|
+
if (this.placing) {
|
|
163
|
+
const pageNumber = page.sequence;
|
|
164
|
+
const clickedX = e.offsetX;
|
|
165
|
+
const clickedY = e.offsetY;
|
|
166
|
+
const width = defaultWidth({ type: this.placing });
|
|
167
|
+
const height = defaultHeight({ type: this.placing });
|
|
168
|
+
const { naturalWidth = 612, naturalHeight = 792 } = this.cachedPageInfo[pageNumber];
|
|
169
|
+
const { x, y } = this.viewCoordinatesToPageCoordinates(clickedX, clickedY, pageNumber, naturalWidth - width, naturalHeight - height);
|
|
170
|
+
const field = {
|
|
171
|
+
name: this.generateFieldName(this.placing, pageNumber),
|
|
172
|
+
role_name: this.selectedRoleName,
|
|
173
|
+
template_id: this.templateId,
|
|
174
|
+
type: this.placing,
|
|
175
|
+
required: true,
|
|
176
|
+
page_sequence: pageNumber,
|
|
177
|
+
validator: null,
|
|
178
|
+
setting: {
|
|
179
|
+
width,
|
|
180
|
+
height,
|
|
181
|
+
x,
|
|
182
|
+
y,
|
|
183
|
+
result: '',
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
const saved = await createField(this.endpoint, this.templateId, field);
|
|
187
|
+
console.log('Saved field', saved);
|
|
188
|
+
TemplateStore.fields.push(saved);
|
|
189
|
+
this.placing = null;
|
|
190
|
+
this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
98
193
|
render() {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
role_name: 'Recipient 1',
|
|
103
|
-
type: 'textbox',
|
|
104
|
-
required: true,
|
|
105
|
-
setting: {
|
|
106
|
-
x: 0,
|
|
107
|
-
y: 0,
|
|
108
|
-
},
|
|
109
|
-
page_sequence: 0,
|
|
110
|
-
};
|
|
194
|
+
if (!this.endpoint.session) {
|
|
195
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
196
|
+
}
|
|
111
197
|
// TODO: Render a better error
|
|
112
198
|
if (TemplateStore.loading || !TemplateStore.template) {
|
|
113
199
|
return (h(Host, null, h("verdocs-loader", null)));
|
|
114
200
|
}
|
|
115
201
|
const pages = [...TemplateStore.template.pages];
|
|
116
202
|
pages.sort((a, b) => a.sequence - b.sequence);
|
|
117
|
-
return (h(Host,
|
|
118
|
-
console.log('rendering page', page);
|
|
119
|
-
return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
|
|
203
|
+
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {} }, h("div", { class: "pages" }, pages.map(page => {
|
|
204
|
+
// console.log('rendering page', page);
|
|
205
|
+
return (h("verdocs-document-page", { pageImageUri: page.display_uri, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), pageNumber: page.sequence, onPageRendered: e => this.handlePageRendered(e), layers: [
|
|
120
206
|
{ name: 'page', type: 'canvas' },
|
|
121
207
|
{ name: 'controls', type: 'div' },
|
|
122
208
|
] }));
|
|
123
|
-
}))
|
|
209
|
+
})), h("verdocs-floating-menu", { options: menuOptions, onOptionSelected: e => {
|
|
210
|
+
this.placing = e.detail.id;
|
|
211
|
+
} })));
|
|
124
212
|
}
|
|
125
213
|
static get is() { return "verdocs-template-fields"; }
|
|
126
214
|
static get originalStyleUrls() {
|
|
@@ -176,6 +264,12 @@ export class VerdocsTemplateFields {
|
|
|
176
264
|
}
|
|
177
265
|
};
|
|
178
266
|
}
|
|
267
|
+
static get states() {
|
|
268
|
+
return {
|
|
269
|
+
"placing": {},
|
|
270
|
+
"selectedRoleName": {}
|
|
271
|
+
};
|
|
272
|
+
}
|
|
179
273
|
static get events() {
|
|
180
274
|
return [{
|
|
181
275
|
"method": "next",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
2
|
-
import { h } from '@stencil/core';
|
|
2
|
+
import { h, Host } from '@stencil/core';
|
|
3
3
|
import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
|
4
4
|
import { SDKError } from '../../../utils/errors';
|
|
5
5
|
import TemplateStore from '../../../utils/templateStore';
|
|
@@ -54,6 +54,9 @@ export class VerdocsTemplateProperties {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
+
if (!this.endpoint.session) {
|
|
58
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
59
|
+
}
|
|
57
60
|
return (h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Template Name"), h("fieldset", null, h("verdocs-text-input", { value: this.name, autocomplete: "off", onInput: (e) => (this.name = e.target.value) })), h("h5", null, "Reminders"), h("fieldset", null, h("div", { class: "input-row" }, h("label", null, "Send Automatic Reminders"), h("verdocs-checkbox", { name: "automatic-reminders", checked: this.sendReminders, value: "on", onInput: (e) => (this.sendReminders = e.target.checked) })), h("div", { class: "input-row" }, h("label", null, "Days Before First Reminder"), h("verdocs-text-input", { value: this.firstReminderDays, onInput: (e) => (this.firstReminderDays = e.target.value) })), h("div", { class: "input-row" }, h("label", null, "Days Between Reminders"), h("verdocs-text-input", { value: this.reminderDays, onInput: (e) => (this.reminderDays = e.target.value) }))), h("h5", null, "Template Visibility"), h("fieldset", null, h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "private", onChange: () => (this.visibility = 'private') }), h("label", { htmlFor: "verdocs-radio-button-visibility-private" }, h("div", { class: "title" }, "Private"), h("div", { class: "description" }, "Only you can share and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "shared", onChange: () => (this.visibility = 'shared') }), h("label", { htmlFor: "verdocs-radio-button-visibility-shared" }, h("div", { class: "title" }, "Shared to your organization"), h("div", { class: "description" }, "Give access to your organization to share and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: true, value: "shared_public", onChange: () => (this.visibility = 'shared_public') }), h("label", { htmlFor: "verdocs-radio-button-visibility-shared_public" }, h("div", { class: "title" }, "Shared to your organization and Public"), h("div", { class: "description" }, "Give access to your organization to share this template, and anyone on the Web can find and use this template"))), h("div", { class: "radio-row" }, h("verdocs-radio-button", { name: "visibility", checked: this.visibility === 'public', value: "public", onChange: () => (this.visibility = 'public') }), h("label", { htmlFor: "verdocs-radio-button-visibility-public" }, h("div", { class: "title" }, "Public"), h("div", { class: "description" }, "Anyone on the Web can find and use this template")))), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: e => this.handleCancel(e) }), h("verdocs-button", { label: "OK", size: "small", onClick: e => this.handleSubmit(e) }))));
|
|
58
61
|
}
|
|
59
62
|
static get is() { return "verdocs-template-properties"; }
|
|
@@ -53,6 +53,9 @@ export class VerdocsBuild {
|
|
|
53
53
|
this.step = 'fields';
|
|
54
54
|
}
|
|
55
55
|
render() {
|
|
56
|
+
if (!this.endpoint.session) {
|
|
57
|
+
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
58
|
+
}
|
|
56
59
|
return (h(Host, null, this.step === 'create' && h("verdocs-template-create", { onCancel: e => this.handleCancel(e), onNext: e => this.handleTemplateCreated(e) }), this.step === 'properties' && h("verdocs-template-properties", { onCancel: e => this.handleCancel(e), onNext: e => this.handlePropertiesUpdated(e) }), this.step === 'recipients' && h("verdocs-template-recipients", { onCancel: e => this.handleCancel(e), onNext: e => this.handleRecipientsUpdated(e) }), this.step === 'fields' && h("verdocs-template-fields", { onCancel: e => this.handleCancel(e), onNext: e => this.handleCancel(e) })));
|
|
57
60
|
}
|
|
58
61
|
static get is() { return "verdocs-build"; }
|
|
@@ -3,6 +3,14 @@ import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
|
|
3
3
|
import { downloadBlob } from '@verdocs/js-sdk/Utils/Files';
|
|
4
4
|
export const defaultWidth = (field) => {
|
|
5
5
|
switch (field.type) {
|
|
6
|
+
case 'textbox':
|
|
7
|
+
return 150;
|
|
8
|
+
case 'timestamp':
|
|
9
|
+
return 64;
|
|
10
|
+
case 'date':
|
|
11
|
+
return 64;
|
|
12
|
+
case 'dropdown':
|
|
13
|
+
return 64;
|
|
6
14
|
case 'attachment':
|
|
7
15
|
case 'payment':
|
|
8
16
|
return 24;
|
|
@@ -20,6 +28,14 @@ export const defaultWidth = (field) => {
|
|
|
20
28
|
};
|
|
21
29
|
export const defaultHeight = (field) => {
|
|
22
30
|
switch (field.type) {
|
|
31
|
+
case 'textbox':
|
|
32
|
+
return 15;
|
|
33
|
+
case 'timestamp':
|
|
34
|
+
return 15;
|
|
35
|
+
case 'date':
|
|
36
|
+
return 15;
|
|
37
|
+
case 'dropdown':
|
|
38
|
+
return 15;
|
|
23
39
|
case 'attachment':
|
|
24
40
|
case 'payment':
|
|
25
41
|
return 24;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { d as getEnvelope } from './Envelopes2.js';
|
|
2
|
+
import { c as createStore } from './index3.js';
|
|
3
|
+
import { g as getTemplate } from './Templates2.js';
|
|
4
|
+
|
|
5
|
+
// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to
|
|
6
|
+
const { state, onChange } = createStore({
|
|
7
|
+
envelope: null,
|
|
8
|
+
template: null,
|
|
9
|
+
loadProgress: 0,
|
|
10
|
+
loading: true,
|
|
11
|
+
error: '',
|
|
12
|
+
roleNames: [],
|
|
13
|
+
dirty: false,
|
|
14
|
+
});
|
|
15
|
+
onChange('envelope', async (newEnvelope) => {
|
|
16
|
+
if (!newEnvelope) {
|
|
17
|
+
console.log('[ENVELOPESTORE] Clearing envelope');
|
|
18
|
+
state.roleNames = [];
|
|
19
|
+
state.dirty = false;
|
|
20
|
+
state.loading = false;
|
|
21
|
+
state.error = '';
|
|
22
|
+
state.loadProgress = 0;
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
console.log('[ENVELOPESTORE] Loaded envelope', newEnvelope);
|
|
26
|
+
state.roleNames = newEnvelope.recipients.map(recipient => recipient.role_name);
|
|
27
|
+
console.log('[ENVELOPESTORE] Loaded roles', state.roleNames);
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Allows envelope data to be cached for reuse between components, without parent components having to prop-drill entire envelopes into
|
|
31
|
+
// child elements.
|
|
32
|
+
const getEnvelopeById = async (endpoint, envelopeId) => {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
if (!envelopeId) {
|
|
35
|
+
console.log(`[ENVELOPES] Missing required envelope ID`);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (((_a = state.envelope) === null || _a === void 0 ? void 0 : _a.id) === envelopeId) {
|
|
39
|
+
console.log(`[ENVELOPES] Skipping load for already-loaded envelope ID`);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
state.error = '';
|
|
43
|
+
state.loading = true;
|
|
44
|
+
state.envelope = null;
|
|
45
|
+
try {
|
|
46
|
+
console.log(`[ENVELOPES] Loading envelope ${envelopeId}`);
|
|
47
|
+
const envelope = await getEnvelope(endpoint, envelopeId, true);
|
|
48
|
+
if (!envelope) {
|
|
49
|
+
console.log('[ENVELOPES] Unable to load envelope');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
state.envelope = envelope;
|
|
53
|
+
const template = await getTemplate(endpoint, envelope.template_id, true);
|
|
54
|
+
if (!envelope) {
|
|
55
|
+
console.log('[ENVELOPES] Unable to load template');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
state.template = template;
|
|
59
|
+
state.loading = false;
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
state.loading = false;
|
|
63
|
+
state.error = ((_b = e === null || e === void 0 ? void 0 : e.response) === null || _b === void 0 ? void 0 : _b.status) === 401 ? 'Authentication required' : e.message;
|
|
64
|
+
console.log('[ENVELOPES] Error loading envelope', e);
|
|
65
|
+
throw e;
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { getEnvelopeById as g, state as s };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { d as decodeAccessTokenBody } from './Token.js';
|
|
2
|
+
|
|
3
|
+
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
|
|
13
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
+
function step(op) {
|
|
17
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
+
switch (op[0]) {
|
|
22
|
+
case 0: case 1: t = op; break;
|
|
23
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
+
default:
|
|
27
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
+
if (t[2]) _.ops.pop();
|
|
32
|
+
_.trys.pop(); continue;
|
|
33
|
+
}
|
|
34
|
+
op = body.call(thisArg, _);
|
|
35
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Get a signing session for an Envelope.
|
|
41
|
+
*/
|
|
42
|
+
var getSigningSession = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
43
|
+
return __generator(this, function (_a) {
|
|
44
|
+
return [2 /*return*/, endpoint.api //
|
|
45
|
+
.get("/envelopes/".concat(params.envelopeId, "/recipients/").concat(encodeURIComponent(params.roleId), "/invitation/").concat(params.inviteCode))
|
|
46
|
+
.then(function (r) {
|
|
47
|
+
var _a;
|
|
48
|
+
// Avoiding a jsonwebtoken dependency here - we don't actually need the whole library
|
|
49
|
+
var signerToken = ((_a = r.headers) === null || _a === void 0 ? void 0 : _a.signer_token) || '';
|
|
50
|
+
var session = decodeAccessTokenBody(signerToken);
|
|
51
|
+
endpoint.setToken(signerToken);
|
|
52
|
+
return { recipient: r.data, session: session, signerToken: signerToken };
|
|
53
|
+
})];
|
|
54
|
+
});
|
|
55
|
+
}); };
|
|
56
|
+
/**
|
|
57
|
+
* Get all metadata for an Envelope.
|
|
58
|
+
*/
|
|
59
|
+
var getEnvelope = function (endpoint, envelopeId, ssr) { return __awaiter(void 0, void 0, void 0, function () {
|
|
60
|
+
return __generator(this, function (_a) {
|
|
61
|
+
return [2 /*return*/, endpoint.api //
|
|
62
|
+
.get("/envelopes/".concat(envelopeId) + (ssr ? '?ssr=true' : ''))
|
|
63
|
+
.then(function (r) { return r.data; })];
|
|
64
|
+
});
|
|
65
|
+
}); };
|
|
66
|
+
/**
|
|
67
|
+
* Get (binary download) a file attached to an Envelope. It is important to use this method
|
|
68
|
+
* rather than a direct A HREF or similar link to set the authorization headers for the
|
|
69
|
+
* request.
|
|
70
|
+
*/
|
|
71
|
+
var getEnvelopeFile = function (endpoint, envelopeId, documentId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
72
|
+
return __generator(this, function (_a) {
|
|
73
|
+
return [2 /*return*/, endpoint.api //
|
|
74
|
+
.get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "?file=true"), { responseType: 'blob' })
|
|
75
|
+
.then(function (r) { return r.data; })];
|
|
76
|
+
});
|
|
77
|
+
}); };
|
|
78
|
+
/**
|
|
79
|
+
* Update a Document field. Typically called during the signing process as a Recipient fills in fields.
|
|
80
|
+
*/
|
|
81
|
+
var updateEnvelopeField = function (endpoint, envelopeId, fieldName, value) { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
|
+
return __generator(this, function (_a) {
|
|
83
|
+
return [2 /*return*/, endpoint.api //
|
|
84
|
+
.put("/envelopes/".concat(envelopeId, "/fields/").concat(fieldName), value)
|
|
85
|
+
.then(function (r) { return r.data; })];
|
|
86
|
+
});
|
|
87
|
+
}); };
|
|
88
|
+
/**
|
|
89
|
+
* Update a Document signature field. Signature fields are ID-driven. Call `Document.createSignature()` first to create a
|
|
90
|
+
* signature for a Recipient, then call `Documents.updateDocumentFieldSignature()` to attach it to a field.
|
|
91
|
+
*/
|
|
92
|
+
var updateEnvelopeFieldSignature = function (endpoint, envelopeId, fieldName, signatureId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
93
|
+
return __generator(this, function (_a) {
|
|
94
|
+
return [2 /*return*/, endpoint.api //
|
|
95
|
+
.put("/envelopes/".concat(envelopeId, "/fields/").concat(fieldName, "/signature/").concat(signatureId))
|
|
96
|
+
.then(function (r) { return r.data; })];
|
|
97
|
+
});
|
|
98
|
+
}); };
|
|
99
|
+
/**
|
|
100
|
+
* Update a Document signature field. Signature fields are ID-driven. Call `Document.createSignature()` first to create a
|
|
101
|
+
* signature for a Recipient, then call `Documents.updateDocumentFieldSignature()` to attach it to a field.
|
|
102
|
+
*/
|
|
103
|
+
var updateEnvelopeFieldInitials = function (endpoint, envelopeId, fieldName, initialId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
return [2 /*return*/, endpoint.api //
|
|
106
|
+
.put("/envelopes/".concat(envelopeId, "/fields/").concat(fieldName, "/initial/").concat(initialId))
|
|
107
|
+
.then(function (r) { return r.data; })];
|
|
108
|
+
});
|
|
109
|
+
}); };
|
|
110
|
+
|
|
111
|
+
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeFile as c, getEnvelope as d, getSigningSession as g, updateEnvelopeField as u };
|