@verdocs/web-sdk 1.12.21 → 1.12.22
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 +2 -3
- 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 +4 -5
- 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-view/verdocs-view.js +25 -23
- 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-sign.js +25 -21
- package/dist/components/verdocs-view2.js +25 -22
- package/dist/docs.json +1 -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 +2 -3
- 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 +4 -5
- 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/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-32665c92.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-511ba013.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-52164a0a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5574e12d.system.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-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-9f52d5c3.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-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-e7640564.system.entry.js +1 -0
- 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/custom-elements.json +0 -1462
- 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": {},
|
@@ -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() {
|
@@ -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 };
|
@@ -1,6 +1,197 @@
|
|
1
|
-
import {
|
1
|
+
import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
|
2
2
|
import { i as integerSequence } from './Primitives.js';
|
3
3
|
|
4
|
+
const appendToMap = (map, propName, value) => {
|
5
|
+
const items = map.get(propName);
|
6
|
+
if (!items) {
|
7
|
+
map.set(propName, [value]);
|
8
|
+
}
|
9
|
+
else if (!items.includes(value)) {
|
10
|
+
items.push(value);
|
11
|
+
}
|
12
|
+
};
|
13
|
+
const debounce = (fn, ms) => {
|
14
|
+
let timeoutId;
|
15
|
+
return (...args) => {
|
16
|
+
if (timeoutId) {
|
17
|
+
clearTimeout(timeoutId);
|
18
|
+
}
|
19
|
+
timeoutId = setTimeout(() => {
|
20
|
+
timeoutId = 0;
|
21
|
+
fn(...args);
|
22
|
+
}, ms);
|
23
|
+
};
|
24
|
+
};
|
25
|
+
|
26
|
+
/**
|
27
|
+
* Check if a possible element isConnected.
|
28
|
+
* The property might not be there, so we check for it.
|
29
|
+
*
|
30
|
+
* We want it to return true if isConnected is not a property,
|
31
|
+
* otherwise we would remove these elements and would not update.
|
32
|
+
*
|
33
|
+
* Better leak in Edge than to be useless.
|
34
|
+
*/
|
35
|
+
const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
|
36
|
+
const cleanupElements = debounce((map) => {
|
37
|
+
for (let key of map.keys()) {
|
38
|
+
map.set(key, map.get(key).filter(isConnected));
|
39
|
+
}
|
40
|
+
}, 2000);
|
41
|
+
const stencilSubscription = () => {
|
42
|
+
if (typeof getRenderingRef !== 'function') {
|
43
|
+
// If we are not in a stencil project, we do nothing.
|
44
|
+
// This function is not really exported by @stencil/core.
|
45
|
+
return {};
|
46
|
+
}
|
47
|
+
const elmsToUpdate = new Map();
|
48
|
+
return {
|
49
|
+
dispose: () => elmsToUpdate.clear(),
|
50
|
+
get: (propName) => {
|
51
|
+
const elm = getRenderingRef();
|
52
|
+
if (elm) {
|
53
|
+
appendToMap(elmsToUpdate, propName, elm);
|
54
|
+
}
|
55
|
+
},
|
56
|
+
set: (propName) => {
|
57
|
+
const elements = elmsToUpdate.get(propName);
|
58
|
+
if (elements) {
|
59
|
+
elmsToUpdate.set(propName, elements.filter(forceUpdate));
|
60
|
+
}
|
61
|
+
cleanupElements(elmsToUpdate);
|
62
|
+
},
|
63
|
+
reset: () => {
|
64
|
+
elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
|
65
|
+
cleanupElements(elmsToUpdate);
|
66
|
+
},
|
67
|
+
};
|
68
|
+
};
|
69
|
+
|
70
|
+
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
71
|
+
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
72
|
+
const unwrappedState = unwrap(defaultState);
|
73
|
+
let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
|
74
|
+
const handlers = {
|
75
|
+
dispose: [],
|
76
|
+
get: [],
|
77
|
+
set: [],
|
78
|
+
reset: [],
|
79
|
+
};
|
80
|
+
const reset = () => {
|
81
|
+
var _a;
|
82
|
+
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
83
|
+
// otherwise, the state won't be properly reset
|
84
|
+
states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
|
85
|
+
handlers.reset.forEach((cb) => cb());
|
86
|
+
};
|
87
|
+
const dispose = () => {
|
88
|
+
// Call first dispose as resetting the state would
|
89
|
+
// cause less updates ;)
|
90
|
+
handlers.dispose.forEach((cb) => cb());
|
91
|
+
reset();
|
92
|
+
};
|
93
|
+
const get = (propName) => {
|
94
|
+
handlers.get.forEach((cb) => cb(propName));
|
95
|
+
return states.get(propName);
|
96
|
+
};
|
97
|
+
const set = (propName, value) => {
|
98
|
+
const oldValue = states.get(propName);
|
99
|
+
if (shouldUpdate(value, oldValue, propName)) {
|
100
|
+
states.set(propName, value);
|
101
|
+
handlers.set.forEach((cb) => cb(propName, value, oldValue));
|
102
|
+
}
|
103
|
+
};
|
104
|
+
const state = (typeof Proxy === 'undefined'
|
105
|
+
? {}
|
106
|
+
: new Proxy(unwrappedState, {
|
107
|
+
get(_, propName) {
|
108
|
+
return get(propName);
|
109
|
+
},
|
110
|
+
ownKeys(_) {
|
111
|
+
return Array.from(states.keys());
|
112
|
+
},
|
113
|
+
getOwnPropertyDescriptor() {
|
114
|
+
return {
|
115
|
+
enumerable: true,
|
116
|
+
configurable: true,
|
117
|
+
};
|
118
|
+
},
|
119
|
+
has(_, propName) {
|
120
|
+
return states.has(propName);
|
121
|
+
},
|
122
|
+
set(_, propName, value) {
|
123
|
+
set(propName, value);
|
124
|
+
return true;
|
125
|
+
},
|
126
|
+
}));
|
127
|
+
const on = (eventName, callback) => {
|
128
|
+
handlers[eventName].push(callback);
|
129
|
+
return () => {
|
130
|
+
removeFromArray(handlers[eventName], callback);
|
131
|
+
};
|
132
|
+
};
|
133
|
+
const onChange = (propName, cb) => {
|
134
|
+
const unSet = on('set', (key, newValue) => {
|
135
|
+
if (key === propName) {
|
136
|
+
cb(newValue);
|
137
|
+
}
|
138
|
+
});
|
139
|
+
// We need to unwrap the defaultState because it might be a function.
|
140
|
+
// Otherwise we might not be sending the right reset value.
|
141
|
+
const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
|
142
|
+
return () => {
|
143
|
+
unSet();
|
144
|
+
unReset();
|
145
|
+
};
|
146
|
+
};
|
147
|
+
const use = (...subscriptions) => {
|
148
|
+
const unsubs = subscriptions.reduce((unsubs, subscription) => {
|
149
|
+
if (subscription.set) {
|
150
|
+
unsubs.push(on('set', subscription.set));
|
151
|
+
}
|
152
|
+
if (subscription.get) {
|
153
|
+
unsubs.push(on('get', subscription.get));
|
154
|
+
}
|
155
|
+
if (subscription.reset) {
|
156
|
+
unsubs.push(on('reset', subscription.reset));
|
157
|
+
}
|
158
|
+
if (subscription.dispose) {
|
159
|
+
unsubs.push(on('dispose', subscription.dispose));
|
160
|
+
}
|
161
|
+
return unsubs;
|
162
|
+
}, []);
|
163
|
+
return () => unsubs.forEach((unsub) => unsub());
|
164
|
+
};
|
165
|
+
const forceUpdate = (key) => {
|
166
|
+
const oldValue = states.get(key);
|
167
|
+
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
168
|
+
};
|
169
|
+
return {
|
170
|
+
state,
|
171
|
+
get,
|
172
|
+
set,
|
173
|
+
on,
|
174
|
+
onChange,
|
175
|
+
use,
|
176
|
+
dispose,
|
177
|
+
reset,
|
178
|
+
forceUpdate,
|
179
|
+
};
|
180
|
+
};
|
181
|
+
const removeFromArray = (array, item) => {
|
182
|
+
const index = array.indexOf(item);
|
183
|
+
if (index >= 0) {
|
184
|
+
array[index] = array[array.length - 1];
|
185
|
+
array.length--;
|
186
|
+
}
|
187
|
+
};
|
188
|
+
|
189
|
+
const createStore = (defaultState, shouldUpdate) => {
|
190
|
+
const map = createObservableMap(defaultState, shouldUpdate);
|
191
|
+
map.use(stencilSubscription());
|
192
|
+
return map;
|
193
|
+
};
|
194
|
+
|
4
195
|
// NOTE: Do not attempt to convert this to a named-export module. It triggers compilation issues in Rollup that I spent days trying to
|
5
196
|
const { state, onChange } = createStore({
|
6
197
|
templateId: '',
|