@verdocs/web-sdk 1.12.44 → 1.13.1
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/{templateStore-1862f03c.js → TemplateStore-01ff3237.js} +77 -43
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/verdocs-build.cjs.entry.js +12 -15
- package/dist/cjs/verdocs-button-panel_3.cjs.entry.js +32 -31
- package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -3
- 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 +2 -3
- 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 +3 -4
- package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +3 -4
- package/dist/cjs/verdocs-preview.cjs.entry.js +21 -17
- package/dist/cjs/verdocs-send.cjs.entry.js +31 -29
- package/dist/cjs/verdocs-template-attachments.cjs.entry.js +20 -11
- package/dist/cjs/verdocs-template-create_3.cjs.entry.js +86 -111
- package/dist/cjs/verdocs-template-name.cjs.entry.js +28 -20
- package/dist/cjs/verdocs-template-properties.cjs.entry.js +14 -15
- package/dist/cjs/verdocs-template-reminders.cjs.entry.js +24 -19
- package/dist/cjs/verdocs-template-role-properties_2.cjs.entry.js +30 -40
- package/dist/cjs/verdocs-template-visibility.cjs.entry.js +29 -22
- package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
- package/dist/collection/components/controls/verdocs-button-panel/verdocs-button-panel.js +1 -2
- package/dist/collection/components/controls/verdocs-help-icon/verdocs-help-icon.stories.js +1 -1
- package/dist/collection/components/controls/verdocs-toolbar-icon/verdocs-toolbar-icon.stories.js +1 -1
- package/dist/collection/components/embeds/verdocs-build/verdocs-build.js +12 -13
- package/dist/collection/components/embeds/verdocs-preview/verdocs-preview.js +21 -16
- package/dist/collection/components/embeds/verdocs-send/verdocs-send.js +31 -28
- package/dist/collection/components/embeds/verdocs-view/verdocs-view.js +2 -2
- package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +20 -2
- package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +21 -3
- package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +21 -3
- package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +21 -3
- package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +21 -3
- package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +20 -2
- package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +21 -3
- package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +21 -3
- package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +21 -3
- package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +21 -3
- package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +21 -3
- package/dist/collection/components/templates/verdocs-template-attachments/verdocs-template-attachments.js +20 -15
- package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +32 -30
- package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +32 -32
- package/dist/collection/components/templates/verdocs-template-name/verdocs-template-name.js +27 -19
- package/dist/collection/components/templates/verdocs-template-properties/verdocs-template-properties.js +13 -15
- package/dist/collection/components/templates/verdocs-template-reminders/verdocs-template-reminders.js +25 -20
- package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +16 -21
- package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +56 -82
- package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.js +13 -18
- package/dist/collection/components/templates/verdocs-template-visibillity/verdocs-template-visibility.js +27 -20
- package/dist/collection/utils/TemplateStore.js +77 -0
- package/dist/components/{templateStore.js → TemplateStore.js} +76 -43
- package/dist/components/Templates.js +65 -45
- package/dist/components/verdocs-build.js +12 -13
- package/dist/components/verdocs-field-attachment.js +3 -2
- package/dist/components/verdocs-field-checkbox.js +4 -3
- package/dist/components/verdocs-field-date.js +4 -3
- package/dist/components/verdocs-field-dropdown.js +4 -3
- package/dist/components/verdocs-field-initial.js +4 -3
- package/dist/components/verdocs-field-payment.js +3 -2
- package/dist/components/verdocs-field-radio-button.js +4 -3
- package/dist/components/verdocs-field-signature.js +4 -3
- package/dist/components/verdocs-field-textarea.js +4 -3
- package/dist/components/verdocs-field-textbox.js +4 -3
- package/dist/components/verdocs-field-timestamp.js +4 -3
- package/dist/components/verdocs-preview.js +21 -16
- package/dist/components/verdocs-search-activity2.js +1 -1
- package/dist/components/verdocs-send.js +31 -28
- package/dist/components/verdocs-sign.js +1 -2
- package/dist/components/verdocs-template-attachments.js +21 -12
- package/dist/components/verdocs-template-create2.js +1 -1
- package/dist/components/verdocs-template-field-properties2.js +32 -30
- package/dist/components/verdocs-template-fields2.js +32 -32
- package/dist/components/verdocs-template-name.js +28 -20
- package/dist/components/verdocs-template-properties.js +13 -15
- package/dist/components/verdocs-template-reminders.js +25 -20
- package/dist/components/verdocs-template-role-properties2.js +16 -21
- package/dist/components/verdocs-template-roles2.js +56 -82
- package/dist/components/verdocs-template-sender2.js +14 -19
- package/dist/components/verdocs-template-visibility.js +28 -21
- package/dist/components/verdocs-view2.js +20 -2
- package/dist/custom-elements.json +1546 -0
- package/dist/docs.json +189 -2
- package/dist/esm/{templateStore-17c872da.js → TemplateStore-91a71f46.js} +76 -43
- package/dist/esm/loader.js +1 -1
- package/dist/esm/verdocs-build.entry.js +12 -15
- package/dist/esm/verdocs-button-panel_3.entry.js +32 -31
- package/dist/esm/verdocs-field-attachment.entry.js +2 -3
- 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 +2 -3
- 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 +3 -4
- package/dist/esm/verdocs-field-timestamp.entry.js +3 -4
- package/dist/esm/verdocs-preview.entry.js +21 -17
- package/dist/esm/verdocs-send.entry.js +31 -29
- package/dist/esm/verdocs-template-attachments.entry.js +20 -11
- package/dist/esm/verdocs-template-create_3.entry.js +86 -111
- package/dist/esm/verdocs-template-name.entry.js +26 -18
- package/dist/esm/verdocs-template-properties.entry.js +14 -15
- package/dist/esm/verdocs-template-reminders.entry.js +24 -19
- package/dist/esm/verdocs-template-role-properties_2.entry.js +28 -38
- package/dist/esm/verdocs-template-visibility.entry.js +27 -20
- package/dist/esm/verdocs-web-sdk.js +1 -1
- package/dist/esm-es5/TemplateStore-91a71f46.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/verdocs-build.entry.js +1 -1
- package/dist/esm-es5/verdocs-button-panel_3.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-template-attachments.entry.js +1 -1
- package/dist/esm-es5/verdocs-template-create_3.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-visibility.entry.js +1 -1
- package/dist/esm-es5/verdocs-web-sdk.js +1 -1
- package/dist/types/components/controls/verdocs-button-panel/verdocs-button-panel.d.ts +1 -2
- package/dist/types/components/embeds/verdocs-build/verdocs-build.d.ts +2 -0
- package/dist/types/components/embeds/verdocs-preview/verdocs-preview.d.ts +3 -1
- package/dist/types/components/embeds/verdocs-send/verdocs-send.d.ts +3 -1
- package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
- package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
- package/dist/types/components/templates/verdocs-template-attachments/verdocs-template-attachments.d.ts +2 -1
- package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-name/verdocs-template-name.d.ts +2 -1
- package/dist/types/components/templates/verdocs-template-properties/verdocs-template-properties.d.ts +2 -2
- package/dist/types/components/templates/verdocs-template-reminders/verdocs-template-reminders.d.ts +2 -1
- package/dist/types/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-roles/verdocs-template-roles.d.ts +3 -1
- package/dist/types/components/templates/verdocs-template-sender/verdocs-template-sender.d.ts +2 -0
- package/dist/types/components/templates/verdocs-template-visibillity/verdocs-template-visibility.d.ts +2 -1
- package/dist/types/components.d.ts +88 -0
- package/dist/types/utils/TemplateStore.d.ts +14 -0
- package/dist/verdocs-web-sdk/p-1b21b08d.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2216464c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-227d07a2.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2cb414ec.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-2d39a000.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-34d3d150.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-36a31514.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-37dd3108.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-38d0af92.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-47bba747.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-4eb829ca.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5a3d9d9f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-5b4dd6a0.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-62e12e8f.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-650b9205.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-65abb620.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6a0e0615.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
- package/dist/verdocs-web-sdk/p-6f511c7b.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7306abd0.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7464fd3c.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-7f927fb9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-809947d4.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8c9caa8a.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8d32078d.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-8eca5dd8.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-92a2bb47.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a3747387.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-a5970648.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ab6bd525.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-b3bca701.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ba62a8f6.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c25d965d.js +1 -0
- package/dist/verdocs-web-sdk/p-c2770861.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c35bbaef.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-c8901fde.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-cc396cda.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d63fe7e9.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-d7ca70cc.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-db2b75bc.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-de4c38a1.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e4b56475.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e9751ec7.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-e9c9cdf5.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-ec81b1f2.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-f1edfd5a.system.js +1 -0
- package/dist/verdocs-web-sdk/p-f201e410.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/Templates-f310df2f.js +0 -49
- package/dist/collection/utils/Templates.js +0 -44
- package/dist/collection/utils/templateStore.js +0 -46
- package/dist/components/Primitives.js +0 -20
- package/dist/components/Templates2.js +0 -67
- package/dist/esm/Templates-d94fb9d5.js +0 -47
- package/dist/esm-es5/Templates-d94fb9d5.js +0 -1
- package/dist/esm-es5/templateStore-17c872da.js +0 -1
- package/dist/types/utils/Templates.d.ts +0 -2
- package/dist/types/utils/templateStore.d.ts +0 -14
- package/dist/verdocs-web-sdk/p-02316241.system.js +0 -1
- package/dist/verdocs-web-sdk/p-0e727b1c.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-0fd75d91.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1cfb7ff5.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-1e35f143.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-28976191.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-2e0980f3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-38368af4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-3ba4df31.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-41d9b35b.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-48eb46ed.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-519127ef.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-552441c6.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-645e4723.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-66158f86.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-667cbdb4.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-6ec15fc0.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-71b8bb54.system.js +0 -1
- package/dist/verdocs-web-sdk/p-72b936b3.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-73452912.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-753a6e4a.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-7bc337ce.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-808f6a46.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-81b24500.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-89963a6e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8be51136.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-8cba983e.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-90c71302.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-94fa2efb.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9e9de6e3.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-9eb2690b.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-a612d29b.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b24324f6.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b2c96afc.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-b355484e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-be25b61f.js +0 -1
- package/dist/verdocs-web-sdk/p-bf8cc58c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c0c4cbe6.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c60c9371.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c83042ac.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-c903c4a7.js +0 -1
- package/dist/verdocs-web-sdk/p-cae4a96e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-ce14f118.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-cf09e52c.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-dca6db47.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f3206b9e.system.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-f6f1eb46.entry.js +0 -1
- package/dist/verdocs-web-sdk/p-fd463970.entry.js +0 -1
package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js
CHANGED
|
@@ -4,8 +4,7 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
|
|
|
4
4
|
import { createRole, updateRole } from '@verdocs/js-sdk/Templates/Roles';
|
|
5
5
|
import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
|
|
6
6
|
import { h, Fragment, Host } from '@stencil/core';
|
|
7
|
-
import
|
|
8
|
-
import { loadTemplate } from '../../../utils/Templates';
|
|
7
|
+
import { getTemplateStore } from '../../../utils/TemplateStore';
|
|
9
8
|
import { getRoleIndex } from '../../../utils/utils';
|
|
10
9
|
import { SDKError } from '../../../utils/errors';
|
|
11
10
|
const senderLabels = {
|
|
@@ -29,15 +28,15 @@ const iconCC = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill
|
|
|
29
28
|
export class VerdocsTemplateRoles {
|
|
30
29
|
constructor() {
|
|
31
30
|
this.sequences = [];
|
|
31
|
+
this.store = null;
|
|
32
32
|
this.endpoint = VerdocsEndpoint.getDefault();
|
|
33
33
|
this.templateId = '';
|
|
34
34
|
this.showingRoleDialog = null;
|
|
35
35
|
this.showingSenderDialog = false;
|
|
36
36
|
this.sender = null;
|
|
37
|
-
this.forceRerender = 1;
|
|
38
37
|
}
|
|
39
38
|
async componentWillLoad() {
|
|
40
|
-
var _a, _b, _c
|
|
39
|
+
var _a, _b, _c;
|
|
41
40
|
try {
|
|
42
41
|
this.endpoint.loadSession();
|
|
43
42
|
if (!this.templateId) {
|
|
@@ -48,20 +47,13 @@ export class VerdocsTemplateRoles {
|
|
|
48
47
|
console.log('[ROLES] Unable to start builder session, must be authenticated');
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
console.log(`[ROLES] Loading template ${this.templateId}`, this.endpoint.session);
|
|
53
|
-
await loadTemplate(this.endpoint, this.templateId, true);
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
console.log('[ROLES] Error loading template', e);
|
|
57
|
-
(_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));
|
|
58
|
-
}
|
|
50
|
+
this.store = await getTemplateStore(this.endpoint, this.templateId, true);
|
|
59
51
|
this.sortTemplateRoles();
|
|
60
52
|
this.renumberTemplateRoles();
|
|
61
53
|
}
|
|
62
54
|
catch (e) {
|
|
63
55
|
console.log('[FIELDS] Error with preview session', e);
|
|
64
|
-
(
|
|
56
|
+
(_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));
|
|
65
57
|
}
|
|
66
58
|
}
|
|
67
59
|
componentDidRender() {
|
|
@@ -94,7 +86,7 @@ export class VerdocsTemplateRoles {
|
|
|
94
86
|
interact('.dropzone').dropzone({
|
|
95
87
|
overlap: 0.05,
|
|
96
88
|
ondrop: function handleDrop(event) {
|
|
97
|
-
var _a, _b;
|
|
89
|
+
var _a, _b, _c, _d, _e;
|
|
98
90
|
event.target.classList.remove('active');
|
|
99
91
|
// target will be the recipient e.g. <div class="recipient" data-rolename="Buyer" />
|
|
100
92
|
// relatedTarget will be the drop zone, e.g. <div class="dropzone" data-order="2" data-sequence="1" />
|
|
@@ -108,7 +100,7 @@ export class VerdocsTemplateRoles {
|
|
|
108
100
|
const roleName = event.relatedTarget.dataset.rolename;
|
|
109
101
|
const targetSequence = +event.target.dataset.sequence;
|
|
110
102
|
const targetOrder = +event.target.dataset.order;
|
|
111
|
-
const changingRole = (_a =
|
|
103
|
+
const changingRole = (_c = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c.find(role => role.name === roleName);
|
|
112
104
|
if (changingRole) {
|
|
113
105
|
// To handle the renumbering, we update the role being moved to the new values, which will be some half-interval e.g.
|
|
114
106
|
// sequence 1.5 order 1. Then we
|
|
@@ -120,14 +112,14 @@ export class VerdocsTemplateRoles {
|
|
|
120
112
|
// We have to update ALL the roles to be sure each gets new proper sequence/order numbers assigned.
|
|
121
113
|
// TODO: We could optimize this by tracking "dirty" states and only update the roles that have changed. But it's a LOT more
|
|
122
114
|
// code to do right, and since most workflows will typically only have 2-4 recipients max, it may not be worth it.
|
|
123
|
-
Promise.all((
|
|
115
|
+
Promise.all((_e = (_d = this.store) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.roles.map(role => updateRole(this.endpoint, this.templateId, role.name, {
|
|
124
116
|
sequence: role.sequence,
|
|
125
117
|
order: role.order,
|
|
126
118
|
})))
|
|
127
119
|
.then(() => {
|
|
128
|
-
var _a;
|
|
120
|
+
var _a, _b;
|
|
129
121
|
console.log('[ROLES] Updated roles');
|
|
130
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated-role', endpoint: this.endpoint, template:
|
|
122
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'updated-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
|
|
131
123
|
})
|
|
132
124
|
.catch(e => console.log('[ROLES] Role updates failed', e));
|
|
133
125
|
}
|
|
@@ -155,15 +147,15 @@ export class VerdocsTemplateRoles {
|
|
|
155
147
|
(_a = this.next) === null || _a === void 0 ? void 0 : _a.emit();
|
|
156
148
|
}
|
|
157
149
|
sortTemplateRoles() {
|
|
158
|
-
var _a;
|
|
159
|
-
(_a =
|
|
150
|
+
var _a, _b;
|
|
151
|
+
(_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.sort((a, b) => {
|
|
160
152
|
return a.sequence === b.sequence ? a.order - b.order : a.sequence - b.sequence;
|
|
161
153
|
});
|
|
162
154
|
}
|
|
163
155
|
extractSequenceNumbers() {
|
|
164
|
-
var _a;
|
|
156
|
+
var _a, _b;
|
|
165
157
|
this.sequences = [];
|
|
166
|
-
(_a =
|
|
158
|
+
(_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.forEach(role => {
|
|
167
159
|
if (!this.sequences.includes(role.sequence)) {
|
|
168
160
|
this.sequences.push(role.sequence);
|
|
169
161
|
}
|
|
@@ -177,8 +169,8 @@ export class VerdocsTemplateRoles {
|
|
|
177
169
|
// If the user dragged an entry from below a row to above it, we end up here like [1,0]. Make sure it's [0,1] for the next operation.
|
|
178
170
|
this.sequences.sort((a, b) => a - b);
|
|
179
171
|
this.sequences.forEach((originalSequence, newSequenceIndex) => {
|
|
180
|
-
var _a;
|
|
181
|
-
(_a =
|
|
172
|
+
var _a, _b;
|
|
173
|
+
(_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.filter(role => role.sequence === originalSequence).forEach((role, newOrderIndex) => {
|
|
182
174
|
if (!renumbered.includes(role.name)) {
|
|
183
175
|
role.sequence = newSequenceIndex + 1;
|
|
184
176
|
role.order = newOrderIndex + 1;
|
|
@@ -191,96 +183,79 @@ export class VerdocsTemplateRoles {
|
|
|
191
183
|
}
|
|
192
184
|
// Look for name conflicts, because they're UGC and can be anything, regardless of order.
|
|
193
185
|
getNextRoleName() {
|
|
194
|
-
var _a, _b;
|
|
186
|
+
var _a, _b, _c, _d;
|
|
195
187
|
let name = '';
|
|
196
|
-
let nextNumber = (_a =
|
|
188
|
+
let nextNumber = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles.length;
|
|
197
189
|
do {
|
|
198
190
|
nextNumber++;
|
|
199
191
|
name = `Recipient ${nextNumber}`;
|
|
200
|
-
} while (!name || ((
|
|
192
|
+
} while (!name || ((_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.some(role => role.name === name)));
|
|
201
193
|
return name;
|
|
202
194
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
206
|
-
const order = TemplateStore.template.roles.filter(role => role.sequence === sequence).length + 1;
|
|
207
|
-
const name = this.getNextRoleName();
|
|
208
|
-
console.log('Will create', name, sequence, order);
|
|
195
|
+
callCreateRole(name, sequence, order) {
|
|
196
|
+
console.log('[ROLES] Will create role', { name, sequence, order });
|
|
209
197
|
createRole(this.endpoint, this.templateId, {
|
|
210
198
|
template_id: this.templateId,
|
|
211
199
|
name,
|
|
200
|
+
sequence,
|
|
201
|
+
order,
|
|
212
202
|
full_name: '',
|
|
213
203
|
email: '',
|
|
214
204
|
phone: '',
|
|
215
|
-
sequence,
|
|
216
|
-
order,
|
|
217
205
|
type: 'signer',
|
|
218
206
|
delegator: false,
|
|
219
207
|
})
|
|
220
208
|
.then(r => {
|
|
221
|
-
var _a;
|
|
222
|
-
console.log('Created role', r);
|
|
223
|
-
|
|
209
|
+
var _a, _b, _c;
|
|
210
|
+
console.log('[ROLES] Created role', r);
|
|
211
|
+
this.store.state.roles = [...(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles, r];
|
|
224
212
|
this.renumberTemplateRoles();
|
|
225
|
-
this.
|
|
226
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: TemplateStore.template });
|
|
213
|
+
(_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ event: 'created-role', endpoint: this.endpoint, template: (_c = this.store) === null || _c === void 0 ? void 0 : _c.state });
|
|
227
214
|
})
|
|
228
215
|
.catch(e => {
|
|
229
|
-
console.log('Error creating role', e);
|
|
216
|
+
console.log('[ROLES] Error creating role', e);
|
|
230
217
|
});
|
|
231
218
|
}
|
|
219
|
+
handleAddRole(e, sequence) {
|
|
220
|
+
var _a;
|
|
221
|
+
e.stopPropagation();
|
|
222
|
+
// We don't need to look for a unique order number because we're already working with a sorted/renumbered set by now.
|
|
223
|
+
const order = ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles.filter(role => role.sequence === sequence).length) + 1;
|
|
224
|
+
const name = this.getNextRoleName();
|
|
225
|
+
this.callCreateRole(name, sequence, order);
|
|
226
|
+
}
|
|
232
227
|
handleAddStep(e, sequence) {
|
|
233
228
|
e.stopPropagation();
|
|
234
229
|
const order = 1;
|
|
235
230
|
const name = this.getNextRoleName();
|
|
236
|
-
|
|
237
|
-
createRole(this.endpoint, this.templateId, {
|
|
238
|
-
template_id: this.templateId,
|
|
239
|
-
name,
|
|
240
|
-
full_name: '',
|
|
241
|
-
email: '',
|
|
242
|
-
phone: '',
|
|
243
|
-
sequence,
|
|
244
|
-
order,
|
|
245
|
-
type: 'signer',
|
|
246
|
-
delegator: false,
|
|
247
|
-
})
|
|
248
|
-
.then(r => {
|
|
249
|
-
var _a;
|
|
250
|
-
console.log('Created role', r);
|
|
251
|
-
TemplateStore.template.roles.push(r);
|
|
252
|
-
this.renumberTemplateRoles();
|
|
253
|
-
this.forceRerender++;
|
|
254
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: TemplateStore.template });
|
|
255
|
-
})
|
|
256
|
-
.catch(e => {
|
|
257
|
-
console.log('Error creating role', e);
|
|
258
|
-
});
|
|
231
|
+
this.callCreateRole(name, sequence, order);
|
|
259
232
|
}
|
|
260
233
|
render() {
|
|
261
|
-
var _a;
|
|
234
|
+
var _a, _b, _c, _d, _e, _f;
|
|
262
235
|
if (!this.endpoint.session) {
|
|
263
236
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
264
237
|
}
|
|
265
|
-
if (
|
|
266
|
-
return (h(Host,
|
|
238
|
+
if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
|
|
239
|
+
return (h(Host, { class: "loading" }, h("verdocs-loader", null)));
|
|
267
240
|
}
|
|
268
|
-
const roleNames = (((
|
|
269
|
-
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": this.
|
|
270
|
-
|
|
271
|
-
.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
241
|
+
const roleNames = (((_c = (_b = this.store) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles) || []).map(role => role.name);
|
|
242
|
+
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off", "data-r": (_d = this.store.state) === null || _d === void 0 ? void 0 : _d.updateCount }, h("h5", null, "Roles and Workflow"), h("div", { class: "participants" }, h("div", { class: "left-line" }), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: startIcon }), h("div", { class: "row-roles" }, h("div", { class: "sender" }, h("span", { class: "label" }, "Sender:"), " ", senderLabels[(_f = (_e = this.store) === null || _e === void 0 ? void 0 : _e.state) === null || _f === void 0 ? void 0 : _f.sender], ' ', h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingSenderDialog = true), "aria-role": "button" })))), h("div", { class: "row add-sequence", "data-sequence": 0 }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "row-roles" }, h("div", { class: "dropzone", "data-sequence": 0, "data-order": 1 }, "Add Step"))), this.sequences.map(sequence => {
|
|
243
|
+
var _a, _b;
|
|
244
|
+
return (h(Fragment, null, h("div", { class: "row" }, h("div", { class: "icon", innerHTML: stepIcon }), h("div", { class: "row-roles" }, h("div", { class: "dropzone", "data-order": 0.5, "data-sequence": sequence }), (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 :
|
|
245
|
+
_b.roles.filter(role => role.sequence === sequence).map(role => {
|
|
246
|
+
const unknown = !role.email;
|
|
247
|
+
return unknown ? (h(Fragment, null, h("div", { class: "recipient", style: { backgroundColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence }))) : (h(Fragment, null, h("div", { class: "recipient", style: { borderColor: getRGBA(getRoleIndex(roleNames, role.name)) }, "data-rolename": role.name }, h("span", { class: "type-icon", innerHTML: role.type === 'signer' ? iconSigner : role.type === 'cc' ? iconCC : iconApprover }), role.full_name, " ", h("div", { class: "settings-button", innerHTML: settingsIcon, onClick: () => (this.showingRoleDialog = role.name), "aria-role": "button" })), h("div", { class: "dropzone", "data-order": role.order + 0.5, "data-sequence": sequence })));
|
|
248
|
+
}), h("button", { class: "add-role", innerHTML: plusIcon, onClick: e => this.handleAddRole(e, sequence) }))), this.sequences.length > 0 && (h("div", { class: "row add-sequence", "data-sequence": sequence }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("div", { class: "dropzone", "data-sequence": sequence + 1, "data-order": 1 }, "Add Step"))))));
|
|
249
|
+
}), h("div", { class: "row", "data-sequence": this.sequences.length + 1 }, h("div", { class: "row-roles" }, h("div", { class: "icon", innerHTML: plusIcon }), h("button", { class: "add-step", innerHTML: plusIcon, onClick: e => this.handleAddStep(e, this.sequences.length + 1) }))), h("div", { class: "row" }, h("div", { class: "icon", innerHTML: doneIcon }), h("div", { class: "row-roles" }, h("div", { class: "complete" }, "Document Complete")))), roleNames.length < 1 && (h("div", { class: "empty" }, "You must add at least one Role before proceeding.", h("br", null), " Click the ", h("span", { innerHTML: plusIcon }), " Add button above to get started.")), h("div", { class: "buttons" }, h("div", { class: "flex-fill" }), h("verdocs-button", { variant: "outline", label: "Cancel", size: "small", onClick: () => this.handleCancel() }), h("verdocs-button", { label: "OK", size: "small", onClick: () => this.handleSubmit(), disabled: roleNames.length < 1 }))), this.showingRoleDialog && (h("verdocs-template-role-properties", { endpoint: this.endpoint, templateId: this.templateId, roleName: this.showingRoleDialog, onClose: () => {
|
|
275
250
|
this.showingRoleDialog = null;
|
|
276
|
-
this.forceRerender++;
|
|
277
|
-
}, onDelete:
|
|
278
|
-
var _a;
|
|
279
|
-
|
|
251
|
+
// this.forceRerender++;
|
|
252
|
+
}, onDelete: async () => {
|
|
253
|
+
var _a, _b;
|
|
254
|
+
await getTemplateStore(this.endpoint, this.templateId, true);
|
|
280
255
|
this.renumberTemplateRoles();
|
|
281
256
|
this.showingRoleDialog = null;
|
|
282
|
-
this.forceRerender++;
|
|
283
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted-role', endpoint: this.endpoint, template:
|
|
257
|
+
// this.forceRerender++;
|
|
258
|
+
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'deleted-role', endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state });
|
|
284
259
|
} })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
|
|
285
260
|
}
|
|
286
261
|
static get is() { return "verdocs-template-roles"; }
|
|
@@ -341,8 +316,7 @@ export class VerdocsTemplateRoles {
|
|
|
341
316
|
return {
|
|
342
317
|
"showingRoleDialog": {},
|
|
343
318
|
"showingSenderDialog": {},
|
|
344
|
-
"sender": {}
|
|
345
|
-
"forceRerender": {}
|
|
319
|
+
"sender": {}
|
|
346
320
|
};
|
|
347
321
|
}
|
|
348
322
|
static get events() {
|
package/dist/collection/components/templates/verdocs-template-sender/verdocs-template-sender.js
CHANGED
|
@@ -2,45 +2,37 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
|
2
2
|
import { updateTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
|
3
3
|
import { h, Host } from '@stencil/core';
|
|
4
4
|
import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
|
|
5
|
-
import
|
|
6
|
-
import { loadTemplate } from '../../../utils/Templates';
|
|
5
|
+
import { getTemplateStore } from '../../../utils/TemplateStore';
|
|
7
6
|
import { SDKError } from '../../../utils/errors';
|
|
8
7
|
/**
|
|
9
8
|
* Display a dialog that allows a template sender to be selected.
|
|
10
9
|
*/
|
|
11
10
|
export class VerdocsTemplateSender {
|
|
12
11
|
constructor() {
|
|
12
|
+
this.store = null;
|
|
13
13
|
this.endpoint = VerdocsEndpoint.getDefault();
|
|
14
14
|
this.templateId = '';
|
|
15
15
|
this.sender = TemplateSenderTypes.EVERYONE;
|
|
16
16
|
this.saving = false;
|
|
17
17
|
}
|
|
18
18
|
async componentWillLoad() {
|
|
19
|
-
var _a, _b, _c, _d, _e
|
|
19
|
+
var _a, _b, _c, _d, _e;
|
|
20
20
|
try {
|
|
21
21
|
this.endpoint.loadSession();
|
|
22
22
|
if (!this.templateId) {
|
|
23
|
-
console.log(`[
|
|
23
|
+
console.log(`[SENDER] Missing required template ID ${this.templateId}`);
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
26
|
if (!this.endpoint.session) {
|
|
27
|
-
console.log('[
|
|
27
|
+
console.log('[SENDER] Unable to start builder session, must be authenticated');
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
await loadTemplate(this.endpoint, this.templateId);
|
|
33
|
-
}
|
|
34
|
-
catch (e) {
|
|
35
|
-
console.log('[TEMPLATE SENDER] Error loading template', e);
|
|
36
|
-
(_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));
|
|
37
|
-
}
|
|
38
|
-
this.sender = TemplateStore.template.sender;
|
|
39
|
-
console.log('s', this.sender);
|
|
30
|
+
this.store = await getTemplateStore(this.endpoint, this.templateId, false);
|
|
31
|
+
this.sender = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.sender;
|
|
40
32
|
}
|
|
41
33
|
catch (e) {
|
|
42
|
-
console.log('[
|
|
43
|
-
(
|
|
34
|
+
console.log('[SENDER] Error with preview session', e);
|
|
35
|
+
(_c = this.sdkError) === null || _c === void 0 ? void 0 : _c.emit(new SDKError(e.message, (_d = e.response) === null || _d === void 0 ? void 0 : _d.status, (_e = e.response) === null || _e === void 0 ? void 0 : _e.data));
|
|
44
36
|
}
|
|
45
37
|
}
|
|
46
38
|
handleClose() {
|
|
@@ -57,8 +49,11 @@ export class VerdocsTemplateSender {
|
|
|
57
49
|
this.saving = true;
|
|
58
50
|
updateTemplate(this.endpoint, this.templateId, { sender: value })
|
|
59
51
|
.then(r => {
|
|
52
|
+
var _a;
|
|
60
53
|
console.log('Update result', r);
|
|
61
|
-
|
|
54
|
+
if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
|
|
55
|
+
this.store.state.sender = value;
|
|
56
|
+
}
|
|
62
57
|
this.saving = false;
|
|
63
58
|
this.sender = value;
|
|
64
59
|
})
|
|
@@ -1,60 +1,68 @@
|
|
|
1
1
|
import { VerdocsEndpoint } from '@verdocs/js-sdk';
|
|
2
2
|
import { updateTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
|
3
3
|
import { h, Host } from '@stencil/core';
|
|
4
|
-
import
|
|
5
|
-
import { loadTemplate } from '../../../utils/Templates';
|
|
4
|
+
import { getTemplateStore } from '../../../utils/TemplateStore';
|
|
6
5
|
import { SDKError } from '../../../utils/errors';
|
|
7
6
|
/**
|
|
8
7
|
* Displays an edit form that allows the user to adjust a template's visibility.
|
|
9
8
|
*/
|
|
10
9
|
export class VerdocsTemplateVisibility {
|
|
11
10
|
constructor() {
|
|
11
|
+
this.store = null;
|
|
12
12
|
this.endpoint = VerdocsEndpoint.getDefault();
|
|
13
13
|
this.templateId = '';
|
|
14
14
|
this.dirty = false;
|
|
15
|
-
this.loading = true;
|
|
16
15
|
this.personal = false;
|
|
17
16
|
this.public = false;
|
|
18
17
|
}
|
|
19
18
|
async componentWillLoad() {
|
|
20
|
-
var _a, _b, _c;
|
|
19
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
21
20
|
try {
|
|
22
21
|
this.endpoint.loadSession();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
if (!this.templateId) {
|
|
23
|
+
console.log(`[VISIBILITY] Missing required template ID ${this.templateId}`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (!this.endpoint.session) {
|
|
27
|
+
console.log('[VISIBILITY] Unable to start builder session, must be authenticated');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.store = await getTemplateStore(this.endpoint, this.templateId, false);
|
|
31
|
+
this.personal = ((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal) || true;
|
|
32
|
+
this.public = ((_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public) || false;
|
|
27
33
|
this.dirty = false;
|
|
28
34
|
}
|
|
29
35
|
catch (e) {
|
|
30
36
|
console.log('[TEMPLATE VISIBILITY] Error loading template', e);
|
|
31
|
-
this.
|
|
32
|
-
(_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));
|
|
37
|
+
(_e = this.sdkError) === null || _e === void 0 ? void 0 : _e.emit(new SDKError(e.message, (_f = e.response) === null || _f === void 0 ? void 0 : _f.status, (_g = e.response) === null || _g === void 0 ? void 0 : _g.data));
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
40
|
handleCancel(e) {
|
|
36
|
-
var _a;
|
|
41
|
+
var _a, _b, _c, _d, _e;
|
|
37
42
|
e.stopPropagation();
|
|
38
|
-
this.personal =
|
|
39
|
-
this.public =
|
|
43
|
+
this.personal = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.is_personal;
|
|
44
|
+
this.public = (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.is_public;
|
|
40
45
|
this.dirty = false;
|
|
41
|
-
(
|
|
46
|
+
(_e = this.close) === null || _e === void 0 ? void 0 : _e.emit();
|
|
42
47
|
}
|
|
43
48
|
async handleSave(e) {
|
|
44
|
-
var _a;
|
|
49
|
+
var _a, _b;
|
|
45
50
|
e.stopPropagation();
|
|
46
51
|
await updateTemplate(this.endpoint, this.templateId, { is_personal: this.personal, is_public: this.public });
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
if ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state) {
|
|
53
|
+
this.store.state.is_personal = this.personal;
|
|
54
|
+
this.store.state.is_public = this.public;
|
|
55
|
+
}
|
|
49
56
|
this.dirty = false;
|
|
50
|
-
(
|
|
57
|
+
(_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
|
|
51
58
|
}
|
|
52
59
|
render() {
|
|
60
|
+
var _a, _b;
|
|
53
61
|
if (!this.endpoint.session) {
|
|
54
62
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
|
55
63
|
}
|
|
56
64
|
// This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
|
|
57
|
-
if (!this.endpoint.session || !
|
|
65
|
+
if (!this.endpoint.session || !((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
|
|
58
66
|
return h(Host, { class: "empty" });
|
|
59
67
|
}
|
|
60
68
|
return (h(Host, null, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("h5", null, "Visibility"), h("div", { class: "input-row" }, h("label", { htmlFor: "verdocs-is-shared" }, "Shared"), h("verdocs-checkbox", { id: "verdocs-is-shared", name: "is-shared", checked: !this.personal, value: "on", onInput: (e) => {
|
|
@@ -122,7 +130,6 @@ export class VerdocsTemplateVisibility {
|
|
|
122
130
|
static get states() {
|
|
123
131
|
return {
|
|
124
132
|
"dirty": {},
|
|
125
|
-
"loading": {},
|
|
126
133
|
"personal": {},
|
|
127
134
|
"public": {}
|
|
128
135
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { createStore } from '@stencil/store';
|
|
2
|
+
import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
|
|
3
|
+
import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
|
|
4
|
+
const createTemplateStore = (templateId) => {
|
|
5
|
+
const now = new Date().toISOString();
|
|
6
|
+
return createStore({
|
|
7
|
+
isLoading: true,
|
|
8
|
+
isLoaded: false,
|
|
9
|
+
isError: false,
|
|
10
|
+
error: null,
|
|
11
|
+
updateCount: 0,
|
|
12
|
+
roleNames: [],
|
|
13
|
+
id: templateId,
|
|
14
|
+
name: '',
|
|
15
|
+
description: '',
|
|
16
|
+
sender: TemplateSenderTypes.CREATOR,
|
|
17
|
+
profile_id: '',
|
|
18
|
+
organization_id: '',
|
|
19
|
+
counter: 0,
|
|
20
|
+
star_counter: 0,
|
|
21
|
+
is_sendable: false,
|
|
22
|
+
is_personal: true,
|
|
23
|
+
is_public: false,
|
|
24
|
+
created_at: now,
|
|
25
|
+
updated_at: now,
|
|
26
|
+
last_used_at: now,
|
|
27
|
+
token: '',
|
|
28
|
+
reminder_id: '',
|
|
29
|
+
reminder: undefined,
|
|
30
|
+
processed: false,
|
|
31
|
+
organization: undefined,
|
|
32
|
+
roles: [],
|
|
33
|
+
pages: [],
|
|
34
|
+
template_document: undefined,
|
|
35
|
+
template_documents: [],
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
const templateStores = {};
|
|
39
|
+
export const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
|
|
40
|
+
let created = false;
|
|
41
|
+
if (!templateStores[templateId]) {
|
|
42
|
+
console.log('[TEMPLATES] No template store found for ID, creating', templateId);
|
|
43
|
+
templateStores[templateId] = createTemplateStore(templateId);
|
|
44
|
+
created = true;
|
|
45
|
+
}
|
|
46
|
+
const store = templateStores[templateId];
|
|
47
|
+
// TODO: This can create a race condition if two components call this at the same time.
|
|
48
|
+
// For now we can probably defer doing something smart here because it's only a
|
|
49
|
+
// double-load issue.
|
|
50
|
+
if (created || forceReload) {
|
|
51
|
+
console.log('[TEMPLATES] Reloading template', { templateId, created, forceReload });
|
|
52
|
+
store.state.isLoading = true;
|
|
53
|
+
store.state.isLoaded = false;
|
|
54
|
+
store.state.isError = false;
|
|
55
|
+
store.state.error = undefined;
|
|
56
|
+
try {
|
|
57
|
+
const template = await getTemplate(endpoint, templateId);
|
|
58
|
+
console.log('[TEMPLATES] Got template', template);
|
|
59
|
+
Object.assign(store.state, template);
|
|
60
|
+
// Object.keys(template).forEach(key => store.set(key as keyof TTemplateStore, template[key]));
|
|
61
|
+
store.state.isLoaded = true;
|
|
62
|
+
store.state.isError = false;
|
|
63
|
+
store.state.error = undefined;
|
|
64
|
+
}
|
|
65
|
+
catch (e) {
|
|
66
|
+
console.error('[TEMPLATES] Error loading template', e);
|
|
67
|
+
store.state.isLoaded = false;
|
|
68
|
+
store.state.isError = true;
|
|
69
|
+
store.state.error = e;
|
|
70
|
+
throw e;
|
|
71
|
+
}
|
|
72
|
+
store.state.isLoading = false;
|
|
73
|
+
store.state.updateCount++;
|
|
74
|
+
}
|
|
75
|
+
return store;
|
|
76
|
+
};
|
|
77
|
+
export const getRoleNames = (store) => { var _a; return (((_a = store === null || store === void 0 ? void 0 : store.state) === null || _a === void 0 ? void 0 : _a.roles) || []).map(role => role.name); };
|