@verdocs/web-sdk 2.3.25 → 2.3.27

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.
Files changed (165) hide show
  1. package/dist/cjs/{TemplateFieldStore-40e85b9d.js → TemplateFieldStore-ecf695a7.js} +16 -8
  2. package/dist/cjs/{TemplateStore-5620eee7.js → TemplateStore-78b8944b.js} +20 -5
  3. package/dist/cjs/ipc-test.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  6. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -2
  8. package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -3
  9. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -2
  10. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -51
  12. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -2
  13. package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -2
  14. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -3
  15. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -3
  16. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -2
  17. package/dist/cjs/verdocs-portal_2.cjs.entry.js +25 -40
  18. package/dist/cjs/verdocs-preview_8.cjs.entry.js +2 -2
  19. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  20. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +38 -66
  21. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  22. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +1 -1
  23. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +1 -1
  24. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +2 -2
  25. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +1 -1
  26. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +1 -1
  27. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +1 -50
  28. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +1 -1
  29. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +1 -1
  30. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +2 -2
  31. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +2 -2
  32. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +1 -1
  33. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +26 -40
  34. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +12 -35
  35. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -10
  36. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +20 -22
  37. package/dist/collection/utils/TemplateFieldStore.js +19 -8
  38. package/dist/collection/utils/TemplateRoleStore.js +17 -4
  39. package/dist/components/TemplateFieldStore.js +16 -9
  40. package/dist/components/TemplateStore.js +18 -5
  41. package/dist/components/verdocs-field-attachment.js +1 -1
  42. package/dist/components/verdocs-field-checkbox.js +1 -1
  43. package/dist/components/verdocs-field-date.js +2 -2
  44. package/dist/components/verdocs-field-dropdown.js +1 -1
  45. package/dist/components/verdocs-field-initial.js +1 -1
  46. package/dist/components/verdocs-field-payment.js +1 -50
  47. package/dist/components/verdocs-field-radio-button.js +1 -1
  48. package/dist/components/verdocs-field-signature.js +1 -1
  49. package/dist/components/verdocs-field-textarea.js +2 -2
  50. package/dist/components/verdocs-field-textbox.js +2 -2
  51. package/dist/components/verdocs-field-timestamp.js +1 -1
  52. package/dist/components/verdocs-template-field-properties2.js +26 -41
  53. package/dist/components/verdocs-template-fields2.js +12 -35
  54. package/dist/components/verdocs-template-role-properties2.js +7 -10
  55. package/dist/components/verdocs-template-roles2.js +20 -22
  56. package/dist/docs.json +2 -2
  57. package/dist/esm/{TemplateFieldStore-295f240e.js → TemplateFieldStore-0516a7ec.js} +16 -9
  58. package/dist/esm/{TemplateStore-f188c963.js → TemplateStore-618fb47f.js} +19 -6
  59. package/dist/esm/ipc-test.entry.js +2 -2
  60. package/dist/esm/loader.js +1 -1
  61. package/dist/esm/verdocs-build.entry.js +2 -2
  62. package/dist/esm/verdocs-field-attachment.entry.js +2 -2
  63. package/dist/esm/verdocs-field-checkbox.entry.js +2 -2
  64. package/dist/esm/verdocs-field-date.entry.js +3 -3
  65. package/dist/esm/verdocs-field-dropdown.entry.js +2 -2
  66. package/dist/esm/verdocs-field-initial.entry.js +2 -2
  67. package/dist/esm/verdocs-field-payment.entry.js +2 -51
  68. package/dist/esm/verdocs-field-radio-button.entry.js +2 -2
  69. package/dist/esm/verdocs-field-signature.entry.js +2 -2
  70. package/dist/esm/verdocs-field-textarea.entry.js +3 -3
  71. package/dist/esm/verdocs-field-textbox.entry.js +3 -3
  72. package/dist/esm/verdocs-field-timestamp.entry.js +2 -2
  73. package/dist/esm/verdocs-portal_2.entry.js +25 -40
  74. package/dist/esm/verdocs-preview_8.entry.js +2 -2
  75. package/dist/esm/verdocs-sign.entry.js +1 -1
  76. package/dist/esm/verdocs-template-fields_4.entry.js +38 -66
  77. package/dist/esm/verdocs-web-sdk.js +1 -1
  78. package/dist/esm-es5/TemplateFieldStore-0516a7ec.js +1 -0
  79. package/dist/esm-es5/TemplateStore-618fb47f.js +1 -0
  80. package/dist/esm-es5/ipc-test.entry.js +1 -1
  81. package/dist/esm-es5/loader.js +1 -1
  82. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  83. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  84. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  85. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  86. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  87. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  88. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  89. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  90. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  91. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  92. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  93. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  94. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  96. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  98. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  99. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +0 -21
  100. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +2 -2
  101. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +0 -1
  102. package/dist/types/utils/TemplateFieldStore.d.ts +6 -3
  103. package/dist/types/utils/TemplateRoleStore.d.ts +5 -2
  104. package/dist/verdocs-web-sdk/{p-d318d19b.system.entry.js → p-058f0e56.system.entry.js} +1 -1
  105. package/dist/verdocs-web-sdk/{p-0aec8a25.system.entry.js → p-093f593d.system.entry.js} +1 -1
  106. package/dist/verdocs-web-sdk/{p-2458bbc0.system.entry.js → p-09babc77.system.entry.js} +1 -1
  107. package/dist/verdocs-web-sdk/p-0a5b8a89.entry.js +1 -0
  108. package/dist/verdocs-web-sdk/{p-feb78cde.system.entry.js → p-18cb9ef7.system.entry.js} +1 -1
  109. package/dist/verdocs-web-sdk/p-1b661190.entry.js +1 -0
  110. package/dist/verdocs-web-sdk/{p-710d6928.system.entry.js → p-350f1ca4.system.entry.js} +1 -1
  111. package/dist/verdocs-web-sdk/p-35720475.entry.js +1 -0
  112. package/dist/verdocs-web-sdk/{p-a9b53e29.system.entry.js → p-371effb1.system.entry.js} +1 -1
  113. package/dist/verdocs-web-sdk/p-3930ee22.js +1 -0
  114. package/dist/verdocs-web-sdk/p-3989e584.entry.js +1 -0
  115. package/dist/verdocs-web-sdk/{p-a994e40e.entry.js → p-3d9adca7.entry.js} +1 -1
  116. package/dist/verdocs-web-sdk/{p-74651412.entry.js → p-413a5b21.entry.js} +1 -1
  117. package/dist/verdocs-web-sdk/p-591b695c.entry.js +1 -0
  118. package/dist/verdocs-web-sdk/p-5cd0b997.entry.js +1 -0
  119. package/dist/verdocs-web-sdk/p-62ec3db9.system.entry.js +1 -0
  120. package/dist/verdocs-web-sdk/p-6be44a1e.js +1 -0
  121. package/dist/verdocs-web-sdk/{p-9fe214d8.entry.js → p-6d42921b.entry.js} +1 -1
  122. package/dist/verdocs-web-sdk/{p-84a111b9.entry.js → p-6d81d774.entry.js} +1 -1
  123. package/dist/verdocs-web-sdk/{p-034c364e.system.entry.js → p-6e45e610.system.entry.js} +1 -1
  124. package/dist/verdocs-web-sdk/p-71faa59f.entry.js +1 -0
  125. package/dist/verdocs-web-sdk/p-73abd3fc.system.entry.js +1 -0
  126. package/dist/verdocs-web-sdk/p-79de397b.entry.js +1 -0
  127. package/dist/verdocs-web-sdk/{p-f94e8672.system.entry.js → p-7c8419d7.system.entry.js} +1 -1
  128. package/dist/verdocs-web-sdk/{p-77e66b03.system.entry.js → p-9542e890.system.entry.js} +1 -1
  129. package/dist/verdocs-web-sdk/p-961ee618.system.entry.js +1 -0
  130. package/dist/verdocs-web-sdk/{p-7c6a9967.system.entry.js → p-a97512f6.system.entry.js} +1 -1
  131. package/dist/verdocs-web-sdk/{p-3f3e3347.system.entry.js → p-aa29c7ec.system.entry.js} +1 -1
  132. package/dist/verdocs-web-sdk/{p-e609b52c.system.entry.js → p-c11c841c.system.entry.js} +1 -1
  133. package/dist/verdocs-web-sdk/{p-6e847f1c.system.entry.js → p-c82a2a4e.system.entry.js} +1 -1
  134. package/dist/verdocs-web-sdk/{p-858f53bd.system.entry.js → p-d32278c8.system.entry.js} +1 -1
  135. package/dist/verdocs-web-sdk/p-df621f8d.system.js +1 -0
  136. package/dist/verdocs-web-sdk/p-ea4db7ae.system.js +1 -0
  137. package/dist/verdocs-web-sdk/p-ea52b891.entry.js +1 -0
  138. package/dist/verdocs-web-sdk/p-ebc1c670.entry.js +1 -0
  139. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  140. package/dist/verdocs-web-sdk/{p-7db381bc.entry.js → p-fda04bb0.entry.js} +1 -1
  141. package/dist/verdocs-web-sdk/p-ff473972.entry.js +1 -0
  142. package/dist/verdocs-web-sdk/p-ffa4091d.entry.js +1 -0
  143. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  144. package/package.json +1 -1
  145. package/dist/esm-es5/TemplateFieldStore-295f240e.js +0 -1
  146. package/dist/esm-es5/TemplateStore-f188c963.js +0 -1
  147. package/dist/verdocs-web-sdk/p-10d43924.entry.js +0 -1
  148. package/dist/verdocs-web-sdk/p-27b657be.entry.js +0 -1
  149. package/dist/verdocs-web-sdk/p-3819eb68.entry.js +0 -1
  150. package/dist/verdocs-web-sdk/p-3c277355.entry.js +0 -1
  151. package/dist/verdocs-web-sdk/p-48ad75db.entry.js +0 -1
  152. package/dist/verdocs-web-sdk/p-50ee8b2d.entry.js +0 -1
  153. package/dist/verdocs-web-sdk/p-5e1cdb8d.system.entry.js +0 -1
  154. package/dist/verdocs-web-sdk/p-6992b715.system.js +0 -1
  155. package/dist/verdocs-web-sdk/p-8c5de079.entry.js +0 -1
  156. package/dist/verdocs-web-sdk/p-9574a874.entry.js +0 -1
  157. package/dist/verdocs-web-sdk/p-a2965966.system.entry.js +0 -1
  158. package/dist/verdocs-web-sdk/p-a2dacfe7.entry.js +0 -1
  159. package/dist/verdocs-web-sdk/p-abd4e2e2.entry.js +0 -1
  160. package/dist/verdocs-web-sdk/p-af4755e8.entry.js +0 -1
  161. package/dist/verdocs-web-sdk/p-b6ba0812.system.js +0 -1
  162. package/dist/verdocs-web-sdk/p-cc9a62c3.entry.js +0 -1
  163. package/dist/verdocs-web-sdk/p-d4219533.system.entry.js +0 -1
  164. package/dist/verdocs-web-sdk/p-f31a2fba.js +0 -1
  165. package/dist/verdocs-web-sdk/p-ffe39848.js +0 -1
@@ -5,15 +5,28 @@ export const createTemplateRoleStore = (template) => {
5
5
  let store = getTemplateRoleStore(template.id);
6
6
  if (!store) {
7
7
  console.log('Creating template role store for template', template.id);
8
- store = createStore({});
8
+ store = createStore({ roles: [] });
9
9
  templateRoleStores[template.id] = store;
10
10
  }
11
11
  else {
12
12
  console.log('Resetting template role store for template', template.id);
13
13
  store.reset();
14
14
  }
15
- template.roles.forEach(role => {
16
- store.set(role.name, role);
17
- });
15
+ store.set('roles', [...template.roles]);
18
16
  return store;
19
17
  };
18
+ export const updateStoreRole = (store, name, newRoleData) => {
19
+ const newRoles = [
20
+ ...store.get('roles').map(role => {
21
+ if (role.name !== name) {
22
+ return role;
23
+ }
24
+ return { ...role, ...newRoleData };
25
+ }),
26
+ ];
27
+ store.set('roles', newRoles);
28
+ };
29
+ export const deleteStoreRole = (store, name) => {
30
+ const newRoles = [...store.get('roles').filter(field => field.name !== name)];
31
+ store.set('roles', newRoles);
32
+ };
@@ -6,33 +6,40 @@ const createTemplateFieldStore = (template) => {
6
6
  let store = getTemplateFieldStore(template.id);
7
7
  if (!store) {
8
8
  console.log('Creating template field store for template', template.id);
9
- store = createStore({});
9
+ store = createStore({ fields: [] });
10
10
  templateFieldStores[template.id] = store;
11
11
  }
12
12
  else {
13
13
  console.log('Resetting template field store for template', template.id);
14
14
  store.reset();
15
15
  }
16
- template.fields.forEach(field => {
17
- store.set(field.name, field);
18
- });
16
+ store.set('fields', [...template.fields]);
19
17
  return store;
20
18
  };
21
19
  const createTemplateFieldStoreFromEnvelope = (envelope) => {
22
20
  let store = getTemplateFieldStore(envelope.template_id);
23
21
  if (!store) {
24
22
  console.log('Creating field store for envelope', envelope.id, envelope.template_id);
25
- store = createStore({});
23
+ store = createStore({ fields: [] });
26
24
  templateFieldStores[envelope.template_id] = store;
27
25
  }
28
26
  else {
29
27
  console.log('Resetting field store for envelope', envelope.id, envelope.template_id);
30
28
  store.reset();
31
29
  }
32
- envelope.fields.forEach(field => {
33
- store.set(field.name, field);
34
- });
30
+ store.set('fields', [...envelope.fields]);
35
31
  return store;
36
32
  };
33
+ const updateStoreField = (store, name, newFieldData) => {
34
+ const newFields = [
35
+ ...store.get('fields').map(field => {
36
+ if (field.name !== name) {
37
+ return field;
38
+ }
39
+ return { ...field, ...newFieldData };
40
+ }),
41
+ ];
42
+ store.set('fields', newFields);
43
+ };
37
44
 
38
- export { createTemplateFieldStore as a, createTemplateFieldStoreFromEnvelope as c, getTemplateFieldStore as g };
45
+ export { createTemplateFieldStore as a, createTemplateFieldStoreFromEnvelope as c, getTemplateFieldStore as g, updateStoreField as u };
@@ -8,18 +8,31 @@ const createTemplateRoleStore = (template) => {
8
8
  let store = getTemplateRoleStore(template.id);
9
9
  if (!store) {
10
10
  console.log('Creating template role store for template', template.id);
11
- store = createStore({});
11
+ store = createStore({ roles: [] });
12
12
  templateRoleStores[template.id] = store;
13
13
  }
14
14
  else {
15
15
  console.log('Resetting template role store for template', template.id);
16
16
  store.reset();
17
17
  }
18
- template.roles.forEach(role => {
19
- store.set(role.name, role);
20
- });
18
+ store.set('roles', [...template.roles]);
21
19
  return store;
22
20
  };
21
+ const updateStoreRole = (store, name, newRoleData) => {
22
+ const newRoles = [
23
+ ...store.get('roles').map(role => {
24
+ if (role.name !== name) {
25
+ return role;
26
+ }
27
+ return { ...role, ...newRoleData };
28
+ }),
29
+ ];
30
+ store.set('roles', newRoles);
31
+ };
32
+ const deleteStoreRole = (store, name) => {
33
+ const newRoles = [...store.get('roles').filter(field => field.name !== name)];
34
+ store.set('roles', newRoles);
35
+ };
23
36
 
24
37
  const createTemplateStore = (templateId) => {
25
38
  const now = new Date().toISOString();
@@ -103,4 +116,4 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
103
116
  };
104
117
  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); };
105
118
 
106
- export { getRoleNames as a, getTemplateRoleStore as b, createTemplateRoleStore as c, getTemplateStore as g };
119
+ export { getRoleNames as a, getTemplateRoleStore as b, createTemplateRoleStore as c, deleteStoreRole as d, getTemplateStore as g, updateStoreRole as u };
@@ -69,7 +69,7 @@ const VerdocsFieldAttachment$1 = /*@__PURE__*/ proxyCustomElement(class extends
69
69
  }
70
70
  render() {
71
71
  var _a, _b;
72
- const field = this.fieldStore.get(this.fieldname);
72
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
73
73
  if (!field) {
74
74
  return h(Fragment, null);
75
75
  }
@@ -52,7 +52,7 @@ const VerdocsFieldCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
52
52
  }
53
53
  render() {
54
54
  var _a, _b, _c, _d;
55
- const field = this.fieldStore.get(this.fieldname);
55
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
56
56
  if (!field) {
57
57
  return h(Fragment, null);
58
58
  }
@@ -2593,7 +2593,7 @@ const VerdocsFieldDate$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
2593
2593
  this.fieldStore = getTemplateFieldStore(this.templateid);
2594
2594
  }
2595
2595
  componentDidLoad() {
2596
- const field = this.fieldStore.get(this.fieldname);
2596
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
2597
2597
  const { result } = getFieldSettings(field);
2598
2598
  flatpickr('#' + this.containerId, {
2599
2599
  positionElement: this.el,
@@ -2627,7 +2627,7 @@ const VerdocsFieldDate$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLEl
2627
2627
  // NOTE: We don't use a "date" field here because browsers vary widely in their formatting of it.
2628
2628
  render() {
2629
2629
  var _a, _b;
2630
- const field = this.fieldStore.get(this.fieldname);
2630
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
2631
2631
  if (!field) {
2632
2632
  return h(Fragment, null);
2633
2633
  }
@@ -57,7 +57,7 @@ const VerdocsFieldDropdown$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
57
57
  }
58
58
  render() {
59
59
  var _a, _b;
60
- const field = this.fieldStore.get(this.fieldname);
60
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
61
61
  if (!field) {
62
62
  return h(Fragment, null);
63
63
  }
@@ -80,7 +80,7 @@ const VerdocsFieldInitial$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
80
80
  }
81
81
  render() {
82
82
  var _a, _b;
83
- const field = this.fieldStore.get(this.fieldname);
83
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
84
84
  if (!field) {
85
85
  return h(Fragment, null);
86
86
  }
@@ -13,25 +13,6 @@ const VerdocsFieldPayment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
13
13
  this.initialComplete = createEvent(this, "initialComplete", 7);
14
14
  this.settingsChanged = createEvent(this, "settingsChanged", 7);
15
15
  this.deleted = createEvent(this, "deleted", 7);
16
- this._fields = [];
17
- // envelopeFieldsFormGroup: FormGroup;
18
- this.signatureFile = null;
19
- this.initialFile = null;
20
- this.focusOrderNumber = -1;
21
- this.focusFieldName = '';
22
- this.activeElement = null;
23
- this.showError = {
24
- pageNum: -1,
25
- fieldIndex: -1,
26
- type: null,
27
- };
28
- this.dialogOpened = false;
29
- this.closeAllErrors = false;
30
- this.fieldsMap = {};
31
- this.fieldsForCurrentSigner = [];
32
- this.fontSize = 11;
33
- this.averageFontWidth = 5;
34
- this.requiredFields = [];
35
16
  this.fieldStore = null;
36
17
  this.templateid = '';
37
18
  this.fieldname = '';
@@ -70,36 +51,6 @@ const VerdocsFieldPayment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
70
51
  }
71
52
  }
72
53
  }
73
- // [tabIndex]="field.role !== roleName ? -1 : 1"
74
- // [ngStyle]="field.element_style"
75
- // [value]="field.value"
76
- // (click)="initiateSign(field)"
77
- // (blur)="validateChanges(field)"
78
- // [disabled]="field.role!==roleName"
79
- // [id]="field.key"
80
- // <button _ngcontent-app-root-c342="" class="envelope__field" tabindex="1" ng-reflect-ng-style="[object Object]"
81
- // ng-reflect-ng-class="[object Object]" value="" id="signatureP5-1"
82
- // style="height: 100%; width: 100%; background: none; font-size: 11px; border: 1px solid rgb(204, 0, 0);"> Signature </button>
83
- // bottom: 229.333
84
- // px
85
- // ;
86
- // left: 169.333
87
- // px
88
- // ;
89
- // height: 41
90
- // px
91
- // ;
92
- // width: 82
93
- // px
94
- // ;
95
- // background-color: rgba(156, 39, 176, 0.4);
96
- // transform: scale(1.33333, 1.33333);
97
- // }
98
- // <style>
99
- // .envelope__item[_ngcontent-app-root-c342] {
100
- // position: absolute;
101
- // transform-origin: bottom left;
102
- // opacity: 1;
103
54
  async showSettingsPanel() {
104
55
  const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
105
56
  if (settingsPanel && settingsPanel.showPanel) {
@@ -114,7 +65,7 @@ const VerdocsFieldPayment$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
114
65
  }
115
66
  render() {
116
67
  var _a, _b;
117
- const field = this.fieldStore.get(this.fieldname);
68
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
118
69
  if (!field) {
119
70
  return h(Fragment, null);
120
71
  }
@@ -53,7 +53,7 @@ const VerdocsFieldRadioButton$1 = /*@__PURE__*/ proxyCustomElement(class extends
53
53
  }
54
54
  render() {
55
55
  var _a, _b;
56
- const field = this.fieldStore.get(this.fieldname);
56
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
57
57
  if (!field) {
58
58
  return h(Fragment, null);
59
59
  }
@@ -79,7 +79,7 @@ const VerdocsFieldSignature$1 = /*@__PURE__*/ proxyCustomElement(class extends H
79
79
  }
80
80
  render() {
81
81
  var _a, _b;
82
- const field = this.fieldStore.get(this.fieldname);
82
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
83
83
  if (!field) {
84
84
  return h(Fragment, null);
85
85
  }
@@ -87,7 +87,7 @@ const VerdocsFieldTextarea$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
87
87
  Object.assign(e.target.dataset, { x, y, h });
88
88
  }
89
89
  handleResizeEnd(e) {
90
- const field = this.fieldStore.get(this.fieldname);
90
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
91
91
  const newSettings = { ...getFieldSettings(field) };
92
92
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
93
93
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
@@ -104,7 +104,7 @@ const VerdocsFieldTextarea$1 = /*@__PURE__*/ proxyCustomElement(class extends HT
104
104
  }
105
105
  render() {
106
106
  var _a, _b;
107
- const field = this.fieldStore.get(this.fieldname);
107
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
108
108
  if (!field) {
109
109
  return h(Fragment, null);
110
110
  }
@@ -87,7 +87,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
87
87
  Object.assign(e.target.dataset, { x, y, h });
88
88
  }
89
89
  handleResizeEnd(e) {
90
- const field = this.fieldStore.get(this.fieldname);
90
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
91
91
  const newSettings = { ...getFieldSettings(field) };
92
92
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
93
93
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
@@ -105,7 +105,7 @@ const VerdocsFieldTextbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTM
105
105
  }
106
106
  render() {
107
107
  var _a, _b;
108
- const field = this.fieldStore.get(this.fieldname);
108
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
109
109
  if (!field) {
110
110
  return h(Fragment, null);
111
111
  }
@@ -55,7 +55,7 @@ const VerdocsFieldTimestamp$1 = /*@__PURE__*/ proxyCustomElement(class extends H
55
55
  }
56
56
  render() {
57
57
  var _a, _b;
58
- const field = this.fieldStore.get(this.fieldname);
58
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
59
59
  if (!field) {
60
60
  return h(Fragment, null);
61
61
  }
@@ -3,8 +3,8 @@ import { c as commonjsGlobal } from './_commonjsHelpers.js';
3
3
  import './Types.js';
4
4
  import { V as VerdocsEndpoint } from './VerdocsEndpoint.js';
5
5
  import { u as updateField, d as deleteField } from './Fields.js';
6
- import { a as createTemplateFieldStore } from './TemplateFieldStore.js';
7
- import { g as getTemplateStore } from './TemplateStore.js';
6
+ import { g as getTemplateFieldStore, u as updateStoreField } from './TemplateFieldStore.js';
7
+ import { g as getTemplateStore, b as getTemplateRoleStore } from './TemplateStore.js';
8
8
  import { S as SDKError } from './errors.js';
9
9
  import { d as defineCustomElement$6 } from './verdocs-button2.js';
10
10
  import { d as defineCustomElement$5 } from './verdocs-checkbox2.js';
@@ -217,7 +217,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
217
217
  this.sdkError = createEvent(this, "sdkError", 7);
218
218
  this.templateStore = null;
219
219
  this.fieldStore = null;
220
- this.watcher = null;
220
+ this.roleStore = null;
221
221
  this.endpoint = VerdocsEndpoint.getDefault();
222
222
  this.templateId = '';
223
223
  this.fieldName = '';
@@ -255,10 +255,10 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
255
255
  return;
256
256
  }
257
257
  this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
258
- createTemplateFieldStore(this.templateStore.state);
259
- this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
258
+ this.fieldStore = await getTemplateFieldStore(this.templateId);
259
+ this.roleStore = await getTemplateRoleStore(this.templateId);
260
260
  // console.log('tfs', this.fieldStore?.state);
261
- const field = this.fieldStore.get(this.fieldName);
261
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldName);
262
262
  // console.log('gf', field);
263
263
  if (!field) {
264
264
  console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
@@ -266,25 +266,6 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
266
266
  else {
267
267
  console.log('props', field);
268
268
  }
269
- this.watcher = this.fieldStore.onChange(this.fieldName, (field) => {
270
- console.log('Field changed', field);
271
- // this.type = field.type;
272
- // this.name = field.name;
273
- // this.label = field.label;
274
- // this.group = field.name;
275
- // this.roleName = field.role_name;
276
- // this.required = field.required;
277
- // this.fieldType = field.type;
278
- // // TODO: Talk about how we want to handle labels/placeholders
279
- // this.placeholder = field.setting?.placeholder || '';
280
- // this.value = field.setting?.result || '';
281
- // this.leading = field.setting?.leading || 0;
282
- // this.setting = field.setting || {};
283
- // this.options = field.setting?.options || [];
284
- // this.dirty = false;
285
- // this.loading = false;
286
- });
287
- console.log('watcher', this.watcher);
288
269
  this.type = field.type;
289
270
  this.name = field.name;
290
271
  this.label = field.label;
@@ -311,7 +292,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
311
292
  handleCancel(e) {
312
293
  var _a, _b, _c, _d;
313
294
  e.stopPropagation();
314
- const field = this.fieldStore.get(this.fieldName);
295
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldName);
315
296
  if (field) {
316
297
  this.name = field.name;
317
298
  this.label = field.label;
@@ -351,11 +332,19 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
351
332
  }
352
333
  console.log('FP: Will update', this.fieldName, newProperties);
353
334
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
354
- .then(field => {
335
+ .then(updated => {
355
336
  var _a, _b;
356
337
  this.dirty = false;
357
- this.updateField(field);
358
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field });
338
+ const newFields = [
339
+ ...this.fieldStore.get('fields').map(field => {
340
+ if (field.name !== this.fieldName) {
341
+ return field;
342
+ }
343
+ return { ...field, ...updated };
344
+ }),
345
+ ];
346
+ this.fieldStore.set('fields', newFields);
347
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field: updated });
359
348
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
360
349
  })
361
350
  .catch(() => {
@@ -389,29 +378,25 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
389
378
  delete newProperties.setting.result;
390
379
  newProperties.setting.options = [...this.options];
391
380
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
392
- .then(field => {
381
+ .then(updated => {
393
382
  var _a, _b;
394
383
  this.dirty = false;
395
- this.updateField(field);
396
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field });
384
+ updateStoreField(this.fieldStore, this.fieldName, updated);
385
+ this.fieldName = updated.name;
386
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field: updated });
397
387
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
398
388
  })
399
389
  .catch(() => {
400
390
  console.log('Field update failed', e);
401
391
  });
402
392
  }
403
- updateField(newField) {
404
- const oldField = this.fieldStore.get(this.fieldName) || {};
405
- console.log('Updating field', this.fieldName, newField);
406
- Object.assign(oldField, newField);
407
- }
408
393
  async handleDelete(e) {
409
394
  e.stopPropagation();
410
395
  if (window.confirm('Are you sure you wish to remove this field? This action cannot be undone.')) {
411
396
  deleteField(this.endpoint, this.templateId, this.fieldName)
412
397
  .then(() => {
413
398
  var _a;
414
- this.fieldStore.set(this.fieldName, undefined);
399
+ this.fieldStore.set('fields', this.fieldStore.get('fields').filter(field => field.name !== this.fieldName));
415
400
  (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
416
401
  })
417
402
  .catch(e => {
@@ -426,7 +411,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
426
411
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
427
412
  }
428
413
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
429
- if (!this.endpoint.session || !this.fieldStore.get(this.fieldName)) {
414
+ if (!this.endpoint.session || !this.fieldStore.get('fields').some(field => field.name === this.fieldName)) {
430
415
  return h(Host, { class: "empty" });
431
416
  }
432
417
  if (this.helpText && this.showingHelp) {
@@ -443,7 +428,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
443
428
  placeholder: "Optional Label...", onInput: (e) => {
444
429
  this.label = e.target.value;
445
430
  this.dirty = true;
446
- } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_a = this.templateStore.state) === null || _a === void 0 ? void 0 : _a.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
431
+ } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_a = this.roleStore.state) === null || _a === void 0 ? void 0 : _a.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
447
432
  this.roleName = e.target.value;
448
433
  this.dirty = true;
449
434
  } })), ['textbox', 'textarea'].includes(this.type) && (h("div", { class: "row", style: { marginTop: '10px', marginBottom: '10px' } }, h("verdocs-text-input", { id: "verdocs-field-value", label: "Value", value: this.value, autocomplete: "off", placeholder: "Pre-defined value...", onInput: (e) => {
@@ -486,7 +471,7 @@ const VerdocsTemplateFieldProperties = /*@__PURE__*/ proxyCustomElement(class ex
486
471
  }, [0, "verdocs-template-field-properties", {
487
472
  "endpoint": [16],
488
473
  "templateId": [1, "template-id"],
489
- "fieldName": [1, "field-name"],
474
+ "fieldName": [1025, "field-name"],
490
475
  "helpText": [1, "help-text"],
491
476
  "dirty": [32],
492
477
  "loading": [32],
@@ -6,7 +6,7 @@ import { u as updateField, c as createField } from './Fields.js';
6
6
  import { i as integerSequence } from './Primitives.js';
7
7
  import { b as getRoleIndex, r as renderDocumentField, f as updateCssTransform, h as defaultWidth, i as defaultHeight } from './utils.js';
8
8
  import { g as getTemplateStore, b as getTemplateRoleStore, a as getRoleNames } from './TemplateStore.js';
9
- import { g as getTemplateFieldStore } from './TemplateFieldStore.js';
9
+ import { g as getTemplateFieldStore, u as updateStoreField } from './TemplateFieldStore.js';
10
10
  import { S as SDKError } from './errors.js';
11
11
  import { d as defineCustomElement$7 } from './verdocs-button2.js';
12
12
  import { d as defineCustomElement$6 } from './verdocs-component-error2.js';
@@ -111,33 +111,12 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
111
111
  async handleFieldChange(field, e, optionId) {
112
112
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
113
113
  }
114
- handleFieldSettingsChange(pageInfo, field, el, newFieldData, oldName) {
115
- var _a, _b;
116
- // handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
117
- console.log('[FIELDS] Field settings changed', oldName, field.name, newFieldData);
118
- Object.assign(field, newFieldData);
119
- el.field = newFieldData;
120
- this.selectedRoleName = field.role_name;
121
- el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.templateStore), field.role_name));
122
- el.field = this.fieldStore.get(field.name);
123
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
124
- // We do this to avoid dupes if the field gets renamed.
125
- if (field.name !== oldName) {
126
- console.log('[FIELDS] Renaming field', oldName, field.name);
127
- el.remove();
128
- delete this.fieldStore.state[oldName];
129
- }
130
- else {
131
- console.log('[FIELDS] Updating existing field', field.name);
132
- }
133
- // REMINDER: Do not access el past this point! It may have been removed from the DOM.
134
- console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber, field);
135
- this.fieldStore.set(field.name, field);
136
- this.reRenderField(field, pageInfo.pageNumber);
137
- }
138
114
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
139
115
  el.addEventListener('input', e => this.handleFieldChange(field, e));
140
- el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field, e.detail.fieldName));
116
+ el.addEventListener('settingsChanged', () => {
117
+ var _a, _b;
118
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
119
+ });
141
120
  el.addEventListener('deleted', () => {
142
121
  var _a, _b;
143
122
  console.log('[FIELDS] Deleted', this, field);
@@ -157,9 +136,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
157
136
  // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
158
137
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
159
138
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
160
- // Entries can be undefined when deleted because Stencil has no remove() operator yet for stores.
161
- // See https://github.com/ionic-team/stencil-store/issues/23
162
- const fields = Object.values(this.fieldStore.state).filter((field) => field && field.page_sequence === pageInfo.pageNumber);
139
+ const fields = this.fieldStore.get('fields').filter(field => field && field.page_sequence === pageInfo.pageNumber);
163
140
  console.log('[FIELDS] Page rendered', pageInfo, fields);
164
141
  fields.forEach((field) => this.reRenderField(field, pageInfo.pageNumber));
165
142
  }
@@ -201,9 +178,10 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
201
178
  updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
202
179
  }
203
180
  async handleMoveEnd(event) {
181
+ var _a, _b;
204
182
  const name = event.target.getAttribute('name');
205
183
  const option = +(event.target.getAttribute('option') || '0');
206
- const field = this.fieldStore.get(name);
184
+ const field = this.fieldStore.get('fields').find(field => field.name === name);
207
185
  if (!field) {
208
186
  console.log('[FIELDS] Unable to find field', name);
209
187
  return;
@@ -246,10 +224,10 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
246
224
  }
247
225
  console.log('[FIELDS] Will update', name, y, option, field);
248
226
  const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
249
- const pageInfo = this.cachedPageInfo[pageNumber];
250
- this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData, name);
227
+ updateStoreField(this.fieldStore, name, newFieldData);
251
228
  event.target.removeAttribute('posX');
252
229
  event.target.removeAttribute('posY');
230
+ (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
253
231
  }
254
232
  generateFieldName(type, pageNumber) {
255
233
  let i = 1;
@@ -257,7 +235,7 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
257
235
  do {
258
236
  fieldName = `${type}P${pageNumber}-${i}`;
259
237
  i++;
260
- } while (Object.values(this.fieldStore.state).some(field => field && field.name === fieldName));
238
+ } while (this.fieldStore.get('fields').some(field => field && field.name === fieldName));
261
239
  return fieldName;
262
240
  }
263
241
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
@@ -362,10 +340,9 @@ const VerdocsTemplateFields = /*@__PURE__*/ proxyCustomElement(class extends HTM
362
340
  }
363
341
  const saved = await createField(this.endpoint, this.templateId, field);
364
342
  console.log('[FIELDS] Saved field', saved);
365
- this.fieldStore.set(saved.name, saved);
343
+ this.fieldStore.set('fields', [...this.fieldStore.state.fields, saved]);
366
344
  this.placing = null;
367
345
  (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state, event: 'added-field' });
368
- this.reRenderField(saved, pageNumber);
369
346
  }
370
347
  }
371
348
  render() {
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
2
  import './Types.js';
3
3
  import { V as VerdocsEndpoint, b as TemplateSenderTypes } from './VerdocsEndpoint.js';
4
- import { g as getTemplateStore, c as createTemplateRoleStore } from './TemplateStore.js';
4
+ import { g as getTemplateStore, c as createTemplateRoleStore, u as updateStoreRole, d as deleteStoreRole } from './TemplateStore.js';
5
5
  import { g as getTemplateFieldStore } from './TemplateFieldStore.js';
6
6
  import { S as SDKError } from './errors.js';
7
7
  import { d as defineCustomElement$5 } from './verdocs-button2.js';
@@ -74,7 +74,7 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class ext
74
74
  this.templateStore = await getTemplateStore(this.endpoint, this.templateId, false);
75
75
  this.fieldStore = getTemplateFieldStore(this.templateId);
76
76
  this.roleStore = createTemplateRoleStore(this.templateStore.state);
77
- const editingRole = this.roleStore.get(this.roleName);
77
+ const editingRole = this.roleStore.state.roles.find(role => role.name === this.roleName);
78
78
  if (editingRole) {
79
79
  this.name = editingRole.name;
80
80
  this.type = editingRole.type;
@@ -93,7 +93,7 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class ext
93
93
  handleCancel(e) {
94
94
  var _a;
95
95
  e.stopPropagation();
96
- const editingRole = this.roleStore.get(this.roleName);
96
+ const editingRole = this.roleStore.state.roles.find(role => role.name === this.roleName);
97
97
  if (editingRole) {
98
98
  this.name = editingRole.name;
99
99
  this.type = editingRole.type;
@@ -121,10 +121,7 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class ext
121
121
  console.log('[ROLE_PROPERTIES] Update result', r);
122
122
  this.saving = false;
123
123
  this.dirty = false;
124
- this.roleStore.set(r.name, r);
125
- if (this.roleName !== r.name) {
126
- this.roleStore.set(this.roleName, undefined);
127
- }
124
+ updateStoreRole(this.roleStore, this.roleName, r);
128
125
  (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
129
126
  })
130
127
  .catch(e => {
@@ -136,9 +133,9 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class ext
136
133
  e.stopPropagation();
137
134
  if (window.confirm('Are you sure you wish to remove this role? All associated fields will be removed as well. This action cannot be undone.')) {
138
135
  deleteRole(this.endpoint, this.templateId, this.roleName)
139
- .then(r => {
136
+ .then(() => {
140
137
  var _a;
141
- delete this.roleStore.state[r.name];
138
+ deleteStoreRole(this.roleStore, this.roleName);
142
139
  (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
143
140
  })
144
141
  .catch(e => {
@@ -147,7 +144,7 @@ const VerdocsTemplateRoleProperties = /*@__PURE__*/ proxyCustomElement(class ext
147
144
  }
148
145
  }
149
146
  render() {
150
- const hasFields = Object.values(this.fieldStore).findIndex(field => field.role_name === this.roleName) !== -1;
147
+ const hasFields = this.fieldStore.get('fields').some(field => field.role_name === this.roleName);
151
148
  return (h(Host, null, h("div", { class: "background-overlay", onClick: e => this.handleCancel(e) }, h("div", { class: "dialog" }, h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("verdocs-text-input", { id: "verdocs-role-name", label: "Role Name", value: this.name, autocomplete: "off", disabled: hasFields, helpText: hasFields
152
149
  ? 'This role has fields assigned and can no longer be renamed.'
153
150
  : 'A unique name to identify the role in the workflow. Submitted data will also be tagged with this value.', placeholder: "Role Name...", onInput: (e) => {