@verdocs/web-sdk 2.3.16 → 2.3.19

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 (255) hide show
  1. package/dist/cjs/TemplateFieldStore-40e85b9d.js +42 -0
  2. package/dist/cjs/{TemplateStore-0074c71d.js → TemplateStore-6a75cdac.js} +2 -2
  3. package/dist/cjs/ipc-test.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-0916d10f.js → utils-aeaf4a31.js} +4 -0
  6. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  7. package/dist/cjs/verdocs-button-panel.cjs.entry.js +80 -0
  8. package/dist/cjs/{verdocs-contact-picker_3.cjs.entry.js → verdocs-contact-picker_2.cjs.entry.js} +1 -73
  9. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -1
  10. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -1
  11. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +24 -11
  12. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +27 -10
  13. package/dist/cjs/verdocs-field-date.cjs.entry.js +29 -12
  14. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +26 -10
  15. package/dist/cjs/verdocs-field-initial.cjs.entry.js +27 -11
  16. package/dist/cjs/verdocs-field-payment.cjs.entry.js +19 -9
  17. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +28 -12
  18. package/dist/cjs/verdocs-field-signature.cjs.entry.js +27 -11
  19. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +29 -14
  20. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +27 -20
  21. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +28 -12
  22. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -1
  23. package/dist/cjs/{verdocs-button-panel_2.cjs.entry.js → verdocs-portal_2.cjs.entry.js} +80 -81
  24. package/dist/cjs/verdocs-preview_8.cjs.entry.js +3 -3
  25. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -1
  26. package/dist/cjs/verdocs-sign.cjs.entry.js +17 -7
  27. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +1 -1
  28. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +26 -28
  29. package/dist/cjs/verdocs-view.cjs.entry.js +1 -1
  30. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  31. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +16 -7
  32. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.stories.js +3 -3
  33. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.css +14 -0
  34. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +36 -26
  35. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.css +14 -0
  36. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +75 -25
  37. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +14 -0
  38. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +75 -29
  39. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.css +14 -0
  40. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +74 -25
  41. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.css +14 -0
  42. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +71 -26
  43. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.css +14 -0
  44. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +64 -25
  45. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.css +14 -0
  46. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +76 -27
  47. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.css +14 -0
  48. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +71 -26
  49. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.css +14 -0
  50. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +41 -29
  51. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +14 -0
  52. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +30 -43
  53. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.css +14 -0
  54. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +76 -27
  55. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.css +6 -0
  56. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +22 -21
  57. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +23 -25
  58. package/dist/collection/utils/TemplateFieldStore.js +18 -1
  59. package/dist/collection/utils/TemplateStore.js +6 -2
  60. package/dist/collection/utils/utils.js +4 -7
  61. package/dist/components/EnvelopeStore.js +1 -1
  62. package/dist/components/Envelopes.js +1 -1
  63. package/dist/components/TemplateFieldStore.js +38 -0
  64. package/dist/components/TemplateStore.js +3 -20
  65. package/dist/components/utils.js +5 -1
  66. package/dist/components/verdocs-button-panel.js +94 -1
  67. package/dist/components/verdocs-envelope-document-page2.js +1 -1
  68. package/dist/components/verdocs-field-attachment.js +34 -21
  69. package/dist/components/verdocs-field-checkbox.js +39 -20
  70. package/dist/components/verdocs-field-date.js +42 -23
  71. package/dist/components/verdocs-field-dropdown.js +38 -20
  72. package/dist/components/verdocs-field-initial.js +41 -23
  73. package/dist/components/verdocs-field-payment.js +22 -10
  74. package/dist/components/verdocs-field-radio-button.js +40 -22
  75. package/dist/components/verdocs-field-signature.js +39 -21
  76. package/dist/components/verdocs-field-textarea.js +39 -24
  77. package/dist/components/verdocs-field-textbox.js +36 -29
  78. package/dist/components/verdocs-field-timestamp.js +40 -22
  79. package/dist/components/verdocs-preview2.js +1 -1
  80. package/dist/components/verdocs-send2.js +1 -1
  81. package/dist/components/verdocs-sign.js +16 -7
  82. package/dist/components/verdocs-template-field-properties2.js +25 -23
  83. package/dist/components/verdocs-template-fields2.js +25 -26
  84. package/dist/components/verdocs-view2.js +1 -1
  85. package/dist/docs.json +398 -167
  86. package/dist/esm/TemplateFieldStore-295f240e.js +38 -0
  87. package/dist/esm/{TemplateStore-a2ebdaca.js → TemplateStore-3994341c.js} +2 -2
  88. package/dist/esm/ipc-test.entry.js +2 -2
  89. package/dist/esm/loader.js +1 -1
  90. package/dist/esm/{utils-ca3121df.js → utils-f76f3448.js} +4 -0
  91. package/dist/esm/verdocs-build.entry.js +2 -2
  92. package/dist/{components/verdocs-button-panel2.js → esm/verdocs-button-panel.entry.js} +8 -28
  93. package/dist/esm/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +2 -73
  94. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -1
  95. package/dist/esm/verdocs-envelopes-list.entry.js +1 -1
  96. package/dist/esm/verdocs-field-attachment.entry.js +25 -12
  97. package/dist/esm/verdocs-field-checkbox.entry.js +28 -11
  98. package/dist/esm/verdocs-field-date.entry.js +30 -13
  99. package/dist/esm/verdocs-field-dropdown.entry.js +27 -11
  100. package/dist/esm/verdocs-field-initial.entry.js +28 -12
  101. package/dist/esm/verdocs-field-payment.entry.js +20 -10
  102. package/dist/esm/verdocs-field-radio-button.entry.js +29 -13
  103. package/dist/esm/verdocs-field-signature.entry.js +28 -12
  104. package/dist/esm/verdocs-field-textarea.entry.js +30 -15
  105. package/dist/esm/verdocs-field-textbox.entry.js +28 -21
  106. package/dist/esm/verdocs-field-timestamp.entry.js +29 -13
  107. package/dist/esm/verdocs-pagination_2.entry.js +1 -1
  108. package/dist/esm/{verdocs-button-panel_2.entry.js → verdocs-portal_2.entry.js} +81 -82
  109. package/dist/esm/verdocs-preview_8.entry.js +3 -3
  110. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -1
  111. package/dist/esm/verdocs-sign.entry.js +18 -8
  112. package/dist/esm/verdocs-template-document-page_2.entry.js +1 -1
  113. package/dist/esm/verdocs-template-fields_4.entry.js +26 -28
  114. package/dist/esm/verdocs-view.entry.js +1 -1
  115. package/dist/esm/verdocs-web-sdk.js +1 -1
  116. package/dist/esm-es5/TemplateFieldStore-295f240e.js +1 -0
  117. package/dist/esm-es5/{TemplateStore-a2ebdaca.js → TemplateStore-3994341c.js} +1 -1
  118. package/dist/esm-es5/ipc-test.entry.js +1 -1
  119. package/dist/esm-es5/loader.js +1 -1
  120. package/dist/esm-es5/{utils-ca3121df.js → utils-f76f3448.js} +1 -1
  121. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  122. package/dist/esm-es5/verdocs-button-panel.entry.js +1 -0
  123. package/dist/esm-es5/{verdocs-contact-picker_3.entry.js → verdocs-contact-picker_2.entry.js} +1 -1
  124. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  125. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  126. package/dist/esm-es5/verdocs-field-attachment.entry.js +1 -1
  127. package/dist/esm-es5/verdocs-field-checkbox.entry.js +1 -1
  128. package/dist/esm-es5/verdocs-field-date.entry.js +1 -1
  129. package/dist/esm-es5/verdocs-field-dropdown.entry.js +1 -1
  130. package/dist/esm-es5/verdocs-field-initial.entry.js +1 -1
  131. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  132. package/dist/esm-es5/verdocs-field-radio-button.entry.js +1 -1
  133. package/dist/esm-es5/verdocs-field-signature.entry.js +1 -1
  134. package/dist/esm-es5/verdocs-field-textarea.entry.js +1 -1
  135. package/dist/esm-es5/verdocs-field-textbox.entry.js +1 -1
  136. package/dist/esm-es5/verdocs-field-timestamp.entry.js +1 -1
  137. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  138. package/dist/esm-es5/verdocs-portal_2.entry.js +1 -0
  139. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  140. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  141. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  142. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +1 -1
  143. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  144. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  145. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  146. package/dist/types/components/embeds/verdocs-sign/verdocs-sign.d.ts +1 -0
  147. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +7 -4
  148. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +15 -4
  149. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +14 -3
  150. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +15 -4
  151. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +14 -3
  152. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +13 -3
  153. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +15 -4
  154. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +15 -4
  155. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +7 -4
  156. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +1 -5
  157. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +15 -4
  158. package/dist/types/components/templates/verdocs-template-fields/verdocs-template-fields.d.ts +1 -1
  159. package/dist/types/components.d.ts +171 -51
  160. package/dist/types/utils/TemplateFieldStore.d.ts +3 -1
  161. package/dist/types/utils/utils.d.ts +0 -1
  162. package/dist/verdocs-web-sdk/p-040620ca.system.entry.js +1 -0
  163. package/dist/verdocs-web-sdk/p-07f0bcae.entry.js +1 -0
  164. package/dist/verdocs-web-sdk/p-0aec8a25.system.entry.js +1 -0
  165. package/dist/verdocs-web-sdk/{p-05e6bc91.entry.js → p-126c423d.entry.js} +1 -1
  166. package/dist/verdocs-web-sdk/p-2458bbc0.system.entry.js +1 -0
  167. package/dist/verdocs-web-sdk/p-27abd162.entry.js +1 -0
  168. package/dist/verdocs-web-sdk/p-27b657be.entry.js +1 -0
  169. package/dist/verdocs-web-sdk/p-32522783.system.entry.js +1 -0
  170. package/dist/verdocs-web-sdk/p-3819eb68.entry.js +1 -0
  171. package/dist/verdocs-web-sdk/{p-76f8c30a.entry.js → p-3898a9b0.entry.js} +1 -1
  172. package/dist/verdocs-web-sdk/p-3c277355.entry.js +1 -0
  173. package/dist/verdocs-web-sdk/{p-ba653c39.system.entry.js → p-3c5240df.system.entry.js} +1 -1
  174. package/dist/verdocs-web-sdk/p-3f3e3347.system.entry.js +1 -0
  175. package/dist/verdocs-web-sdk/p-48ad75db.entry.js +1 -0
  176. package/dist/verdocs-web-sdk/{p-1a7aa04b.entry.js → p-4be3b251.entry.js} +1 -1
  177. package/dist/verdocs-web-sdk/p-50ee8b2d.entry.js +1 -0
  178. package/dist/verdocs-web-sdk/p-55180d12.entry.js +1 -0
  179. package/dist/verdocs-web-sdk/{p-3cd0d440.system.entry.js → p-558f9f80.system.entry.js} +1 -1
  180. package/dist/verdocs-web-sdk/p-623fe013.system.entry.js +1 -0
  181. package/dist/verdocs-web-sdk/p-6992b715.system.js +1 -0
  182. package/dist/verdocs-web-sdk/p-6e847f1c.system.entry.js +1 -0
  183. package/dist/verdocs-web-sdk/p-7211a137.system.entry.js +1 -0
  184. package/dist/verdocs-web-sdk/{p-e4dc3264.system.entry.js → p-72dc5fb4.system.entry.js} +1 -1
  185. package/dist/verdocs-web-sdk/{p-410c63e6.entry.js → p-77ca800b.entry.js} +1 -1
  186. package/dist/verdocs-web-sdk/{p-840827b7.system.js → p-7a47fcd9.system.js} +1 -1
  187. package/dist/verdocs-web-sdk/{p-5bf12ef8.entry.js → p-83bedd31.entry.js} +1 -1
  188. package/dist/verdocs-web-sdk/p-84a111b9.entry.js +1 -0
  189. package/dist/verdocs-web-sdk/p-858f53bd.system.entry.js +1 -0
  190. package/dist/verdocs-web-sdk/p-8c5de079.entry.js +1 -0
  191. package/dist/verdocs-web-sdk/{p-4e74bb3c.entry.js → p-8f8db3aa.entry.js} +1 -1
  192. package/dist/verdocs-web-sdk/{p-5aa77f6d.system.entry.js → p-929760fd.system.entry.js} +1 -1
  193. package/dist/verdocs-web-sdk/p-92e5e32d.system.entry.js +1 -0
  194. package/dist/verdocs-web-sdk/p-9574a874.entry.js +1 -0
  195. package/dist/verdocs-web-sdk/{p-aae6b4e0.entry.js → p-9ac6d5eb.entry.js} +1 -1
  196. package/dist/verdocs-web-sdk/{p-e1bc55f8.entry.js → p-9b6f0565.entry.js} +1 -1
  197. package/dist/verdocs-web-sdk/p-9fe214d8.entry.js +1 -0
  198. package/dist/verdocs-web-sdk/p-a2965966.system.entry.js +1 -0
  199. package/dist/verdocs-web-sdk/{p-a627881e.system.js → p-a98b0097.system.js} +1 -1
  200. package/dist/verdocs-web-sdk/p-a9b53e29.system.entry.js +1 -0
  201. package/dist/verdocs-web-sdk/p-abd4e2e2.entry.js +1 -0
  202. package/dist/verdocs-web-sdk/p-af4755e8.entry.js +1 -0
  203. package/dist/verdocs-web-sdk/{p-acc873cf.system.entry.js → p-b276486c.system.entry.js} +1 -1
  204. package/dist/verdocs-web-sdk/{p-72978ba3.system.entry.js → p-b409f610.system.entry.js} +1 -1
  205. package/dist/verdocs-web-sdk/{p-6331d113.entry.js → p-bfdbd210.entry.js} +1 -1
  206. package/dist/verdocs-web-sdk/{p-59769c39.system.entry.js → p-c1f51f1b.system.entry.js} +1 -1
  207. package/dist/verdocs-web-sdk/{p-1cb878c8.system.entry.js → p-cbe7b8c8.system.entry.js} +1 -1
  208. package/dist/verdocs-web-sdk/p-d318d19b.system.entry.js +1 -0
  209. package/dist/verdocs-web-sdk/p-e609b52c.system.entry.js +1 -0
  210. package/dist/verdocs-web-sdk/{p-02a71e03.js → p-e65e9d24.js} +1 -1
  211. package/dist/verdocs-web-sdk/{p-2ccbf54d.entry.js → p-e8fc7e30.entry.js} +1 -1
  212. package/dist/verdocs-web-sdk/{p-1e38b22f.system.entry.js → p-e96924b5.system.entry.js} +1 -1
  213. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  214. package/dist/verdocs-web-sdk/p-f94e8672.system.entry.js +1 -0
  215. package/dist/verdocs-web-sdk/{p-8dc15d33.js → p-fc2454b0.js} +1 -1
  216. package/dist/verdocs-web-sdk/p-feb78cde.system.entry.js +1 -0
  217. package/dist/verdocs-web-sdk/p-ff46c394.entry.js +1 -0
  218. package/dist/verdocs-web-sdk/p-ffe39848.js +1 -0
  219. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  220. package/package.json +1 -1
  221. package/dist/cjs/TemplateFieldStore-7449e5ff.js +0 -24
  222. package/dist/esm/TemplateFieldStore-4f1b6332.js +0 -21
  223. package/dist/esm-es5/TemplateFieldStore-4f1b6332.js +0 -1
  224. package/dist/esm-es5/verdocs-button-panel_2.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-084c23e4.system.js +0 -1
  226. package/dist/verdocs-web-sdk/p-12d00a0f.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-22e0d2bc.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-319c00bd.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-32c40388.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-358aef29.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-37dfdc84.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-3f3807b0.system.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-429cad70.js +0 -1
  234. package/dist/verdocs-web-sdk/p-46624bec.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-4e47ed1c.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-588d6cea.system.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-6685ff29.system.entry.js +0 -1
  238. package/dist/verdocs-web-sdk/p-736fbb87.system.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-7b30c523.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-870707e8.system.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-8af68516.system.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-9360b085.system.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-a40b3946.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-ac98f6f1.system.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-b7a815e9.system.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-b91de346.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-bd9ba3b3.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-d59b6988.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-d99a05e4.system.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-dd2c2edc.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-e28878eb.system.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-e3ffc00f.system.entry.js +0 -1
  253. package/dist/verdocs-web-sdk/p-eeca4c30.entry.js +0 -1
  254. package/dist/verdocs-web-sdk/p-f42c84f1.entry.js +0 -1
  255. package/dist/verdocs-web-sdk/p-f6b7439f.system.entry.js +0 -1
@@ -1,62 +1,77 @@
1
1
  import { format } from 'date-fns';
2
2
  import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
3
- import { h, Host } from '@stencil/core';
3
+ import { h, Host, Fragment } from '@stencil/core';
4
4
  import { getFieldSettings } from '../../../utils/utils';
5
5
  import { FORMAT_TIMESTAMP } from '../../../utils/Types';
6
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
6
7
  const settingsIcon = '<svg xmlns="http://www.w3.org/2000/svg" height="20" width="20"><path d="m7.5 18.5-.312-2.667q-.188-.125-.396-.25-.209-.125-.396-.229l-2.479 1.063-2.521-4.334 2.125-1.625q.021-.104.021-.229v-.458q0-.125-.021-.229L1.396 7.917l2.521-4.313 2.5 1.042q.166-.104.375-.229.208-.125.396-.229L7.5 1.5h5l.312 2.688q.188.104.396.229.209.125.396.229l2.479-1.042 2.521 4.313-2.125 1.625v.916l2.125 1.625-2.521 4.334-2.5-1.063q-.166.104-.375.229-.208.125-.396.25L12.5 18.5Zm2.479-5.521q1.229 0 2.104-.875T12.958 10q0-1.229-.875-2.104t-2.104-.875q-1.208 0-2.094.875Q7 8.771 7 10t.885 2.104q.886.875 2.094.875Zm0-1.75q-.5 0-.864-.364Q8.75 10.5 8.75 10t.365-.865q.364-.364.864-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.792 6.521h1.542l.25-2.146q.625-.167 1.198-.51.573-.344 1.031-.823l2.021.854.771-1.271-1.771-1.354q.104-.292.156-.615.052-.323.052-.656 0-.292-.052-.604-.052-.313-.135-.646l1.77-1.375-.77-1.271-2.021.875q-.479-.5-1.042-.833-.562-.334-1.187-.5l-.271-2.167H9.208l-.25 2.167q-.625.166-1.187.5-.563.333-1.042.812l-2-.854-.771 1.271 1.73 1.354q-.084.333-.136.656Q5.5 9.708 5.5 10t.052.604q.052.313.136.667l-1.73 1.354.771 1.271 2-.834q.479.459 1.042.792.562.334 1.187.5Z"/></svg>';
7
8
  /**
8
9
  * Display a timestamp field.
9
10
  */
10
11
  export class VerdocsFieldTimestamp {
11
12
  constructor() {
13
+ this.fieldStore = null;
12
14
  this.templateid = '';
13
- this.field = null;
15
+ this.fieldname = '';
14
16
  this.disabled = false;
15
17
  this.editable = false;
16
18
  this.moveable = false;
17
19
  this.done = false;
18
20
  this.roleindex = 0;
19
21
  this.rerender = 0;
22
+ this.xscale = 1;
23
+ this.yscale = 1;
24
+ this.showingProperties = false;
20
25
  }
21
26
  async focusField() {
22
27
  this.el.focus();
23
28
  }
24
29
  async showSettingsPanel() {
25
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
30
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
26
31
  if (settingsPanel && settingsPanel.showPanel) {
27
32
  settingsPanel.showPanel();
28
33
  }
29
34
  }
30
35
  async hideSettingsPanel() {
31
- const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.field.name}`);
36
+ const settingsPanel = document.getElementById(`verdocs-settings-panel-${this.fieldname}`);
32
37
  if (settingsPanel && settingsPanel.hidePanel) {
33
38
  settingsPanel.hidePanel();
34
39
  }
35
40
  // TemplateStore.updateCount++;
36
41
  }
42
+ async componentWillLoad() {
43
+ this.fieldStore = getTemplateFieldStore(this.templateid);
44
+ }
37
45
  render() {
38
- var _a, _b, _c;
39
- const settings = getFieldSettings(this.field);
46
+ var _a, _b;
47
+ const field = this.fieldStore.get(this.fieldname);
48
+ if (!field) {
49
+ return h(Fragment, null);
50
+ }
51
+ const settings = getFieldSettings(field);
40
52
  const disabled = (_b = (_a = this.disabled) !== null && _a !== void 0 ? _a : settings.disabled) !== null && _b !== void 0 ? _b : false;
41
- const backgroundColor = this.field['rgba'] || getRGBA(this.roleindex);
53
+ const backgroundColor = field['rgba'] || getRGBA(this.roleindex);
42
54
  const value = settings.value || new Date().toISOString();
43
55
  const dt = new Date(value);
44
56
  const formatted = format(dt, FORMAT_TIMESTAMP);
45
57
  if (this.done) {
46
58
  return h(Host, { class: { done: this.done } }, formatted);
47
59
  }
48
- return (h(Host, { class: { required: (_c = this.field) === null || _c === void 0 ? void 0 : _c.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order,
60
+ return (h(Host, { class: { required: field === null || field === void 0 ? void 0 : field.required, disabled }, style: { backgroundColor } }, h("input", { type: "text", placeholder: settings === null || settings === void 0 ? void 0 : settings.placeholder, tabIndex: settings === null || settings === void 0 ? void 0 : settings.order,
49
61
  // TODO: It would really make more sense to show the date and time but the default width of 64px for this field
50
62
  // is encoded in a ton of existing entries in the database and is hard to change.
51
- value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h("verdocs-button-panel", { icon: settingsIcon, id: `verdocs-settings-panel-${this.field.name}` }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: this.field.name, onClose: () => this.hideSettingsPanel(), onDelete: () => {
63
+ value: formatted, disabled: true, ref: el => (this.el = el) }), this.editable && (h(Fragment, null, h("div", { id: `verdocs-settings-panel-trigger-${field.name}`, style: { transform: `scale(${Math.floor((1 / this.xscale) * 1000) / 1000}, ${Math.floor((1 / this.yscale) * 1000) / 1000})` }, class: "settings-icon", innerHTML: settingsIcon, onClick: (e) => {
64
+ e.stopPropagation();
65
+ this.showingProperties = !this.showingProperties;
66
+ } }), this.showingProperties && (h("verdocs-portal", { anchor: `verdocs-settings-panel-trigger-${field.name}`, onClickAway: () => (this.showingProperties = false) }, h("verdocs-template-field-properties", { templateId: this.templateid, fieldName: field.name, onClose: () => (this.showingProperties = false), onDelete: () => {
52
67
  var _a;
53
- (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.field.name });
68
+ (_a = this.deleted) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name });
54
69
  return this.hideSettingsPanel();
55
70
  }, onSettingsChanged: e => {
56
71
  var _a;
57
72
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit(e.detail);
58
73
  return this.hideSettingsPanel();
59
- } })))));
74
+ }, helpText: 'Time stamps are automatically set when the recipient signs the document.' })))))));
60
75
  }
61
76
  static get is() { return "verdocs-field-timestamp"; }
62
77
  static get originalStyleUrls() {
@@ -89,30 +104,23 @@ export class VerdocsFieldTimestamp {
89
104
  "reflect": false,
90
105
  "defaultValue": "''"
91
106
  },
92
- "field": {
93
- "type": "unknown",
107
+ "fieldname": {
108
+ "type": "string",
94
109
  "mutable": false,
95
110
  "complexType": {
96
- "original": "IEnvelopeField | ITemplateField | null",
97
- "resolved": "IEnvelopeField | ITemplateField",
98
- "references": {
99
- "IEnvelopeField": {
100
- "location": "import",
101
- "path": "@verdocs/js-sdk/Envelopes/Types"
102
- },
103
- "ITemplateField": {
104
- "location": "import",
105
- "path": "@verdocs/js-sdk/Templates/Types"
106
- }
107
- }
111
+ "original": "string",
112
+ "resolved": "string",
113
+ "references": {}
108
114
  },
109
115
  "required": false,
110
116
  "optional": false,
111
117
  "docs": {
112
118
  "tags": [],
113
- "text": "The document or template field to display."
119
+ "text": "The name of the field to display."
114
120
  },
115
- "defaultValue": "null"
121
+ "attribute": "fieldname",
122
+ "reflect": false,
123
+ "defaultValue": "''"
116
124
  },
117
125
  "disabled": {
118
126
  "type": "boolean",
@@ -221,9 +229,50 @@ export class VerdocsFieldTimestamp {
221
229
  "attribute": "rerender",
222
230
  "reflect": false,
223
231
  "defaultValue": "0"
232
+ },
233
+ "xscale": {
234
+ "type": "number",
235
+ "mutable": false,
236
+ "complexType": {
237
+ "original": "number",
238
+ "resolved": "number",
239
+ "references": {}
240
+ },
241
+ "required": false,
242
+ "optional": true,
243
+ "docs": {
244
+ "tags": [],
245
+ "text": "If set, the field will be be scaled horizontally by this factor."
246
+ },
247
+ "attribute": "xscale",
248
+ "reflect": false,
249
+ "defaultValue": "1"
250
+ },
251
+ "yscale": {
252
+ "type": "number",
253
+ "mutable": false,
254
+ "complexType": {
255
+ "original": "number",
256
+ "resolved": "number",
257
+ "references": {}
258
+ },
259
+ "required": false,
260
+ "optional": true,
261
+ "docs": {
262
+ "tags": [],
263
+ "text": "If set, the field will be be scaled vertically by this factor."
264
+ },
265
+ "attribute": "yscale",
266
+ "reflect": false,
267
+ "defaultValue": "1"
224
268
  }
225
269
  };
226
270
  }
271
+ static get states() {
272
+ return {
273
+ "showingProperties": {}
274
+ };
275
+ }
227
276
  static get events() {
228
277
  return [{
229
278
  "method": "settingsChanged",
@@ -1,5 +1,11 @@
1
1
  verdocs-template-field-properties {
2
+ padding: 20px;
3
+ display: block;
4
+ border-radius: 4px;
5
+ background: #ffffff;
6
+ border: 1px solid #ccc;
2
7
  font-family: "Inter", -apple-system, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
8
+ box-shadow: 2px 2px 10px 0px #0000001f;
3
9
  }
4
10
  verdocs-template-field-properties .buttons {
5
11
  display: flex;
@@ -53,33 +53,34 @@ export class VerdocsTemplateFieldProperties {
53
53
  return;
54
54
  }
55
55
  this.templateStore = await getTemplateStore(this.endpoint, this.templateId);
56
+ createTemplateFieldStore(this.templateStore.state);
56
57
  this.fieldStore = await createTemplateFieldStore(this.templateStore.state);
58
+ // console.log('tfs', this.fieldStore?.state);
57
59
  const field = this.fieldStore.get(this.fieldName);
60
+ // console.log('gf', field);
58
61
  if (!field) {
59
62
  console.log(`[FIELD PROPERTIES] Unable to find field "${this.fieldName}" in fields`);
60
63
  }
61
64
  else {
62
65
  console.log('props', field);
63
66
  }
64
- createTemplateFieldStore(this.templateStore.state);
65
- this.watcher = this.fieldStore.onChange(this.fieldName, field => {
66
- var _a, _b, _c, _d;
67
+ this.watcher = this.fieldStore.onChange(this.fieldName, (field) => {
67
68
  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;
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;
83
84
  });
84
85
  console.log('watcher', this.watcher);
85
86
  this.type = field.type;
@@ -146,7 +147,7 @@ export class VerdocsTemplateFieldProperties {
146
147
  options: this.options,
147
148
  };
148
149
  }
149
- console.log('FP: Will update', newProperties);
150
+ console.log('FP: Will update', this.fieldName, newProperties);
150
151
  updateField(this.endpoint, this.templateId, this.fieldName, newProperties)
151
152
  .then(field => {
152
153
  var _a, _b;
@@ -199,9 +200,8 @@ export class VerdocsTemplateFieldProperties {
199
200
  }
200
201
  updateField(newField) {
201
202
  const oldField = this.fieldStore.get(this.fieldName) || {};
202
- console.log('Updating field', newField, oldField);
203
+ console.log('Updating field', this.fieldName, newField);
203
204
  Object.assign(oldField, newField);
204
- this.fieldStore.set(this.fieldName, newField);
205
205
  }
206
206
  async handleDelete(e) {
207
207
  e.stopPropagation();
@@ -230,6 +230,7 @@ export class VerdocsTemplateFieldProperties {
230
230
  if (this.helpText && this.showingHelp) {
231
231
  return (h(Host, null, h("h6", null, capitalize(this.fieldType), " Settings ", h("div", { style: { flex: '1' } }), h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = false) })), h("p", { class: "instructions", innerHTML: this.helpText })));
232
232
  }
233
+ // console.log('tfp', this.templateId, this.fieldName);
233
234
  return (h(Host, null, h("h6", null, capitalize(this.fieldType.replace(/_/g, ' ')), " Settings ", h("div", { style: { flex: '1' } }), this.helpText && h("div", { class: "help-icon", innerHTML: HelpIcon, onClick: () => (this.showingHelp = true) })), h("form", { onSubmit: e => e.preventDefault(), onClick: e => e.stopPropagation(), autocomplete: "off" }, h("div", { class: "row" }, h("verdocs-text-input", { id: "verdocs-field-name", label: "Field Name", value: this.name, autocomplete: "off",
234
235
  // helpText="The internal name of the field. Must be unique, and contain only letters, numbers, and dashes. After an envelope is completed, the value entered by the signer will be tagged with this key."
235
236
  placeholder: "Field Name...", onInput: (e) => {
@@ -65,9 +65,7 @@ export class VerdocsTemplateFields {
65
65
  }
66
66
  this.templateStore = await getTemplateStore(this.endpoint, this.templateId, true);
67
67
  this.fieldStore = createTemplateFieldStore(this.templateStore.state);
68
- console.log(`[FIELDS] Loaded template ${this.templateId}`, this.templateStore.state, this.fieldStore);
69
68
  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) || '';
70
- console.log('[FIELDS] Starting with role', this.selectedRoleName);
71
69
  }
72
70
  catch (e) {
73
71
  console.log('[FIELDS] Error with preview session', e);
@@ -102,10 +100,10 @@ export class VerdocsTemplateFields {
102
100
  console.log('[FIELDS] handleFieldChange', field, e, optionId);
103
101
  this.rerender++;
104
102
  }
105
- handleFieldSettingsChange(pageInfo, field, el, newFieldData) {
103
+ handleFieldSettingsChange(pageInfo, field, el, newFieldData, oldName) {
106
104
  var _a, _b;
107
105
  // handleFieldSettingsChange(pageInfo: any, field: any, roleIndex: number, el: any, newFieldData: any) {
108
- console.log('[FIELDS] Field settings changed', field.name, newFieldData);
106
+ console.log('[FIELDS] Field settings changed', oldName, field.name, newFieldData);
109
107
  Object.assign(field, newFieldData);
110
108
  el.field = newFieldData;
111
109
  this.selectedRoleName = field.role_name;
@@ -114,17 +112,24 @@ export class VerdocsTemplateFields {
114
112
  this.rerender++;
115
113
  el.setAttribute('rerender', this.rerender);
116
114
  (_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' });
117
- console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber);
115
+ // We do this to avoid dupes if the field gets renamed.
116
+ if (field.name !== oldName) {
117
+ console.log('[FIELDS] Renaming field', oldName, field.name);
118
+ el.remove();
119
+ delete this.fieldStore.state[oldName];
120
+ }
121
+ else {
122
+ console.log('[FIELDS] Updating existing field', field.name);
123
+ }
124
+ // REMINDER: Do not access el past this point! It may have been removed from the DOM.
125
+ console.log('[FIELDS] Re-rendering field', field.name, pageInfo.pageNumber, field);
118
126
  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
- // }
127
+ this.reRenderField(field, pageInfo.pageNumber);
124
128
  }
125
129
  attachFieldAttributes(pageInfo, field, roleIndex, el) {
130
+ // console.log('afa', field);
126
131
  el.addEventListener('input', e => this.handleFieldChange(field, e));
127
- el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field));
132
+ el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, el, e.detail.field, e.detail.fieldName));
128
133
  // el.addEventListener('settingsChanged', e => this.handleFieldSettingsChange(pageInfo, field, roleIndex, el, e.detail.field));
129
134
  el.addEventListener('deleted', () => {
130
135
  var _a, _b;
@@ -143,11 +148,11 @@ export class VerdocsTemplateFields {
143
148
  }
144
149
  handlePageRendered(e) {
145
150
  const pageInfo = e.detail;
146
- console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
151
+ // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
147
152
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
148
153
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
149
- const fields = Object.values(this.fieldStore.state).filter(field => field.page_sequence === pageInfo.pageNumber);
150
- fields.forEach(field => this.reRenderField(field, pageInfo.pageNumber));
154
+ const fields = Object.values(this.fieldStore.state).filter((field) => field.page_sequence === pageInfo.pageNumber);
155
+ fields.forEach((field) => this.reRenderField(field, pageInfo.pageNumber));
151
156
  }
152
157
  reRenderField(field, pageNumber) {
153
158
  const pageInfo = this.cachedPageInfo[pageNumber];
@@ -190,7 +195,6 @@ export class VerdocsTemplateFields {
190
195
  const name = event.target.getAttribute('name');
191
196
  const option = +(event.target.getAttribute('option') || '0');
192
197
  const field = this.fieldStore.get(name);
193
- console.log('Dropped field', name, field);
194
198
  if (!field) {
195
199
  console.log('[FIELDS] Unable to find field', name);
196
200
  return;
@@ -206,9 +210,7 @@ export class VerdocsTemplateFields {
206
210
  // "up" from the bottom (negative displacement).
207
211
  const newX = Math.max(clientRect.left - parentRect.left, 0);
208
212
  const newY = Math.max(renderedHeight - (parentRect.bottom - clientRect.bottom), 0);
209
- // console.log('Computing coordinates', {naturalWidth, width: event.rect.width, naturalHeight, height: event.rect.height, newX, newY});
210
213
  const { x, y } = this.viewCoordinatesToPageCoordinates(newX, newY, pageNumber, naturalWidth - width, naturalHeight - height);
211
- // console.log('Drop End', {x, y, newX, newY});
212
214
  switch (field.type) {
213
215
  case 'attachment':
214
216
  case 'payment':
@@ -233,12 +235,10 @@ export class VerdocsTemplateFields {
233
235
  }
234
236
  break;
235
237
  }
236
- console.log('[FIELDS] Will update', name, option, field);
238
+ console.log('[FIELDS] Will update', name, y, option, field);
237
239
  const newFieldData = await updateField(this.endpoint, this.templateId, name, field);
238
240
  const pageInfo = this.cachedPageInfo[pageNumber];
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);
241
+ this.handleFieldSettingsChange(pageInfo, field, event.target, newFieldData, name);
242
242
  event.target.removeAttribute('posX');
243
243
  event.target.removeAttribute('posY');
244
244
  }
@@ -256,7 +256,6 @@ export class VerdocsTemplateFields {
256
256
  const { xScale = 1, yScale = 1, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
257
257
  const x = Math.floor(Math.min(viewX / xScale, xMax));
258
258
  const y = Math.floor(Math.min(Math.max(renderedHeight - viewY, 0) / yScale, yMax));
259
- console.log('Computed coordinates', { x, y, viewX, viewY, xMax, yMax });
260
259
  return { x, y };
261
260
  }
262
261
  async handleClickPage(e, pageNumber) {
@@ -353,7 +352,7 @@ export class VerdocsTemplateFields {
353
352
  field.type = 'textbox';
354
353
  }
355
354
  const saved = await createField(this.endpoint, this.templateId, field);
356
- console.log('Saved field', saved);
355
+ console.log('[FIELDS] Saved field', saved);
357
356
  this.fieldStore.set(saved.name, saved);
358
357
  this.placing = null;
359
358
  (_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' });
@@ -362,7 +361,6 @@ export class VerdocsTemplateFields {
362
361
  }
363
362
  render() {
364
363
  var _a, _b, _c, _d, _e, _f, _g, _h;
365
- console.log('[FIELDS] Rendering', this.selectedRoleName);
366
364
  if (!this.endpoint.session) {
367
365
  return (h(Host, null, h("verdocs-component-error", { message: "You must be authenticated to use this module." })));
368
366
  }
@@ -372,7 +370,7 @@ export class VerdocsTemplateFields {
372
370
  }
373
371
  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 }));
374
372
  return (h(Host, { class: this.placing ? { [`placing-${this.placing}`]: true } : {}, "data-r": this.rerender, onSubmit: () => {
375
- console.log('onSubmit');
373
+ // console.log('onSubmit');
376
374
  } }, 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: () => {
377
375
  // We ignore empty-tooltip entries because they're separators
378
376
  if (option.tooltip) {
@@ -2,13 +2,14 @@ import { createStore } from '@stencil/store';
2
2
  const templateFieldStores = {};
3
3
  export const getTemplateFieldStore = (templateId) => templateFieldStores[templateId];
4
4
  export const createTemplateFieldStore = (template) => {
5
- console.log('Creating template field store for template: ', template);
6
5
  let store = getTemplateFieldStore(template.id);
7
6
  if (!store) {
7
+ console.log('Creating template field store for template', template.id);
8
8
  store = createStore({});
9
9
  templateFieldStores[template.id] = store;
10
10
  }
11
11
  else {
12
+ console.log('Resetting template field store for template', template.id);
12
13
  store.reset();
13
14
  }
14
15
  template.fields.forEach(field => {
@@ -16,3 +17,19 @@ export const createTemplateFieldStore = (template) => {
16
17
  });
17
18
  return store;
18
19
  };
20
+ export const createTemplateFieldStoreFromEnvelope = (envelope) => {
21
+ let store = getTemplateFieldStore(envelope.template_id);
22
+ if (!store) {
23
+ console.log('Creating field store for envelope', envelope.id, envelope.template_id);
24
+ store = createStore({});
25
+ templateFieldStores[envelope.template_id] = store;
26
+ }
27
+ else {
28
+ console.log('Resetting field store for envelope', envelope.id, envelope.template_id);
29
+ store.reset();
30
+ }
31
+ envelope.fields.forEach(field => {
32
+ store.set(field.name, field);
33
+ });
34
+ return store;
35
+ };
@@ -1,7 +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
+ import { createTemplateFieldStore, getTemplateFieldStore } from './TemplateFieldStore';
5
5
  const createTemplateStore = (templateId) => {
6
6
  const now = new Date().toISOString();
7
7
  return createStore({
@@ -69,6 +69,7 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
69
69
  store.state.isLoaded = true;
70
70
  store.state.isError = false;
71
71
  store.state.error = undefined;
72
+ createTemplateFieldStore(template);
72
73
  }
73
74
  catch (e) {
74
75
  console.error('[TEMPLATES] Error loading template', e);
@@ -80,7 +81,10 @@ export const getTemplateStore = async (endpoint, templateId, forceReload = false
80
81
  store.state.isLoading = false;
81
82
  store.state.updateCount++;
82
83
  }
83
- createTemplateFieldStore(store.state);
84
+ else {
85
+ // Just make sure it exists
86
+ getTemplateFieldStore(templateId);
87
+ }
84
88
  return store;
85
89
  };
86
90
  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); };
@@ -63,6 +63,7 @@ export const setControlStyles = (el, field, xScale, yScale, option) => {
63
63
  var _a, _b, _c, _d;
64
64
  const settings = field.setting || field.settings;
65
65
  let { x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type) } = settings;
66
+ // console.log('scs', field, settings, x, y);
66
67
  const optionSettings = settings.options && option !== undefined && settings.options[option] ? settings.options[option] : null;
67
68
  if (optionSettings) {
68
69
  x = (_a = optionSettings.x) !== null && _a !== void 0 ? _a : x;
@@ -96,6 +97,7 @@ export const updateDocumentFieldValue = (field) => {
96
97
  };
97
98
  export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
98
99
  var _a, _b;
100
+ // console.log('rdf', field);
99
101
  const { disabled = false, editable = false, draggable = false, done = false } = fieldOptions;
100
102
  // console.log('[renderDocumentField]', field, docPage, roleIndex, fieldOptions);
101
103
  const controlsDiv = document.getElementById(docPage.containerId + '-controls');
@@ -129,6 +131,8 @@ export const renderDocumentField = (field, docPage, roleIndex, fieldOptions) =>
129
131
  el.field = field;
130
132
  el.setAttribute('id', id);
131
133
  el.setAttribute('roleIndex', roleIndex);
134
+ el.setAttribute('fieldname', field.name);
135
+ el.setAttribute('templateid', 'template_id' in field ? field.template_id : 'PREVIEW');
132
136
  if (disabled) {
133
137
  el.setAttribute('tabindex', -1);
134
138
  el.setAttribute('disabled', true);
@@ -283,13 +287,6 @@ export const saveAttachment = async (endpoint, envelope, documentId) => {
283
287
  const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
284
288
  downloadBlob(data, fileName);
285
289
  };
286
- export const saveCertificate = async (endpoint, envelope, documentId) => {
287
- // e.g "Colorado Motor Vehicle Bill of Sale_certificate.pdf"
288
- const date = format(new Date(envelope.updated_at), FORMAT_DATE);
289
- const fileName = `${envelope.name} - ${date}_certificate.pdf`;
290
- const data = await Envelopes.getEnvelopeFile(endpoint, envelope.id, documentId);
291
- downloadBlob(data, fileName);
292
- };
293
290
  export const saveEnvelopesAsZip = async (endpoint, envelopes) => {
294
291
  var _a;
295
292
  const zip = new jszip();
@@ -1,5 +1,5 @@
1
1
  import { c as createStore } from './index4.js';
2
- import { m as getEnvelope } from './Envelopes.js';
2
+ import { b as getEnvelope } from './Envelopes.js';
3
3
 
4
4
  const createEnvelopeStore = (envelopeId) => {
5
5
  const now = new Date().toISOString();
@@ -259,4 +259,4 @@ var listEnvelopes = function (endpoint, params) {
259
259
  .then(function (r) { return r.data; });
260
260
  };
261
261
 
262
- export { getSigningSession as a, updateEnvelopeFieldSignature as b, cancelEnvelope as c, updateEnvelopeFieldInitials as d, uploadEnvelopeFieldAttachment as e, getEnvelopeDocumentPageDisplayUri as f, getSummary as g, createEnvelope as h, getDocumentDownloadLink as i, getEnvelopeFile as j, getFieldAttachment as k, listEnvelopes as l, getEnvelope as m, throttledGetEnvelope as t, updateEnvelopeField as u };
262
+ export { getSigningSession as a, getEnvelope as b, cancelEnvelope as c, updateEnvelopeFieldSignature as d, updateEnvelopeFieldInitials as e, uploadEnvelopeFieldAttachment as f, getSummary as g, getEnvelopeDocumentPageDisplayUri as h, createEnvelope as i, getDocumentDownloadLink as j, getEnvelopeFile as k, listEnvelopes as l, getFieldAttachment as m, throttledGetEnvelope as t, updateEnvelopeField as u };
@@ -0,0 +1,38 @@
1
+ import { c as createStore } from './index4.js';
2
+
3
+ const templateFieldStores = {};
4
+ const getTemplateFieldStore = (templateId) => templateFieldStores[templateId];
5
+ const createTemplateFieldStore = (template) => {
6
+ let store = getTemplateFieldStore(template.id);
7
+ if (!store) {
8
+ console.log('Creating template field store for template', template.id);
9
+ store = createStore({});
10
+ templateFieldStores[template.id] = store;
11
+ }
12
+ else {
13
+ console.log('Resetting template field store for template', template.id);
14
+ store.reset();
15
+ }
16
+ template.fields.forEach(field => {
17
+ store.set(field.name, field);
18
+ });
19
+ return store;
20
+ };
21
+ const createTemplateFieldStoreFromEnvelope = (envelope) => {
22
+ let store = getTemplateFieldStore(envelope.template_id);
23
+ if (!store) {
24
+ console.log('Creating field store for envelope', envelope.id, envelope.template_id);
25
+ store = createStore({});
26
+ templateFieldStores[envelope.template_id] = store;
27
+ }
28
+ else {
29
+ console.log('Resetting field store for envelope', envelope.id, envelope.template_id);
30
+ store.reset();
31
+ }
32
+ envelope.fields.forEach(field => {
33
+ store.set(field.name, field);
34
+ });
35
+ return store;
36
+ };
37
+
38
+ export { createTemplateFieldStore as a, createTemplateFieldStoreFromEnvelope as c, getTemplateFieldStore as g };
@@ -1,23 +1,6 @@
1
1
  import { c as createStore } from './index4.js';
2
2
  import { g as getTemplate, b as TemplateSenderTypes } from './VerdocsEndpoint.js';
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
- };
3
+ import { a as createTemplateFieldStore } from './TemplateFieldStore.js';
21
4
 
22
5
  const createTemplateStore = (templateId) => {
23
6
  const now = new Date().toISOString();
@@ -86,6 +69,7 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
86
69
  store.state.isLoaded = true;
87
70
  store.state.isError = false;
88
71
  store.state.error = undefined;
72
+ createTemplateFieldStore(template);
89
73
  }
90
74
  catch (e) {
91
75
  console.error('[TEMPLATES] Error loading template', e);
@@ -97,9 +81,8 @@ const getTemplateStore = async (endpoint, templateId, forceReload = false) => {
97
81
  store.state.isLoading = false;
98
82
  store.state.updateCount++;
99
83
  }
100
- createTemplateFieldStore(store.state);
101
84
  return store;
102
85
  };
103
86
  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); };
104
87
 
105
- export { getTemplateFieldStore as a, getRoleNames as b, createTemplateFieldStore as c, getTemplateStore as g };
88
+ export { getRoleNames as a, getTemplateStore as g };
@@ -1,5 +1,5 @@
1
1
  import { a as createCommonjsModule, c as commonjsGlobal, b as commonjsRequire } from './_commonjsHelpers.js';
2
- import { j as getEnvelopeFile, k as getFieldAttachment } from './Envelopes.js';
2
+ import { k as getEnvelopeFile, m as getFieldAttachment } from './Envelopes.js';
3
3
  import './Types.js';
4
4
  import { d as downloadBlob } from './Files.js';
5
5
  import { a as FORMAT_DATE } from './Types2.js';
@@ -84,6 +84,7 @@ const setControlStyles = (el, field, xScale, yScale, option) => {
84
84
  var _a, _b, _c, _d;
85
85
  const settings = field.setting || field.settings;
86
86
  let { x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type) } = settings;
87
+ // console.log('scs', field, settings, x, y);
87
88
  const optionSettings = settings.options && option !== undefined && settings.options[option] ? settings.options[option] : null;
88
89
  if (optionSettings) {
89
90
  x = (_a = optionSettings.x) !== null && _a !== void 0 ? _a : x;
@@ -117,6 +118,7 @@ const updateDocumentFieldValue = (field) => {
117
118
  };
118
119
  const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
119
120
  var _a, _b;
121
+ // console.log('rdf', field);
120
122
  const { disabled = false, editable = false, draggable = false, done = false } = fieldOptions;
121
123
  // console.log('[renderDocumentField]', field, docPage, roleIndex, fieldOptions);
122
124
  const controlsDiv = document.getElementById(docPage.containerId + '-controls');
@@ -150,6 +152,8 @@ const renderDocumentField = (field, docPage, roleIndex, fieldOptions) => {
150
152
  el.field = field;
151
153
  el.setAttribute('id', id);
152
154
  el.setAttribute('roleIndex', roleIndex);
155
+ el.setAttribute('fieldname', field.name);
156
+ el.setAttribute('templateid', 'template_id' in field ? field.template_id : 'PREVIEW');
153
157
  if (disabled) {
154
158
  el.setAttribute('tabindex', -1);
155
159
  el.setAttribute('disabled', true);