@verdocs/web-sdk 1.10.9 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{Envelopes-68058bbe.js → Envelopes-7381bd9a.js} +11 -0
- package/dist/cjs/{Envelopes-4cc18551.js → Envelopes-9886af0f.js} +4 -1
- package/dist/cjs/{Templates-a75b133d.js → Templates-2f2ea153.js} +2 -2
- package/dist/cjs/{interact.min-3e3c03a5.js → interact.min-d223d04b.js} +3 -19
- package/dist/cjs/utils-f4cfa1fb.js +349 -0
- package/dist/cjs/verdocs-build.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-document-page_2.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +6 -3
- package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-initial.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-payment.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-signature.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -2
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -2
- package/dist/cjs/verdocs-preview.cjs.entry.js +4 -3
- package/dist/cjs/verdocs-send.cjs.entry.js +4 -3
- package/dist/cjs/verdocs-sign.cjs.entry.js +12 -5
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-create_2.cjs.entry.js +12 -6
- package/dist/cjs/verdocs-template-name.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-recipients.cjs.entry.js +7 -5
- package/dist/cjs/verdocs-template-reminders.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-template-visibility.cjs.entry.js +1 -1
- package/dist/cjs/verdocs-view.cjs.entry.js +51 -11
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.css +6 -0
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.js +4 -2
- package/dist/collection/components/controls/verdocs-dropdown/verdocs-dropdown.stories.js +1 -1
- package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js +27 -1
- package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +10 -4
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +70 -8
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +30 -2
- package/dist/collection/components/templates/verdocs-template-recipients/verdocs-template-recipients.js +25 -1
- package/dist/collection/utils/Templates.js +2 -2
- package/dist/collection/utils/envelopeStore.js +3 -0
- package/dist/collection/utils/utils.js +44 -3
- package/dist/components/Envelopes.js +4 -1
- package/dist/components/Envelopes2.js +11 -1
- package/dist/components/Templates.js +2 -2
- package/dist/components/interact.min.js +1 -17
- package/dist/components/utils.js +80 -4
- package/dist/components/verdocs-dropdown2.js +2 -2
- package/dist/components/verdocs-envelope-sidebar.js +4 -1
- package/dist/components/verdocs-sign.js +9 -3
- package/dist/components/verdocs-template-fields2.js +7 -2
- package/dist/components/verdocs-template-recipients.js +2 -1
- package/dist/components/verdocs-view2.js +47 -8
- package/dist/custom-elements.json +1 -1
- package/dist/docs.json +39 -3
- package/dist/esm/{Envelopes-91d7e139.js → Envelopes-b8945309.js} +4 -1
- package/dist/esm/{Envelopes-130fd6ea.js → Envelopes-eb3eef02.js} +11 -1
- package/dist/esm/{Templates-7595bdbf.js → Templates-a7530314.js} +2 -2
- package/dist/esm/{interact.min-32c1c1e4.js → interact.min-e472871a.js} +1 -17
- package/dist/esm/utils-8065a62d.js +334 -0
- package/dist/esm/verdocs-build.entry.js +1 -1
- package/dist/esm/verdocs-button-panel_3.entry.js +1 -1
- package/dist/esm/verdocs-document-page_2.entry.js +3 -2
- package/dist/esm/verdocs-dropdown.entry.js +2 -2
- package/dist/esm/verdocs-envelope-sidebar.entry.js +6 -3
- package/dist/esm/verdocs-field-checkbox.entry.js +3 -2
- package/dist/esm/verdocs-field-date.entry.js +2 -2
- package/dist/esm/verdocs-field-dropdown.entry.js +3 -2
- package/dist/esm/verdocs-field-initial.entry.js +3 -2
- package/dist/esm/verdocs-field-payment.entry.js +3 -2
- package/dist/esm/verdocs-field-radio-button.entry.js +3 -2
- package/dist/esm/verdocs-field-signature.entry.js +3 -2
- package/dist/esm/verdocs-field-textarea.entry.js +3 -2
- package/dist/esm/verdocs-field-textbox.entry.js +3 -2
- package/dist/esm/verdocs-field-timestamp.entry.js +2 -2
- package/dist/esm/verdocs-preview.entry.js +4 -3
- package/dist/esm/verdocs-send.entry.js +4 -3
- package/dist/esm/verdocs-sign.entry.js +12 -5
- package/dist/esm/verdocs-template-attachments.entry.js +1 -1
- package/dist/esm/verdocs-template-create_2.entry.js +12 -6
- package/dist/esm/verdocs-template-name.entry.js +1 -1
- package/dist/esm/verdocs-template-recipients.entry.js +7 -5
- package/dist/esm/verdocs-template-reminders.entry.js +1 -1
- package/dist/esm/verdocs-template-role-properties_2.entry.js +1 -1
- package/dist/esm/verdocs-template-visibility.entry.js +1 -1
- package/dist/esm/verdocs-view.entry.js +51 -11
- package/dist/esm-es5/Envelopes-b8945309.js +1 -0
- package/dist/esm-es5/{Envelopes-130fd6ea.js → Envelopes-eb3eef02.js} +1 -1
- package/dist/esm-es5/{Templates-7595bdbf.js → Templates-a7530314.js} +1 -1
- package/dist/esm-es5/interact.min-e472871a.js +1 -0
- package/dist/esm-es5/utils-8065a62d.js +13 -0
- 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-document-page_2.entry.js +1 -1
- package/dist/esm-es5/verdocs-dropdown.entry.js +1 -1
- package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -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-name.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-recipients.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-visibility.entry.js +1 -1
- package/dist/esm-es5/verdocs-view.entry.js +1 -1
- package/dist/types/components/controls/verdocs-dropdown/verdocs-dropdown.d.ts +3 -1
- package/dist/types/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.d.ts +9 -1
- package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -1
- package/dist/types/components/embeds/verdocs-view/verdocs-view.d.ts +9 -0
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +9 -1
- package/dist/types/components/templates/verdocs-template-recipients/verdocs-template-recipients.d.ts +10 -1
- package/dist/types/components.d.ts +17 -1
- package/dist/types/utils/Templates.d.ts +1 -1
- package/dist/types/utils/envelopeStore.d.ts +1 -0
- package/dist/types/utils/utils.d.ts +4 -1
- package/dist/verdocs-web-sdk/{p-3a04acf4.system.entry.js → p-00307be5.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-f2ae6ed5.entry.js → p-011eedf8.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-51a99eed.system.entry.js → p-08270eb7.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-085d66a2.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-584e4fca.entry.js → p-0fc8ae0a.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-19763c4d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-19d13aca.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-d95b1215.system.entry.js → p-1e710eb7.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-25fa36d7.js +13 -0
- package/dist/verdocs-web-sdk/p-2faa3f2e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-32f9b201.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-388b771c.js +1 -0
- package/dist/verdocs-web-sdk/p-38d00c38.system.js +13 -0
- package/dist/verdocs-web-sdk/p-3bed244c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-42a82518.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-433a7bb3.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7067adce.system.js → p-45a4da16.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-4e521971.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-01117b44.entry.js → p-5a4b4373.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-5ced004c.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5d29152f.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-63c55bc3.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-b39df234.system.entry.js → p-64f197a8.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-6619bc62.js +1 -0
- package/dist/verdocs-web-sdk/{p-abffbbaf.entry.js → p-68743993.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-695c2ea8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6c4d28a2.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-b40a50a8.system.entry.js → p-6d295ee1.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-6d84b99c.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6e15a51e.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-7ac87084.system.js → p-6f53c098.system.js} +1 -1
- package/dist/verdocs-web-sdk/p-7149f974.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-76bdb162.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-79514d21.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7a26ed4a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-80fe8ac3.system.js +1 -0
- package/dist/verdocs-web-sdk/p-8b20b903.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-93b857b6.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-50892057.system.entry.js → p-9576a08f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-9dfcc6d4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a892d5b4.js +1 -0
- package/dist/verdocs-web-sdk/{p-6cb274e3.entry.js → p-ac3a9c3c.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-ad6cc9f4.js +1 -0
- package/dist/verdocs-web-sdk/p-af2957cc.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b3fd9575.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-a7c75902.entry.js → p-b537b400.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-b7740fe7.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-bea9fe06.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c08b737c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c16b6ca4.system.js +1 -1
- package/dist/verdocs-web-sdk/{p-8c53e0ff.system.entry.js → p-c317702e.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-7417cdc7.entry.js → p-c9eb3771.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-caaf2702.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-9345346d.entry.js → p-cb006a7e.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-9f52748a.system.entry.js → p-cdff8cba.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0e1f1b27.entry.js → p-d06946ca.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-0eb992eb.entry.js → p-d3e25ad3.entry.js} +1 -1
- package/dist/verdocs-web-sdk/p-d5836d39.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-dd06fb2a.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e58ab5ca.entry.js +1 -0
- package/dist/verdocs-web-sdk/{p-e0cfad01.system.js → p-e764098e.system.js} +1 -1
- package/dist/verdocs-web-sdk/{p-34efc869.system.entry.js → p-e91b174d.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/{p-efa9bfa2.system.entry.js → p-f4f44d6f.system.entry.js} +1 -1
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +3 -2
- package/dist/cjs/utils-865fd657.js +0 -269
- package/dist/esm/utils-274e2e93.js +0 -258
- package/dist/esm-es5/Envelopes-91d7e139.js +0 -1
- package/dist/esm-es5/interact.min-32c1c1e4.js +0 -1
- package/dist/esm-es5/utils-274e2e93.js +0 -1
- package/dist/verdocs-web-sdk/p-19f6e8c8.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1b58f506.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1c92741b.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2037252b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-242647c0.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-25256749.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-26bfe095.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-36fd1c28.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-47dfcf69.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-4f12a8a7.js +0 -1
- package/dist/verdocs-web-sdk/p-50c9771e.js +0 -1
- package/dist/verdocs-web-sdk/p-628aef1d.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6c2d3b0f.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-72f4b40b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-875f9455.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-880b619d.js +0 -1
- package/dist/verdocs-web-sdk/p-950a8083.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-96835e27.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-996008f6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a802a598.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b22a2c9a.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b981d415.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-bda7353b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c0538993.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c11a7c7e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c73998d3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c86a40a3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c9216df9.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-cd4270a9.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-d122cadd.system.js +0 -1
- package/dist/verdocs-web-sdk/p-d1393a1a.js +0 -1
- package/dist/verdocs-web-sdk/p-d6e07c20.js +0 -1
- package/dist/verdocs-web-sdk/p-e090d5e1.system.js +0 -1
- package/dist/verdocs-web-sdk/p-e1754b47.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e6f3735e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-e845dc2c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ef4603fd.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f81a559c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fc751bc4.system.entry.js +0 -1
|
@@ -4,25 +4,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-1329d89c.js');
|
|
6
6
|
const VerdocsEndpoint = require('./VerdocsEndpoint-25056c73.js');
|
|
7
|
-
const
|
|
7
|
+
const utils = require('./utils-f4cfa1fb.js');
|
|
8
|
+
const Envelopes = require('./Envelopes-9886af0f.js');
|
|
8
9
|
const errors = require('./errors-0396da3d.js');
|
|
9
|
-
const utils = require('./utils-865fd657.js');
|
|
10
10
|
require('./Token-576f0e8a.js');
|
|
11
|
-
require('./Envelopes-
|
|
11
|
+
require('./Envelopes-7381bd9a.js');
|
|
12
|
+
require('./Files-4bdc0c0f.js');
|
|
13
|
+
require('./index-6528b430.js');
|
|
12
14
|
require('./index-eb130f52.js');
|
|
13
15
|
require('./Templates-ed812768.js');
|
|
14
|
-
require('./Files-4bdc0c0f.js');
|
|
15
16
|
|
|
16
17
|
const verdocsViewCss = "verdocs-view{display:-ms-flexbox;display:flex;overflow:hidden;position:relative;min-height:600px;-ms-flex-direction:column;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:\"Inter\", -apple-system, \"Segoe UI\", \"Roboto\", \"Helvetica Neue\", sans-serif}verdocs-view div,verdocs-view canvas{-webkit-box-sizing:border-box;box-sizing:border-box}verdocs-view .header{color:#fff;display:-ms-flexbox;display:flex;z-index:1000;-ms-flex:0 0 56px;flex:0 0 56px;padding:0 15px;font-size:12px;-ms-flex-align:center;align-items:center;-ms-flex-direction:row;flex-direction:row;-webkit-transition:all 0.25s;transition:all 0.25s;background-color:#33354c;-webkit-box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12);box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.24), 0 0 4px 0 rgba(0, 0, 0, 0.12)}verdocs-view .header .logo{width:80px;display:none;margin:-6px 0 0 10px}verdocs-view .header .title{padding-left:16px;font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}verdocs-view .document{-ms-flex:1;flex:1;height:100%;display:-ms-flexbox;display:flex;padding:15px;row-gap:15px;min-height:200px;position:relative;overflow-y:scroll;-ms-flex-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}verdocs-view .document .inner{width:100%;max-width:1028px}";
|
|
17
18
|
|
|
18
|
-
const menuOptions = [
|
|
19
|
-
{ id: 'print', label: 'Print' },
|
|
20
|
-
{ id: 'download', label: 'Download' },
|
|
21
|
-
];
|
|
22
19
|
const VerdocsView = class {
|
|
23
20
|
constructor(hostRef) {
|
|
24
21
|
index.registerInstance(this, hostRef);
|
|
25
22
|
this.sdkError = index.createEvent(this, "sdkError", 7);
|
|
23
|
+
this.envelopeUpdated = index.createEvent(this, "envelopeUpdated", 7);
|
|
26
24
|
this.endpoint = VerdocsEndpoint.VerdocsEndpoint.getDefault();
|
|
27
25
|
this.envelopeId = '';
|
|
28
26
|
}
|
|
@@ -64,15 +62,42 @@ const VerdocsView = class {
|
|
|
64
62
|
// });
|
|
65
63
|
}
|
|
66
64
|
async handleOptionSelected(e) {
|
|
65
|
+
var _a;
|
|
67
66
|
switch (e.detail.id) {
|
|
68
67
|
case 'print':
|
|
69
68
|
window.print();
|
|
69
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: Envelopes.state.envelope, event: 'printed' });
|
|
70
|
+
break;
|
|
71
|
+
case 'download-attachments':
|
|
72
|
+
utils.saveAttachment(this.endpoint, Envelopes.state.envelope, Envelopes.state.envelope.envelope_document_id)
|
|
73
|
+
.then(() => {
|
|
74
|
+
var _a;
|
|
75
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: Envelopes.state.envelope, event: 'downloaded' });
|
|
76
|
+
})
|
|
77
|
+
.catch(e => {
|
|
78
|
+
console.log('Error downloading PDF', e);
|
|
79
|
+
});
|
|
70
80
|
break;
|
|
71
|
-
case 'download':
|
|
72
|
-
utils.
|
|
81
|
+
case 'download-certificate':
|
|
82
|
+
utils.saveCertificate(this.endpoint, Envelopes.state.envelope, Envelopes.state.envelope.certificate_document_id)
|
|
83
|
+
.then(() => {
|
|
84
|
+
var _a;
|
|
85
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: Envelopes.state.envelope, event: 'downloaded' });
|
|
86
|
+
})
|
|
87
|
+
.catch(e => {
|
|
73
88
|
console.log('Error downloading PDF', e);
|
|
74
89
|
});
|
|
75
90
|
break;
|
|
91
|
+
case 'download-all':
|
|
92
|
+
utils.saveEnvelopesAsZip(this.endpoint, [Envelopes.state.envelope])
|
|
93
|
+
.then(() => {
|
|
94
|
+
var _a;
|
|
95
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: Envelopes.state.envelope, event: 'downloaded' });
|
|
96
|
+
})
|
|
97
|
+
.catch(e => {
|
|
98
|
+
console.log('Error downloading Zip', e);
|
|
99
|
+
});
|
|
100
|
+
break;
|
|
76
101
|
}
|
|
77
102
|
}
|
|
78
103
|
render() {
|
|
@@ -84,7 +109,22 @@ const VerdocsView = class {
|
|
|
84
109
|
if (Envelopes.state.error) {
|
|
85
110
|
return (index.h(index.Host, null, index.h("div", null, Envelopes.state.error)));
|
|
86
111
|
}
|
|
87
|
-
|
|
112
|
+
const menuOptions = [{ id: 'print', label: 'Print' }];
|
|
113
|
+
const hasAttachments = Envelopes.state.envelope.documents.length > 0;
|
|
114
|
+
const hasCertificate = !!Envelopes.state.envelope.certificate;
|
|
115
|
+
if (hasAttachments || hasCertificate) {
|
|
116
|
+
menuOptions.push({ label: '' });
|
|
117
|
+
}
|
|
118
|
+
if (hasAttachments) {
|
|
119
|
+
menuOptions.push({ id: 'download-attachments', label: 'Download Attachment(s)' });
|
|
120
|
+
}
|
|
121
|
+
if (hasCertificate) {
|
|
122
|
+
menuOptions.push({ id: 'download-certificate', label: 'Download Certificate' });
|
|
123
|
+
}
|
|
124
|
+
if (hasAttachments && hasCertificate) {
|
|
125
|
+
menuOptions.push({ id: 'download-all', label: 'Download All Files' });
|
|
126
|
+
}
|
|
127
|
+
return (index.h(index.Host, { "data-r": Envelopes.state.updateCount }, index.h("div", { class: "header" }, index.h(index.Fragment, null, index.h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), index.h("div", { class: "title" }, Envelopes.state.envelope.name), index.h("div", { style: { flex: '1' } }), index.h("div", { style: { marginLeft: '10px' } }), index.h("verdocs-dropdown", { options: menuOptions, onOptionSelected: e => this.handleOptionSelected(e) }))), index.h("div", { class: "document" }, (((_a = Envelopes.state.envelope) === null || _a === void 0 ? void 0 : _a.documents) || [])
|
|
88
128
|
.filter(document => document.type !== 'certificate')
|
|
89
129
|
.map(envelopeDocument => {
|
|
90
130
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
|
@@ -49,6 +49,12 @@ verdocs-dropdown .option[disabled]:hover {
|
|
|
49
49
|
cursor: inherit;
|
|
50
50
|
background: transparent;
|
|
51
51
|
}
|
|
52
|
+
verdocs-dropdown .separator {
|
|
53
|
+
border-top: 1px solid #ffffff5f;
|
|
54
|
+
height: 1px;
|
|
55
|
+
padding-top: 5px;
|
|
56
|
+
margin-top: 5px;
|
|
57
|
+
}
|
|
52
58
|
verdocs-dropdown.open .items {
|
|
53
59
|
display: block;
|
|
54
60
|
}
|
|
@@ -4,13 +4,15 @@ import { h } from '@stencil/core';
|
|
|
4
4
|
const DropdownArrow = `<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#50BE80"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M7 10l5 5 5-5H7z"/></svg>`;
|
|
5
5
|
/**
|
|
6
6
|
* Display a drop-down menu button. A menu of the specified options will be displayed when the button is pressed. The menu will be hidden
|
|
7
|
-
* when the button is pressed again, or an option is selected.
|
|
7
|
+
* when the button is pressed again, or an option is selected. Separators may be created by supplying an entry with an empty label.
|
|
8
8
|
*
|
|
9
9
|
* ```html
|
|
10
10
|
* <verdocs-dropdown
|
|
11
11
|
* options={[
|
|
12
12
|
* {label: 'Option 1', disabled: true},
|
|
13
13
|
* {label: 'Option 2', id: '2'}
|
|
14
|
+
* {label: ''}
|
|
15
|
+
* {label: 'Option 3', id: '2'}
|
|
14
16
|
* ]}
|
|
15
17
|
* label="OK" onClick={() => (console.log('OK clicked'))}
|
|
16
18
|
* />
|
|
@@ -85,7 +87,7 @@ export class VerdocsDropdown {
|
|
|
85
87
|
}
|
|
86
88
|
render() {
|
|
87
89
|
var _a;
|
|
88
|
-
return (h(Host, { class: { open: !!this.open } }, h("button", { class: "arrow", innerHTML: DropdownArrow, "aria-label": "Open Menu", onClick: e => this.toggleDropdown(e), onBlur: e => this.handleHideDropdown(e), ref: el => (this.dropdownButton = el) }), h("div", { class: "items", "aria-hidden": !this.open, ref: el => (this.dropdownMenu = el) }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => (h("button", { onClick: e => this.handleSelectOption(e, option), class: "option", disabled: option.disabled }, option.label))))));
|
|
90
|
+
return (h(Host, { class: { open: !!this.open } }, h("button", { class: "arrow", innerHTML: DropdownArrow, "aria-label": "Open Menu", onClick: e => this.toggleDropdown(e), onBlur: e => this.handleHideDropdown(e), ref: el => (this.dropdownButton = el) }), h("div", { class: "items", "aria-hidden": !this.open, ref: el => (this.dropdownMenu = el) }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => option.label ? (h("button", { onClick: e => this.handleSelectOption(e, option), class: "option", disabled: option.disabled }, option.label)) : (h("div", { class: "separator" }))))));
|
|
89
91
|
}
|
|
90
92
|
static get is() { return "verdocs-dropdown"; }
|
|
91
93
|
static get originalStyleUrls() {
|
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
component: 'verdocs-dropdown',
|
|
13
13
|
// We can apply default args only shown in Storybook as follows
|
|
14
14
|
args: {
|
|
15
|
-
options: [{ label: 'Option 1' }, { label: 'Disabled Option', disabled: true }, { label: 'Option 2' }],
|
|
15
|
+
options: [{ label: 'Option 1' }, { label: 'Disabled Option', disabled: true }, { lable: '' }, { label: 'Option 2' }],
|
|
16
16
|
},
|
|
17
17
|
// Here we can apply overrides to component property documentation. Note that we don't need to (and shouldn't) specify every field
|
|
18
18
|
// here. Only those that need special attention.
|
package/dist/collection/components/elements/verdocs-envelope-sidebar/verdocs-envelope-sidebar.js
CHANGED
|
@@ -72,6 +72,7 @@ export class VerdocsEnvelopeSidebar {
|
|
|
72
72
|
!['complete', 'declined', 'canceled'].includes(EnvelopeStore.envelope.status));
|
|
73
73
|
}
|
|
74
74
|
handleRecipientAction(recipient, id) {
|
|
75
|
+
var _a;
|
|
75
76
|
console.log('recipient action', id, recipient);
|
|
76
77
|
switch (id) {
|
|
77
78
|
case 'reminder':
|
|
@@ -80,6 +81,7 @@ export class VerdocsEnvelopeSidebar {
|
|
|
80
81
|
case 'details':
|
|
81
82
|
break;
|
|
82
83
|
}
|
|
84
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: id });
|
|
83
85
|
}
|
|
84
86
|
prepareHistoryEntries() {
|
|
85
87
|
const entries = [];
|
|
@@ -203,7 +205,7 @@ export class VerdocsEnvelopeSidebar {
|
|
|
203
205
|
const session = this.endpoint.getSession();
|
|
204
206
|
const isEnvelopeOwner = session.profile_id === EnvelopeStore.envelope.profile_id; // TODO: What about org admins?
|
|
205
207
|
const historyEntries = this.prepareHistoryEntries();
|
|
206
|
-
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" }, EnvelopeStore.envelope.id), h("div", { class: "label" }, "Date Created"), h("div", { class: "value" }, format(new Date(EnvelopeStore.envelope.created_at), 'PP pp')), h("div", { class: "label" }, "Last Modified"), h("div", { class: "value" }, format(new Date(EnvelopeStore.envelope.updated_at), 'PP pp')), h("div", { class: "label" }, "Status"), h("div", { class: "value" }, EnvelopeStore.envelope.status), h("div", { class: "label" }, "Verdoc Owner UUID"), h("div", { class: "value" }, EnvelopeStore.envelope.profile_id), h("div", { class: "label" }, "Verdoc Owner Name"), h("div", { class: "value" }, (_a = EnvelopeStore.envelope.profile) === null || _a === void 0 ? void 0 :
|
|
208
|
+
return (h(Host, { class: this.panelOpen ? 'open' : '', "data-r": EnvelopeStore.updateCount }, 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" }, EnvelopeStore.envelope.id), h("div", { class: "label" }, "Date Created"), h("div", { class: "value" }, format(new Date(EnvelopeStore.envelope.created_at), 'PP pp')), h("div", { class: "label" }, "Last Modified"), h("div", { class: "value" }, format(new Date(EnvelopeStore.envelope.updated_at), 'PP pp')), h("div", { class: "label" }, "Status"), h("div", { class: "value" }, EnvelopeStore.envelope.status), h("div", { class: "label" }, "Verdoc Owner UUID"), h("div", { class: "value" }, EnvelopeStore.envelope.profile_id), h("div", { class: "label" }, "Verdoc Owner Name"), h("div", { class: "value" }, (_a = EnvelopeStore.envelope.profile) === null || _a === void 0 ? void 0 :
|
|
207
209
|
_a.first_name, " ", (_b = EnvelopeStore.envelope.profile) === null || _b === void 0 ? void 0 :
|
|
208
210
|
_b.last_name), h("div", { class: "label" }, "Verdoc Owner Email"), h("div", { class: "value" }, (_c = EnvelopeStore.envelope.profile) === null || _c === void 0 ? void 0 : _c.email))), this.activeTab === 2 && (h("div", { class: "content" }, h("div", { class: "title" }, "Recipients"), EnvelopeStore.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: [
|
|
209
211
|
{ id: 'reminder', label: 'Send Reminder', disabled: !this.canResendRecipient(recipient) },
|
|
@@ -294,6 +296,30 @@ export class VerdocsEnvelopeSidebar {
|
|
|
294
296
|
}
|
|
295
297
|
}
|
|
296
298
|
}
|
|
299
|
+
}, {
|
|
300
|
+
"method": "envelopeUpdated",
|
|
301
|
+
"name": "envelopeUpdated",
|
|
302
|
+
"bubbles": true,
|
|
303
|
+
"cancelable": true,
|
|
304
|
+
"composed": true,
|
|
305
|
+
"docs": {
|
|
306
|
+
"tags": [],
|
|
307
|
+
"text": "Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
308
|
+
},
|
|
309
|
+
"complexType": {
|
|
310
|
+
"original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}",
|
|
311
|
+
"resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string; }",
|
|
312
|
+
"references": {
|
|
313
|
+
"VerdocsEndpoint": {
|
|
314
|
+
"location": "import",
|
|
315
|
+
"path": "@verdocs/js-sdk"
|
|
316
|
+
},
|
|
317
|
+
"IEnvelope": {
|
|
318
|
+
"location": "import",
|
|
319
|
+
"path": "@verdocs/js-sdk/Envelopes/Types"
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
297
323
|
}];
|
|
298
324
|
}
|
|
299
325
|
}
|
|
@@ -7,7 +7,7 @@ import { isValidEmail, isValidPhone } from '@verdocs/js-sdk/Templates/Validators
|
|
|
7
7
|
import { Host, Fragment, h } from '@stencil/core';
|
|
8
8
|
import { updateEnvelopeFieldInitials, updateEnvelopeFieldSignature } from '@verdocs/js-sdk/Envelopes/Envelopes';
|
|
9
9
|
import { envelopeRecipientAgree, envelopeRecipientDecline, envelopeRecipientSubmit } from '@verdocs/js-sdk/Envelopes/Recipients';
|
|
10
|
-
import { getFieldId, getRoleIndex, renderDocumentField,
|
|
10
|
+
import { getFieldId, getRoleIndex, renderDocumentField, saveAttachment, updateDocumentFieldValue } from '../../../utils/utils';
|
|
11
11
|
import { getEnvelopeById } from '../../../utils/Envelopes';
|
|
12
12
|
import EnvelopeStore from '../../../utils/envelopeStore';
|
|
13
13
|
import { SDKError } from '../../../utils/errors';
|
|
@@ -131,29 +131,35 @@ export class VerdocsSign {
|
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
async handleOptionSelected(e) {
|
|
134
|
+
var _a, _b, _c, _d, _e;
|
|
134
135
|
switch (e.detail.id) {
|
|
135
136
|
case 'later':
|
|
136
137
|
this.finishLater = true;
|
|
137
138
|
this.showFinishLater = true;
|
|
139
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'later' });
|
|
138
140
|
// this.router.navigate([`view/sign/${this.envelopeId}/role/${this.roleName}/saved`]);
|
|
139
141
|
break;
|
|
140
142
|
case 'claim':
|
|
141
143
|
window.alert('This feature will be available in an upcoming release.');
|
|
144
|
+
(_b = this.envelopeUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'claimed' });
|
|
142
145
|
break;
|
|
143
146
|
case 'decline':
|
|
144
147
|
{
|
|
145
148
|
const declineResult = await envelopeRecipientDecline(this.endpoint, this.envelopeId, this.roleId);
|
|
146
149
|
console.log('Decline result', declineResult);
|
|
150
|
+
(_c = this.envelopeUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'declined' });
|
|
147
151
|
this.isDone = true;
|
|
148
152
|
}
|
|
149
153
|
break;
|
|
150
154
|
case 'print':
|
|
151
155
|
window.print();
|
|
156
|
+
(_d = this.envelopeUpdated) === null || _d === void 0 ? void 0 : _d.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'printed' });
|
|
152
157
|
break;
|
|
153
158
|
case 'download':
|
|
154
|
-
|
|
159
|
+
saveAttachment(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id).catch(e => {
|
|
155
160
|
console.log('Error downloading PDF', e);
|
|
156
161
|
});
|
|
162
|
+
(_e = this.envelopeUpdated) === null || _e === void 0 ? void 0 : _e.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'downloaded' });
|
|
157
163
|
break;
|
|
158
164
|
}
|
|
159
165
|
}
|
|
@@ -409,7 +415,7 @@ export class VerdocsSign {
|
|
|
409
415
|
if (EnvelopeStore.loading || !EnvelopeStore.envelope) {
|
|
410
416
|
return (h(Host, null, h("verdocs-loader", null)));
|
|
411
417
|
}
|
|
412
|
-
return (h(Host, { class: { agreed: this.agreed } }, !this.isDone && !this.finishLater && h("div", { class: "intro" }, "Please review and act on these documents."), !this.isDone && (h("div", { class: "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" }, EnvelopeStore.envelope.name), h("div", { style: { flex: '1' } }))), !this.isDone && !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.isDone && !this.agreed ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), this.isDone ? (
|
|
418
|
+
return (h(Host, { class: { agreed: this.agreed }, "data-r": EnvelopeStore.updateCount }, !this.isDone && !this.finishLater && h("div", { class: "intro" }, "Please review and act on these documents."), !this.isDone && (h("div", { class: "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" }, EnvelopeStore.envelope.name), h("div", { style: { flex: '1' } }))), !this.isDone && !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.isDone && !this.agreed ? h("div", { class: "cover" }) : h("div", { style: { display: 'none' } }), this.isDone ? (
|
|
413
419
|
// <div>test</div>
|
|
414
420
|
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("div", { class: "document" }, (EnvelopeStore.envelope.documents || []).map(envelopeDocument => {
|
|
415
421
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
|
@@ -570,7 +576,7 @@ export class VerdocsSign {
|
|
|
570
576
|
"composed": true,
|
|
571
577
|
"docs": {
|
|
572
578
|
"tags": [],
|
|
573
|
-
"text": "Event fired when the envelope is updated in any way."
|
|
579
|
+
"text": "Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
574
580
|
},
|
|
575
581
|
"complexType": {
|
|
576
582
|
"original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}",
|
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
2
2
|
import { h, Host, Fragment } from '@stencil/core';
|
|
3
|
+
import { saveAttachment, saveCertificate, saveEnvelopesAsZip } from '../../../utils/utils';
|
|
3
4
|
import { getEnvelopeById } from '../../../utils/Envelopes';
|
|
4
5
|
import EnvelopeStore from '../../../utils/envelopeStore';
|
|
5
6
|
import { SDKError } from '../../../utils/errors';
|
|
6
|
-
import { savePDF } from '../../../utils/utils';
|
|
7
|
-
const menuOptions = [
|
|
8
|
-
{ id: 'print', label: 'Print' },
|
|
9
|
-
{ id: 'download', label: 'Download' },
|
|
10
|
-
];
|
|
11
7
|
/**
|
|
12
8
|
* Render the documents attached to an envelope in read-only (view) mode. All documents are displayed in order.
|
|
13
9
|
*/
|
|
@@ -54,15 +50,42 @@ export class VerdocsView {
|
|
|
54
50
|
// });
|
|
55
51
|
}
|
|
56
52
|
async handleOptionSelected(e) {
|
|
53
|
+
var _a;
|
|
57
54
|
switch (e.detail.id) {
|
|
58
55
|
case 'print':
|
|
59
56
|
window.print();
|
|
57
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'printed' });
|
|
58
|
+
break;
|
|
59
|
+
case 'download-attachments':
|
|
60
|
+
saveAttachment(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.envelope_document_id)
|
|
61
|
+
.then(() => {
|
|
62
|
+
var _a;
|
|
63
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'downloaded' });
|
|
64
|
+
})
|
|
65
|
+
.catch(e => {
|
|
66
|
+
console.log('Error downloading PDF', e);
|
|
67
|
+
});
|
|
60
68
|
break;
|
|
61
|
-
case 'download':
|
|
62
|
-
|
|
69
|
+
case 'download-certificate':
|
|
70
|
+
saveCertificate(this.endpoint, EnvelopeStore.envelope, EnvelopeStore.envelope.certificate_document_id)
|
|
71
|
+
.then(() => {
|
|
72
|
+
var _a;
|
|
73
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'downloaded' });
|
|
74
|
+
})
|
|
75
|
+
.catch(e => {
|
|
63
76
|
console.log('Error downloading PDF', e);
|
|
64
77
|
});
|
|
65
78
|
break;
|
|
79
|
+
case 'download-all':
|
|
80
|
+
saveEnvelopesAsZip(this.endpoint, [EnvelopeStore.envelope])
|
|
81
|
+
.then(() => {
|
|
82
|
+
var _a;
|
|
83
|
+
(_a = this.envelopeUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, envelope: EnvelopeStore.envelope, event: 'downloaded' });
|
|
84
|
+
})
|
|
85
|
+
.catch(e => {
|
|
86
|
+
console.log('Error downloading Zip', e);
|
|
87
|
+
});
|
|
88
|
+
break;
|
|
66
89
|
}
|
|
67
90
|
}
|
|
68
91
|
render() {
|
|
@@ -74,7 +97,22 @@ export class VerdocsView {
|
|
|
74
97
|
if (EnvelopeStore.error) {
|
|
75
98
|
return (h(Host, null, h("div", null, EnvelopeStore.error)));
|
|
76
99
|
}
|
|
77
|
-
|
|
100
|
+
const menuOptions = [{ id: 'print', label: 'Print' }];
|
|
101
|
+
const hasAttachments = EnvelopeStore.envelope.documents.length > 0;
|
|
102
|
+
const hasCertificate = !!EnvelopeStore.envelope.certificate;
|
|
103
|
+
if (hasAttachments || hasCertificate) {
|
|
104
|
+
menuOptions.push({ label: '' });
|
|
105
|
+
}
|
|
106
|
+
if (hasAttachments) {
|
|
107
|
+
menuOptions.push({ id: 'download-attachments', label: 'Download Attachment(s)' });
|
|
108
|
+
}
|
|
109
|
+
if (hasCertificate) {
|
|
110
|
+
menuOptions.push({ id: 'download-certificate', label: 'Download Certificate' });
|
|
111
|
+
}
|
|
112
|
+
if (hasAttachments && hasCertificate) {
|
|
113
|
+
menuOptions.push({ id: 'download-all', label: 'Download All Files' });
|
|
114
|
+
}
|
|
115
|
+
return (h(Host, { "data-r": EnvelopeStore.updateCount }, h("div", { class: "header" }, h(Fragment, null, h("img", { src: "https://verdocs.com/assets/white-logo.svg", alt: "Verdocs Logo", class: "logo" }), h("div", { class: "title" }, EnvelopeStore.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" }, (((_a = EnvelopeStore.envelope) === null || _a === void 0 ? void 0 : _a.documents) || [])
|
|
78
116
|
.filter(document => document.type !== 'certificate')
|
|
79
117
|
.map(envelopeDocument => {
|
|
80
118
|
const pages = [...((envelopeDocument === null || envelopeDocument === void 0 ? void 0 : envelopeDocument.pages) || [])];
|
|
@@ -160,6 +198,30 @@ export class VerdocsView {
|
|
|
160
198
|
}
|
|
161
199
|
}
|
|
162
200
|
}
|
|
201
|
+
}, {
|
|
202
|
+
"method": "envelopeUpdated",
|
|
203
|
+
"name": "envelopeUpdated",
|
|
204
|
+
"bubbles": true,
|
|
205
|
+
"cancelable": true,
|
|
206
|
+
"composed": true,
|
|
207
|
+
"docs": {
|
|
208
|
+
"tags": [],
|
|
209
|
+
"text": "Event fired when the envelope is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
210
|
+
},
|
|
211
|
+
"complexType": {
|
|
212
|
+
"original": "{endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string}",
|
|
213
|
+
"resolved": "{ endpoint: VerdocsEndpoint; envelope: IEnvelope; event: string; }",
|
|
214
|
+
"references": {
|
|
215
|
+
"VerdocsEndpoint": {
|
|
216
|
+
"location": "import",
|
|
217
|
+
"path": "@verdocs/js-sdk"
|
|
218
|
+
},
|
|
219
|
+
"IEnvelope": {
|
|
220
|
+
"location": "import",
|
|
221
|
+
"path": "@verdocs/js-sdk/Envelopes/Types"
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
163
225
|
}];
|
|
164
226
|
}
|
|
165
227
|
static get elementRef() { return "component"; }
|
package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js
CHANGED
|
@@ -53,7 +53,7 @@ export class VerdocsTemplateFields {
|
|
|
53
53
|
}
|
|
54
54
|
try {
|
|
55
55
|
console.log(`[FIELDS] Loading template ${this.templateId}`, this.endpoint.session);
|
|
56
|
-
await loadTemplate(this.endpoint, this.templateId);
|
|
56
|
+
await loadTemplate(this.endpoint, this.templateId, true);
|
|
57
57
|
this.selectedRoleName = TemplateStore.roleNames[0];
|
|
58
58
|
console.log('Starting with role', this.selectedRoleName);
|
|
59
59
|
}
|
|
@@ -76,7 +76,9 @@ export class VerdocsTemplateFields {
|
|
|
76
76
|
attachFieldAttributes(pageInfo, field, roleIndex, el) {
|
|
77
77
|
el.addEventListener('input', e => this.handleFieldChange(field, e));
|
|
78
78
|
el.addEventListener('settingsChanged', () => {
|
|
79
|
+
var _a;
|
|
79
80
|
el.setAttribute('roleindex', getRoleIndex(TemplateStore.roleNames, field.role_name));
|
|
81
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: TemplateStore.template, event: 'updated-field' });
|
|
80
82
|
});
|
|
81
83
|
el.setAttribute('roleindex', roleIndex);
|
|
82
84
|
el.setAttribute('pageNumber', pageInfo.pageNumber);
|
|
@@ -160,6 +162,7 @@ export class VerdocsTemplateFields {
|
|
|
160
162
|
return { x, y };
|
|
161
163
|
}
|
|
162
164
|
async handleClickPage(e, page) {
|
|
165
|
+
var _a;
|
|
163
166
|
if (this.placing) {
|
|
164
167
|
const pageNumber = page.sequence;
|
|
165
168
|
const clickedX = e.offsetX;
|
|
@@ -218,6 +221,7 @@ export class VerdocsTemplateFields {
|
|
|
218
221
|
console.log('Saved field', saved);
|
|
219
222
|
TemplateStore.fields.push(saved);
|
|
220
223
|
this.placing = null;
|
|
224
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: TemplateStore.template, event: 'added-field' });
|
|
221
225
|
this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
|
|
222
226
|
}
|
|
223
227
|
}
|
|
@@ -232,7 +236,7 @@ export class VerdocsTemplateFields {
|
|
|
232
236
|
}
|
|
233
237
|
const pages = [...TemplateStore.template.pages];
|
|
234
238
|
pages.sort((a, b) => a.sequence - b.sequence);
|
|
235
|
-
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-
|
|
239
|
+
return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": TemplateStore.updateCount, onSubmit: () => {
|
|
236
240
|
console.log('onSubmit');
|
|
237
241
|
} }, h("div", { class: "pages" }, pages.map(page => {
|
|
238
242
|
// console.log('rendering page', page);
|
|
@@ -360,6 +364,30 @@ export class VerdocsTemplateFields {
|
|
|
360
364
|
}
|
|
361
365
|
}
|
|
362
366
|
}
|
|
367
|
+
}, {
|
|
368
|
+
"method": "templateUpdated",
|
|
369
|
+
"name": "templateUpdated",
|
|
370
|
+
"bubbles": true,
|
|
371
|
+
"cancelable": true,
|
|
372
|
+
"composed": true,
|
|
373
|
+
"docs": {
|
|
374
|
+
"tags": [],
|
|
375
|
+
"text": "Event fired when the template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
376
|
+
},
|
|
377
|
+
"complexType": {
|
|
378
|
+
"original": "{endpoint: VerdocsEndpoint; template: ITemplate; event: string}",
|
|
379
|
+
"resolved": "{ endpoint: VerdocsEndpoint; template: ITemplate; event: string; }",
|
|
380
|
+
"references": {
|
|
381
|
+
"VerdocsEndpoint": {
|
|
382
|
+
"location": "import",
|
|
383
|
+
"path": "@verdocs/js-sdk"
|
|
384
|
+
},
|
|
385
|
+
"ITemplate": {
|
|
386
|
+
"location": "import",
|
|
387
|
+
"path": "@verdocs/js-sdk/Templates/Types"
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
363
391
|
}];
|
|
364
392
|
}
|
|
365
393
|
}
|
|
@@ -50,7 +50,7 @@ export class VerdocsTemplateRecipients {
|
|
|
50
50
|
}
|
|
51
51
|
try {
|
|
52
52
|
console.log(`[RECIPIENTS] Loading template ${this.templateId}`, this.endpoint.session);
|
|
53
|
-
await loadTemplate(this.endpoint, this.templateId);
|
|
53
|
+
await loadTemplate(this.endpoint, this.templateId, true);
|
|
54
54
|
}
|
|
55
55
|
catch (e) {
|
|
56
56
|
console.log('[RECIPIENTS] Error loading template', e);
|
|
@@ -347,6 +347,30 @@ export class VerdocsTemplateRecipients {
|
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
349
|
}
|
|
350
|
+
}, {
|
|
351
|
+
"method": "templateUpdated",
|
|
352
|
+
"name": "templateUpdated",
|
|
353
|
+
"bubbles": true,
|
|
354
|
+
"cancelable": true,
|
|
355
|
+
"composed": true,
|
|
356
|
+
"docs": {
|
|
357
|
+
"tags": [],
|
|
358
|
+
"text": "Event fired when the template is updated in any way. May be used for tasks such as cache invalidation or reporting to other systems."
|
|
359
|
+
},
|
|
360
|
+
"complexType": {
|
|
361
|
+
"original": "{endpoint: VerdocsEndpoint; template: ITemplate; event: string}",
|
|
362
|
+
"resolved": "{ endpoint: VerdocsEndpoint; template: ITemplate; event: string; }",
|
|
363
|
+
"references": {
|
|
364
|
+
"VerdocsEndpoint": {
|
|
365
|
+
"location": "import",
|
|
366
|
+
"path": "@verdocs/js-sdk"
|
|
367
|
+
},
|
|
368
|
+
"ITemplate": {
|
|
369
|
+
"location": "import",
|
|
370
|
+
"path": "@verdocs/js-sdk/Templates/Types"
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
350
374
|
}];
|
|
351
375
|
}
|
|
352
376
|
static get elementRef() { return "el"; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
|
2
2
|
import TemplateStore from './templateStore';
|
|
3
3
|
const pendingNotifications = [];
|
|
4
|
-
export const loadTemplate = async (endpoint, templateId) => {
|
|
4
|
+
export const loadTemplate = async (endpoint, templateId, forceReload = false) => {
|
|
5
5
|
if (!templateId) {
|
|
6
6
|
console.log(`[TEMPLATES] Missing required template ID`);
|
|
7
7
|
throw new Error('Missing required template ID');
|
|
@@ -15,7 +15,7 @@ export const loadTemplate = async (endpoint, templateId) => {
|
|
|
15
15
|
pendingNotifications.push({ resolve, reject });
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
|
-
if (templateId === TemplateStore.templateId) {
|
|
18
|
+
if (templateId === TemplateStore.templateId && !forceReload) {
|
|
19
19
|
return TemplateStore.template;
|
|
20
20
|
}
|
|
21
21
|
TemplateStore.loading = true;
|
|
@@ -7,6 +7,9 @@ const { state, onChange } = createStore({
|
|
|
7
7
|
loadProgress: 0,
|
|
8
8
|
loading: true,
|
|
9
9
|
error: '',
|
|
10
|
+
// This can be used as a data field on components that need to force re-rendering when the underlying data has changed. Stencil stores
|
|
11
|
+
// are handy but not very sophisticated. They don't re-render on "deep" changes.
|
|
12
|
+
updateCount: 1,
|
|
10
13
|
roleNames: [],
|
|
11
14
|
dirty: false,
|
|
12
15
|
});
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import jszip from 'jszip';
|
|
2
|
+
import { format } from 'date-fns';
|
|
2
3
|
import { Envelopes } from '@verdocs/js-sdk/Envelopes';
|
|
4
|
+
import { rescale } from '@verdocs/js-sdk/Utils/Fields';
|
|
3
5
|
import { downloadBlob } from '@verdocs/js-sdk/Utils/Files';
|
|
4
6
|
export const defaultWidth = (type) => {
|
|
5
7
|
// checkbox was a legacy field type
|
|
@@ -235,11 +237,50 @@ export const updateCssTransform = (el, key, value) => {
|
|
|
235
237
|
`${key}(${value})`,
|
|
236
238
|
].join(' ');
|
|
237
239
|
};
|
|
238
|
-
export const
|
|
239
|
-
|
|
240
|
+
export const formatLocalDate = (date) => format(date, 'P').replace(/\//g, '-');
|
|
241
|
+
const formatEnvelopeDate = (envelope) => formatLocalDate(new Date(envelope.updated_at));
|
|
242
|
+
export const saveAttachment = async (endpoint, envelope, documentId) => {
|
|
243
|
+
// e.g. "Colorado-Motor-Vehicle-Bill-of-Sale.pdf"
|
|
244
|
+
const fileName = `${envelope.name} - ${formatEnvelopeDate(envelope)}.pdf`;
|
|
240
245
|
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
|
|
241
246
|
downloadBlob(data, fileName);
|
|
242
247
|
};
|
|
248
|
+
export const saveCertificate = async (endpoint, envelope, documentId) => {
|
|
249
|
+
// e.g "Colorado Motor Vehicle Bill of Sale_certificate.pdf"
|
|
250
|
+
const fileName = `${envelope.name} - ${formatEnvelopeDate(envelope)}_certificate.pdf`;
|
|
251
|
+
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
|
|
252
|
+
downloadBlob(data, fileName);
|
|
253
|
+
};
|
|
254
|
+
export const saveEnvelopesAsZip = async (endpoint, envelopes) => {
|
|
255
|
+
const zip = new jszip();
|
|
256
|
+
for await (let envelope of envelopes) {
|
|
257
|
+
// e.g. "98a13bc0-8861-4408-86fc-8f9af51e867a-TheSwanBrothers Phase 1 Agreement - 11-02-22"
|
|
258
|
+
const subFolder = envelopes.length > 0 ? zip.folder(`${envelope.id} - ${envelope.name} - ${formatEnvelopeDate(envelope)}`) : null;
|
|
259
|
+
for await (let document of envelope.documents) {
|
|
260
|
+
// TODO: When attachments are added to envelopes, add a field that reflects the full, original filename (including extension)
|
|
261
|
+
const documentFileName = document.type === 'certificate' ? `${envelope.name}_certificate.pdf` : `${document.name}.pdf`;
|
|
262
|
+
const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, document.id);
|
|
263
|
+
if (subFolder) {
|
|
264
|
+
subFolder.file(documentFileName, data, { compression: 'DEFLATE' });
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
zip.file(documentFileName, data, { compression: 'DEFLATE' });
|
|
268
|
+
}
|
|
269
|
+
const attachFields = envelope.fields.filter(field => field.type === 'attachment' && field.settings['name']);
|
|
270
|
+
if (attachFields.length > 0) {
|
|
271
|
+
const attachmentsFolder = subFolder ? subFolder.folder('attachments') : zip.folder('attachments');
|
|
272
|
+
for await (let attachField of attachFields) {
|
|
273
|
+
const attachData = await Envelopes.getFieldAttachment(endpoint, envelope.id, attachField.name);
|
|
274
|
+
attachmentsFolder.file(attachField.settings.name, attachData, { compression: 'DEFLATE' });
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
// e.g. "Colorado Motor Vehicle Bill of Sale - 01-18-23.zip" or "Verdocs-Envelopes-02-13-23.zip"
|
|
280
|
+
const zipFileName = envelopes.length === 1 ? `${envelopes[0].name} - ${formatEnvelopeDate(envelopes[0])}.zip` : `Verdocs-Envelopes-${formatLocalDate(new Date())}`;
|
|
281
|
+
const zipped = await zip.generateAsync({ type: 'blob', compression: 'DEFLATE' });
|
|
282
|
+
downloadBlob(zipped, zipFileName);
|
|
283
|
+
};
|
|
243
284
|
/**
|
|
244
285
|
* Throttle a given function by a delay value. Useful for things like resizeObserver.
|
|
245
286
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { e as getEnvelope } from './Envelopes2.js';
|
|
2
2
|
import { c as createStore } from './index3.js';
|
|
3
3
|
import { g as getTemplate } from './Templates2.js';
|
|
4
4
|
|
|
@@ -9,6 +9,9 @@ const { state, onChange } = createStore({
|
|
|
9
9
|
loadProgress: 0,
|
|
10
10
|
loading: true,
|
|
11
11
|
error: '',
|
|
12
|
+
// This can be used as a data field on components that need to force re-rendering when the underlying data has changed. Stencil stores
|
|
13
|
+
// are handy but not very sophisticated. They don't re-render on "deep" changes.
|
|
14
|
+
updateCount: 1,
|
|
12
15
|
roleNames: [],
|
|
13
16
|
dirty: false,
|
|
14
17
|
});
|
|
@@ -107,5 +107,15 @@ var updateEnvelopeFieldInitials = function (endpoint, envelopeId, fieldName, ini
|
|
|
107
107
|
.then(function (r) { return r.data; })];
|
|
108
108
|
});
|
|
109
109
|
}); };
|
|
110
|
+
/**
|
|
111
|
+
* Get the attached file for an attachment field (if any)
|
|
112
|
+
*/
|
|
113
|
+
var getFieldAttachment = function (endpoint, envelopeId, fieldName) { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
return [2 /*return*/, endpoint.api //
|
|
116
|
+
.get("/envelopes/".concat(envelopeId, "/fields/").concat(fieldName, "/document"), { responseType: 'blob' })
|
|
117
|
+
.then(function (r) { return r.data; })];
|
|
118
|
+
});
|
|
119
|
+
}); };
|
|
110
120
|
|
|
111
|
-
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeFile as c,
|
|
121
|
+
export { updateEnvelopeFieldSignature as a, updateEnvelopeFieldInitials as b, getEnvelopeFile as c, getFieldAttachment as d, getEnvelope as e, getSigningSession as g, updateEnvelopeField as u };
|