@verdocs/web-sdk 1.12.44 → 1.13.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/{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 +76 -85
- 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 +33 -43
- 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 +19 -24
- package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +46 -56
- 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 +19 -24
- package/dist/components/verdocs-template-roles2.js +46 -56
- 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/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 +76 -85
- 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 +31 -41
- 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 +2 -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-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-6a0e0615.system.entry.js +1 -0
- package/dist/verdocs-web-sdk/p-6caf1137.system.js +1 -1
- package/dist/verdocs-web-sdk/p-6dedf123.entry.js +1 -0
- 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-76938033.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-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-ce6780e4.system.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/p-f23a6019.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,19 +183,20 @@ 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
195
|
handleAddRole(e, sequence) {
|
196
|
+
var _a;
|
204
197
|
e.stopPropagation();
|
205
198
|
// 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 =
|
199
|
+
const order = ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles.filter(role => role.sequence === sequence).length) + 1;
|
207
200
|
const name = this.getNextRoleName();
|
208
201
|
console.log('Will create', name, sequence, order);
|
209
202
|
createRole(this.endpoint, this.templateId, {
|
@@ -218,12 +211,11 @@ export class VerdocsTemplateRoles {
|
|
218
211
|
delegator: false,
|
219
212
|
})
|
220
213
|
.then(r => {
|
221
|
-
var _a;
|
214
|
+
var _a, _b, _c;
|
222
215
|
console.log('Created role', r);
|
223
|
-
|
216
|
+
(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.roles.push(r);
|
224
217
|
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 });
|
218
|
+
(_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
219
|
})
|
228
220
|
.catch(e => {
|
229
221
|
console.log('Error creating role', e);
|
@@ -233,7 +225,6 @@ export class VerdocsTemplateRoles {
|
|
233
225
|
e.stopPropagation();
|
234
226
|
const order = 1;
|
235
227
|
const name = this.getNextRoleName();
|
236
|
-
console.log('Will create', name, sequence, order);
|
237
228
|
createRole(this.endpoint, this.templateId, {
|
238
229
|
template_id: this.templateId,
|
239
230
|
name,
|
@@ -246,41 +237,41 @@ export class VerdocsTemplateRoles {
|
|
246
237
|
delegator: false,
|
247
238
|
})
|
248
239
|
.then(r => {
|
249
|
-
var _a;
|
250
|
-
|
251
|
-
TemplateStore.template.roles.push(r);
|
240
|
+
var _a, _b, _c, _d;
|
241
|
+
(_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.push(r);
|
252
242
|
this.renumberTemplateRoles();
|
253
|
-
this.
|
254
|
-
(_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ event: 'created-role', endpoint: this.endpoint, template: TemplateStore.template });
|
243
|
+
(_d = this.templateUpdated) === null || _d === void 0 ? void 0 : _d.emit({ event: 'created-role', endpoint: this.endpoint, template: this.store.state });
|
255
244
|
})
|
256
245
|
.catch(e => {
|
257
246
|
console.log('Error creating role', e);
|
258
247
|
});
|
259
248
|
}
|
260
249
|
render() {
|
261
|
-
var _a;
|
250
|
+
var _a, _b, _c, _d, _e, _f;
|
262
251
|
if (!this.endpoint.session) {
|
263
252
|
return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
|
264
253
|
}
|
265
|
-
if (
|
266
|
-
return (h(Host,
|
254
|
+
if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
|
255
|
+
return (h(Host, { class: "loading" }, h("verdocs-loader", null)));
|
267
256
|
}
|
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
|
-
|
257
|
+
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);
|
258
|
+
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 => {
|
259
|
+
var _a, _b;
|
260
|
+
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 :
|
261
|
+
_b.roles.filter(role => role.sequence === sequence).map(role => {
|
262
|
+
const unknown = !role.email;
|
263
|
+
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 })));
|
264
|
+
}), 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"))))));
|
265
|
+
}), 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
266
|
this.showingRoleDialog = null;
|
276
|
-
this.forceRerender++;
|
277
|
-
}, onDelete:
|
278
|
-
var _a;
|
279
|
-
|
267
|
+
// this.forceRerender++;
|
268
|
+
}, onDelete: async () => {
|
269
|
+
var _a, _b;
|
270
|
+
await getTemplateStore(this.endpoint, this.templateId, true);
|
280
271
|
this.renumberTemplateRoles();
|
281
272
|
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:
|
273
|
+
// this.forceRerender++;
|
274
|
+
(_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
275
|
} })), this.showingSenderDialog && h("verdocs-template-sender", { endpoint: this.endpoint, templateId: this.templateId, onClose: () => (this.showingSenderDialog = false) })));
|
285
276
|
}
|
286
277
|
static get is() { return "verdocs-template-roles"; }
|
@@ -341,8 +332,7 @@ export class VerdocsTemplateRoles {
|
|
341
332
|
return {
|
342
333
|
"showingRoleDialog": {},
|
343
334
|
"showingSenderDialog": {},
|
344
|
-
"sender": {}
|
345
|
-
"forceRerender": {}
|
335
|
+
"sender": {}
|
346
336
|
};
|
347
337
|
}
|
348
338
|
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); };
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { getRenderingRef, forceUpdate } from '@stencil/core/internal/client';
|
2
|
-
import {
|
2
|
+
import { a as getTemplate } from './Templates.js';
|
3
|
+
import { T as TemplateSenderTypes } from './VerdocsEndpoint.js';
|
3
4
|
|
4
5
|
const appendToMap = (map, propName, value) => {
|
5
6
|
const items = map.get(propName);
|
@@ -192,47 +193,79 @@ const createStore = (defaultState, shouldUpdate) => {
|
|
192
193
|
return map;
|
193
194
|
};
|
194
195
|
|
195
|
-
|
196
|
-
const
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
196
|
+
const createTemplateStore = (templateId) => {
|
197
|
+
const now = new Date().toISOString();
|
198
|
+
return createStore({
|
199
|
+
isLoading: true,
|
200
|
+
isLoaded: false,
|
201
|
+
isError: false,
|
202
|
+
error: null,
|
203
|
+
updateCount: 0,
|
204
|
+
roleNames: [],
|
205
|
+
id: templateId,
|
206
|
+
name: '',
|
207
|
+
description: '',
|
208
|
+
sender: TemplateSenderTypes.CREATOR,
|
209
|
+
profile_id: '',
|
210
|
+
organization_id: '',
|
211
|
+
counter: 0,
|
212
|
+
star_counter: 0,
|
213
|
+
is_sendable: false,
|
214
|
+
is_personal: true,
|
215
|
+
is_public: false,
|
216
|
+
created_at: now,
|
217
|
+
updated_at: now,
|
218
|
+
last_used_at: now,
|
219
|
+
token: '',
|
220
|
+
reminder_id: '',
|
221
|
+
reminder: undefined,
|
222
|
+
processed: false,
|
223
|
+
organization: undefined,
|
224
|
+
roles: [],
|
225
|
+
pages: [],
|
226
|
+
template_document: undefined,
|
227
|
+
template_documents: [],
|
227
228
|
});
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
}
|
229
|
+
};
|
230
|
+
const templateStores = {};
|
231
|
+
const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
|
232
|
+
let created = false;
|
233
|
+
if (!templateStores[templateId]) {
|
234
|
+
console.log('[TEMPLATES] No template store found for ID, creating', templateId);
|
235
|
+
templateStores[templateId] = createTemplateStore(templateId);
|
236
|
+
created = true;
|
237
|
+
}
|
238
|
+
const store = templateStores[templateId];
|
239
|
+
// TODO: This can create a race condition if two components call this at the same time.
|
240
|
+
// For now we can probably defer doing something smart here because it's only a
|
241
|
+
// double-load issue.
|
242
|
+
if (created || forceReload) {
|
243
|
+
console.log('[TEMPLATES] Reloading template', { templateId, created, forceReload });
|
244
|
+
store.state.isLoading = true;
|
245
|
+
store.state.isLoaded = false;
|
246
|
+
store.state.isError = false;
|
247
|
+
store.state.error = undefined;
|
248
|
+
try {
|
249
|
+
const template = await getTemplate(endpoint, templateId);
|
250
|
+
console.log('[TEMPLATES] Got template', template);
|
251
|
+
Object.assign(store.state, template);
|
252
|
+
// Object.keys(template).forEach(key => store.set(key as keyof TTemplateStore, template[key]));
|
253
|
+
store.state.isLoaded = true;
|
254
|
+
store.state.isError = false;
|
255
|
+
store.state.error = undefined;
|
256
|
+
}
|
257
|
+
catch (e) {
|
258
|
+
console.error('[TEMPLATES] Error loading template', e);
|
259
|
+
store.state.isLoaded = false;
|
260
|
+
store.state.isError = true;
|
261
|
+
store.state.error = e;
|
262
|
+
throw e;
|
263
|
+
}
|
264
|
+
store.state.isLoading = false;
|
265
|
+
store.state.updateCount++;
|
266
|
+
}
|
267
|
+
return store;
|
268
|
+
};
|
269
|
+
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); };
|
237
270
|
|
238
|
-
export {
|
271
|
+
export { getRoleNames as a, getTemplateStore as g };
|