@verdocs/web-sdk 2.3.11 → 2.3.13

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 (250) hide show
  1. package/dist/cjs/{EnvelopeStore-f8c301e1.js → EnvelopeStore-efc35530.js} +1 -1
  2. package/dist/cjs/{Envelopes-99ca79fe.js → Envelopes-0b9deb2c.js} +2 -6
  3. package/dist/cjs/TemplateFieldStore-7449e5ff.js +24 -0
  4. package/dist/cjs/{TemplateStore-192c6cf1.js → TemplateStore-0074c71d.js} +3 -1
  5. package/dist/cjs/{VerdocsEndpoint-33b643eb.js → VerdocsEndpoint-8f298664.js} +1 -186
  6. package/dist/cjs/ipc-test.cjs.entry.js +3 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{utils-a3f0b70a.js → utils-0916d10f.js} +1 -1
  9. package/dist/cjs/verdocs-activity-box.cjs.entry.js +2 -2
  10. package/dist/cjs/verdocs-auth.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-build.cjs.entry.js +3 -2
  12. package/dist/cjs/verdocs-button-panel_2.cjs.entry.js +61 -44
  13. package/dist/cjs/verdocs-contact-picker_3.cjs.entry.js +3 -3
  14. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +3 -3
  15. package/dist/cjs/verdocs-envelope-recipient-link_2.cjs.entry.js +3 -3
  16. package/dist/cjs/verdocs-envelope-sidebar.cjs.entry.js +3 -3
  17. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +3 -3
  18. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +2 -2
  19. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/verdocs-field-date.cjs.entry.js +2 -2
  21. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +2 -2
  22. package/dist/cjs/verdocs-field-initial.cjs.entry.js +2 -2
  23. package/dist/cjs/verdocs-field-payment.cjs.entry.js +2 -2
  24. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +2 -2
  25. package/dist/cjs/verdocs-field-signature.cjs.entry.js +2 -2
  26. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +3 -3
  27. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +13 -4
  28. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +2 -2
  29. package/dist/cjs/verdocs-file-chooser_2.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +2 -2
  31. package/dist/cjs/verdocs-preview_8.cjs.entry.js +5 -4
  32. package/dist/cjs/verdocs-quick-functions_2.cjs.entry.js +1 -1
  33. package/dist/cjs/verdocs-search.cjs.entry.js +1 -1
  34. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +3 -3
  35. package/dist/cjs/verdocs-settings.cjs.entry.js +1 -1
  36. package/dist/cjs/verdocs-sign.cjs.entry.js +3 -3
  37. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +3 -3
  38. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +44 -40
  39. package/dist/cjs/verdocs-template-star.cjs.entry.js +1 -1
  40. package/dist/cjs/verdocs-templates-list.cjs.entry.js +1 -1
  41. package/dist/cjs/verdocs-view.cjs.entry.js +3 -3
  42. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  43. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +27 -1
  44. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +61 -44
  45. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +40 -36
  46. package/dist/collection/utils/TemplateFieldStore.js +18 -0
  47. package/dist/collection/utils/TemplateStore.js +2 -0
  48. package/dist/components/Envelopes.js +2 -6
  49. package/dist/components/TemplateStore.js +20 -1
  50. package/dist/components/VerdocsEndpoint.js +1 -186
  51. package/dist/components/verdocs-field-textbox.js +10 -1
  52. package/dist/components/verdocs-preview2.js +1 -1
  53. package/dist/components/verdocs-template-field-properties2.js +61 -45
  54. package/dist/components/verdocs-template-fields2.js +40 -37
  55. package/dist/custom-elements.json +4 -0
  56. package/dist/docs.json +18 -1
  57. package/dist/esm/{EnvelopeStore-15cc99ef.js → EnvelopeStore-17c0bc52.js} +1 -1
  58. package/dist/esm/{Envelopes-21ffb899.js → Envelopes-627c5239.js} +2 -6
  59. package/dist/esm/TemplateFieldStore-4f1b6332.js +21 -0
  60. package/dist/esm/{TemplateStore-7149eda0.js → TemplateStore-a2ebdaca.js} +3 -1
  61. package/dist/esm/{VerdocsEndpoint-7922d31f.js → VerdocsEndpoint-56fa3371.js} +1 -186
  62. package/dist/esm/ipc-test.entry.js +3 -2
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/esm/{utils-e0ce2c22.js → utils-ca3121df.js} +1 -1
  65. package/dist/esm/verdocs-activity-box.entry.js +2 -2
  66. package/dist/esm/verdocs-auth.entry.js +1 -1
  67. package/dist/esm/verdocs-build.entry.js +3 -2
  68. package/dist/esm/verdocs-button-panel_2.entry.js +61 -44
  69. package/dist/esm/verdocs-contact-picker_3.entry.js +3 -3
  70. package/dist/esm/verdocs-envelope-document-page.entry.js +3 -3
  71. package/dist/esm/verdocs-envelope-recipient-link_2.entry.js +3 -3
  72. package/dist/esm/verdocs-envelope-sidebar.entry.js +3 -3
  73. package/dist/esm/verdocs-envelopes-list.entry.js +3 -3
  74. package/dist/esm/verdocs-field-attachment.entry.js +2 -2
  75. package/dist/esm/verdocs-field-checkbox.entry.js +2 -2
  76. package/dist/esm/verdocs-field-date.entry.js +2 -2
  77. package/dist/esm/verdocs-field-dropdown.entry.js +2 -2
  78. package/dist/esm/verdocs-field-initial.entry.js +2 -2
  79. package/dist/esm/verdocs-field-payment.entry.js +2 -2
  80. package/dist/esm/verdocs-field-radio-button.entry.js +2 -2
  81. package/dist/esm/verdocs-field-signature.entry.js +2 -2
  82. package/dist/esm/verdocs-field-textarea.entry.js +3 -3
  83. package/dist/esm/verdocs-field-textbox.entry.js +13 -4
  84. package/dist/esm/verdocs-field-timestamp.entry.js +2 -2
  85. package/dist/esm/verdocs-file-chooser_2.entry.js +1 -1
  86. package/dist/esm/verdocs-pagination_2.entry.js +2 -2
  87. package/dist/esm/verdocs-preview_8.entry.js +5 -4
  88. package/dist/esm/verdocs-quick-functions_2.entry.js +1 -1
  89. package/dist/esm/verdocs-search.entry.js +1 -1
  90. package/dist/esm/verdocs-settings-api-keys_4.entry.js +3 -3
  91. package/dist/esm/verdocs-settings.entry.js +1 -1
  92. package/dist/esm/verdocs-sign.entry.js +3 -3
  93. package/dist/esm/verdocs-template-document-page_2.entry.js +3 -3
  94. package/dist/esm/verdocs-template-fields_4.entry.js +44 -40
  95. package/dist/esm/verdocs-template-star.entry.js +1 -1
  96. package/dist/esm/verdocs-templates-list.entry.js +1 -1
  97. package/dist/esm/verdocs-view.entry.js +3 -3
  98. package/dist/esm/verdocs-web-sdk.js +1 -1
  99. package/dist/esm-es5/{EnvelopeStore-15cc99ef.js → EnvelopeStore-17c0bc52.js} +1 -1
  100. package/dist/esm-es5/Envelopes-627c5239.js +1 -0
  101. package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +1 -0
  102. package/dist/esm-es5/TemplateStore-a2ebdaca.js +1 -0
  103. package/dist/esm-es5/VerdocsEndpoint-56fa3371.js +1 -0
  104. package/dist/esm-es5/ipc-test.entry.js +1 -1
  105. package/dist/esm-es5/loader.js +1 -1
  106. package/dist/esm-es5/{utils-e0ce2c22.js → utils-ca3121df.js} +2 -2
  107. package/dist/esm-es5/verdocs-activity-box.entry.js +1 -1
  108. package/dist/esm-es5/verdocs-auth.entry.js +1 -1
  109. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  110. package/dist/esm-es5/verdocs-button-panel_2.entry.js +1 -1
  111. package/dist/esm-es5/verdocs-contact-picker_3.entry.js +1 -1
  112. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  113. package/dist/esm-es5/verdocs-envelope-recipient-link_2.entry.js +1 -1
  114. package/dist/esm-es5/verdocs-envelope-sidebar.entry.js +1 -1
  115. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  116. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  117. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  118. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  119. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  120. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  121. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  123. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  124. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-file-chooser_2.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-quick-functions_2.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-search.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-settings.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-template-star.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-templates-list.entry.js +1 -1
  139. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  140. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  141. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +7 -0
  142. package/dist/types/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.d.ts +7 -5
  143. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +4 -2
  144. package/dist/types/components.d.ts +8 -0
  145. package/dist/types/utils/TemplateFieldStore.d.ts +6 -0
  146. package/dist/types/utils/TemplateStore.d.ts +1 -1
  147. package/dist/verdocs-web-sdk/{p-ee159b14.js → p-02a71e03.js} +1 -1
  148. package/dist/verdocs-web-sdk/{p-f49cb84b.entry.js → p-035a3ce2.entry.js} +1 -1
  149. package/dist/verdocs-web-sdk/p-035f6b38.js +1 -0
  150. package/dist/verdocs-web-sdk/{p-8f8504e2.entry.js → p-05e6bc91.entry.js} +1 -1
  151. package/dist/verdocs-web-sdk/{p-0419a39f.system.entry.js → p-0685d939.system.entry.js} +1 -1
  152. package/dist/verdocs-web-sdk/p-084c23e4.system.js +1 -0
  153. package/dist/verdocs-web-sdk/{p-0c157d55.system.entry.js → p-0abf0058.system.entry.js} +1 -1
  154. package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +1 -0
  155. package/dist/verdocs-web-sdk/{p-9dcb8b6c.system.entry.js → p-17598002.system.entry.js} +1 -1
  156. package/dist/verdocs-web-sdk/{p-3f837e30.system.entry.js → p-17bf98f2.system.entry.js} +1 -1
  157. package/dist/verdocs-web-sdk/{p-3f5fb65b.entry.js → p-1a7aa04b.entry.js} +1 -1
  158. package/dist/verdocs-web-sdk/{p-7144ab8e.system.entry.js → p-1cb878c8.system.entry.js} +1 -1
  159. package/dist/verdocs-web-sdk/{p-6d70fc87.system.entry.js → p-1e38b22f.system.entry.js} +1 -1
  160. package/dist/verdocs-web-sdk/{p-ebc4142c.js → p-1f78be32.js} +1 -1
  161. package/dist/verdocs-web-sdk/{p-992f92f4.entry.js → p-22e0d2bc.entry.js} +1 -1
  162. package/dist/verdocs-web-sdk/{p-73b9ef06.entry.js → p-2ccbf54d.entry.js} +1 -1
  163. package/dist/verdocs-web-sdk/p-319c00bd.entry.js +1 -0
  164. package/dist/verdocs-web-sdk/p-32c40388.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/p-358aef29.entry.js +1 -0
  166. package/dist/verdocs-web-sdk/{p-1eb38c2e.entry.js → p-37dfdc84.entry.js} +1 -1
  167. package/dist/verdocs-web-sdk/p-3cd0d440.system.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/{p-9b66a84a.system.entry.js → p-3f3807b0.system.entry.js} +1 -1
  169. package/dist/verdocs-web-sdk/{p-1efd342e.entry.js → p-410c63e6.entry.js} +1 -1
  170. package/dist/verdocs-web-sdk/p-429cad70.js +1 -0
  171. package/dist/verdocs-web-sdk/{p-7b3fed68.entry.js → p-46624bec.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/{p-a59064f7.system.entry.js → p-4d98f194.system.entry.js} +1 -1
  173. package/dist/verdocs-web-sdk/{p-120f75b1.entry.js → p-4e47ed1c.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/p-4e74bb3c.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +1 -0
  176. package/dist/verdocs-web-sdk/{p-5f736f85.system.entry.js → p-59769c39.system.entry.js} +1 -1
  177. package/dist/verdocs-web-sdk/{p-39f3f620.system.entry.js → p-5aa77f6d.system.entry.js} +1 -1
  178. package/dist/verdocs-web-sdk/p-5bf12ef8.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/{p-083bdbc6.entry.js → p-6331d113.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/{p-2c47b92e.entry.js → p-637187de.entry.js} +1 -1
  181. package/dist/verdocs-web-sdk/{p-4a1bc6e3.system.entry.js → p-6685ff29.system.entry.js} +1 -1
  182. package/dist/verdocs-web-sdk/{p-1a3168af.system.entry.js → p-6dd69d82.system.entry.js} +1 -1
  183. package/dist/verdocs-web-sdk/p-72978ba3.system.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/{p-90d54d8a.system.entry.js → p-736fbb87.system.entry.js} +1 -1
  185. package/dist/verdocs-web-sdk/{p-fdf0a9de.entry.js → p-76f8c30a.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/{p-59c44eee.system.entry.js → p-7b30c523.system.entry.js} +1 -1
  187. package/dist/verdocs-web-sdk/{p-ce00ee85.entry.js → p-82d4afbf.entry.js} +1 -1
  188. package/dist/verdocs-web-sdk/{p-b0bf091c.system.js → p-840827b7.system.js} +1 -1
  189. package/dist/verdocs-web-sdk/{p-0d4739c4.system.entry.js → p-870707e8.system.entry.js} +1 -1
  190. package/dist/verdocs-web-sdk/p-8aae8d16.system.js +1 -0
  191. package/dist/verdocs-web-sdk/{p-8e0d6152.system.entry.js → p-8af68516.system.entry.js} +1 -1
  192. package/dist/verdocs-web-sdk/{p-7be5cb8c.entry.js → p-8b0a5309.entry.js} +1 -1
  193. package/dist/verdocs-web-sdk/p-8dc15d33.js +1 -0
  194. package/dist/verdocs-web-sdk/{p-16849f44.system.entry.js → p-9360b085.system.entry.js} +1 -1
  195. package/dist/verdocs-web-sdk/{p-e6b68ad5.entry.js → p-94009f45.entry.js} +1 -1
  196. package/dist/verdocs-web-sdk/{p-7e8d64fb.system.js → p-9615b087.system.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-9bf2d124.system.js +1 -0
  198. package/dist/verdocs-web-sdk/{p-345f88a3.system.entry.js → p-9ceff040.system.entry.js} +1 -1
  199. package/dist/verdocs-web-sdk/{p-6a13105b.entry.js → p-9fc06f7b.entry.js} +1 -1
  200. package/dist/verdocs-web-sdk/{p-2ec8a9be.entry.js → p-a40b3946.entry.js} +1 -1
  201. package/dist/verdocs-web-sdk/p-a627881e.system.js +1 -0
  202. package/dist/verdocs-web-sdk/p-aae6b4e0.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/{p-026eb575.system.entry.js → p-ac98f6f1.system.entry.js} +1 -1
  204. package/dist/verdocs-web-sdk/{p-38679b8e.system.entry.js → p-acc873cf.system.entry.js} +1 -1
  205. package/dist/verdocs-web-sdk/{p-7cbe51d8.system.entry.js → p-b6231fd3.system.entry.js} +1 -1
  206. package/dist/verdocs-web-sdk/{p-06fb711b.system.entry.js → p-b648ab63.system.entry.js} +1 -1
  207. package/dist/verdocs-web-sdk/{p-c58916d2.system.entry.js → p-b7a815e9.system.entry.js} +1 -1
  208. package/dist/verdocs-web-sdk/{p-6827df7b.entry.js → p-b91de346.entry.js} +1 -1
  209. package/dist/verdocs-web-sdk/{p-da1c0295.system.entry.js → p-ba653c39.system.entry.js} +1 -1
  210. package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +1 -0
  211. package/dist/verdocs-web-sdk/{p-f3a1060a.entry.js → p-c80237f9.entry.js} +1 -1
  212. package/dist/verdocs-web-sdk/{p-599fa850.entry.js → p-cf703fe4.entry.js} +1 -1
  213. package/dist/verdocs-web-sdk/{p-974b4c02.entry.js → p-d0a09719.entry.js} +1 -1
  214. package/dist/verdocs-web-sdk/{p-d2cee107.system.entry.js → p-d39e4a26.system.entry.js} +1 -1
  215. package/dist/verdocs-web-sdk/{p-ed639a7c.entry.js → p-d59b6988.entry.js} +1 -1
  216. package/dist/verdocs-web-sdk/{p-dd277e69.entry.js → p-d61fda4b.entry.js} +1 -1
  217. package/dist/verdocs-web-sdk/{p-393a9a2a.system.entry.js → p-d99a05e4.system.entry.js} +1 -1
  218. package/dist/verdocs-web-sdk/p-dc2ad047.js +1 -0
  219. package/dist/verdocs-web-sdk/{p-686139a0.entry.js → p-dd2c2edc.entry.js} +1 -1
  220. package/dist/verdocs-web-sdk/{p-47460aa0.entry.js → p-e1bc55f8.entry.js} +1 -1
  221. package/dist/verdocs-web-sdk/{p-32b26f8f.system.entry.js → p-e28878eb.system.entry.js} +1 -1
  222. package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +1 -0
  223. package/dist/verdocs-web-sdk/{p-fa1621c8.system.entry.js → p-e4dc3264.system.entry.js} +1 -1
  224. package/dist/verdocs-web-sdk/{p-9aff3ff0.entry.js → p-eeca4c30.entry.js} +1 -1
  225. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  226. package/dist/verdocs-web-sdk/{p-a7134b10.entry.js → p-f42c84f1.entry.js} +1 -1
  227. package/dist/verdocs-web-sdk/{p-f83a0c6e.system.entry.js → p-f6b7439f.system.entry.js} +1 -1
  228. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  229. package/package.json +2 -2
  230. package/dist/esm-es5/Envelopes-21ffb899.js +0 -1
  231. package/dist/esm-es5/TemplateStore-7149eda0.js +0 -1
  232. package/dist/esm-es5/VerdocsEndpoint-7922d31f.js +0 -1
  233. package/dist/verdocs-web-sdk/p-0549358c.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-05b3034f.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-14b08edd.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-19ff8f86.system.js +0 -1
  237. package/dist/verdocs-web-sdk/p-1fdb236c.system.js +0 -1
  238. package/dist/verdocs-web-sdk/p-2ccbcfeb.system.js +0 -1
  239. package/dist/verdocs-web-sdk/p-2fe75327.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-3019b350.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-401a49cb.system.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-4a3238f6.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-5a91bf23.js +0 -1
  244. package/dist/verdocs-web-sdk/p-5aee3e25.js +0 -1
  245. package/dist/verdocs-web-sdk/p-5f434764.system.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-6b1735f4.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-9c2bec77.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-b101fae2.js +0 -1
  249. package/dist/verdocs-web-sdk/p-d7dbeec3.system.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-ecb7ea02.entry.js +0 -1
@@ -2,6 +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
6
  import { getTemplateStore } from '../../../utils/TemplateStore';
6
7
  import { SDKError } from '../../../utils/errors';
7
8
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
@@ -12,21 +13,23 @@ const HelpIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="24" width="24"
12
13
  */
13
14
  export class VerdocsTemplateFieldProperties {
14
15
  constructor() {
15
- this.store = null;
16
+ this.templateStore = null;
17
+ this.fieldStore = null;
18
+ this.watcher = null;
16
19
  this.endpoint = VerdocsEndpoint.getDefault();
17
20
  this.templateId = '';
18
21
  this.fieldName = '';
19
22
  this.helpText = '';
20
23
  this.dirty = false;
21
24
  this.loading = true;
22
- this.type = 'signature';
23
25
  this.setting = null;
24
26
  this.label = '';
27
+ this.type = 'textbox';
25
28
  this.name = '';
29
+ this.required = false;
26
30
  this.roleName = '';
27
31
  this.group = '';
28
32
  this.fieldType = '';
29
- this.required = false;
30
33
  this.options = [];
31
34
  this.placeholder = '';
32
35
  this.value = '';
@@ -34,7 +37,7 @@ export class VerdocsTemplateFieldProperties {
34
37
  this.showingHelp = false;
35
38
  }
36
39
  async componentWillLoad() {
37
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
40
+ var _a, _b, _c, _d, _e, _f, _g;
38
41
  try {
39
42
  this.endpoint.loadSession();
40
43
  if (!this.templateId) {
@@ -49,11 +52,36 @@ export class VerdocsTemplateFieldProperties {
49
52
  console.log('[FIELD PROPERTIES] Unable to start builder session, must be authenticated');
50
53
  return;
51
54
  }
52
- this.store = await getTemplateStore(this.endpoint, this.templateId, false);
53
- const field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(field => field.name === this.fieldName);
55
+ this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
56
+ this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
57
+ const field = this.fieldStore.get(this.fieldName);
54
58
  if (!field) {
55
- console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in template`);
59
+ console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
60
+ }
61
+ else {
62
+ console.log('props', field);
56
63
  }
64
+ createTemplateFieldStore(this.templateStore.state);
65
+ this.watcher = this.fieldStore.onChange(this.fieldName, field => {
66
+ var _a, _b, _c, _d;
67
+ console.log('Field changed', field);
68
+ this.type = field.type;
69
+ this.name = field.name;
70
+ this.label = field.label;
71
+ this.group = field.name;
72
+ this.roleName = field.role_name;
73
+ this.required = field.required;
74
+ this.fieldType = field.type;
75
+ // TODO: Talk about how we want to handle labels/placeholders
76
+ this.placeholder = ((_a = field.setting) === null || _a === void 0 ? void 0 : _a.placeholder) || '';
77
+ this.value = ((_b = field.setting) === null || _b === void 0 ? void 0 : _b.result) || '';
78
+ this.leading = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.leading) || 0;
79
+ this.setting = field.setting || {};
80
+ this.options = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.options) || [];
81
+ this.dirty = false;
82
+ this.loading = false;
83
+ });
84
+ console.log('watcher', this.watcher);
57
85
  this.type = field.type;
58
86
  this.name = field.name;
59
87
  this.label = field.label;
@@ -62,36 +90,37 @@ export class VerdocsTemplateFieldProperties {
62
90
  this.required = field.required;
63
91
  this.fieldType = field.type;
64
92
  // TODO: Talk about how we want to handle labels/placeholders
65
- this.placeholder = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.placeholder) || '';
66
- this.value = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.result) || '';
67
- this.leading = ((_e = field.setting) === null || _e === void 0 ? void 0 : _e.leading) || 0;
93
+ this.placeholder = ((_a = field.setting) === null || _a === void 0 ? void 0 : _a.placeholder) || '';
94
+ this.value = ((_b = field.setting) === null || _b === void 0 ? void 0 : _b.result) || '';
95
+ this.leading = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.leading) || 0;
68
96
  this.setting = field.setting || {};
69
- this.options = ((_f = field.setting) === null || _f === void 0 ? void 0 : _f.options) || [];
97
+ this.options = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.options) || [];
70
98
  this.dirty = false;
71
99
  this.loading = false;
100
+ console.log('Displaying settings for', this.setting);
72
101
  }
73
102
  catch (e) {
74
103
  console.log('[FIELD PROPERTIES] Error loading template', e);
75
104
  this.loading = false;
76
- (_g = this.sdkError) === null || _g === void 0 ? void 0 : _g.emit(new SDKError(e.message, (_h = e.response) === null || _h === void 0 ? void 0 : _h.status, (_j = e.response) === null || _j === void 0 ? void 0 : _j.data));
105
+ (_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));
77
106
  }
78
107
  }
79
108
  handleCancel(e) {
80
- var _a, _b, _c, _d, _e, _f;
109
+ var _a, _b, _c, _d;
81
110
  e.stopPropagation();
82
- const field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(field => field.name === this.fieldName);
111
+ const field = this.fieldStore.get(this.fieldName);
83
112
  if (field) {
84
113
  this.name = field.name;
85
114
  this.label = field.label;
86
115
  this.roleName = field.role_name;
87
116
  this.required = field.required;
88
117
  // TODO: Talk about how we want to handle labels/placeholders
89
- this.placeholder = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.placeholder) || '';
90
- this.value = ((_d = field.setting) === null || _d === void 0 ? void 0 : _d.result) || '';
91
- this.leading = ((_e = field.setting) === null || _e === void 0 ? void 0 : _e.leading) || 0;
118
+ this.placeholder = ((_a = field.setting) === null || _a === void 0 ? void 0 : _a.placeholder) || '';
119
+ this.value = ((_b = field.setting) === null || _b === void 0 ? void 0 : _b.result) || '';
120
+ this.leading = ((_c = field.setting) === null || _c === void 0 ? void 0 : _c.leading) || 0;
92
121
  }
93
122
  this.dirty = false;
94
- (_f = this.close) === null || _f === void 0 ? void 0 : _f.emit();
123
+ (_d = this.close) === null || _d === void 0 ? void 0 : _d.emit();
95
124
  }
96
125
  handleSave(e) {
97
126
  e.stopPropagation();
@@ -117,6 +146,7 @@ export class VerdocsTemplateFieldProperties {
117
146
  options: this.options,
118
147
  };
119
148
  }
149
+ console.log('FP: Will update', newProperties);
120
150
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
121
151
  .then(field => {
122
152
  var _a, _b;
@@ -168,33 +198,19 @@ export class VerdocsTemplateFieldProperties {
168
198
  });
169
199
  }
170
200
  updateField(newField) {
171
- const newFields = [...this.store.state.fields];
172
- newFields.forEach(field => {
173
- if (field.name === this.fieldName) {
174
- Object.assign(field, newField);
175
- // field.name = this.name;
176
- // field.role_name = this.roleName;
177
- // field.required = this.required;
178
- // field.label = this.placeholder;
179
- // field.setting.result = this.defaultValue;
180
- // if (field.setting.options) {
181
- // field.setting.options = this.options;
182
- // }
183
- }
184
- });
185
- this.store.state.fields = newFields;
201
+ const oldField = this.fieldStore.get(this.fieldName) || {};
202
+ console.log('Updating field', newField, oldField);
203
+ Object.assign(oldField, newField);
204
+ this.fieldStore.set(this.fieldName, newField);
186
205
  }
187
206
  async handleDelete(e) {
188
207
  e.stopPropagation();
189
208
  if (window.confirm('Are you sure you wish to remove this field? This action cannot be undone.')) {
190
209
  deleteField(this.endpoint, this.templateId, this.fieldName)
191
210
  .then(() => {
192
- var _a, _b, _c, _d, _e;
193
- this.store.state.fields = [...(_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.filter(field => field.name !== this.fieldName)];
194
- (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.forEach(role => {
195
- role.fields = [...role.fields.filter(field => field.name !== this.fieldName)];
196
- });
197
- (_e = this.delete) === null || _e === void 0 ? void 0 : _e.emit({ templateId: this.templateId, roleName: this.roleName });
211
+ var _a;
212
+ this.fieldStore.set(this.fieldName, undefined);
213
+ (_a = this.delete) === null || _a === void 0 ? void 0 : _a.emit({ templateId: this.templateId, roleName: this.roleName });
198
214
  })
199
215
  .catch(e => {
200
216
  console.log('[FIELD PROPERTIES] Deletion error', e);
@@ -202,12 +218,13 @@ export class VerdocsTemplateFieldProperties {
202
218
  }
203
219
  }
204
220
  render() {
205
- var _a, _b, _c, _d;
221
+ var _a;
222
+ // console.log('Rendering field properties', this.fieldStore.get(this.fieldName));
206
223
  if (!this.endpoint.session) {
207
224
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
208
225
  }
209
226
  // This is meant to be a companion for larger visual experiences so we just go blank on errors for now.
210
- if (!this.endpoint.session || !((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.isLoaded)) {
227
+ if (!this.endpoint.session || !this.fieldStore.get(this.fieldName)) {
211
228
  return h(Host, { class: "empty" });
212
229
  }
213
230
  if (this.helpText && this.showingHelp) {
@@ -223,7 +240,7 @@ export class VerdocsTemplateFieldProperties {
223
240
  placeholder: "Optional Label...", onInput: (e) => {
224
241
  this.label = e.target.value;
225
242
  this.dirty = true;
226
- } })), h("div", { class: "row" }, h("div", { class: "input-label" }, "Role:"), h("verdocs-select-input", { value: this.roleName, options: (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles.map(role => ({ label: role.name, value: role.name })), onInput: (e) => {
243
+ } })), 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) => {
227
244
  this.roleName = e.target.value;
228
245
  this.dirty = true;
229
246
  } })), ['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) => {
@@ -355,14 +372,14 @@ export class VerdocsTemplateFieldProperties {
355
372
  return {
356
373
  "dirty": {},
357
374
  "loading": {},
358
- "type": {},
359
375
  "setting": {},
360
376
  "label": {},
377
+ "type": {},
361
378
  "name": {},
379
+ "required": {},
362
380
  "roleName": {},
363
381
  "group": {},
364
382
  "fieldType": {},
365
- "required": {},
366
383
  "options": {},
367
384
  "placeholder": {},
368
385
  "value": {},
@@ -4,6 +4,7 @@ import { integerSequence } from '@verdocs/js-sdk/Utils/Primitives';
4
4
  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
+ import { createTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
8
  import { getRoleNames, getTemplateStore } from '../../../utils/TemplateStore';
8
9
  import { SDKError } from '../../../utils/errors';
9
10
  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>';
@@ -39,7 +40,8 @@ const menuOptions = [
39
40
  export class VerdocsTemplateFields {
40
41
  constructor() {
41
42
  this.pageHeights = {};
42
- this.store = null;
43
+ this.templateStore = null;
44
+ this.fieldStore = null;
43
45
  this.cachedPageInfo = {};
44
46
  this.endpoint = VerdocsEndpoint.getDefault();
45
47
  this.templateId = null;
@@ -61,9 +63,10 @@ export class VerdocsTemplateFields {
61
63
  console.log('[FIELDS] Unable to start builder session, must be authenticated');
62
64
  return;
63
65
  }
64
- this.store = await getTemplateStore(this.endpoint, this.templateId, true);
65
- console.log(`[FIELDS] Loaded template ${this.templateId}`, this.store.state);
66
- this.selectedRoleName = ((_d = (_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[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
66
+ this.templateStore = await getTemplateStore(this.endpoint, this.templateId, true);
67
+ this.fieldStore = createTemplateFieldStore(this.templateStore.state);
68
+ console.log(`[FIELDS] Loaded template ${this.templateId}`, this.templateStore.state, this.fieldStore);
69
+ this.selectedRoleName = ((_d = (_c = (_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.name) || '';
67
70
  console.log('[FIELDS] Starting with role', this.selectedRoleName);
68
71
  }
69
72
  catch (e) {
@@ -84,8 +87,8 @@ export class VerdocsTemplateFields {
84
87
  componentWillUpdate() {
85
88
  var _a, _b, _c, _d, _e, _f;
86
89
  // If a new role was added and there were none yet so far, or the "selected" role was deleted, reset our selection
87
- if (!this.selectedRoleName || !(((_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) || []).find(role => role.name === this.selectedRoleName)) {
88
- this.selectedRoleName = ((_f = (_e = (_d = (_c = this.store) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.name) || '';
90
+ if (!this.selectedRoleName || !(((_b = (_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.roles) || []).find(role => role.name === this.selectedRoleName)) {
91
+ this.selectedRoleName = ((_f = (_e = (_d = (_c = this.templateStore) === null || _c === void 0 ? void 0 : _c.state) === null || _d === void 0 ? void 0 : _d.roles) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.name) || '';
89
92
  console.log('[FIELDS] Selected new role', this.selectedRoleName);
90
93
  }
91
94
  }
@@ -99,35 +102,39 @@ export class VerdocsTemplateFields {
99
102
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
100
103
  this.rerender++;
101
104
  }
102
- handleFieldSettingsChange(pageInfo, field, roleIndex, el, newFieldData) {
103
- var _a, _b, _c, _d;
105
+ handleFieldSettingsChange(pageInfo, field, el, newFieldData) {
106
+ var _a, _b;
107
+ // handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
104
108
  console.log('[FIELDS] Field settings changed', field.name, newFieldData);
105
109
  Object.assign(field, newFieldData);
106
110
  el.field = newFieldData;
107
111
  this.selectedRoleName = field.role_name;
108
- el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.store), field.role_name));
109
- el.field = (_b = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state) === null || _b === void 0 ? void 0 : _b.fields.find(f => f.name === field.name);
112
+ el.setAttribute('roleindex', getRoleIndex(getRoleNames(this.templateStore), field.role_name));
113
+ el.field = this.fieldStore.get(field.name);
110
114
  this.rerender++;
111
115
  el.setAttribute('rerender', this.rerender);
112
- (_c = this.templateUpdated) === null || _c === void 0 ? void 0 : _c.emit({ endpoint: this.endpoint, template: (_d = this.store) === null || _d === void 0 ? void 0 : _d.state, event: 'updated-field' });
116
+ (_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' });
113
117
  console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
114
- this.reRenderField(field, pageInfo.pageNumber);
115
- const newEl = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
116
- if (!newEl) {
117
- return;
118
- }
118
+ this.fieldStore.set(field.name, field);
119
+ // this.reRenderField(field, pageInfo.pageNumber);
120
+ // const newEl = renderDocumentField(field, pageInfo, roleIndex, {disabled: true, editable: true, draggable: true});
121
+ // if (!newEl) {
122
+ // return;
123
+ // }
119
124
  }
120
125
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
121
126
  el.addEventListener('input', e => this.handleFieldChange(field, e));
122
- el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
127
+ el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field));
128
+ // el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
123
129
  el.addEventListener('deleted', () => {
124
130
  var _a, _b;
125
131
  console.log('[FIELDS] Deleted', this, field);
126
132
  el.remove();
127
133
  this.rerender++;
128
- (_a = this.templateUpdated) === null || _a === void 0 ? void 0 : _a.emit({ endpoint: this.endpoint, template: (_b = this.store) === null || _b === void 0 ? void 0 : _b.state, event: 'updated-field' });
134
+ (_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' });
129
135
  });
130
136
  el.setAttribute('templateid', this.templateId);
137
+ el.setAttribute('fieldname', field.name);
131
138
  el.setAttribute('roleindex', roleIndex);
132
139
  el.setAttribute('pageNumber', pageInfo.pageNumber);
133
140
  el.setAttribute('xScale', pageInfo.xScale);
@@ -135,17 +142,16 @@ export class VerdocsTemplateFields {
135
142
  el.setAttribute('name', field.name);
136
143
  }
137
144
  handlePageRendered(e) {
138
- var _a;
139
145
  const pageInfo = e.detail;
140
146
  console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
141
147
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
142
148
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
143
- const fields = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.filter(field => field.page_sequence === pageInfo.pageNumber);
149
+ const fields = Object.values(this.fieldStore.state).filter(field => field.page_sequence === pageInfo.pageNumber);
144
150
  fields.forEach(field => this.reRenderField(field, pageInfo.pageNumber));
145
151
  }
146
152
  reRenderField(field, pageNumber) {
147
153
  const pageInfo = this.cachedPageInfo[pageNumber];
148
- const roleIndex = getRoleIndex(getRoleNames(this.store), field.role_name);
154
+ const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
149
155
  const el = renderDocumentField(field, pageInfo, roleIndex, { disabled: true, editable: true, draggable: true });
150
156
  if (!el) {
151
157
  return;
@@ -181,10 +187,9 @@ export class VerdocsTemplateFields {
181
187
  updateCssTransform(event.target, 'translate', `${newX}px, ${newY}px`);
182
188
  }
183
189
  async handleMoveEnd(event) {
184
- var _a;
185
190
  const name = event.target.getAttribute('name');
186
191
  const option = +(event.target.getAttribute('option') || '0');
187
- const field = (_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.find(field => field.name === name);
192
+ const field = this.fieldStore.get(name);
188
193
  console.log('Dropped field', name, field);
189
194
  if (!field) {
190
195
  console.log('[FIELDS] Unable to find field', name);
@@ -231,19 +236,19 @@ export class VerdocsTemplateFields {
231
236
  console.log('[FIELDS] Will update', name, option, field);
232
237
  const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
233
238
  const pageInfo = this.cachedPageInfo[pageNumber];
234
- const roleIndex = getRoleIndex(getRoleNames(this.store), field.role_name);
235
- this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
239
+ // const roleIndex = getRoleIndex(getRoleNames(this.templateStore), field.role_name);
240
+ this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData);
241
+ // this.handleFieldSettingsChange(pageInfo, field, roleIndex, event.target, newFieldData);
236
242
  event.target.removeAttribute('posX');
237
243
  event.target.removeAttribute('posY');
238
244
  }
239
245
  generateFieldName(type, pageNumber) {
240
- var _a;
241
246
  let i = 1;
242
247
  let fieldName;
243
248
  do {
244
249
  fieldName = `${type}P${pageNumber}-${i}`;
245
250
  i++;
246
- } while ((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields.some(field => field.name === fieldName));
251
+ } while (Object.values(this.fieldStore.state).some(field => field.name === fieldName));
247
252
  return fieldName;
248
253
  }
249
254
  // Scale the X,Y clicks to the virtual page dimensions. Also ensure the field doesn't go off the page.
@@ -255,7 +260,7 @@ export class VerdocsTemplateFields {
255
260
  return { x, y };
256
261
  }
257
262
  async handleClickPage(e, pageNumber) {
258
- var _a, _b, _c;
263
+ var _a, _b;
259
264
  if (this.placing) {
260
265
  const clickedX = e.offsetX;
261
266
  const clickedY = e.offsetY;
@@ -282,6 +287,7 @@ export class VerdocsTemplateFields {
282
287
  width,
283
288
  height,
284
289
  };
290
+ console.log('[FIELDS] Will save new field', field);
285
291
  // TODO: Fix how the server validates all this. It uses a JSON schema and is very particular about shapes for each field type.
286
292
  // That makes it harder for third party developers to create fields via API calls. It would be better to always set X/Y and
287
293
  // let the server normalize the rest, discarding properties that are invalid and back-filling defaults as needed.
@@ -348,11 +354,9 @@ export class VerdocsTemplateFields {
348
354
  }
349
355
  const saved = await createField(this.endpoint, this.templateId, field);
350
356
  console.log('Saved field', saved);
351
- if (this.store.state) {
352
- this.store.state.fields = [...(_a = this.store) === null || _a === void 0 ? void 0 : _a.state.fields, saved];
353
- }
357
+ this.fieldStore.set(saved.name, saved);
354
358
  this.placing = null;
355
- (_b = this.templateUpdated) === null || _b === void 0 ? void 0 : _b.emit({ endpoint: this.endpoint, template: (_c = this.store) === null || _c === void 0 ? void 0 : _c.state, event: 'added-field' });
359
+ (_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' });
356
360
  this.handlePageRendered({ detail: this.cachedPageInfo[pageNumber] });
357
361
  }
358
362
  }
@@ -363,10 +367,10 @@ export class VerdocsTemplateFields {
363
367
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
364
368
  }
365
369
  // TODO: Render a better error
366
- if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
370
+ if (!((_a = this.templateStore) === null || _a === void 0 ? void 0 : _a.state.isLoaded)) {
367
371
  return (h(Host, null, h("verdocs-loader", null)));
368
372
  }
369
- const selectableRoles = (_c = (_b = this.store) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
373
+ const selectableRoles = (_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.roles.map(role => ({ value: role.name, label: role.name }));
370
374
  return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
371
375
  console.log('onSubmit');
372
376
  } }, h("div", { id: "verdocs-template-fields-toolbar" }, h("div", { class: "add-for" }, "Add field:"), h("verdocs-select-input", { value: this.selectedRoleName, options: selectableRoles, onInput: (e) => (this.selectedRoleName = e.target.value) }), menuOptions.map(option => (h("verdocs-toolbar-icon", { text: option.tooltip, icon: option.icon, onClick: () => {
@@ -380,13 +384,13 @@ export class VerdocsTemplateFields {
380
384
  this.showMustSelectRole = true;
381
385
  }
382
386
  }
383
- } })))), h("div", { class: "pages" }, (((_e = (_d = this.store) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.template_documents) || []).map(document => {
387
+ } })))), h("div", { class: "pages" }, (((_e = (_d = this.templateStore) === null || _d === void 0 ? void 0 : _d.state) === null || _e === void 0 ? void 0 : _e.template_documents) || []).map(document => {
384
388
  const pageNumbers = integerSequence(1, document.page_numbers);
385
389
  return pageNumbers.map(page => (h("verdocs-template-document-page", { templateId: this.templateId, documentId: document.id, pageNumber: page, virtualWidth: 612, virtualHeight: 792, onClick: (e) => this.handleClickPage(e, page), onPageRendered: e => this.handlePageRendered(e), layers: [
386
390
  { name: 'page', type: 'canvas' },
387
391
  { name: 'controls', type: 'div' },
388
392
  ] })));
389
- })), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.store) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.roles) === null || _h === void 0 ? void 0 : _h.length) > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
393
+ })), this.showMustSelectRole && (h("verdocs-ok-dialog", { heading: "Unable to add field", message: ((_h = (_g = (_f = this.templateStore) === null || _f === void 0 ? void 0 : _f.state) === null || _g === void 0 ? void 0 : _g.roles) === null || _h === void 0 ? void 0 : _h.length) > 0 ? 'Please select a role before adding fields.' : 'Please add at least one role before adding fields.', onNext: () => (this.showMustSelectRole = false) }))));
390
394
  }
391
395
  static get is() { return "verdocs-template-fields"; }
392
396
  static get originalStyleUrls() {
@@ -0,0 +1,18 @@
1
+ import { createStore } from '@stencil/store';
2
+ const templateFieldStores = {};
3
+ export const getTemplateFieldStore = (templateId) => templateFieldStores[templateId];
4
+ export const createTemplateFieldStore = (template) => {
5
+ console.log('Creating template field store for template: ', template);
6
+ let store = getTemplateFieldStore(template.id);
7
+ if (!store) {
8
+ store = createStore({});
9
+ templateFieldStores[template.id] = store;
10
+ }
11
+ else {
12
+ store.reset();
13
+ }
14
+ template.fields.forEach(field => {
15
+ store.set(field.name, field);
16
+ });
17
+ return store;
18
+ };
@@ -1,6 +1,7 @@
1
1
  import { createStore } from '@stencil/store';
2
2
  import { getTemplate } from '@verdocs/js-sdk/Templates/Templates';
3
3
  import { TemplateSenderTypes } from '@verdocs/js-sdk/Templates/Types';
4
+ import { createTemplateFieldStore } from "./TemplateFieldStore";
4
5
  const createTemplateStore = (templateId) => {
5
6
  const now = new Date().toISOString();
6
7
  return createStore({
@@ -79,6 +80,7 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
79
80
  store.state.isLoading = false;
80
81
  store.state.updateCount++;
81
82
  }
83
+ createTemplateFieldStore(store.state);
82
84
  return store;
83
85
  };
84
86
  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); };
@@ -96,6 +96,7 @@ var getSummary = function (endpoint, page) { return __awaiter(void 0, void 0, vo
96
96
  */
97
97
  var getSigningSession = function (endpoint, params) { return __awaiter(void 0, void 0, void 0, function () {
98
98
  return __generator(this, function (_a) {
99
+ window.console.log('[JS_SDK] getSigningSession', params, endpoint.api);
99
100
  return [2 /*return*/, endpoint.api //
100
101
  .get("/envelopes/".concat(params.envelopeId, "/recipients/").concat(encodeURIComponent(params.roleId), "/invitation/").concat(params.inviteCode))
101
102
  .then(function (r) {
@@ -223,12 +224,7 @@ var getEnvelopeDocumentPageDisplayUri = function (endpoint, envelopeId, document
223
224
  return __awaiter(void 0, void 0, void 0, function () {
224
225
  return __generator(this, function (_a) {
225
226
  return [2 /*return*/, endpoint.api
226
- .get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "/pages/").concat(page, "/image?type=").concat(type), {
227
- timeout: 20000,
228
- 'axios-retry': {
229
- retries: 5,
230
- },
231
- })
227
+ .get("/envelopes/".concat(envelopeId, "/envelope_documents/").concat(documentId, "/pages/").concat(page, "/image?type=").concat(type), { timeout: 20000 })
232
228
  .then(function (r) { return r.data; })];
233
229
  });
234
230
  });
@@ -1,6 +1,24 @@
1
1
  import { c as createStore } from './index4.js';
2
2
  import { g as getTemplate, b as TemplateSenderTypes } from './VerdocsEndpoint.js';
3
3
 
4
+ const templateFieldStores = {};
5
+ const getTemplateFieldStore = (templateId) => templateFieldStores[templateId];
6
+ const createTemplateFieldStore = (template) => {
7
+ console.log('Creating template field store for template: ', template);
8
+ let store = getTemplateFieldStore(template.id);
9
+ if (!store) {
10
+ store = createStore({});
11
+ templateFieldStores[template.id] = store;
12
+ }
13
+ else {
14
+ store.reset();
15
+ }
16
+ template.fields.forEach(field => {
17
+ store.set(field.name, field);
18
+ });
19
+ return store;
20
+ };
21
+
4
22
  const createTemplateStore = (templateId) => {
5
23
  const now = new Date().toISOString();
6
24
  return createStore({
@@ -79,8 +97,9 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
79
97
  store.state.isLoading = false;
80
98
  store.state.updateCount++;
81
99
  }
100
+ createTemplateFieldStore(store.state);
82
101
  return store;
83
102
  };
84
103
  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); };
85
104
 
86
- export { getRoleNames as a, getTemplateStore as g };
105
+ export { getTemplateFieldStore as a, getRoleNames as b, createTemplateFieldStore as c, getTemplateStore as g };