@verdocs/web-sdk 1.12.21 → 1.12.23
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-87aea63d.js → Envelopes-2b8a280d.js} +16 -1
- package/dist/cjs/{Templates-e72a23b7.js → Templates-6705a1ce.js} +1 -1
- package/dist/cjs/{interact.min-d2e625b7.js → interact.min-8e19d5c0.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{index-4de6ec2f.js → templateStore-1862f03c.js} +45 -1
- package/dist/cjs/{utils-cc3321ad.js → utils-cf75a796.js} +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +7 -7
- package/dist/cjs/verdocs-dropdown_2.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +21 -20
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +1 -2
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-preview.cjs.entry.js +4 -5
- package/dist/cjs/verdocs-send.cjs.entry.js +4 -5
- package/dist/cjs/verdocs-sign.cjs.entry.js +24 -23
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-create_2.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-template-document-page.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-template-name.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-properties.cjs.entry.js +1 -2
- package/dist/cjs/verdocs-template-reminders.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-template-roles.cjs.entry.js +5 -6
- package/dist/cjs/verdocs-template-visibility.cjs.entry.js +2 -3
- package/dist/cjs/verdocs-view.cjs.entry.js +24 -24
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +24 -20
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +26 -23
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +6 -6
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +25 -23
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.stories.js +2 -2
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +1 -1
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +23 -4
- package/dist/components/Envelopes.js +16 -1
- package/dist/components/templateStore.js +192 -1
- package/dist/components/verdocs-envelope-sidebar.js +23 -18
- package/dist/components/verdocs-field-textbox.js +1 -1
- package/dist/components/verdocs-sign.js +25 -21
- package/dist/components/verdocs-template-field-properties2.js +6 -4
- package/dist/components/verdocs-view2.js +25 -22
- package/dist/custom-elements.json +4 -0
- package/dist/docs.json +18 -1
- package/dist/esm/{Envelopes-16f09341.js → Envelopes-c36c692e.js} +16 -1
- package/dist/esm/{Templates-d66ec625.js → Templates-deedf4bd.js} +1 -1
- package/dist/esm/{interact.min-1e2f37ab.js → interact.min-da238961.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{index-85f4a40f.js → templateStore-17c872da.js} +45 -1
- package/dist/esm/{utils-bca7b101.js → utils-1d934f99.js} +1 -1
- package/dist/esm/verdocs-build.entry.js +2 -3
- package/dist/esm/verdocs-button-panel_3.entry.js +7 -7
- package/dist/esm/verdocs-dropdown_2.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +21 -20
- package/dist/esm/verdocs-field-attachment.entry.js +1 -2
- package/dist/esm/verdocs-field-checkbox.entry.js +3 -4
- package/dist/esm/verdocs-field-date.entry.js +3 -4
- package/dist/esm/verdocs-field-dropdown.entry.js +3 -4
- package/dist/esm/verdocs-field-initial.entry.js +3 -4
- package/dist/esm/verdocs-field-payment.entry.js +3 -4
- package/dist/esm/verdocs-field-radio-button.entry.js +3 -4
- package/dist/esm/verdocs-field-signature.entry.js +3 -4
- package/dist/esm/verdocs-field-textarea.entry.js +3 -4
- package/dist/esm/verdocs-field-textbox.entry.js +5 -6
- package/dist/esm/verdocs-field-timestamp.entry.js +3 -4
- package/dist/esm/verdocs-preview.entry.js +4 -5
- package/dist/esm/verdocs-send.entry.js +4 -5
- package/dist/esm/verdocs-sign.entry.js +24 -23
- package/dist/esm/verdocs-template-attachments.entry.js +2 -3
- package/dist/esm/verdocs-template-create_2.entry.js +5 -6
- package/dist/esm/verdocs-template-document-page.entry.js +2 -2
- package/dist/esm/verdocs-template-name.entry.js +2 -3
- package/dist/esm/verdocs-template-properties.entry.js +1 -2
- package/dist/esm/verdocs-template-reminders.entry.js +2 -3
- package/dist/esm/verdocs-template-role-properties_2.entry.js +2 -3
- package/dist/esm/verdocs-template-roles.entry.js +5 -6
- package/dist/esm/verdocs-template-visibility.entry.js +2 -3
- package/dist/esm/verdocs-view.entry.js +23 -23
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/{Envelopes-16f09341.js → Envelopes-c36c692e.js} +1 -1
- package/dist/esm-es5/{Templates-d66ec625.js → Templates-deedf4bd.js} +1 -1
- package/dist/esm-es5/{interact.min-1e2f37ab.js → interact.min-da238961.js} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/templateStore-17c872da.js +1 -0
- package/dist/esm-es5/{utils-bca7b101.js → utils-1d934f99.js} +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_3.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
- package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
- package/dist/esm-es5/verdocs-preview.entry.js +1 -1
- package/dist/esm-es5/verdocs-send.entry.js +1 -1
- package/dist/esm-es5/verdocs-sign.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-attachments.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-document-page.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-name.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-properties.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-reminders.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-role-properties_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-roles.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-visibility.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +4 -2
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +2 -0
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +4 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/verdocs-web-sdk/p-037fa432.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-6a2e16ea.system.js → p-0a000948.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-10ea4d8d.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-ceae05e8.system.entry.js → p-152f38f2.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-1772de58.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1a9437d9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-1d60a9e2.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7d73a258.entry.js → p-212ecdc5.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-284f69ec.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2af1ec32.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2e2fd9f3.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-30decbde.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-36ef57a7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-370e03f7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-38368af4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-386a9c8b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-3ec38739.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4161fc87.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4271a0bf.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-449e8445.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4680b94d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-47eec326.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-48fbc0e0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4f7dc10b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-511ba013.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-52164a0a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-58cbbdf4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5911bf86.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5e1b2cc7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-62542624.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-3d0efcc9.js → p-6324d9f8.js} +1 -1
- package/dist/verdocs-web-sdk/p-63789dec.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e5bd3e93.js → p-6685a532.js} +1 -1
- package/dist/verdocs-web-sdk/{p-7dc40910.system.entry.js → p-66a21bd1.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
- package/dist/verdocs-web-sdk/p-6f1501f8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-71b8bb54.system.js +1 -0
- package/dist/verdocs-web-sdk/p-7bc337ce.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-837894c5.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8383c63c.js +1 -0
- package/dist/verdocs-web-sdk/p-83ada8f3.system.js +1 -0
- package/dist/verdocs-web-sdk/{p-2b335cb4.system.js → p-8ac64953.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-8b501a20.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-66a673dd.entry.js → p-8b87e539.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-8d567305.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-92b8c139.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9364c0b0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-971a2acc.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-983149af.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-98c6210b.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9b37434a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-9f44ba0d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a30da45d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-aac44c0d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b3768d2e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c5d2e145.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c903c4a7.js +1 -0
- package/dist/verdocs-web-sdk/p-d181f220.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d92494e8.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-736cf2bf.js → p-ddbe721b.js} +1 -1
- package/dist/verdocs-web-sdk/p-de6dec13.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-df529ac2.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e02ac695.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e176d75b.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-fdcf756a.system.js → p-e4dc637b.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-f7460048.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-fbda7ba5.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/Envelopes-cd0d7be9.js +0 -68
- package/dist/cjs/templateStore-b44b1dd5.js +0 -49
- package/dist/collection/utils/Envelopes.js +0 -33
- package/dist/collection/utils/envelopeStore.js +0 -32
- package/dist/components/Envelopes2.js +0 -65
- package/dist/components/index3.js +0 -194
- package/dist/esm/Envelopes-93e699a5.js +0 -65
- package/dist/esm/templateStore-3b087176.js +0 -47
- package/dist/esm-es5/Envelopes-93e699a5.js +0 -1
- package/dist/esm-es5/index-85f4a40f.js +0 -1
- package/dist/esm-es5/templateStore-3b087176.js +0 -1
- package/dist/types/utils/Envelopes.d.ts +0 -2
- package/dist/types/utils/envelopeStore.d.ts +0 -12
- package/dist/verdocs-web-sdk/p-02914dbb.js +0 -1
- package/dist/verdocs-web-sdk/p-030318b5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0c1bd8ab.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0eb7f329.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-19804b90.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-28551fd4.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2a8a48c1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2afbcb32.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2e105a9d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2e7aba30.js +0 -1
- package/dist/verdocs-web-sdk/p-312b3c6e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-335f01d1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3dbb8b8c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-40e96848.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-41d6c443.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-43c3073f.system.js +0 -1
- package/dist/verdocs-web-sdk/p-4a52d3a3.system.js +0 -1
- package/dist/verdocs-web-sdk/p-518f1125.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-568c5e70.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-59ac5b50.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5a362440.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5a4227f6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-5abaf86d.js +0 -1
- package/dist/verdocs-web-sdk/p-609f6f1c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6616c85f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-671bb0a7.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-70fe647e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7295a277.system.js +0 -1
- package/dist/verdocs-web-sdk/p-745cab4f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-745f02b1.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7494a45d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7ec320f8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7f28d60f.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7fe39c68.js +0 -1
- package/dist/verdocs-web-sdk/p-83a2eaee.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8e2e32a8.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-94d43d18.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-96044424.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9e1ed4b6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9ff98c7c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a82fc8d0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ad58de61.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b4355a5a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b55a37d5.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c0edd8eb.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c521e212.system.js +0 -1
- package/dist/verdocs-web-sdk/p-c877e418.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d0afa6df.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d0aff325.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d4d689cd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d90f70da.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-df483a68.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e457d21a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e50182b0.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e6b7b61d.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-eaaf7e3e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f0847cbd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f65a851a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f724400e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fab4b76c.system.entry.js +0 -1
package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
+
import { format } from 'date-fns';
|
1
2
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
3
|
+
import { throttledGetEnvelope } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
2
4
|
import { h, Host } from '@stencil/core';
|
3
|
-
import { getEnvelopeById } from '../../../utils/Envelopes';
|
4
|
-
import EnvelopeStore from '../../../utils/envelopeStore';
|
5
5
|
import { SDKError } from '../../../utils/errors';
|
6
|
-
import { format } from 'date-fns';
|
7
6
|
const InformationCircle = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff"><path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" /></svg>`;
|
8
7
|
const Users = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z" /></svg>`;
|
9
8
|
const ClipboardDocuments = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="#ffffff"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z" /></svg>`;
|
@@ -36,6 +35,8 @@ export class VerdocsEnvelopeSidebar {
|
|
36
35
|
constructor() {
|
37
36
|
this.endpoint = VerdocsEndpoint.getDefault();
|
38
37
|
this.envelopeId = '';
|
38
|
+
this.envelope = null;
|
39
|
+
this.roleNames = [];
|
39
40
|
this.activeTab = 1;
|
40
41
|
this.panelOpen = false;
|
41
42
|
}
|
@@ -44,14 +45,15 @@ export class VerdocsEnvelopeSidebar {
|
|
44
45
|
}
|
45
46
|
// TODO: Handling signing vs preview-as-user cases
|
46
47
|
// TODO: Handle anonymous case and failure to load due to not being logged in
|
47
|
-
async
|
48
|
+
async componentWillRender() {
|
48
49
|
var _a, _b, _c;
|
49
50
|
if (!this.envelopeId) {
|
50
51
|
console.error(`[SIDEBAR] Missing required envelopeId`);
|
51
52
|
return;
|
52
53
|
}
|
53
54
|
try {
|
54
|
-
await
|
55
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
56
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
55
57
|
}
|
56
58
|
catch (e) {
|
57
59
|
(_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(new SDKError(e.message, (_b = e.response) === null || _b === void 0 ? void 0 : _b.status, (_c = e.response) === null || _c === void 0 ? void 0 : _c.data));
|
@@ -64,12 +66,12 @@ export class VerdocsEnvelopeSidebar {
|
|
64
66
|
// TODO: Refactor to a common library?
|
65
67
|
canResendRecipient(recipient) {
|
66
68
|
return (!['pending', 'declined', 'submitted', 'canceled'].includes(recipient.status) && //
|
67
|
-
!['complete', 'declined', 'canceled'].includes(
|
69
|
+
!['complete', 'declined', 'canceled'].includes(this.envelope.status));
|
68
70
|
}
|
69
71
|
canModifyRecipient(recipient) {
|
70
72
|
return (!recipient.claimed && //
|
71
73
|
!['declined', 'signed', 'submitted', 'canceled'].includes(recipient.status) &&
|
72
|
-
!['complete', 'declined', 'canceled'].includes(
|
74
|
+
!['complete', 'declined', 'canceled'].includes(this.envelope.status));
|
73
75
|
}
|
74
76
|
handleRecipientAction(recipient, id) {
|
75
77
|
var _a;
|
@@ -81,21 +83,21 @@ export class VerdocsEnvelopeSidebar {
|
|
81
83
|
case 'details':
|
82
84
|
break;
|
83
85
|
}
|
84
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
86
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: id });
|
85
87
|
}
|
86
88
|
prepareHistoryEntries() {
|
87
89
|
const entries = [];
|
88
|
-
const histories =
|
89
|
-
entries.push({ icon: 'pencil', message: 'Envelope created.', date: new Date(
|
90
|
-
if (
|
91
|
-
entries.push({ icon: 'pencil', message: 'Envelope completed.', date: new Date(
|
90
|
+
const histories = this.envelope.histories || [];
|
91
|
+
entries.push({ icon: 'pencil', message: 'Envelope created.', date: new Date(this.envelope.created_at) });
|
92
|
+
if (this.envelope.status === 'complete') {
|
93
|
+
entries.push({ icon: 'pencil', message: 'Envelope completed.', date: new Date(this.envelope.updated_at) });
|
92
94
|
}
|
93
95
|
const ownerCanceled = histories.some(history => history.event === 'owner:canceled');
|
94
|
-
if (
|
95
|
-
entries.push({ icon: 'pencil', message: 'Envelope Cancelled.', date: new Date(
|
96
|
+
if (this.envelope.status === 'canceled' && !ownerCanceled) {
|
97
|
+
entries.push({ icon: 'pencil', message: 'Envelope Cancelled.', date: new Date(this.envelope.canceled_at) });
|
96
98
|
}
|
97
99
|
histories.forEach(history => {
|
98
|
-
const user =
|
100
|
+
const user = this.envelope.recipients.find(recipient => recipient.role_name === history.role_name);
|
99
101
|
const name = (user === null || user === void 0 ? void 0 : user.full_name) || '';
|
100
102
|
switch (history.event.toLowerCase()) {
|
101
103
|
case 'recipient:signed':
|
@@ -199,15 +201,15 @@ export class VerdocsEnvelopeSidebar {
|
|
199
201
|
}
|
200
202
|
render() {
|
201
203
|
var _a, _b, _c;
|
202
|
-
if (!
|
204
|
+
if (!this.envelope) {
|
203
205
|
return h(Host, null);
|
204
206
|
}
|
205
207
|
const session = this.endpoint.getSession();
|
206
|
-
const isEnvelopeOwner = session.profile_id ===
|
208
|
+
const isEnvelopeOwner = session.profile_id === this.envelope.profile_id; // TODO: What about org admins?
|
207
209
|
const historyEntries = this.prepareHistoryEntries();
|
208
|
-
return (h(Host, { class: this.panelOpen ? 'open' : ''
|
209
|
-
_a.first_name, " ", (_b =
|
210
|
-
_b.last_name), h("div", { class: "label" }, "Verdoc Owner Email"), h("div", { class: "value" }, (_c =
|
210
|
+
return (h(Host, { class: this.panelOpen ? 'open' : '' }, h("div", { class: "buttons" }, h("button", { class: this.activeTab === 1 ? 'active' : '', onClick: () => this.setTab(1), innerHTML: InformationCircle }), h("button", { class: this.activeTab === 2 ? 'active' : '', onClick: () => this.setTab(2), innerHTML: Users }), h("button", { class: this.activeTab === 3 ? 'active' : '', onClick: () => this.setTab(3), innerHTML: ClipboardDocuments })), this.activeTab === 1 && (h("div", { class: "content" }, h("div", { class: "title" }, "Details"), h("div", { class: "label" }, "Envelope ID"), h("div", { class: "value" }, this.envelope.id), h("div", { class: "label" }, "Date Created"), h("div", { class: "value" }, format(new Date(this.envelope.created_at), 'PP pp')), h("div", { class: "label" }, "Last Modified"), h("div", { class: "value" }, format(new Date(this.envelope.updated_at), 'PP pp')), h("div", { class: "label" }, "Status"), h("div", { class: "value" }, this.envelope.status), h("div", { class: "label" }, "Verdoc Owner ID"), h("div", { class: "value" }, this.envelope.profile_id), h("div", { class: "label" }, "Verdoc Owner Name"), h("div", { class: "value" }, (_a = this.envelope.profile) === null || _a === void 0 ? void 0 :
|
211
|
+
_a.first_name, " ", (_b = this.envelope.profile) === null || _b === void 0 ? void 0 :
|
212
|
+
_b.last_name), h("div", { class: "label" }, "Verdoc Owner Email"), h("div", { class: "value" }, (_c = this.envelope.profile) === null || _c === void 0 ? void 0 : _c.email))), this.activeTab === 2 && (h("div", { class: "content" }, h("div", { class: "title" }, "Recipients"), this.envelope.recipients.map((recipient, index) => (h("div", { class: "recipient-detail" }, h("div", { class: "recipient-header" }, h("div", { class: "recipient-number" }, index + 1), h("div", { class: "recipient-type" }, recipient.type), h("div", { class: { 'recipient-status': true, [recipient.status]: true } }, recipient.status), isEnvelopeOwner && (h("verdocs-dropdown", { onOptionSelected: item => this.handleRecipientAction(recipient, item.detail.id), options: [
|
211
213
|
{ id: 'reminder', label: 'Send Reminder', disabled: !this.canResendRecipient(recipient) },
|
212
214
|
{ id: 'modify', label: 'Modify Recipient', disabled: !this.canModifyRecipient(recipient) },
|
213
215
|
{ id: 'inperson', label: 'Get In-Person Link', disabled: !this.canModifyRecipient(recipient) || !['invited', 'opened'].includes(recipient.status) },
|
@@ -271,6 +273,8 @@ export class VerdocsEnvelopeSidebar {
|
|
271
273
|
}
|
272
274
|
static get states() {
|
273
275
|
return {
|
276
|
+
"envelope": {},
|
277
|
+
"roleNames": {},
|
274
278
|
"activeTab": {},
|
275
279
|
"panelOpen": {}
|
276
280
|
};
|
@@ -1,15 +1,13 @@
|
|
1
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
2
2
|
import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
3
3
|
import { createInitials } from '@verdocs/js-sdk/Envelopes/Initials';
|
4
|
-
import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
|
5
4
|
import { fullNameToInitials } from '@verdocs/js-sdk/Utils/Primitives';
|
5
|
+
import { createSignature } from '@verdocs/js-sdk/Envelopes/Signatures';
|
6
6
|
import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators';
|
7
7
|
import { Host, Fragment, h } from '@stencil/core';
|
8
|
-
import { updateEnvelopeFieldInitials, updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
9
8
|
import { envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit } from '@verdocs/js-sdk/Envelopes/Recipients';
|
9
|
+
import { throttledGetEnvelope, updateEnvelopeFieldInitials, updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
10
10
|
import { getFieldId, getRoleIndex, renderDocumentField, saveAttachment, updateDocumentFieldValue } from '../../../utils/utils';
|
11
|
-
import { getEnvelopeById } from '../../../utils/Envelopes';
|
12
|
-
import EnvelopeStore from '../../../utils/envelopeStore';
|
13
11
|
import { SDKError } from '../../../utils/errors';
|
14
12
|
const inProgressMenuOptions = [
|
15
13
|
{ id: 'later', label: 'Finish Later' },
|
@@ -47,6 +45,8 @@ export class VerdocsSign {
|
|
47
45
|
this.roleId = null;
|
48
46
|
this.inviteCode = null;
|
49
47
|
this.headerTargetId = null;
|
48
|
+
this.envelope = null;
|
49
|
+
this.roleNames = [];
|
50
50
|
this.recipient = null;
|
51
51
|
this.signerToken = null;
|
52
52
|
this.hasSignature = false;
|
@@ -93,24 +93,25 @@ export class VerdocsSign {
|
|
93
93
|
if (this.agreed) {
|
94
94
|
this.nextButtonLabel = 'Next';
|
95
95
|
}
|
96
|
-
await
|
97
|
-
|
96
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
97
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
98
|
+
if (this.envelope.documents.length > 0) {
|
98
99
|
this.documentsSingularPlural = 'document(s)';
|
99
100
|
}
|
100
|
-
this.recipientIndex =
|
101
|
+
this.recipientIndex = this.envelope.recipients.findIndex(recipient => recipient.role_name == this.roleId);
|
101
102
|
if (this.recipientIndex > -1) {
|
102
|
-
this.recipient =
|
103
|
+
this.recipient = this.envelope.recipients[this.recipientIndex];
|
103
104
|
this.agreed = this.recipient.agreed;
|
104
105
|
console.log('[SIGN] Found our recipient in the envelope', this.recipientIndex, this.recipient);
|
105
106
|
}
|
106
107
|
else {
|
107
|
-
console.log('[SIGN] Could not find our recipient record', this.roleId,
|
108
|
+
console.log('[SIGN] Could not find our recipient record', this.roleId, this.envelope.recipients);
|
108
109
|
}
|
109
110
|
this.isDone = ['submitted', 'canceled', 'declined'].includes(this.recipient.status);
|
110
111
|
// TODO: Fix service to allow this?
|
111
112
|
// const sigs = await getSignatures();
|
112
113
|
// console.log('sigs', sigs);
|
113
|
-
(_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope:
|
114
|
+
(_d = this.envelopeLoaded) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope });
|
114
115
|
}
|
115
116
|
catch (e) {
|
116
117
|
console.log('Error with signing session', e);
|
@@ -132,7 +133,7 @@ export class VerdocsSign {
|
|
132
133
|
var _a;
|
133
134
|
this.nextButtonLabel = 'Next';
|
134
135
|
this.agreed = true; // The server returns a recipient object but it's not "deep" so we track this locally
|
135
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
136
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'agreed' });
|
136
137
|
})
|
137
138
|
.catch(e => {
|
138
139
|
var _a, _b, _c;
|
@@ -146,29 +147,29 @@ export class VerdocsSign {
|
|
146
147
|
case 'later':
|
147
148
|
this.finishLater = true;
|
148
149
|
this.showFinishLater = true;
|
149
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
150
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'later' });
|
150
151
|
break;
|
151
152
|
case 'claim':
|
152
153
|
window.alert('This feature will be available in an upcoming release.');
|
153
|
-
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope:
|
154
|
+
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'claimed' });
|
154
155
|
break;
|
155
156
|
case 'decline':
|
156
157
|
{
|
157
158
|
const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
|
158
159
|
console.log('Decline result', declineResult);
|
159
|
-
(_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope:
|
160
|
+
(_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'declined' });
|
160
161
|
this.isDone = true;
|
161
162
|
}
|
162
163
|
break;
|
163
164
|
case 'print':
|
164
165
|
window.print();
|
165
|
-
(_d = this.envelopeUpdated) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope:
|
166
|
+
(_d = this.envelopeUpdated) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'printed' });
|
166
167
|
break;
|
167
168
|
case 'download':
|
168
|
-
saveAttachment(this.endpoint,
|
169
|
+
saveAttachment(this.endpoint, this.envelope, this.envelope.envelope_document_id).catch(e => {
|
169
170
|
console.log('Error downloading PDF', e);
|
170
171
|
});
|
171
|
-
(_e = this.envelopeUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, envelope:
|
172
|
+
(_e = this.envelopeUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
172
173
|
break;
|
173
174
|
}
|
174
175
|
}
|
@@ -347,7 +348,7 @@ export class VerdocsSign {
|
|
347
348
|
}
|
348
349
|
handlePageRendered(e) {
|
349
350
|
const pageInfo = e.detail;
|
350
|
-
const roleIndex = getRoleIndex(
|
351
|
+
const roleIndex = getRoleIndex(this.roleNames, this.recipient.role_name);
|
351
352
|
const recipientFields = this.recipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
352
353
|
console.log('[SIGN] Page rendered, updating fields', { pageInfo, roleIndex, recipientFields });
|
353
354
|
recipientFields.forEach(field => {
|
@@ -387,10 +388,10 @@ export class VerdocsSign {
|
|
387
388
|
// });
|
388
389
|
});
|
389
390
|
// Render fields for "the other" recipients
|
390
|
-
|
391
|
+
this.envelope.recipients
|
391
392
|
.filter(recipient => recipient.role_name !== this.recipient.role_name)
|
392
393
|
.forEach(otherRecipient => {
|
393
|
-
const otherRoleIndex = getRoleIndex(
|
394
|
+
const otherRoleIndex = getRoleIndex(this.roleNames, otherRecipient.role_name);
|
394
395
|
const recipientFields = otherRecipient.fields.filter(field => field.page === pageInfo.pageNumber);
|
395
396
|
// We don't render other recipients' fields if they've already acted, because those values are now stamped into the document page.
|
396
397
|
// TODO: Do we want to render alternate treatments for recipients who have declined (red boxes?) and/or if the envelope is cancelled?
|
@@ -421,13 +422,13 @@ export class VerdocsSign {
|
|
421
422
|
this.checkRecipientFields();
|
422
423
|
}
|
423
424
|
render() {
|
424
|
-
if (
|
425
|
+
if (!this.envelope) {
|
425
426
|
return (h(Host, null, h("verdocs-loader", null)));
|
426
427
|
}
|
427
428
|
if (this.isDone) {
|
428
|
-
return (h(Host, { class: { agreed: this.agreed }
|
429
|
+
return (h(Host, { class: { agreed: this.agreed } }, this.isDone ? (h("verdocs-view", { endpoint: this.endpoint, envelopeId: this.envelopeId, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })) : (h("verdocs-view", { endpoint: this.endpoint, envelopeId: this.envelopeId, onSdkError: e => { var _a; return (_a = this.sdkError) === null || _a === void 0 ? void 0 : _a.emit(e.detail); } })), this.errorMessage && h("verdocs-ok-dialog", { heading: "Network Error", message: this.errorMessage, onNext: () => (this.errorMessage = '') })));
|
429
430
|
}
|
430
|
-
return (h(Host, { class: { agreed: this.agreed }
|
431
|
+
return (h(Host, { class: { agreed: this.agreed } }, !this.finishLater && h("div", { class: "intro" }, "Please review and act on these documents."), h("div", { id: "verdocs-sign-header" }, !this.agreed ? (h("div", { class: "agree" }, h("verdocs-checkbox", { name: "agree", label: "I agree to use electronic records and signatures.", onInput: () => this.handleClickAgree() }))) : (h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }))), !this.finishLater && h("verdocs-button", { size: "small", label: this.nextButtonLabel, disabled: !this.agreed, onClick: () => this.handleNext() }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: !this.isDone && !this.finishLater ? inProgressMenuOptions : doneMenuOptions, onOptionSelected: e => this.handleOptionSelected(e) })), !this.agreed ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), h("div", { class: "document", style: { paddingTop: this.headerTargetId ? '70px' : '15px' } }, (this.envelope.documents || []).map(envelopeDocument => {
|
431
432
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
432
433
|
pages.sort((a, b) => a.sequence - b.sequence);
|
433
434
|
return (h(Fragment, null, pages.map(page => {
|
@@ -535,6 +536,8 @@ export class VerdocsSign {
|
|
535
536
|
}
|
536
537
|
static get states() {
|
537
538
|
return {
|
539
|
+
"envelope": {},
|
540
|
+
"roleNames": {},
|
538
541
|
"recipient": {},
|
539
542
|
"signerToken": {},
|
540
543
|
"hasSignature": {},
|
@@ -3,12 +3,12 @@ export default {
|
|
3
3
|
title: 'Embeds/Sign',
|
4
4
|
component: 'verdocs-sign',
|
5
5
|
args: {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
envelopeId: '4017df32-0daa-4c77-977e-8606a2dd5c82',
|
10
|
-
roleId: 'Seller',
|
11
|
-
inviteCode: '7736c2728e31fb36b7e2d95f9e0c319d',
|
6
|
+
envelopeId: '',
|
7
|
+
roleId: '',
|
8
|
+
inviteCode: '',
|
9
|
+
// envelopeId: '4017df32-0daa-4c77-977e-8606a2dd5c82',
|
10
|
+
// roleId: 'Seller',
|
11
|
+
// inviteCode: '7736c2728e31fb36b7e2d95f9e0c319d',
|
12
12
|
},
|
13
13
|
argTypes: {
|
14
14
|
envelopeId: {
|
@@ -1,10 +1,8 @@
|
|
1
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
2
|
-
import { cancelEnvelope } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
2
|
+
import { cancelEnvelope, throttledGetEnvelope } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
3
3
|
import { userCanCancelEnvelope } from '@verdocs/js-sdk/Envelopes/Permissions';
|
4
4
|
import { h, Host, Fragment } from '@stencil/core';
|
5
5
|
import { saveAttachment, saveCertificate, saveEnvelopesAsZip } from '../../../utils/utils';
|
6
|
-
import { getEnvelopeById } from '../../../utils/Envelopes';
|
7
|
-
import EnvelopeStore from '../../../utils/envelopeStore';
|
8
6
|
import { SDKError } from '../../../utils/errors';
|
9
7
|
/**
|
10
8
|
* Render the documents attached to an envelope in read-only (view) mode. All documents are displayed in order.
|
@@ -15,6 +13,8 @@ export class VerdocsView {
|
|
15
13
|
this.envelopeId = '';
|
16
14
|
this.headerTargetId = null;
|
17
15
|
this.isProcessing = false;
|
16
|
+
this.envelope = null;
|
17
|
+
this.roleNames = [];
|
18
18
|
}
|
19
19
|
componentWillLoad() {
|
20
20
|
this.endpoint.loadSession();
|
@@ -41,8 +41,9 @@ export class VerdocsView {
|
|
41
41
|
var _a, _b, _c;
|
42
42
|
console.log('[VIEW] Checking for updated envelope');
|
43
43
|
try {
|
44
|
-
await
|
45
|
-
this.
|
44
|
+
this.envelope = await throttledGetEnvelope(this.endpoint, this.envelopeId);
|
45
|
+
this.roleNames = this.envelope.recipients.map(r => r.role_name);
|
46
|
+
this.isProcessing = this.envelope.documents.some(document => document.type === 'attachment' && !document.processed);
|
46
47
|
if (this.isProcessing) {
|
47
48
|
setTimeout(() => this.reloadEnvelope(), 3000);
|
48
49
|
}
|
@@ -62,38 +63,38 @@ export class VerdocsView {
|
|
62
63
|
// TODO: Better option for inline-flow confirmation and alert dialogs.
|
63
64
|
if (confirm('Are you sure you wish to cancel this envelope? This action cannot be undone.')) {
|
64
65
|
await cancelEnvelope(this.endpoint, this.envelopeId);
|
65
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
66
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'canceled' });
|
66
67
|
}
|
67
68
|
break;
|
68
69
|
case 'print':
|
69
70
|
window.print();
|
70
|
-
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope:
|
71
|
+
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'printed' });
|
71
72
|
break;
|
72
73
|
case 'download-attachments':
|
73
|
-
saveAttachment(this.endpoint,
|
74
|
+
saveAttachment(this.endpoint, this.envelope, this.envelope.envelope_document_id)
|
74
75
|
.then(() => {
|
75
76
|
var _a;
|
76
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
77
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
77
78
|
})
|
78
79
|
.catch(e => {
|
79
80
|
console.log('Error downloading PDF', e);
|
80
81
|
});
|
81
82
|
break;
|
82
83
|
case 'download-certificate':
|
83
|
-
saveCertificate(this.endpoint,
|
84
|
+
saveCertificate(this.endpoint, this.envelope, this.envelope.certificate_document_id)
|
84
85
|
.then(() => {
|
85
86
|
var _a;
|
86
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
87
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
87
88
|
})
|
88
89
|
.catch(e => {
|
89
90
|
console.log('Error downloading PDF', e);
|
90
91
|
});
|
91
92
|
break;
|
92
93
|
case 'download-all':
|
93
|
-
saveEnvelopesAsZip(this.endpoint, [
|
94
|
+
saveEnvelopesAsZip(this.endpoint, [this.envelope])
|
94
95
|
.then(() => {
|
95
96
|
var _a;
|
96
|
-
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope:
|
97
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: this.envelope, event: 'downloaded' });
|
97
98
|
})
|
98
99
|
.catch(e => {
|
99
100
|
console.log('Error downloading Zip', e);
|
@@ -103,19 +104,17 @@ export class VerdocsView {
|
|
103
104
|
}
|
104
105
|
render() {
|
105
106
|
var _a;
|
106
|
-
if (
|
107
|
+
if (!this.envelope) {
|
108
|
+
console.log('rendering, no env');
|
107
109
|
return (h(Host, null, h("verdocs-loader", null)));
|
108
110
|
}
|
109
|
-
if (EnvelopeStore.error) {
|
110
|
-
return (h(Host, null, h("div", null, EnvelopeStore.error)));
|
111
|
-
}
|
112
111
|
const menuOptions = [{ id: 'print', label: 'Print' }];
|
113
|
-
if (userCanCancelEnvelope(this.endpoint.session,
|
112
|
+
if (userCanCancelEnvelope(this.endpoint.session, this.envelope)) {
|
114
113
|
menuOptions.push({ id: 'cancel', label: 'Cancel' });
|
115
114
|
}
|
116
115
|
// Add download options to the menu
|
117
|
-
const hasAttachments =
|
118
|
-
const hasCertificate = !!
|
116
|
+
const hasAttachments = this.envelope.documents.length > 0;
|
117
|
+
const hasCertificate = !!this.envelope.certificate;
|
119
118
|
if (hasAttachments || hasCertificate) {
|
120
119
|
menuOptions.push({ label: '' });
|
121
120
|
if (hasAttachments) {
|
@@ -128,10 +127,11 @@ export class VerdocsView {
|
|
128
127
|
menuOptions.push({ id: 'download-all', label: 'Download All Files' });
|
129
128
|
}
|
130
129
|
}
|
131
|
-
|
130
|
+
console.log('docs', this.envelope, this.envelope.documents);
|
131
|
+
return (h(Host, null, h("div", { id: "verdocs-view-header" }, h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, this.envelope.name), h("div", { style: { flex: '1' } }), h("div", { style: { marginLeft: '10px' } }), h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }))), h("div", { class: "document", style: { paddingTop: this.headerTargetId ? '70px' : '15px' } }, (((_a = this.envelope) === null || _a === void 0 ? void 0 : _a.documents) || [])
|
132
132
|
.filter(document => document.type !== 'certificate')
|
133
133
|
.map(envelopeDocument => {
|
134
|
-
console.log('[VIEW] Rendering document',
|
134
|
+
console.log('[VIEW] Rendering document', this.envelope, envelopeDocument);
|
135
135
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
136
136
|
pages.sort((a, b) => a.sequence - b.sequence);
|
137
137
|
if (!envelopeDocument.processed) {
|
@@ -217,7 +217,9 @@ export class VerdocsView {
|
|
217
217
|
}
|
218
218
|
static get states() {
|
219
219
|
return {
|
220
|
-
"isProcessing": {}
|
220
|
+
"isProcessing": {},
|
221
|
+
"envelope": {},
|
222
|
+
"roleNames": {}
|
221
223
|
};
|
222
224
|
}
|
223
225
|
static get events() {
|
@@ -3,8 +3,8 @@ export default {
|
|
3
3
|
title: 'Embeds/View',
|
4
4
|
component: 'verdocs-view',
|
5
5
|
args: {
|
6
|
-
envelopeId: '4017df32-0daa-4c77-977e-8606a2dd5c82',
|
7
|
-
|
6
|
+
// envelopeId: '4017df32-0daa-4c77-977e-8606a2dd5c82',
|
7
|
+
envelopeId: '',
|
8
8
|
},
|
9
9
|
argTypes: {
|
10
10
|
envelopeId: {
|
@@ -78,7 +78,7 @@ export class VerdocsFieldTextbox {
|
|
78
78
|
var _a;
|
79
79
|
(_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
|
80
80
|
return this.hideSettingsPanel();
|
81
|
-
} })))));
|
81
|
+
}, 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.' })))));
|
82
82
|
}
|
83
83
|
static get is() { return "verdocs-field-textbox"; }
|
84
84
|
static get originalStyleUrls() {
|
@@ -16,6 +16,7 @@ export class VerdocsTemplateFieldProperties {
|
|
16
16
|
this.endpoint = VerdocsEndpoint.getDefault();
|
17
17
|
this.templateId = '';
|
18
18
|
this.fieldName = '';
|
19
|
+
this.helpText = '';
|
19
20
|
this.dirty = false;
|
20
21
|
this.loading = true;
|
21
22
|
this.type = 'signature';
|
@@ -27,7 +28,7 @@ export class VerdocsTemplateFieldProperties {
|
|
27
28
|
this.options = [];
|
28
29
|
this.placeholder = '';
|
29
30
|
this.defaultValue = '';
|
30
|
-
this.showingHelp =
|
31
|
+
this.showingHelp = false;
|
31
32
|
}
|
32
33
|
async componentWillLoad() {
|
33
34
|
var _a, _b, _c, _d, _e;
|
@@ -147,10 +148,10 @@ export class VerdocsTemplateFieldProperties {
|
|
147
148
|
if (!this.endpoint.session || !TemplateStore.template) {
|
148
149
|
return h(Host, { class: "empty" });
|
149
150
|
}
|
150
|
-
if (this.showingHelp) {
|
151
|
-
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"
|
151
|
+
if (this.helpText && this.showingHelp) {
|
152
|
+
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 })));
|
152
153
|
}
|
153
|
-
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 = 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",
|
154
|
+
return (h(Host, null, h("h6", null, capitalize(this.fieldType), " 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",
|
154
155
|
// 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."
|
155
156
|
placeholder: "Field Name...", onInput: (e) => {
|
156
157
|
this.name = e.target.value;
|
@@ -259,6 +260,24 @@ export class VerdocsTemplateFieldProperties {
|
|
259
260
|
"attribute": "field-name",
|
260
261
|
"reflect": false,
|
261
262
|
"defaultValue": "''"
|
263
|
+
},
|
264
|
+
"helpText": {
|
265
|
+
"type": "string",
|
266
|
+
"mutable": false,
|
267
|
+
"complexType": {
|
268
|
+
"original": "string",
|
269
|
+
"resolved": "string",
|
270
|
+
"references": {}
|
271
|
+
},
|
272
|
+
"required": false,
|
273
|
+
"optional": true,
|
274
|
+
"docs": {
|
275
|
+
"tags": [],
|
276
|
+
"text": "If specified, the properties card will have a \"back\" side with the help text as its content."
|
277
|
+
},
|
278
|
+
"attribute": "help-text",
|
279
|
+
"reflect": false,
|
280
|
+
"defaultValue": "''"
|
262
281
|
}
|
263
282
|
};
|
264
283
|
}
|
@@ -135,5 +135,20 @@ var getFieldAttachment = function (endpoint, envelopeId, fieldName) { return __a
|
|
135
135
|
var getEnvelopeDocumentPageDisplayUri = function (endpoint, envelopeId, documentId, page) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
136
136
|
return [2 /*return*/, endpoint.api.get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "/pages/").concat(page, "/image")).then(function (r) { return r.data; })];
|
137
137
|
}); }); };
|
138
|
+
var cachedEnvelopes = {};
|
139
|
+
/**
|
140
|
+
* Wrapper for `getEnvelope()` that limits queries to one every 2 seconds per template ID.
|
141
|
+
* This is intended for use in component hierarchies that all rely on the same template
|
142
|
+
* to avoid unnecessary repeat server calls.
|
143
|
+
*/
|
144
|
+
var throttledGetEnvelope = function (endpoint, envelopeId) {
|
145
|
+
if (cachedEnvelopes[envelopeId] && cachedEnvelopes[envelopeId].loaded + 2000 < new Date().getTime()) {
|
146
|
+
return cachedEnvelopes[envelopeId].envelope;
|
147
|
+
}
|
148
|
+
return getEnvelope(endpoint, envelopeId, true).then(function (envelope) {
|
149
|
+
cachedEnvelopes[envelopeId] = { loaded: new Date().getTime(), envelope: envelope };
|
150
|
+
return envelope;
|
151
|
+
});
|
152
|
+
};
|
138
153
|
|
139
|
-
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeDocumentPageDisplayUri as c, cancelEnvelope as d, getEnvelopeFile as e, getFieldAttachment as f, getSigningSession as g,
|
154
|
+
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeDocumentPageDisplayUri as c, cancelEnvelope as d, getEnvelopeFile as e, getFieldAttachment as f, getSigningSession as g, throttledGetEnvelope as t, updateEnvelopeField as u };
|