@verdocs/web-sdk 2.3.24 → 2.3.26

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 (194) hide show
  1. package/dist/cjs/{EnvelopeStore-efc35530.js → EnvelopeStore-7b1adebb.js} +0 -2
  2. package/dist/cjs/{TemplateFieldStore-40e85b9d.js → TemplateFieldStore-ecf695a7.js} +16 -8
  3. package/dist/cjs/{TemplateStore-079a1f85.js → TemplateStore-78b8944b.js} +20 -7
  4. package/dist/cjs/ipc-test.cjs.entry.js +2 -2
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -0
  8. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +1 -1
  9. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -2
  11. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -3
  12. package/dist/cjs/verdocs-field-date.cjs.entry.js +3 -3
  13. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -3
  14. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -3
  15. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -52
  16. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -3
  17. package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -3
  18. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -4
  19. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +3 -3
  20. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -3
  21. package/dist/cjs/verdocs-portal_2.cjs.entry.js +21 -37
  22. package/dist/cjs/verdocs-preview_8.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-sign.cjs.entry.js +1 -1
  24. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +38 -66
  25. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  26. package/dist/collection/components/envelopes/verdocs-envelope-document-page/verdocs-envelope-document-page.js +1 -0
  27. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +1 -1
  28. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +1 -2
  29. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +2 -2
  30. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +1 -2
  31. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +1 -2
  32. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +1 -51
  33. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +1 -2
  34. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +1 -2
  35. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +2 -3
  36. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +2 -2
  37. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +1 -2
  38. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +21 -37
  39. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +12 -35
  40. package/dist/collection/components/templates/verdocs-template-role-properties/verdocs-template-role-properties.js +7 -10
  41. package/dist/collection/components/templates/verdocs-template-roles/verdocs-template-roles.js +20 -22
  42. package/dist/collection/utils/EnvelopeStore.js +0 -3
  43. package/dist/collection/utils/TemplateFieldStore.js +19 -8
  44. package/dist/collection/utils/TemplateRoleStore.js +17 -4
  45. package/dist/collection/utils/TemplateStore.js +0 -2
  46. package/dist/components/EnvelopeStore.js +0 -2
  47. package/dist/components/TemplateFieldStore.js +16 -9
  48. package/dist/components/TemplateStore.js +18 -7
  49. package/dist/components/verdocs-envelope-document-page2.js +1 -0
  50. package/dist/components/verdocs-field-attachment.js +1 -1
  51. package/dist/components/verdocs-field-checkbox.js +1 -2
  52. package/dist/components/verdocs-field-date.js +2 -2
  53. package/dist/components/verdocs-field-dropdown.js +1 -2
  54. package/dist/components/verdocs-field-initial.js +1 -2
  55. package/dist/components/verdocs-field-payment.js +1 -51
  56. package/dist/components/verdocs-field-radio-button.js +1 -2
  57. package/dist/components/verdocs-field-signature.js +1 -2
  58. package/dist/components/verdocs-field-textarea.js +2 -3
  59. package/dist/components/verdocs-field-textbox.js +2 -2
  60. package/dist/components/verdocs-field-timestamp.js +1 -2
  61. package/dist/components/verdocs-template-field-properties2.js +21 -37
  62. package/dist/components/verdocs-template-fields2.js +12 -35
  63. package/dist/components/verdocs-template-role-properties2.js +7 -10
  64. package/dist/components/verdocs-template-roles2.js +20 -22
  65. package/dist/docs.json +2 -2
  66. package/dist/esm/{EnvelopeStore-17c0bc52.js → EnvelopeStore-24a1f38f.js} +0 -2
  67. package/dist/esm/{TemplateFieldStore-295f240e.js → TemplateFieldStore-0516a7ec.js} +16 -9
  68. package/dist/esm/{TemplateStore-1ee18675.js → TemplateStore-618fb47f.js} +19 -8
  69. package/dist/esm/ipc-test.entry.js +2 -2
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/esm/verdocs-build.entry.js +2 -2
  72. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -0
  73. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +1 -1
  74. package/dist/esm/verdocs-envelope-sidebar.entry.js +1 -1
  75. package/dist/esm/verdocs-field-attachment.entry.js +2 -2
  76. package/dist/esm/verdocs-field-checkbox.entry.js +2 -3
  77. package/dist/esm/verdocs-field-date.entry.js +3 -3
  78. package/dist/esm/verdocs-field-dropdown.entry.js +2 -3
  79. package/dist/esm/verdocs-field-initial.entry.js +2 -3
  80. package/dist/esm/verdocs-field-payment.entry.js +2 -52
  81. package/dist/esm/verdocs-field-radio-button.entry.js +2 -3
  82. package/dist/esm/verdocs-field-signature.entry.js +2 -3
  83. package/dist/esm/verdocs-field-textarea.entry.js +3 -4
  84. package/dist/esm/verdocs-field-textbox.entry.js +3 -3
  85. package/dist/esm/verdocs-field-timestamp.entry.js +2 -3
  86. package/dist/esm/verdocs-portal_2.entry.js +21 -37
  87. package/dist/esm/verdocs-preview_8.entry.js +2 -2
  88. package/dist/esm/verdocs-sign.entry.js +1 -1
  89. package/dist/esm/verdocs-template-fields_4.entry.js +38 -66
  90. package/dist/esm/verdocs-web-sdk.js +1 -1
  91. package/dist/esm-es5/{EnvelopeStore-17c0bc52.js → EnvelopeStore-24a1f38f.js} +1 -1
  92. package/dist/esm-es5/TemplateFieldStore-0516a7ec.js +1 -0
  93. package/dist/esm-es5/TemplateStore-618fb47f.js +1 -0
  94. package/dist/esm-es5/ipc-test.entry.js +1 -1
  95. package/dist/esm-es5/loader.js +1 -1
  96. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  98. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  99. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  100. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  101. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  102. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  103. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  104. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  105. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  106. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  107. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  108. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  109. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  110. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  111. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -1
  112. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  113. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  114. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  116. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +0 -21
  117. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +0 -2
  118. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +0 -1
  119. package/dist/types/utils/EnvelopeStore.d.ts +0 -2
  120. package/dist/types/utils/TemplateFieldStore.d.ts +6 -3
  121. package/dist/types/utils/TemplateRoleStore.d.ts +5 -2
  122. package/dist/types/utils/TemplateStore.d.ts +0 -1
  123. package/dist/verdocs-web-sdk/{p-d318d19b.system.entry.js → p-058f0e56.system.entry.js} +1 -1
  124. package/dist/verdocs-web-sdk/{p-0aec8a25.system.entry.js → p-093f593d.system.entry.js} +1 -1
  125. package/dist/verdocs-web-sdk/{p-2458bbc0.system.entry.js → p-09babc77.system.entry.js} +1 -1
  126. package/dist/verdocs-web-sdk/p-0a5b8a89.entry.js +1 -0
  127. package/dist/verdocs-web-sdk/{p-b648ab63.system.entry.js → p-151c33dd.system.entry.js} +1 -1
  128. package/dist/verdocs-web-sdk/{p-feb78cde.system.entry.js → p-18cb9ef7.system.entry.js} +1 -1
  129. package/dist/verdocs-web-sdk/p-1b661190.entry.js +1 -0
  130. package/dist/verdocs-web-sdk/p-321da456.js +1 -0
  131. package/dist/verdocs-web-sdk/{p-710d6928.system.entry.js → p-350f1ca4.system.entry.js} +1 -1
  132. package/dist/verdocs-web-sdk/p-35720475.entry.js +1 -0
  133. package/dist/verdocs-web-sdk/{p-a9b53e29.system.entry.js → p-371effb1.system.entry.js} +1 -1
  134. package/dist/verdocs-web-sdk/p-3930ee22.js +1 -0
  135. package/dist/verdocs-web-sdk/p-3989e584.entry.js +1 -0
  136. package/dist/verdocs-web-sdk/p-3b1711df.entry.js +1 -0
  137. package/dist/verdocs-web-sdk/{p-cb429454.entry.js → p-3d9adca7.entry.js} +1 -1
  138. package/dist/verdocs-web-sdk/p-3ec512a6.entry.js +1 -0
  139. package/dist/verdocs-web-sdk/{p-b276486c.system.entry.js → p-3f7aa186.system.entry.js} +1 -1
  140. package/dist/verdocs-web-sdk/{p-9615b087.system.js → p-4098a4a2.system.js} +1 -1
  141. package/dist/verdocs-web-sdk/{p-00e49c36.entry.js → p-413a5b21.entry.js} +1 -1
  142. package/dist/verdocs-web-sdk/p-591b695c.entry.js +1 -0
  143. package/dist/verdocs-web-sdk/p-5cd0b997.entry.js +1 -0
  144. package/dist/verdocs-web-sdk/p-62ec3db9.system.entry.js +1 -0
  145. package/dist/verdocs-web-sdk/p-6be44a1e.js +1 -0
  146. package/dist/verdocs-web-sdk/{p-9fe214d8.entry.js → p-6d42921b.entry.js} +1 -1
  147. package/dist/verdocs-web-sdk/{p-84a111b9.entry.js → p-6d81d774.entry.js} +1 -1
  148. package/dist/verdocs-web-sdk/{p-b86c345f.system.entry.js → p-6e45e610.system.entry.js} +1 -1
  149. package/dist/verdocs-web-sdk/p-71faa59f.entry.js +1 -0
  150. package/dist/verdocs-web-sdk/p-73abd3fc.system.entry.js +1 -0
  151. package/dist/verdocs-web-sdk/{p-82d4afbf.entry.js → p-77d3c570.entry.js} +1 -1
  152. package/dist/verdocs-web-sdk/p-79de397b.entry.js +1 -0
  153. package/dist/verdocs-web-sdk/p-7bdbce2d.system.entry.js +1 -0
  154. package/dist/verdocs-web-sdk/{p-f94e8672.system.entry.js → p-7c8419d7.system.entry.js} +1 -1
  155. package/dist/verdocs-web-sdk/{p-9f46a6a9.system.entry.js → p-9542e890.system.entry.js} +1 -1
  156. package/dist/verdocs-web-sdk/{p-d61fda4b.entry.js → p-997a4959.entry.js} +1 -1
  157. package/dist/verdocs-web-sdk/{p-e080e371.system.entry.js → p-a97512f6.system.entry.js} +1 -1
  158. package/dist/verdocs-web-sdk/{p-3f3e3347.system.entry.js → p-aa29c7ec.system.entry.js} +1 -1
  159. package/dist/verdocs-web-sdk/{p-6dd69d82.system.entry.js → p-c118d024.system.entry.js} +1 -1
  160. package/dist/verdocs-web-sdk/{p-e609b52c.system.entry.js → p-c11c841c.system.entry.js} +1 -1
  161. package/dist/verdocs-web-sdk/{p-6e847f1c.system.entry.js → p-c82a2a4e.system.entry.js} +1 -1
  162. package/dist/verdocs-web-sdk/{p-858f53bd.system.entry.js → p-d32278c8.system.entry.js} +1 -1
  163. package/dist/verdocs-web-sdk/p-df621f8d.system.js +1 -0
  164. package/dist/verdocs-web-sdk/p-ea4db7ae.system.js +1 -0
  165. package/dist/verdocs-web-sdk/p-ea52b891.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  167. package/dist/verdocs-web-sdk/{p-6ada9427.entry.js → p-fda04bb0.entry.js} +1 -1
  168. package/dist/verdocs-web-sdk/p-ff473972.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/p-ffa4091d.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  171. package/package.json +1 -1
  172. package/dist/esm-es5/TemplateFieldStore-295f240e.js +0 -1
  173. package/dist/esm-es5/TemplateStore-1ee18675.js +0 -1
  174. package/dist/verdocs-web-sdk/p-0bfc239a.system.js +0 -1
  175. package/dist/verdocs-web-sdk/p-1f78be32.js +0 -1
  176. package/dist/verdocs-web-sdk/p-2720068f.system.entry.js +0 -1
  177. package/dist/verdocs-web-sdk/p-27b657be.entry.js +0 -1
  178. package/dist/verdocs-web-sdk/p-3819eb68.entry.js +0 -1
  179. package/dist/verdocs-web-sdk/p-3c277355.entry.js +0 -1
  180. package/dist/verdocs-web-sdk/p-48ad75db.entry.js +0 -1
  181. package/dist/verdocs-web-sdk/p-4fc74ab1.js +0 -1
  182. package/dist/verdocs-web-sdk/p-50ee8b2d.entry.js +0 -1
  183. package/dist/verdocs-web-sdk/p-5361ee8f.entry.js +0 -1
  184. package/dist/verdocs-web-sdk/p-6992b715.system.js +0 -1
  185. package/dist/verdocs-web-sdk/p-7f2f79fa.entry.js +0 -1
  186. package/dist/verdocs-web-sdk/p-8c5de079.entry.js +0 -1
  187. package/dist/verdocs-web-sdk/p-9574a874.entry.js +0 -1
  188. package/dist/verdocs-web-sdk/p-a2965966.system.entry.js +0 -1
  189. package/dist/verdocs-web-sdk/p-abd4e2e2.entry.js +0 -1
  190. package/dist/verdocs-web-sdk/p-af4755e8.entry.js +0 -1
  191. package/dist/verdocs-web-sdk/p-b54467df.system.entry.js +0 -1
  192. package/dist/verdocs-web-sdk/p-cc9a62c3.entry.js +0 -1
  193. package/dist/verdocs-web-sdk/p-e8fc7e30.entry.js +0 -1
  194. package/dist/verdocs-web-sdk/p-ffe39848.js +0 -1
@@ -32,7 +32,7 @@ export class VerdocsFieldDate {
32
32
  this.fieldStore = getTemplateFieldStore(this.templateid);
33
33
  }
34
34
  componentDidLoad() {
35
- const field = this.fieldStore.get(this.fieldname);
35
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
36
36
  const { result } = getFieldSettings(field);
37
37
  flatpickr('#' + this.containerId, {
38
38
  positionElement: this.el,
@@ -66,7 +66,7 @@ export class VerdocsFieldDate {
66
66
  // NOTE: We don't use a "date" field here because browsers vary widely in their formatting of it.
67
67
  render() {
68
68
  var _a, _b;
69
- const field = this.fieldStore.get(this.fieldname);
69
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
70
70
  if (!field) {
71
71
  return h(Fragment, null);
72
72
  }
@@ -39,14 +39,13 @@ export class VerdocsFieldDropdown {
39
39
  if (settingsPanel && settingsPanel.hidePanel) {
40
40
  settingsPanel.hidePanel();
41
41
  }
42
- // TemplateStore.updateCount++;
43
42
  }
44
43
  async componentWillLoad() {
45
44
  this.fieldStore = getTemplateFieldStore(this.templateid);
46
45
  }
47
46
  render() {
48
47
  var _a, _b;
49
- const field = this.fieldStore.get(this.fieldname);
48
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
50
49
  if (!field) {
51
50
  return h(Fragment, null);
52
51
  }
@@ -61,11 +61,10 @@ export class VerdocsFieldInitial {
61
61
  if (settingsPanel && settingsPanel.hidePanel) {
62
62
  settingsPanel.hidePanel();
63
63
  }
64
- // TemplateStore.updateCount++;
65
64
  }
66
65
  render() {
67
66
  var _a, _b;
68
- const field = this.fieldStore.get(this.fieldname);
67
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
69
68
  if (!field) {
70
69
  return h(Fragment, null);
71
70
  }
@@ -8,25 +8,6 @@ import { getFieldSettings } from '../../../utils/utils';
8
8
  */
9
9
  export class VerdocsFieldPayment {
10
10
  constructor() {
11
- this._fields = [];
12
- // envelopeFieldsFormGroup: FormGroup;
13
- this.signatureFile = null;
14
- this.initialFile = null;
15
- this.focusOrderNumber = -1;
16
- this.focusFieldName = '';
17
- this.activeElement = null;
18
- this.showError = {
19
- pageNum: -1,
20
- fieldIndex: -1,
21
- type: null,
22
- };
23
- this.dialogOpened = false;
24
- this.closeAllErrors = false;
25
- this.fieldsMap = {};
26
- this.fieldsForCurrentSigner = [];
27
- this.fontSize = 11;
28
- this.averageFontWidth = 5;
29
- this.requiredFields = [];
30
11
  this.fieldStore = null;
31
12
  this.templateid = '';
32
13
  this.fieldname = '';
@@ -65,36 +46,6 @@ export class VerdocsFieldPayment {
65
46
  }
66
47
  }
67
48
  }
68
- // [tabIndex]="field.role !== roleName ? -1 : 1"
69
- // [ngStyle]="field.element_style"
70
- // [value]="field.value"
71
- // (click)="initiateSign(field)"
72
- // (blur)="validateChanges(field)"
73
- // [disabled]="field.role!==roleName"
74
- // [id]="field.key"
75
- // <button _ngcontent-app-root-c342="" class="envelope__field" tabindex="1" ng-reflect-ng-style="[object Object]"
76
- // ng-reflect-ng-class="[object Object]" value="" id="signatureP5-1"
77
- // style="height: 100%; width: 100%; background: none; font-size: 11px; border: 1px solid rgb(204, 0, 0);"> Signature </button>
78
- // bottom: 229.333
79
- // px
80
- // ;
81
- // left: 169.333
82
- // px
83
- // ;
84
- // height: 41
85
- // px
86
- // ;
87
- // width: 82
88
- // px
89
- // ;
90
- // background-color: rgba(156, 39, 176, 0.4);
91
- // transform: scale(1.33333, 1.33333);
92
- // }
93
- // <style>
94
- // .envelope__item[_ngcontent-app-root-c342] {
95
- // position: absolute;
96
- // transform-origin: bottom left;
97
- // opacity: 1;
98
49
  async showSettingsPanel() {
99
50
  const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
100
51
  if (settingsPanel && settingsPanel.showPanel) {
@@ -106,11 +57,10 @@ export class VerdocsFieldPayment {
106
57
  if (settingsPanel && settingsPanel.hidePanel) {
107
58
  settingsPanel.hidePanel();
108
59
  }
109
- // TemplateStore.updateCount++;
110
60
  }
111
61
  render() {
112
62
  var _a, _b;
113
- const field = this.fieldStore.get(this.fieldname);
63
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
114
64
  if (!field) {
115
65
  return h(Fragment, null);
116
66
  }
@@ -35,14 +35,13 @@ export class VerdocsFieldRadioButton {
35
35
  if (settingsPanel && settingsPanel.hidePanel) {
36
36
  settingsPanel.hidePanel();
37
37
  }
38
- // TemplateStore.updateCount++;
39
38
  }
40
39
  async componentWillLoad() {
41
40
  this.fieldStore = getTemplateFieldStore(this.templateid);
42
41
  }
43
42
  render() {
44
43
  var _a, _b;
45
- const field = this.fieldStore.get(this.fieldname);
44
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
46
45
  if (!field) {
47
46
  return h(Fragment, null);
48
47
  }
@@ -59,14 +59,13 @@ export class VerdocsFieldSignature {
59
59
  if (settingsPanel && settingsPanel.hidePanel) {
60
60
  settingsPanel.hidePanel();
61
61
  }
62
- // TemplateStore.updateCount++;
63
62
  }
64
63
  async componentWillLoad() {
65
64
  this.fieldStore = getTemplateFieldStore(this.templateid);
66
65
  }
67
66
  render() {
68
67
  var _a, _b;
69
- const field = this.fieldStore.get(this.fieldname);
68
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
70
69
  if (!field) {
71
70
  return h(Fragment, null);
72
71
  }
@@ -39,7 +39,6 @@ export class VerdocsFieldTextarea {
39
39
  if (settingsPanel && settingsPanel.hidePanel) {
40
40
  settingsPanel.hidePanel();
41
41
  }
42
- // TemplateStore.updateCount++;
43
42
  }
44
43
  async componentWillLoad() {
45
44
  this.fieldStore = getTemplateFieldStore(this.templateid);
@@ -75,7 +74,7 @@ export class VerdocsFieldTextarea {
75
74
  Object.assign(e.target.dataset, { x, y, h });
76
75
  }
77
76
  handleResizeEnd(e) {
78
- const field = this.fieldStore.get(this.fieldname);
77
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
79
78
  const newSettings = { ...getFieldSettings(field) };
80
79
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
81
80
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
@@ -92,7 +91,7 @@ export class VerdocsFieldTextarea {
92
91
  }
93
92
  render() {
94
93
  var _a, _b;
95
- const field = this.fieldStore.get(this.fieldname);
94
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
96
95
  if (!field) {
97
96
  return h(Fragment, null);
98
97
  }
@@ -74,7 +74,7 @@ export class VerdocsFieldTextbox {
74
74
  Object.assign(e.target.dataset, { x, y, h });
75
75
  }
76
76
  handleResizeEnd(e) {
77
- const field = this.fieldStore.get(this.fieldname);
77
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
78
78
  const newSettings = { ...getFieldSettings(field) };
79
79
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
80
80
  newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
@@ -92,7 +92,7 @@ export class VerdocsFieldTextbox {
92
92
  }
93
93
  render() {
94
94
  var _a, _b;
95
- const field = this.fieldStore.get(this.fieldname);
95
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
96
96
  if (!field) {
97
97
  return h(Fragment, null);
98
98
  }
@@ -37,14 +37,13 @@ export class VerdocsFieldTimestamp {
37
37
  if (settingsPanel && settingsPanel.hidePanel) {
38
38
  settingsPanel.hidePanel();
39
39
  }
40
- // TemplateStore.updateCount++;
41
40
  }
42
41
  async componentWillLoad() {
43
42
  this.fieldStore = getTemplateFieldStore(this.templateid);
44
43
  }
45
44
  render() {
46
45
  var _a, _b;
47
- const field = this.fieldStore.get(this.fieldname);
46
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
48
47
  if (!field) {
49
48
  return h(Fragment, null);
50
49
  }
@@ -2,7 +2,7 @@ import uuidv4 from 'uuid-browser';
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { deleteField, updateField } from '@verdocs/js-sdk/Templates/Fields';
4
4
  import { h, Host } from '@stencil/core';
5
- import { createTemplateFieldStore } from '../../../utils/TemplateFieldStore';
5
+ import { createTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
6
6
  import { getTemplateStore } from '../../../utils/TemplateStore';
7
7
  import { SDKError } from '../../../utils/errors';
8
8
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
@@ -15,7 +15,6 @@ export class VerdocsTemplateFieldProperties {
15
15
  constructor() {
16
16
  this.templateStore = null;
17
17
  this.fieldStore = null;
18
- this.watcher = null;
19
18
  this.endpoint = VerdocsEndpoint.getDefault();
20
19
  this.templateId = '';
21
20
  this.fieldName = '';
@@ -56,7 +55,7 @@ export class VerdocsTemplateFieldProperties {
56
55
  createTemplateFieldStore(this.templateStore.state);
57
56
  this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
58
57
  // console.log('tfs', this.fieldStore?.state);
59
- const field = this.fieldStore.get(this.fieldName);
58
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldName);
60
59
  // console.log('gf', field);
61
60
  if (!field) {
62
61
  console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
@@ -64,25 +63,6 @@ export class VerdocsTemplateFieldProperties {
64
63
  else {
65
64
  console.log('props', field);
66
65
  }
67
- this.watcher = this.fieldStore.onChange(this.fieldName, (field) => {
68
- console.log('Field changed', field);
69
- // this.type = field.type;
70
- // this.name = field.name;
71
- // this.label = field.label;
72
- // this.group = field.name;
73
- // this.roleName = field.role_name;
74
- // this.required = field.required;
75
- // this.fieldType = field.type;
76
- // // TODO: Talk about how we want to handle labels/placeholders
77
- // this.placeholder = field.setting?.placeholder || '';
78
- // this.value = field.setting?.result || '';
79
- // this.leading = field.setting?.leading || 0;
80
- // this.setting = field.setting || {};
81
- // this.options = field.setting?.options || [];
82
- // this.dirty = false;
83
- // this.loading = false;
84
- });
85
- console.log('watcher', this.watcher);
86
66
  this.type = field.type;
87
67
  this.name = field.name;
88
68
  this.label = field.label;
@@ -109,7 +89,7 @@ export class VerdocsTemplateFieldProperties {
109
89
  handleCancel(e) {
110
90
  var _a, _b, _c, _d;
111
91
  e.stopPropagation();
112
- const field = this.fieldStore.get(this.fieldName);
92
+ const field = this.fieldStore.get('fields').find(field => field.name === this.fieldName);
113
93
  if (field) {
114
94
  this.name = field.name;
115
95
  this.label = field.label;
@@ -149,11 +129,19 @@ export class VerdocsTemplateFieldProperties {
149
129
  }
150
130
  console.log('FP: Will update', this.fieldName, newProperties);
151
131
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
152
- .then(field => {
132
+ .then(updated => {
153
133
  var _a, _b;
154
134
  this.dirty = false;
155
- this.updateField(field);
156
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field });
135
+ const newFields = [
136
+ ...this.fieldStore.get('fields').map(field => {
137
+ if (field.name !== this.fieldName) {
138
+ return field;
139
+ }
140
+ return { ...field, ...updated };
141
+ }),
142
+ ];
143
+ this.fieldStore.set('fields', newFields);
144
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field: updated });
157
145
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
158
146
  })
159
147
  .catch(() => {
@@ -187,29 +175,25 @@ export class VerdocsTemplateFieldProperties {
187
175
  delete newProperties.setting.result;
188
176
  newProperties.setting.options = [...this.options];
189
177
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
190
- .then(field => {
178
+ .then(updated => {
191
179
  var _a, _b;
192
180
  this.dirty = false;
193
- this.updateField(field);
194
- (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field });
181
+ updateStoreField(this.fieldStore, this.fieldName, updated);
182
+ this.fieldName = updated.name;
183
+ (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field: updated });
195
184
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
196
185
  })
197
186
  .catch(() => {
198
187
  console.log('Field update failed', e);
199
188
  });
200
189
  }
201
- updateField(newField) {
202
- const oldField = this.fieldStore.get(this.fieldName) || {};
203
- console.log('Updating field', this.fieldName, newField);
204
- Object.assign(oldField, newField);
205
- }
206
190
  async handleDelete(e) {
207
191
  e.stopPropagation();
208
192
  if (window.confirm('Are you sure you wish to remove this field? This action cannot be undone.')) {
209
193
  deleteField(this.endpoint, this.templateId, this.fieldName)
210
194
  .then(() => {
211
195
  var _a;
212
- this.fieldStore.set(this.fieldName, undefined);
196
+ this.fieldStore.set('fields', this.fieldStore.get('fields').filter(field => field.name !== this.fieldName));
213
197
  (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
214
198
  })
215
199
  .catch(e => {
@@ -224,7 +208,7 @@ export class VerdocsTemplateFieldProperties {
224
208
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
225
209
  }
226
210
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
227
- if (!this.endpoint.session || !this.fieldStore.get(this.fieldName)) {
211
+ if (!this.endpoint.session || !this.fieldStore.get('fields').some(field => field.name === this.fieldName)) {
228
212
  return h(Host, { class: "empty" });
229
213
  }
230
214
  if (this.helpText && this.showingHelp) {
@@ -333,7 +317,7 @@ export class VerdocsTemplateFieldProperties {
333
317
  },
334
318
  "fieldName": {
335
319
  "type": "string",
336
- "mutable": false,
320
+ "mutable": true,
337
321
  "complexType": {
338
322
  "original": "string",
339
323
  "resolved": "string",
@@ -5,7 +5,7 @@ import { createField, updateField } from '@verdocs/js-sdk/Templates/Fields';
5
5
  import { h, Host } from '@stencil/core';
6
6
  import { defaultHeight, defaultWidth, getRoleIndex, renderDocumentField, updateCssTransform } from '../../../utils/utils';
7
7
  import { getRoleNames, getTemplateStore } from '../../../utils/TemplateStore';
8
- import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
8
+ import { getTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
9
9
  import { getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
10
10
  import { SDKError } from '../../../utils/errors';
11
11
  const iconTextbox = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"><path fill="#ffffff" d="M3.425 16.15V13h11.15v3.15Zm0-5.15V7.85h17.15V11Z"/></svg>';
@@ -101,33 +101,12 @@ export class VerdocsTemplateFields {
101
101
  async handleFieldChange(field, e, optionId) {
102
102
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
103
103
  }
104
- handleFieldSettingsChange(pageInfo, field, el, newFieldData, oldName) {
105
- var _a, _b;
106
- // handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
107
- console.log('[FIELDS] Field settings changed', oldName, field.name, newFieldData);
108
- Object.assign(field, newFieldData);
109
- el.field = newFieldData;
110
- this.selectedRoleName = field.role_name;
111
- el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.templateStore), field.role_name));
112
- el.field = this.fieldStore.get(field.name);
113
- (_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' });
114
- // We do this to avoid dupes if the field gets renamed.
115
- if (field.name !== oldName) {
116
- console.log('[FIELDS] Renaming field', oldName, field.name);
117
- el.remove();
118
- delete this.fieldStore.state[oldName];
119
- }
120
- else {
121
- console.log('[FIELDS] Updating existing field', field.name);
122
- }
123
- // REMINDER: Do not access el past this point! It may have been removed from the DOM.
124
- console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber, field);
125
- this.fieldStore.set(field.name, field);
126
- this.reRenderField(field, pageInfo.pageNumber);
127
- }
128
104
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
129
105
  el.addEventListener('input', e => this.handleFieldChange(field, e));
130
- el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field, e.detail.fieldName));
106
+ el.addEventListener('settingsChanged', () => {
107
+ var _a, _b;
108
+ (_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' });
109
+ });
131
110
  el.addEventListener('deleted', () => {
132
111
  var _a, _b;
133
112
  console.log('[FIELDS] Deleted', this, field);
@@ -147,9 +126,7 @@ export class VerdocsTemplateFields {
147
126
  // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
148
127
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
149
128
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
150
- // Entries can be undefined when deleted because Stencil has no remove() operator yet for stores.
151
- // See https://github.com/ionic-team/stencil-store/issues/23
152
- const fields = Object.values(this.fieldStore.state).filter((field) => field && field.page_sequence === pageInfo.pageNumber);
129
+ const fields = this.fieldStore.get('fields').filter(field => field && field.page_sequence === pageInfo.pageNumber);
153
130
  console.log('[FIELDS] Page rendered', pageInfo, fields);
154
131
  fields.forEach((field) => this.reRenderField(field, pageInfo.pageNumber));
155
132
  }
@@ -191,9 +168,10 @@ export class VerdocsTemplateFields {
191
168
  updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
192
169
  }
193
170
  async handleMoveEnd(event) {
171
+ var _a, _b;
194
172
  const name = event.target.getAttribute('name');
195
173
  const option = +(event.target.getAttribute('option') || '0');
196
- const field = this.fieldStore.get(name);
174
+ const field = this.fieldStore.get('fields').find(field => field.name === name);
197
175
  if (!field) {
198
176
  console.log('[FIELDS] Unable to find field', name);
199
177
  return;
@@ -236,10 +214,10 @@ export class VerdocsTemplateFields {
236
214
  }
237
215
  console.log('[FIELDS] Will update', name, y, option, field);
238
216
  const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
239
- const pageInfo = this.cachedPageInfo[pageNumber];
240
- this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData, name);
217
+ updateStoreField(this.fieldStore, name, newFieldData);
241
218
  event.target.removeAttribute('posX');
242
219
  event.target.removeAttribute('posY');
220
+ (_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' });
243
221
  }
244
222
  generateFieldName(type, pageNumber) {
245
223
  let i = 1;
@@ -247,7 +225,7 @@ export class VerdocsTemplateFields {
247
225
  do {
248
226
  fieldName = `${type}P${pageNumber}-${i}`;
249
227
  i++;
250
- } while (Object.values(this.fieldStore.state).some(field => field && field.name === fieldName));
228
+ } while (this.fieldStore.get('fields').some(field => field && field.name === fieldName));
251
229
  return fieldName;
252
230
  }
253
231
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
@@ -352,10 +330,9 @@ export class VerdocsTemplateFields {
352
330
  }
353
331
  const saved = await createField(this.endpoint, this.templateId, field);
354
332
  console.log('[FIELDS] Saved field', saved);
355
- this.fieldStore.set(saved.name, saved);
333
+ this.fieldStore.set('fields', [...this.fieldStore.state.fields, saved]);
356
334
  this.placing = null;
357
335
  (_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' });
358
- this.reRenderField(saved, pageNumber);
359
336
  }
360
337
  }
361
338
  render() {
@@ -2,7 +2,7 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
2
2
  import { deleteRole, updateRole } from '@verdocs/js-sdk/Templates/Roles';
3
3
  import { h, Host } from '@stencil/core';
4
4
  import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
5
- import { createTemplateRoleStore } from '../../../utils/TemplateRoleStore';
5
+ import { createTemplateRoleStore, deleteStoreRole, updateStoreRole } from '../../../utils/TemplateRoleStore';
6
6
  import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
7
  import { getTemplateStore } from '../../../utils/TemplateStore';
8
8
  import { SDKError } from '../../../utils/errors';
@@ -43,7 +43,7 @@ export class VerdocsTemplateRoleProperties {
43
43
  this.templateStore = await getTemplateStore(this.endpoint, this.templateId, false);
44
44
  this.fieldStore = getTemplateFieldStore(this.templateId);
45
45
  this.roleStore = createTemplateRoleStore(this.templateStore.state);
46
- const editingRole = this.roleStore.get(this.roleName);
46
+ const editingRole = this.roleStore.state.roles.find(role => role.name === this.roleName);
47
47
  if (editingRole) {
48
48
  this.name = editingRole.name;
49
49
  this.type = editingRole.type;
@@ -62,7 +62,7 @@ export class VerdocsTemplateRoleProperties {
62
62
  handleCancel(e) {
63
63
  var _a;
64
64
  e.stopPropagation();
65
- const editingRole = this.roleStore.get(this.roleName);
65
+ const editingRole = this.roleStore.state.roles.find(role => role.name === this.roleName);
66
66
  if (editingRole) {
67
67
  this.name = editingRole.name;
68
68
  this.type = editingRole.type;
@@ -90,10 +90,7 @@ export class VerdocsTemplateRoleProperties {
90
90
  console.log('[ROLE_PROPERTIES] Update result', r);
91
91
  this.saving = false;
92
92
  this.dirty = false;
93
- this.roleStore.set(r.name, r);
94
- if (this.roleName !== r.name) {
95
- this.roleStore.set(this.roleName, undefined);
96
- }
93
+ updateStoreRole(this.roleStore, this.roleName, r);
97
94
  (_a = this.close) === null || _a === void 0 ? void 0 : _a.emit();
98
95
  })
99
96
  .catch(e => {
@@ -105,9 +102,9 @@ export class VerdocsTemplateRoleProperties {
105
102
  e.stopPropagation();
106
103
  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.')) {
107
104
  deleteRole(this.endpoint, this.templateId, this.roleName)
108
- .then(r => {
105
+ .then(() => {
109
106
  var _a;
110
- delete this.roleStore.state[r.name];
107
+ deleteStoreRole(this.roleStore, this.roleName);
111
108
  (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
112
109
  })
113
110
  .catch(e => {
@@ -116,7 +113,7 @@ export class VerdocsTemplateRoleProperties {
116
113
  }
117
114
  }
118
115
  render() {
119
- const hasFields = Object.values(this.fieldStore).findIndex(field => field.role_name === this.roleName) !== -1;
116
+ const hasFields = this.fieldStore.get('fields').some(field => field.role_name === this.roleName);
120
117
  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
121
118
  ? 'This role has fields assigned and can no longer be renamed.'
122
119
  : 'A unique name to identify the role in the workflow. Submitted data will also be tagged with this value.', placeholder: "Role Name...", onInput: (e) => {