@verdocs/web-sdk 2.3.63 → 2.3.65

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 (253) hide show
  1. package/dist/cjs/{TemplateFieldStore-43a0b60d.js → TemplateFieldStore-3d25fc86.js} +11 -10
  2. package/dist/cjs/{TemplateStore-ccf29182.js → TemplateStore-89072ea0.js} +1 -1
  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-31385d19.js → utils-7cc3fe3c.js} +76 -3
  6. package/dist/cjs/verdocs-build.cjs.entry.js +2 -2
  7. package/dist/cjs/{verdocs-portal_2.cjs.entry.js → verdocs-checkbox_5.cjs.entry.js} +57 -11
  8. package/dist/cjs/verdocs-contact-picker_2.cjs.entry.js +1 -2
  9. package/dist/cjs/verdocs-envelope-document-page.cjs.entry.js +1 -2
  10. package/dist/cjs/verdocs-envelopes-list.cjs.entry.js +1 -2
  11. package/dist/cjs/{verdocs-field-date.cjs.entry.js → verdocs-field-attachment_15.cjs.entry.js} +1521 -6
  12. package/dist/cjs/verdocs-field-payment.cjs.entry.js +3 -3
  13. package/dist/cjs/verdocs-pagination_2.cjs.entry.js +1 -2
  14. package/dist/cjs/verdocs-preview_8.cjs.entry.js +3 -4
  15. package/dist/cjs/verdocs-settings-api-keys_4.cjs.entry.js +1 -2
  16. package/dist/cjs/verdocs-sign.cjs.entry.js +4 -10
  17. package/dist/cjs/verdocs-template-fields_4.cjs.entry.js +26 -19
  18. package/dist/cjs/verdocs-view.cjs.entry.js +1 -2
  19. package/dist/cjs/verdocs-web-sdk.cjs.js +1 -1
  20. package/dist/collection/components/embeds/verdocs-sign/verdocs-sign.js +2 -7
  21. package/dist/collection/components/fields/verdocs-field-attachment/verdocs-field-attachment.js +19 -0
  22. package/dist/collection/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.js +19 -0
  23. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.css +1 -1
  24. package/dist/collection/components/fields/verdocs-field-date/verdocs-field-date.js +19 -0
  25. package/dist/collection/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.js +19 -0
  26. package/dist/collection/components/fields/verdocs-field-initial/verdocs-field-initial.js +19 -0
  27. package/dist/collection/components/fields/verdocs-field-payment/verdocs-field-payment.js +19 -0
  28. package/dist/collection/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.js +19 -0
  29. package/dist/collection/components/fields/verdocs-field-signature/verdocs-field-signature.js +19 -0
  30. package/dist/collection/components/fields/verdocs-field-textarea/verdocs-field-textarea.js +19 -0
  31. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.css +1 -1
  32. package/dist/collection/components/fields/verdocs-field-textbox/verdocs-field-textbox.js +29 -7
  33. package/dist/collection/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.js +19 -0
  34. package/dist/collection/components/templates/verdocs-template-document-page/verdocs-template-document-page.js +95 -6
  35. package/dist/collection/components/templates/verdocs-template-field-properties/verdocs-template-field-properties.js +5 -9
  36. package/dist/collection/components/templates/verdocs-template-fields/verdocs-template-fields.js +24 -16
  37. package/dist/collection/utils/TemplateFieldStore.js +11 -10
  38. package/dist/collection/utils/utils.js +23 -4
  39. package/dist/components/TemplateFieldStore.js +11 -10
  40. package/dist/components/ipc-test.js +120 -30
  41. package/dist/components/utils.js +28 -1
  42. package/dist/components/verdocs-build.js +144 -60
  43. package/dist/components/verdocs-field-attachment.js +1 -168
  44. package/dist/{esm/verdocs-field-attachment.entry.js → components/verdocs-field-attachment2.js} +96 -19
  45. package/dist/components/verdocs-field-checkbox.js +1 -148
  46. package/dist/{esm/verdocs-field-checkbox.entry.js → components/verdocs-field-checkbox2.js} +90 -19
  47. package/dist/components/verdocs-field-date.js +1 -204
  48. package/dist/{esm/verdocs-field-date.entry.js → components/verdocs-field-date2.js} +97 -21
  49. package/dist/components/verdocs-field-dropdown.js +1 -154
  50. package/dist/{esm/verdocs-field-dropdown.entry.js → components/verdocs-field-dropdown2.js} +90 -19
  51. package/dist/components/verdocs-field-initial.js +1 -184
  52. package/dist/{esm/verdocs-field-initial.entry.js → components/verdocs-field-initial2.js} +98 -19
  53. package/dist/components/verdocs-field-payment.js +2 -0
  54. package/dist/components/verdocs-field-radio-button.js +1 -152
  55. package/dist/{esm/verdocs-field-radio-button.entry.js → components/verdocs-field-radio-button2.js} +90 -19
  56. package/dist/components/verdocs-field-signature.js +1 -183
  57. package/dist/{esm/verdocs-field-signature.entry.js → components/verdocs-field-signature2.js} +98 -19
  58. package/dist/components/verdocs-field-textarea.js +1 -206
  59. package/dist/{esm/verdocs-field-textarea.entry.js → components/verdocs-field-textarea2.js} +95 -23
  60. package/dist/components/verdocs-field-textbox.js +1 -208
  61. package/dist/{esm/verdocs-field-textbox.entry.js → components/verdocs-field-textbox2.js} +105 -30
  62. package/dist/components/verdocs-field-timestamp.js +1 -157
  63. package/dist/{esm/verdocs-field-timestamp.entry.js → components/verdocs-field-timestamp2.js} +92 -19
  64. package/dist/components/verdocs-preview2.js +130 -4
  65. package/dist/components/verdocs-sign.js +2 -7
  66. package/dist/components/verdocs-template-document-page2.js +188 -7
  67. package/dist/components/verdocs-template-field-properties2.js +31 -11
  68. package/dist/components/verdocs-template-fields2.js +146 -31
  69. package/dist/docs.json +671 -15
  70. package/dist/esm/{TemplateFieldStore-211c1ed4.js → TemplateFieldStore-6e67e86b.js} +11 -10
  71. package/dist/esm/{TemplateStore-f752d353.js → TemplateStore-7fba801e.js} +1 -1
  72. package/dist/esm/ipc-test.entry.js +2 -2
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/esm/{utils-86fc7318.js → utils-36f1bbdd.js} +71 -2
  75. package/dist/esm/verdocs-build.entry.js +2 -2
  76. package/dist/esm/{verdocs-portal_2.entry.js → verdocs-checkbox_5.entry.js} +56 -13
  77. package/dist/esm/verdocs-contact-picker_2.entry.js +1 -2
  78. package/dist/esm/verdocs-envelope-document-page.entry.js +1 -2
  79. package/dist/esm/verdocs-envelopes-list.entry.js +1 -2
  80. package/dist/esm/verdocs-field-attachment_15.entry.js +1633 -0
  81. package/dist/esm/verdocs-field-payment.entry.js +3 -3
  82. package/dist/esm/verdocs-pagination_2.entry.js +1 -2
  83. package/dist/esm/verdocs-preview_8.entry.js +3 -4
  84. package/dist/esm/verdocs-settings-api-keys_4.entry.js +1 -2
  85. package/dist/esm/verdocs-sign.entry.js +4 -10
  86. package/dist/esm/verdocs-template-fields_4.entry.js +26 -19
  87. package/dist/esm/verdocs-view.entry.js +1 -2
  88. package/dist/esm/verdocs-web-sdk.js +1 -1
  89. package/dist/esm-es5/{TemplateFieldStore-211c1ed4.js → TemplateFieldStore-6e67e86b.js} +1 -1
  90. package/dist/esm-es5/{TemplateStore-f752d353.js → TemplateStore-7fba801e.js} +1 -1
  91. package/dist/esm-es5/ipc-test.entry.js +1 -1
  92. package/dist/esm-es5/loader.js +1 -1
  93. package/dist/esm-es5/{utils-86fc7318.js → utils-36f1bbdd.js} +2 -2
  94. package/dist/esm-es5/verdocs-build.entry.js +1 -1
  95. package/dist/esm-es5/verdocs-checkbox_5.entry.js +1 -0
  96. package/dist/esm-es5/verdocs-contact-picker_2.entry.js +1 -1
  97. package/dist/esm-es5/verdocs-envelope-document-page.entry.js +1 -1
  98. package/dist/esm-es5/verdocs-envelopes-list.entry.js +1 -1
  99. package/dist/esm-es5/verdocs-field-attachment_15.entry.js +1 -0
  100. package/dist/esm-es5/verdocs-field-payment.entry.js +1 -1
  101. package/dist/esm-es5/verdocs-pagination_2.entry.js +1 -1
  102. package/dist/esm-es5/verdocs-preview_8.entry.js +1 -1
  103. package/dist/esm-es5/verdocs-settings-api-keys_4.entry.js +1 -1
  104. package/dist/esm-es5/verdocs-sign.entry.js +1 -1
  105. package/dist/esm-es5/verdocs-template-fields_4.entry.js +1 -1
  106. package/dist/esm-es5/verdocs-view.entry.js +1 -1
  107. package/dist/esm-es5/verdocs-web-sdk.js +1 -1
  108. package/dist/types/components/fields/verdocs-field-attachment/verdocs-field-attachment.d.ts +4 -0
  109. package/dist/types/components/fields/verdocs-field-checkbox/verdocs-field-checkbox.d.ts +4 -0
  110. package/dist/types/components/fields/verdocs-field-date/verdocs-field-date.d.ts +4 -0
  111. package/dist/types/components/fields/verdocs-field-dropdown/verdocs-field-dropdown.d.ts +4 -0
  112. package/dist/types/components/fields/verdocs-field-initial/verdocs-field-initial.d.ts +4 -0
  113. package/dist/types/components/fields/verdocs-field-payment/verdocs-field-payment.d.ts +4 -0
  114. package/dist/types/components/fields/verdocs-field-radio-button-group/verdocs-field-radio-button.d.ts +4 -0
  115. package/dist/types/components/fields/verdocs-field-signature/verdocs-field-signature.d.ts +4 -0
  116. package/dist/types/components/fields/verdocs-field-textarea/verdocs-field-textarea.d.ts +4 -0
  117. package/dist/types/components/fields/verdocs-field-textbox/verdocs-field-textbox.d.ts +4 -0
  118. package/dist/types/components/fields/verdocs-field-timestamp/verdocs-field-timestamp.d.ts +4 -0
  119. package/dist/types/components/templates/verdocs-template-document-page/verdocs-template-document-page.d.ts +12 -0
  120. package/dist/types/components.d.ts +104 -0
  121. package/dist/types/utils/TemplateFieldStore.d.ts +1 -1
  122. package/dist/types/utils/utils.d.ts +9 -1
  123. package/dist/verdocs-web-sdk/p-00e8cfa6.system.entry.js +1 -0
  124. package/dist/verdocs-web-sdk/p-04ac4336.system.entry.js +1 -0
  125. package/dist/verdocs-web-sdk/p-08b5e01b.entry.js +1 -0
  126. package/dist/verdocs-web-sdk/p-116f7900.entry.js +1 -0
  127. package/dist/verdocs-web-sdk/p-26646a40.entry.js +1 -0
  128. package/dist/verdocs-web-sdk/p-358ce165.system.entry.js +1 -0
  129. package/dist/verdocs-web-sdk/p-3995b09b.system.entry.js +1 -0
  130. package/dist/verdocs-web-sdk/p-3c59911b.system.entry.js +1 -0
  131. package/dist/verdocs-web-sdk/p-3efa7c26.entry.js +1 -0
  132. package/dist/verdocs-web-sdk/{p-01d02174.js → p-47c63cc7.js} +1 -1
  133. package/dist/verdocs-web-sdk/p-500dce36.system.entry.js +1 -0
  134. package/dist/verdocs-web-sdk/{p-7c40ab4b.system.entry.js → p-5050f8a2.system.entry.js} +1 -1
  135. package/dist/verdocs-web-sdk/{p-e10bd7a0.entry.js → p-508808d2.entry.js} +1 -1
  136. package/dist/verdocs-web-sdk/p-5c306718.entry.js +1 -0
  137. package/dist/verdocs-web-sdk/{p-4b8a5a4e.system.entry.js → p-72f22ee9.system.entry.js} +1 -1
  138. package/dist/verdocs-web-sdk/p-80e69a68.entry.js +1 -0
  139. package/dist/verdocs-web-sdk/p-83597b2e.system.entry.js +1 -0
  140. package/dist/verdocs-web-sdk/p-8d9a749d.entry.js +1 -0
  141. package/dist/verdocs-web-sdk/p-9054234f.entry.js +1 -0
  142. package/dist/verdocs-web-sdk/{p-f69790c5.system.js → p-95080569.system.js} +1 -1
  143. package/dist/verdocs-web-sdk/{p-aecd8680.entry.js → p-9d4a5fd8.entry.js} +1 -1
  144. package/dist/verdocs-web-sdk/p-a16eba51.system.entry.js +1 -0
  145. package/dist/verdocs-web-sdk/{p-f0dd9355.js → p-a3d7cdda.js} +2 -2
  146. package/dist/verdocs-web-sdk/p-bb2ff79c.entry.js +1 -0
  147. package/dist/verdocs-web-sdk/{p-90a1755f.system.js → p-cacffa79.system.js} +2 -2
  148. package/dist/verdocs-web-sdk/{p-79965a5a.system.js → p-cff87d52.system.js} +1 -1
  149. package/dist/verdocs-web-sdk/p-d0bbe952.system.entry.js +1 -0
  150. package/dist/verdocs-web-sdk/p-d1092a62.system.entry.js +1 -0
  151. package/dist/verdocs-web-sdk/p-d7f90328.system.entry.js +1 -0
  152. package/dist/verdocs-web-sdk/p-db5de7e8.entry.js +1 -0
  153. package/dist/verdocs-web-sdk/p-e311d75f.system.entry.js +1 -0
  154. package/dist/verdocs-web-sdk/p-ea96b41e.entry.js +1 -0
  155. package/dist/verdocs-web-sdk/p-ef20cb50.js +1 -0
  156. package/dist/verdocs-web-sdk/p-f04bf956.system.js +1 -1
  157. package/dist/verdocs-web-sdk/p-f2a169d8.entry.js +1 -0
  158. package/dist/verdocs-web-sdk/verdocs-web-sdk.esm.js +1 -1
  159. package/package.json +1 -1
  160. package/dist/cjs/Files-4bdc0c0f.js +0 -47
  161. package/dist/cjs/verdocs-checkbox_3.cjs.entry.js +0 -56
  162. package/dist/cjs/verdocs-field-attachment.cjs.entry.js +0 -99
  163. package/dist/cjs/verdocs-field-checkbox.cjs.entry.js +0 -85
  164. package/dist/cjs/verdocs-field-dropdown.cjs.entry.js +0 -91
  165. package/dist/cjs/verdocs-field-initial.cjs.entry.js +0 -113
  166. package/dist/cjs/verdocs-field-radio-button.cjs.entry.js +0 -89
  167. package/dist/cjs/verdocs-field-signature.cjs.entry.js +0 -112
  168. package/dist/cjs/verdocs-field-textarea.cjs.entry.js +0 -141
  169. package/dist/cjs/verdocs-field-textbox.cjs.entry.js +0 -143
  170. package/dist/cjs/verdocs-field-timestamp.cjs.entry.js +0 -92
  171. package/dist/cjs/verdocs-initial-dialog.cjs.entry.js +0 -227
  172. package/dist/cjs/verdocs-signature-dialog.cjs.entry.js +0 -227
  173. package/dist/cjs/verdocs-template-document-page_2.cjs.entry.js +0 -150
  174. package/dist/cjs/verdocs-upload-dialog.cjs.entry.js +0 -82
  175. package/dist/components/Fields.js +0 -26
  176. package/dist/esm/Files-70a192df.js +0 -44
  177. package/dist/esm/verdocs-checkbox_3.entry.js +0 -50
  178. package/dist/esm/verdocs-initial-dialog.entry.js +0 -223
  179. package/dist/esm/verdocs-signature-dialog.entry.js +0 -223
  180. package/dist/esm/verdocs-template-document-page_2.entry.js +0 -145
  181. package/dist/esm/verdocs-upload-dialog.entry.js +0 -78
  182. package/dist/esm-es5/Files-70a192df.js +0 -1
  183. package/dist/esm-es5/verdocs-checkbox_3.entry.js +0 -1
  184. package/dist/esm-es5/verdocs-field-attachment.entry.js +0 -1
  185. package/dist/esm-es5/verdocs-field-checkbox.entry.js +0 -1
  186. package/dist/esm-es5/verdocs-field-date.entry.js +0 -1
  187. package/dist/esm-es5/verdocs-field-dropdown.entry.js +0 -1
  188. package/dist/esm-es5/verdocs-field-initial.entry.js +0 -1
  189. package/dist/esm-es5/verdocs-field-radio-button.entry.js +0 -1
  190. package/dist/esm-es5/verdocs-field-signature.entry.js +0 -1
  191. package/dist/esm-es5/verdocs-field-textarea.entry.js +0 -1
  192. package/dist/esm-es5/verdocs-field-textbox.entry.js +0 -1
  193. package/dist/esm-es5/verdocs-field-timestamp.entry.js +0 -1
  194. package/dist/esm-es5/verdocs-initial-dialog.entry.js +0 -1
  195. package/dist/esm-es5/verdocs-portal_2.entry.js +0 -1
  196. package/dist/esm-es5/verdocs-signature-dialog.entry.js +0 -1
  197. package/dist/esm-es5/verdocs-template-document-page_2.entry.js +0 -1
  198. package/dist/esm-es5/verdocs-upload-dialog.entry.js +0 -1
  199. package/dist/verdocs-web-sdk/p-0edfbbb9.entry.js +0 -1
  200. package/dist/verdocs-web-sdk/p-0fd03f17.system.entry.js +0 -1
  201. package/dist/verdocs-web-sdk/p-16cc9e91.system.entry.js +0 -1
  202. package/dist/verdocs-web-sdk/p-1b9f1492.entry.js +0 -1
  203. package/dist/verdocs-web-sdk/p-1d68436a.entry.js +0 -1
  204. package/dist/verdocs-web-sdk/p-202a5368.entry.js +0 -1
  205. package/dist/verdocs-web-sdk/p-20986706.entry.js +0 -1
  206. package/dist/verdocs-web-sdk/p-22275b64.system.entry.js +0 -1
  207. package/dist/verdocs-web-sdk/p-2407c719.system.entry.js +0 -1
  208. package/dist/verdocs-web-sdk/p-2bb8b0c0.entry.js +0 -1
  209. package/dist/verdocs-web-sdk/p-30265ae4.system.entry.js +0 -1
  210. package/dist/verdocs-web-sdk/p-32076544.entry.js +0 -1
  211. package/dist/verdocs-web-sdk/p-327858f0.system.js +0 -1
  212. package/dist/verdocs-web-sdk/p-34832c03.system.entry.js +0 -1
  213. package/dist/verdocs-web-sdk/p-4157afe4.entry.js +0 -1
  214. package/dist/verdocs-web-sdk/p-43a78ea1.entry.js +0 -1
  215. package/dist/verdocs-web-sdk/p-4b740499.system.entry.js +0 -1
  216. package/dist/verdocs-web-sdk/p-50a552a9.entry.js +0 -1
  217. package/dist/verdocs-web-sdk/p-521a3fec.entry.js +0 -1
  218. package/dist/verdocs-web-sdk/p-522f19d0.system.entry.js +0 -1
  219. package/dist/verdocs-web-sdk/p-6190eb2d.entry.js +0 -1
  220. package/dist/verdocs-web-sdk/p-66b9d77e.system.entry.js +0 -1
  221. package/dist/verdocs-web-sdk/p-6a5fbeb0.entry.js +0 -1
  222. package/dist/verdocs-web-sdk/p-6bae71c2.system.entry.js +0 -1
  223. package/dist/verdocs-web-sdk/p-6eb2ce21.js +0 -1
  224. package/dist/verdocs-web-sdk/p-712e8341.system.entry.js +0 -1
  225. package/dist/verdocs-web-sdk/p-77898b84.entry.js +0 -1
  226. package/dist/verdocs-web-sdk/p-7cb3209d.system.entry.js +0 -1
  227. package/dist/verdocs-web-sdk/p-83a1476c.entry.js +0 -1
  228. package/dist/verdocs-web-sdk/p-8bf9acf4.system.entry.js +0 -1
  229. package/dist/verdocs-web-sdk/p-9365abef.entry.js +0 -1
  230. package/dist/verdocs-web-sdk/p-946903f3.system.entry.js +0 -1
  231. package/dist/verdocs-web-sdk/p-98f91a5e.system.entry.js +0 -1
  232. package/dist/verdocs-web-sdk/p-a1ccd671.entry.js +0 -1
  233. package/dist/verdocs-web-sdk/p-a5f450a1.system.entry.js +0 -1
  234. package/dist/verdocs-web-sdk/p-a6048cc9.system.entry.js +0 -1
  235. package/dist/verdocs-web-sdk/p-a604c1ad.system.entry.js +0 -1
  236. package/dist/verdocs-web-sdk/p-a9934632.entry.js +0 -1
  237. package/dist/verdocs-web-sdk/p-aa124212.js +0 -1
  238. package/dist/verdocs-web-sdk/p-b3c78f12.entry.js +0 -1
  239. package/dist/verdocs-web-sdk/p-ba87f33c.system.entry.js +0 -1
  240. package/dist/verdocs-web-sdk/p-bb2006de.system.entry.js +0 -1
  241. package/dist/verdocs-web-sdk/p-c9716926.system.entry.js +0 -1
  242. package/dist/verdocs-web-sdk/p-cee12c63.entry.js +0 -1
  243. package/dist/verdocs-web-sdk/p-d3942875.entry.js +0 -1
  244. package/dist/verdocs-web-sdk/p-e0853268.system.entry.js +0 -1
  245. package/dist/verdocs-web-sdk/p-e27ec758.entry.js +0 -1
  246. package/dist/verdocs-web-sdk/p-e2a8ce1d.entry.js +0 -1
  247. package/dist/verdocs-web-sdk/p-e98e76f5.system.entry.js +0 -1
  248. package/dist/verdocs-web-sdk/p-ecc85500.entry.js +0 -1
  249. package/dist/verdocs-web-sdk/p-ef1f4d49.entry.js +0 -1
  250. package/dist/verdocs-web-sdk/p-f23af885.system.entry.js +0 -1
  251. package/dist/verdocs-web-sdk/p-f55038fc.system.entry.js +0 -1
  252. package/dist/verdocs-web-sdk/p-f68c15fb.entry.js +0 -1
  253. package/dist/verdocs-web-sdk/p-f8f703bb.system.entry.js +0 -1
@@ -22,6 +22,7 @@ export class VerdocsFieldRadioButton {
22
22
  this.moveable = false;
23
23
  this.xscale = 1;
24
24
  this.yscale = 1;
25
+ this.pagenumber = 1;
25
26
  this.showingProperties = false;
26
27
  }
27
28
  async showSettingsPanel() {
@@ -243,6 +244,24 @@ export class VerdocsFieldRadioButton {
243
244
  "attribute": "yscale",
244
245
  "reflect": false,
245
246
  "defaultValue": "1"
247
+ },
248
+ "pagenumber": {
249
+ "type": "number",
250
+ "mutable": false,
251
+ "complexType": {
252
+ "original": "number",
253
+ "resolved": "number",
254
+ "references": {}
255
+ },
256
+ "required": false,
257
+ "optional": true,
258
+ "docs": {
259
+ "tags": [],
260
+ "text": "The page the field is on"
261
+ },
262
+ "attribute": "pagenumber",
263
+ "reflect": false,
264
+ "defaultValue": "1"
246
265
  }
247
266
  };
248
267
  }
@@ -21,6 +21,7 @@ export class VerdocsFieldSignature {
21
21
  this.done = false;
22
22
  this.xscale = 1;
23
23
  this.yscale = 1;
24
+ this.pagenumber = 1;
24
25
  this.showingProperties = false;
25
26
  this.tempSignature = '';
26
27
  }
@@ -265,6 +266,24 @@ export class VerdocsFieldSignature {
265
266
  "attribute": "yscale",
266
267
  "reflect": false,
267
268
  "defaultValue": "1"
269
+ },
270
+ "pagenumber": {
271
+ "type": "number",
272
+ "mutable": false,
273
+ "complexType": {
274
+ "original": "number",
275
+ "resolved": "number",
276
+ "references": {}
277
+ },
278
+ "required": false,
279
+ "optional": true,
280
+ "docs": {
281
+ "tags": [],
282
+ "text": "The page the field is on"
283
+ },
284
+ "attribute": "pagenumber",
285
+ "reflect": false,
286
+ "defaultValue": "1"
268
287
  }
269
288
  };
270
289
  }
@@ -23,6 +23,7 @@ export class VerdocsFieldTextarea {
23
23
  this.done = false;
24
24
  this.xscale = 1;
25
25
  this.yscale = 1;
26
+ this.pagenumber = 1;
26
27
  this.showingProperties = false;
27
28
  }
28
29
  async focusField() {
@@ -297,6 +298,24 @@ export class VerdocsFieldTextarea {
297
298
  "attribute": "yscale",
298
299
  "reflect": false,
299
300
  "defaultValue": "1"
301
+ },
302
+ "pagenumber": {
303
+ "type": "number",
304
+ "mutable": false,
305
+ "complexType": {
306
+ "original": "number",
307
+ "resolved": "number",
308
+ "references": {}
309
+ },
310
+ "required": false,
311
+ "optional": true,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": "The page the field is on"
315
+ },
316
+ "attribute": "pagenumber",
317
+ "reflect": false,
318
+ "defaultValue": "1"
300
319
  }
301
320
  };
302
321
  }
@@ -61,7 +61,7 @@ verdocs-field-textbox [data-lastpass-icon-root] {
61
61
  verdocs-field-textbox .settings-icon {
62
62
  position: absolute;
63
63
  top: -4px;
64
- left: -20px;
64
+ left: -18px;
65
65
  display: inline-block;
66
66
  cursor: pointer;
67
67
  opacity: 0.6;
@@ -4,7 +4,7 @@ import { getRGBA } from '@verdocs/js-sdk/Utils/Colors';
4
4
  import { updateField } from '@verdocs/js-sdk/Templates/Fields';
5
5
  import { h, Host, Fragment } from '@stencil/core';
6
6
  import { getRoleIndex, getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
7
- import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
7
+ import { getTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
8
8
  import { getFieldSettings } from '../../../utils/utils';
9
9
  import { SettingsIcon } from '../../../utils/Icons';
10
10
  /**
@@ -23,6 +23,7 @@ export class VerdocsFieldTextbox {
23
23
  this.done = false;
24
24
  this.xscale = 1;
25
25
  this.yscale = 1;
26
+ this.pagenumber = 1;
26
27
  this.showingProperties = false;
27
28
  }
28
29
  async focusField() {
@@ -67,10 +68,12 @@ export class VerdocsFieldTextbox {
67
68
  x = (parseFloat(x) || 0) + e.deltaRect.left;
68
69
  y = (parseFloat(y) || 0) + e.deltaRect.top;
69
70
  h = (parseFloat(h) || 0) + e.deltaRect.height;
71
+ width /= this.xscale;
72
+ height /= this.yscale;
70
73
  Object.assign(e.target.style, {
71
74
  width: `${width}px`,
72
75
  height: `${height}px`,
73
- transform: `translate(${x}px, ${y + h}px)`,
76
+ transform: `scale(${this.xscale}, ${this.yscale}); translate(${x}px, ${y + h}px)`,
74
77
  });
75
78
  Object.assign(e.target.dataset, { x, y, h });
76
79
  }
@@ -78,14 +81,16 @@ export class VerdocsFieldTextbox {
78
81
  const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
79
82
  const newSettings = { ...getFieldSettings(field) };
80
83
  const [translateX, translateY] = e.target.style.transform.split('(')[1].split(')')[0].split(',').map(parseFloat);
81
- newSettings.width = Math.round(parseFloat(e.target.style.width) / this.xscale);
82
- newSettings.height = Math.round(parseFloat(e.target.style.height) / this.yscale);
83
- newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
84
- newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
84
+ console.log({ translateX, translateY });
85
+ newSettings.width = Math.round(parseFloat(e.target.style.width));
86
+ newSettings.height = Math.round(parseFloat(e.target.style.height));
87
+ // newSettings.x = Math.round(newSettings.x + translateX / this.xscale);
88
+ // newSettings.y = Math.round(newSettings.y - translateY / this.yscale);
85
89
  updateField(this.endpoint, this.templateid, this.fieldname, { setting: newSettings })
86
90
  .then(field => {
87
91
  var _a;
88
92
  console.log('Update result', field);
93
+ updateStoreField(this.fieldStore, this.fieldname, field);
89
94
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: field.name, settings: newSettings, field });
90
95
  Object.assign(e.target.dataset, { x: 0, y: 0, h: 0 });
91
96
  })
@@ -94,7 +99,6 @@ export class VerdocsFieldTextbox {
94
99
  render() {
95
100
  var _a, _b;
96
101
  const field = this.fieldStore.get('fields').find(field => field.name === this.fieldname);
97
- console.log('Rendering tb', this.fieldname, field);
98
102
  const roleIndex = getRoleIndex(this.roleStore, field.role_name);
99
103
  const backgroundColor = field['rgba'] || getRGBA(roleIndex);
100
104
  if (!field) {
@@ -299,6 +303,24 @@ export class VerdocsFieldTextbox {
299
303
  "attribute": "yscale",
300
304
  "reflect": false,
301
305
  "defaultValue": "1"
306
+ },
307
+ "pagenumber": {
308
+ "type": "number",
309
+ "mutable": false,
310
+ "complexType": {
311
+ "original": "number",
312
+ "resolved": "number",
313
+ "references": {}
314
+ },
315
+ "required": false,
316
+ "optional": true,
317
+ "docs": {
318
+ "tags": [],
319
+ "text": "The page the field is on"
320
+ },
321
+ "attribute": "pagenumber",
322
+ "reflect": false,
323
+ "defaultValue": "1"
302
324
  }
303
325
  };
304
326
  }
@@ -21,6 +21,7 @@ export class VerdocsFieldTimestamp {
21
21
  this.done = false;
22
22
  this.xscale = 1;
23
23
  this.yscale = 1;
24
+ this.pagenumber = 1;
24
25
  this.showingProperties = false;
25
26
  }
26
27
  async focusField() {
@@ -230,6 +231,24 @@ export class VerdocsFieldTimestamp {
230
231
  "attribute": "yscale",
231
232
  "reflect": false,
232
233
  "defaultValue": "1"
234
+ },
235
+ "pagenumber": {
236
+ "type": "number",
237
+ "mutable": false,
238
+ "complexType": {
239
+ "original": "number",
240
+ "resolved": "number",
241
+ "references": {}
242
+ },
243
+ "required": false,
244
+ "optional": true,
245
+ "docs": {
246
+ "tags": [],
247
+ "text": "The page the field is on"
248
+ },
249
+ "attribute": "pagenumber",
250
+ "reflect": false,
251
+ "defaultValue": "1"
233
252
  }
234
253
  };
235
254
  }
@@ -1,8 +1,9 @@
1
1
  // NOTE: This component does not have a story because it's not intended for external use.
2
2
  import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
- import { h, Host } from '@stencil/core';
4
3
  import { getTemplateDocumentPageDisplayUri } from '@verdocs/js-sdk/Templates/TemplateDocuments';
5
- import { throttle } from '../../../utils/utils';
4
+ import { h, Host, Fragment } from '@stencil/core';
5
+ import { getTemplateFieldStore } from '../../../utils/TemplateFieldStore';
6
+ import { getControlStyles, getFieldId, getFieldOptionId, throttle } from '../../../utils/utils';
6
7
  /**
7
8
  * Represents one document page. This is primarily a layout container used to coordinate positions of
8
9
  * page-related layers such as the page itself, signature fields, etc. It is not intended to be used
@@ -10,7 +11,10 @@ import { throttle } from '../../../utils/utils';
10
11
  */
11
12
  export class VerdocsTemplateDocumentPage {
12
13
  constructor() {
14
+ this.fieldStore = null;
13
15
  this.endpoint = VerdocsEndpoint.getDefault();
16
+ this.editable = false;
17
+ this.done = false;
14
18
  this.templateId = '';
15
19
  this.documentId = '';
16
20
  this.pageNumber = 1;
@@ -25,9 +29,12 @@ export class VerdocsTemplateDocumentPage {
25
29
  this.aspectRatio = this.virtualWidth / this.virtualHeight;
26
30
  this.skipFirstNotification = true;
27
31
  this.pageDisplayUri = '';
32
+ this.xScale = 1;
33
+ this.yScale = 1;
28
34
  }
29
35
  async componentWillLoad() {
30
36
  this.pageDisplayUri = await getTemplateDocumentPageDisplayUri(this.endpoint, this.templateId, this.documentId, this.pageNumber);
37
+ this.fieldStore = getTemplateFieldStore(this.templateId);
31
38
  }
32
39
  componentDidLoad() {
33
40
  this.resizeObserver = new ResizeObserver(throttle(entries => {
@@ -56,6 +63,14 @@ export class VerdocsTemplateDocumentPage {
56
63
  this.skipFirstNotification = false;
57
64
  return;
58
65
  }
66
+ const xScale = this.renderedWidth / this.virtualWidth;
67
+ if (this.xScale !== xScale) {
68
+ this.xScale = xScale;
69
+ }
70
+ const yScale = this.renderedHeight / this.virtualHeight;
71
+ if (this.yScale !== yScale) {
72
+ this.yScale = yScale;
73
+ }
59
74
  this.pageRendered.emit({
60
75
  // container: this.container,
61
76
  containerId: this.containerId,
@@ -68,13 +83,49 @@ export class VerdocsTemplateDocumentPage {
68
83
  naturalWidth: this.naturalWidth,
69
84
  naturalHeight: this.naturalHeight,
70
85
  aspectRatio: this.aspectRatio,
71
- xScale: this.renderedWidth / this.virtualWidth,
72
- yScale: this.renderedHeight / this.virtualHeight,
86
+ xScale,
87
+ yScale,
73
88
  });
74
89
  }
75
90
  render() {
76
91
  const height = `${this.renderedHeight}px`;
77
- return (h(Host, { id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-template-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } })) : this.pageDisplayUri ? (h("img", { class: "verdocs-template-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
92
+ return (h(Host, { id: `${this.containerId}`, style: { height, flex: `0 0 ${height}` } }, this.layers.map(layer => layer.type === 'div' ? (h("div", { class: "verdocs-template-document-page-layer", id: `${this.containerId}-${layer.name}`, style: { height } }, layer.name === 'controls' &&
93
+ this.fieldStore
94
+ .get('fields')
95
+ .filter(field => field && field.page_sequence === this.pageNumber)
96
+ .map(field => {
97
+ const id = getFieldId(field);
98
+ switch (field.type) {
99
+ case 'textbox':
100
+ return (h("verdocs-field-textbox", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, done: this.done, xscale: this.xScale, yscale: this.yScale, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
101
+ case 'textarea':
102
+ return (h("verdocs-field-textarea", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, done: this.done, xscale: this.xScale, yscale: this.yScale, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
103
+ case 'date':
104
+ return (h("verdocs-field-date", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
105
+ case 'attachment':
106
+ return (h("verdocs-field-attachment", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, done: this.done, xscale: this.xScale, yscale: this.yScale, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
107
+ case 'dropdown':
108
+ return (h("verdocs-field-dropdown", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, done: this.done, xscale: this.xScale, yscale: this.yScale, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
109
+ case 'initial':
110
+ return (h("verdocs-field-initial", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
111
+ case 'signature':
112
+ return (h("verdocs-field-signature", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
113
+ case 'timestamp':
114
+ return (h("verdocs-field-timestamp", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, 0) }));
115
+ case 'checkbox_group':
116
+ return (field.settings || field.setting || {}).options.map((_, checkboxIndex) => {
117
+ const id = getFieldOptionId(field, checkboxIndex);
118
+ return (h("verdocs-field-checkbox", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, option: checkboxIndex, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, checkboxIndex) }));
119
+ });
120
+ case 'radio_button_group':
121
+ return (field.settings || field.setting || {}).options.map((_, checkboxIndex) => {
122
+ const id = getFieldOptionId(field, checkboxIndex);
123
+ return (h("verdocs-field-radio-button", { id: id, templateid: this.templateId, fieldname: field.name, editable: this.editable, xscale: this.xScale, yscale: this.yScale, done: this.done, option: checkboxIndex, pagenumber: this.pageNumber, style: getControlStyles(field, this.xScale, this.yScale, checkboxIndex) }));
124
+ });
125
+ default:
126
+ return h(Fragment, null, field.name);
127
+ }
128
+ }))) : this.pageDisplayUri ? (h("img", { class: "verdocs-template-document-page-layer img", id: `${this.containerId}-${layer.name}`, src: this.pageDisplayUri, alt: `Page ${this.pageNumber}`, "aria-hidden": true, loading: "lazy", onLoad: (e) => {
78
129
  // Note that all we really care about is the aspect ratio. We track the natural Width and Height but they aren't really that
79
130
  // useful as individual values. The image will already have been scaled down to fit a DIV for display (100%, auto height).
80
131
  // Builder places fields offset into the rendered display area, not the original document's dimensions. So its X/Y values
@@ -123,6 +174,42 @@ export class VerdocsTemplateDocumentPage {
123
174
  },
124
175
  "defaultValue": "VerdocsEndpoint.getDefault()"
125
176
  },
177
+ "editable": {
178
+ "type": "boolean",
179
+ "mutable": false,
180
+ "complexType": {
181
+ "original": "boolean",
182
+ "resolved": "boolean",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [],
189
+ "text": "Whether the fields should be editable (Builder)"
190
+ },
191
+ "attribute": "editable",
192
+ "reflect": false,
193
+ "defaultValue": "false"
194
+ },
195
+ "done": {
196
+ "type": "boolean",
197
+ "mutable": false,
198
+ "complexType": {
199
+ "original": "boolean",
200
+ "resolved": "boolean",
201
+ "references": {}
202
+ },
203
+ "required": false,
204
+ "optional": false,
205
+ "docs": {
206
+ "tags": [],
207
+ "text": "Whether the field are interactable (done/submitted disables this)"
208
+ },
209
+ "attribute": "done",
210
+ "reflect": false,
211
+ "defaultValue": "false"
212
+ },
126
213
  "templateId": {
127
214
  "type": "string",
128
215
  "mutable": false,
@@ -245,7 +332,9 @@ export class VerdocsTemplateDocumentPage {
245
332
  "naturalHeight": {},
246
333
  "aspectRatio": {},
247
334
  "skipFirstNotification": {},
248
- "pageDisplayUri": {}
335
+ "pageDisplayUri": {},
336
+ "xScale": {},
337
+ "yScale": {}
249
338
  };
250
339
  }
251
340
  static get events() {
@@ -135,15 +135,11 @@ export class VerdocsTemplateFieldProperties {
135
135
  .then(updated => {
136
136
  var _a, _b, _c;
137
137
  this.dirty = false;
138
- const newFields = [
139
- ...this.fieldStore.get('fields').map(field => {
140
- if (field.name !== this.fieldName) {
141
- return field;
142
- }
143
- return { ...field, ...updated };
144
- }),
145
- ];
146
- this.fieldStore.set('fields', newFields);
138
+ updateStoreField(this.fieldStore, this.fieldName, updated);
139
+ // if (this.fieldname !== newSettings.name) {
140
+ // this.fieldname = newSettings.name;
141
+ // console.log('new name', this.fieldname);
142
+ // }
147
143
  (_a = this.settingsChanged) === null || _a === void 0 ? void 0 : _a.emit({ fieldName: this.fieldName, settings: newProperties, field: updated });
148
144
  (_b = this.close) === null || _b === void 0 ? void 0 : _b.emit();
149
145
  (_c = document.getElementById('verdocs-template-field-properties')) === null || _c === void 0 ? void 0 : _c.remove();
@@ -3,7 +3,7 @@ import { VerdocsEndpoint } from '@verdocs/js-sdk';
3
3
  import { integerSequence } from '@verdocs/js-sdk/Utils/Primitives';
4
4
  import { createField, updateField } from '@verdocs/js-sdk/Templates/Fields';
5
5
  import { getTemplateFieldStore, updateStoreField } from '../../../utils/TemplateFieldStore';
6
- import { defaultHeight, defaultWidth, renderDocumentField, updateCssTransform } from '../../../utils/utils';
6
+ import { defaultHeight, defaultWidth, getFieldId, removeCssTransform, renderDocumentField, updateCssTransform } from '../../../utils/utils';
7
7
  import { h, Host } from '@stencil/core';
8
8
  import { getTemplateRoleStore } from '../../../utils/TemplateRoleStore';
9
9
  import { getTemplateStore } from '../../../utils/TemplateStore';
@@ -67,15 +67,12 @@ export class VerdocsTemplateFields {
67
67
  }
68
68
  getTemplateStore(this.endpoint, this.templateId, true)
69
69
  .then(ts => {
70
- var _a, _b, _c, _d;
70
+ var _a, _b;
71
71
  this.templateStore = ts;
72
72
  console.log('[PREVIEW] Loaded Template Store', ts.state);
73
73
  this.fieldStore = getTemplateFieldStore(this.templateId);
74
74
  this.roleStore = getTemplateRoleStore(this.templateId);
75
75
  this.selectedRoleName = ((_b = (_a = this.roleStore.get('roles')) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name) || '';
76
- console.log('Sel role', this.selectedRoleName);
77
- console.log('RS', (_c = this.roleStore) === null || _c === void 0 ? void 0 : _c.state);
78
- console.log('FS', (_d = this.fieldStore) === null || _d === void 0 ? void 0 : _d.state);
79
76
  console.log('[PREVIEW] Loaded template', this.templateStore.state, this.roleStore.get('roles'), this.fieldStore.get('fields'));
80
77
  this.loading = false;
81
78
  this.fieldStore.onChange('fields', fields => {
@@ -123,8 +120,9 @@ export class VerdocsTemplateFields {
123
120
  }
124
121
  attachFieldAttributes(pageInfo, field, el) {
125
122
  el.addEventListener('input', e => this.handleFieldChange(field, e));
126
- el.addEventListener('settingsChanged', () => {
123
+ el.addEventListener('settingsChanged', e => {
127
124
  var _a, _b;
125
+ console.log('Settings changed', e.detail);
128
126
  (_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' });
129
127
  });
130
128
  el.addEventListener('deleted', () => {
@@ -142,12 +140,22 @@ export class VerdocsTemplateFields {
142
140
  }
143
141
  handlePageRendered(e) {
144
142
  const pageInfo = e.detail;
145
- // console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo);
143
+ console.log('[FIELDS] Page rendered', pageInfo.pageNumber, pageInfo.xScale, pageInfo.yScale);
146
144
  this.cachedPageInfo[pageInfo.pageNumber] = pageInfo;
147
145
  this.pageHeights[pageInfo.pageNumber] = pageInfo.naturalHeight;
148
- const fields = this.fieldStore.get('fields').filter(field => field && field.page_sequence === pageInfo.pageNumber);
149
- console.log('[FIELDS] Page rendered', pageInfo, fields);
150
- fields.forEach((field) => this.reRenderField(field, pageInfo.pageNumber));
146
+ this.fieldStore
147
+ .get('fields')
148
+ .filter(field => field && field.page_sequence === pageInfo.pageNumber)
149
+ .forEach(field => {
150
+ // TODO: Why isn't the attr already on the element carrying through?
151
+ const id = getFieldId(field);
152
+ const el = document.getElementById(id);
153
+ if (el) {
154
+ el.setAttribute('fieldname', field.name);
155
+ el.setAttribute('pagenumber', String(field.page_sequence));
156
+ this.makeDraggable(el);
157
+ }
158
+ });
151
159
  }
152
160
  reRenderField(field, pageNumber) {
153
161
  const pageInfo = this.cachedPageInfo[pageNumber];
@@ -188,14 +196,14 @@ export class VerdocsTemplateFields {
188
196
  }
189
197
  async handleMoveEnd(event) {
190
198
  var _a, _b;
191
- const name = event.target.getAttribute('name');
199
+ const name = event.target.getAttribute('fieldname');
192
200
  const option = +(event.target.getAttribute('option') || '0');
193
201
  const field = this.fieldStore.get('fields').find(field => field.name === name);
194
202
  if (!field) {
195
- console.log('[FIELDS] Unable to find field', name);
203
+ console.log('[FIELDS] Unable to find field', name, event.target);
196
204
  return;
197
205
  }
198
- const pageNumber = event.target.getAttribute('pageNumber');
206
+ const pageNumber = event.target.getAttribute('pagenumber');
199
207
  const { naturalWidth = 612, naturalHeight = 792, renderedHeight = 792 } = this.cachedPageInfo[pageNumber];
200
208
  const clientRect = event.target.getBoundingClientRect();
201
209
  const parent = event.target.parentElement;
@@ -237,8 +245,8 @@ export class VerdocsTemplateFields {
237
245
  event.target.removeAttribute('posX');
238
246
  event.target.removeAttribute('posY');
239
247
  console.log('Will remove CSS transform', event.target.style.transform);
240
- this.reRenderField(newFieldData, pageNumber);
241
- // removeCssTransform(event.target, 'transform');
248
+ // this.reRenderField(newFieldData, pageNumber);
249
+ removeCssTransform(event.target);
242
250
  console.log('[FIELDS] Updated', name, newFieldData);
243
251
  (_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' });
244
252
  }
@@ -381,7 +389,7 @@ export class VerdocsTemplateFields {
381
389
  }
382
390
  } })))), h("div", { class: "pages" }, (((_c = (_b = this.templateStore) === null || _b === void 0 ? void 0 : _b.state) === null || _c === void 0 ? void 0 : _c.template_documents) || []).map(document => {
383
391
  const pageNumbers = integerSequence(1, document.page_numbers);
384
- 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: [
392
+ return pageNumbers.map(page => (h("verdocs-template-document-page", { templateId: this.templateId, documentId: document.id, pageNumber: page, virtualWidth: 612, virtualHeight: 792, editable: true, done: false, onClick: (e) => this.handleClickPage(e, page), onPageRendered: e => this.handlePageRendered(e), layers: [
385
393
  { name: 'page', type: 'canvas' },
386
394
  { name: 'controls', type: 'div' },
387
395
  ] })));
@@ -30,16 +30,17 @@ export const createTemplateFieldStoreFromEnvelope = (envelope) => {
30
30
  store.set('fields', [...envelope.fields]);
31
31
  return store;
32
32
  };
33
- export const updateStoreField = (store, name, newFieldData) => {
34
- const newFields = [
35
- ...store.get('fields').map(field => {
36
- if (field.name !== name) {
37
- return field;
38
- }
39
- return { ...field, ...newFieldData };
40
- }),
41
- ];
42
- store.set('fields', newFields);
33
+ export const updateStoreField = (store, oldName, newFieldData) => {
34
+ const oldFields = store.get('fields') || [];
35
+ if (oldName !== newFieldData.name) {
36
+ console.log('Renaming', oldName, newFieldData.name);
37
+ const withoutOldField = oldFields.filter(field => field.name !== oldName);
38
+ store.set('fields', [...withoutOldField, newFieldData]);
39
+ }
40
+ else {
41
+ console.log('Updating', oldName);
42
+ store.set('fields', oldFields.map(field => (field.name === oldName ? { ...field, ...newFieldData } : { ...field })));
43
+ }
43
44
  };
44
45
  export const deleteStoreField = (store, name) => {
45
46
  const newFields = [...store.get('fields').filter(field => field.name !== name)];
@@ -79,6 +79,27 @@ export const setControlStyles = (el, field, xScale, yScale, option) => {
79
79
  el.style.transform = `scale(${xScale}, ${yScale})`;
80
80
  // el.style.backgroundColor = field['rgba'] || getRGBA(roleIndex);
81
81
  };
82
+ export const getControlStyles = (field, xScale, yScale, option) => {
83
+ var _a, _b, _c, _d;
84
+ const settings = field.setting || field.settings;
85
+ let { x = 0, y = 0, width = defaultWidth(field.type), height = defaultHeight(field.type) } = settings;
86
+ // console.log('scs', field, settings, x, y);
87
+ const optionSettings = settings.options && option !== undefined && settings.options[option] ? settings.options[option] : null;
88
+ if (optionSettings) {
89
+ x = (_a = optionSettings.x) !== null && _a !== void 0 ? _a : x;
90
+ y = (_b = optionSettings.y) !== null && _b !== void 0 ? _b : y;
91
+ width = (_c = optionSettings.width) !== null && _c !== void 0 ? _c : width;
92
+ height = (_d = optionSettings.height) !== null && _d !== void 0 ? _d : height;
93
+ }
94
+ return {
95
+ width: `${width}px`,
96
+ height: `${height}px`,
97
+ position: 'absolute',
98
+ left: `${rescale(xScale, x)}px`,
99
+ bottom: `${rescale(yScale, y)}px`,
100
+ transform: `scale(${xScale}, ${yScale})`,
101
+ };
102
+ };
82
103
  export const getFieldId = (field) => {
83
104
  return `verdocs-doc-fld-${field.name}`;
84
105
  };
@@ -275,13 +296,11 @@ export const updateCssTransform = (el, key, value) => {
275
296
  el.style.transform = currentTransform + ' ' + newValue;
276
297
  }
277
298
  };
278
- export const removeCssTransform = (el, key) => {
279
- const currentTransform = el.style.transform || '';
280
- console.log('ct', key, currentTransform);
299
+ export const removeCssTransform = (el) => {
300
+ // const currentTransform = el.style.transform || '';
281
301
  el.style.transform = el.style.transform.split(')')[0] + ')';
282
302
  // TODO: This is not working
283
303
  // el.style.transform = currentTransform.replace(new RegExp(`\(${key}\\(.+?\\)\)`), '');
284
- console.log('nt', el.style.transform);
285
304
  };
286
305
  export const saveAttachment = async (endpoint, envelope, documentId) => {
287
306
  // e.g. "Colorado-Motor-Vehicle-Bill-of-Sale.pdf"
@@ -31,16 +31,17 @@ const createTemplateFieldStoreFromEnvelope = (envelope) => {
31
31
  store.set('fields', [...envelope.fields]);
32
32
  return store;
33
33
  };
34
- const updateStoreField = (store, name, newFieldData) => {
35
- const newFields = [
36
- ...store.get('fields').map(field => {
37
- if (field.name !== name) {
38
- return field;
39
- }
40
- return { ...field, ...newFieldData };
41
- }),
42
- ];
43
- store.set('fields', newFields);
34
+ const updateStoreField = (store, oldName, newFieldData) => {
35
+ const oldFields = store.get('fields') || [];
36
+ if (oldName !== newFieldData.name) {
37
+ console.log('Renaming', oldName, newFieldData.name);
38
+ const withoutOldField = oldFields.filter(field => field.name !== oldName);
39
+ store.set('fields', [...withoutOldField, newFieldData]);
40
+ }
41
+ else {
42
+ console.log('Updating', oldName);
43
+ store.set('fields', oldFields.map(field => (field.name === oldName ? { ...field, ...newFieldData } : { ...field })));
44
+ }
44
45
  };
45
46
 
46
47
  export { createTemplateFieldStore as a, createTemplateFieldStoreFromEnvelope as c, getTemplateFieldStore as g, updateStoreField as u };