@formio/js 5.2.4-rc.0 → 5.2.5

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 (512) hide show
  1. package/dist/formio.builder.css +50 -161
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +49 -158
  7. package/dist/formio.form.js +108 -152
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +1 -1
  11. package/dist/formio.full.css +50 -161
  12. package/dist/formio.full.js +227 -401
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +1 -1
  16. package/dist/formio.js +18 -51
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +14 -47
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/CDN.js +12 -12
  23. package/lib/cjs/Element.d.ts +2 -3
  24. package/lib/cjs/Element.js +26 -29
  25. package/lib/cjs/Embed.js +42 -75
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +341 -371
  28. package/lib/cjs/Form.js +39 -153
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +3 -2
  31. package/lib/cjs/Formio.js +23 -26
  32. package/lib/cjs/InlineEmbed.js +17 -23
  33. package/lib/cjs/PDF.d.ts +0 -1
  34. package/lib/cjs/PDF.js +15 -18
  35. package/lib/cjs/PDFBuilder.js +36 -51
  36. package/lib/cjs/Webform.d.ts +366 -8
  37. package/lib/cjs/Webform.js +238 -177
  38. package/lib/cjs/WebformBuilder.js +152 -221
  39. package/lib/cjs/Wizard.js +65 -95
  40. package/lib/cjs/WizardBuilder.js +19 -27
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +4 -0
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +198 -309
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  49. package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  50. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  54. package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  55. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +1 -7
  60. package/lib/cjs/components/_classes/input/Input.js +26 -30
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
  65. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  66. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  67. package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
  68. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
  69. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  70. package/lib/cjs/components/address/Address.d.ts +0 -1
  71. package/lib/cjs/components/address/Address.js +52 -57
  72. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  73. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  74. package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
  75. package/lib/cjs/components/alert/Alert.js +15 -21
  76. package/lib/cjs/components/button/Button.form.js +1 -1
  77. package/lib/cjs/components/button/Button.js +47 -64
  78. package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
  79. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  80. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  81. package/lib/cjs/components/checkbox/Checkbox.js +20 -28
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  83. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  84. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  85. package/lib/cjs/components/columns/Columns.form.js +1 -1
  86. package/lib/cjs/components/columns/Columns.js +12 -24
  87. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  88. package/lib/cjs/components/container/Container.form.js +2 -2
  89. package/lib/cjs/components/container/Container.js +4 -6
  90. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  91. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  92. package/lib/cjs/components/content/Content.form.js +2 -4
  93. package/lib/cjs/components/content/Content.js +8 -10
  94. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  95. package/lib/cjs/components/currency/Currency.form.js +3 -3
  96. package/lib/cjs/components/currency/Currency.js +10 -19
  97. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  98. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  99. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  100. package/lib/cjs/components/datagrid/DataGrid.js +42 -92
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  102. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  103. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  104. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  105. package/lib/cjs/components/datamap/DataMap.js +35 -46
  106. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  107. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  108. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  109. package/lib/cjs/components/datetime/DateTime.js +15 -30
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  113. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  114. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  115. package/lib/cjs/components/day/Day.form.js +5 -5
  116. package/lib/cjs/components/day/Day.js +58 -147
  117. package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
  118. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
  120. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  121. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  122. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  123. package/lib/cjs/components/editgrid/EditGrid.js +96 -142
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  126. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  127. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  128. package/lib/cjs/components/email/Email.js +4 -4
  129. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  130. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  131. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  132. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  133. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  134. package/lib/cjs/components/file/File.form.js +4 -4
  135. package/lib/cjs/components/file/File.js +90 -131
  136. package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
  137. package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
  138. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  139. package/lib/cjs/components/form/Form.form.js +3 -3
  140. package/lib/cjs/components/form/Form.js +58 -68
  141. package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
  142. package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
  143. package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
  144. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  145. package/lib/cjs/components/hidden/Hidden.js +2 -2
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  147. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  148. package/lib/cjs/components/html/HTML.js +17 -23
  149. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  150. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  151. package/lib/cjs/components/number/Number.form.js +3 -3
  152. package/lib/cjs/components/number/Number.js +11 -27
  153. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  154. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  155. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  156. package/lib/cjs/components/panel/Panel.form.js +1 -1
  157. package/lib/cjs/components/panel/Panel.js +2 -2
  158. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
  159. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
  160. package/lib/cjs/components/password/Password.form.js +3 -3
  161. package/lib/cjs/components/password/Password.js +2 -5
  162. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  163. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  164. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  165. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  166. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  167. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  168. package/lib/cjs/components/radio/Radio.form.js +3 -3
  169. package/lib/cjs/components/radio/Radio.js +32 -58
  170. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
  171. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  172. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  173. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  174. package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
  175. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  176. package/lib/cjs/components/select/Select.form.js +3 -3
  177. package/lib/cjs/components/select/Select.js +140 -235
  178. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  179. package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
  180. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  181. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  182. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  183. package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
  184. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  185. package/lib/cjs/components/signature/Signature.form.js +3 -3
  186. package/lib/cjs/components/signature/Signature.js +17 -26
  187. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
  188. package/lib/cjs/components/survey/Survey.form.js +3 -3
  189. package/lib/cjs/components/survey/Survey.js +17 -30
  190. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
  191. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  192. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  193. package/lib/cjs/components/table/Table.form.js +1 -1
  194. package/lib/cjs/components/table/Table.js +7 -8
  195. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  196. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  197. package/lib/cjs/components/tabs/Tabs.js +10 -27
  198. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  199. package/lib/cjs/components/tags/Tags.form.js +1 -1
  200. package/lib/cjs/components/tags/Tags.js +12 -28
  201. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  202. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  203. package/lib/cjs/components/textarea/TextArea.js +45 -63
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  205. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  207. package/lib/cjs/components/textfield/TextField.js +21 -32
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  210. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  211. package/lib/cjs/components/time/Time.js +10 -17
  212. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  213. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  214. package/lib/cjs/components/unknown/Unknown.js +2 -2
  215. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  216. package/lib/cjs/components/url/Url.form.js +3 -3
  217. package/lib/cjs/components/url/Url.js +2 -2
  218. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  219. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  220. package/lib/cjs/components/well/Well.form.js +1 -1
  221. package/lib/cjs/components/well/Well.js +2 -2
  222. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  223. package/lib/cjs/formio.form.d.ts +1 -2
  224. package/lib/cjs/formio.form.js +12 -38
  225. package/lib/cjs/i18n.d.ts +0 -4
  226. package/lib/cjs/i18n.js +3 -7
  227. package/lib/cjs/package.json +1 -1
  228. package/lib/cjs/pdf.image.d.ts +2 -0
  229. package/lib/cjs/pdf.image.js +94 -0
  230. package/lib/cjs/providers/address/AddressProvider.js +5 -8
  231. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  232. package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
  233. package/lib/cjs/providers/processor/fileProcessor.js +1 -3
  234. package/lib/cjs/providers/storage/azure.js +2 -5
  235. package/lib/cjs/providers/storage/dropbox.js +5 -4
  236. package/lib/cjs/providers/storage/googleDrive.js +4 -3
  237. package/lib/cjs/providers/storage/index.js +1 -1
  238. package/lib/cjs/providers/storage/indexeddb.js +6 -16
  239. package/lib/cjs/providers/storage/s3.js +6 -17
  240. package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
  241. package/lib/cjs/providers/storage/url.js +11 -13
  242. package/lib/cjs/providers/storage/xhr.js +9 -17
  243. package/lib/cjs/templates/index.js +1 -1
  244. package/lib/cjs/translations/en.d.ts +2 -0
  245. package/lib/cjs/translations/en.js +9 -7
  246. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  247. package/lib/cjs/utils/builder.js +7 -31
  248. package/lib/cjs/utils/calendarUtils.js +5 -7
  249. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  250. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
  251. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  252. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
  253. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  254. package/lib/cjs/utils/formUtils.js +1 -1
  255. package/lib/cjs/utils/i18n.js +1 -7
  256. package/lib/cjs/utils/index.d.ts +1 -2
  257. package/lib/cjs/utils/index.js +2 -2
  258. package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
  259. package/lib/cjs/utils/jsonlogic/operators.js +265 -0
  260. package/lib/cjs/utils/utils.d.ts +1 -10
  261. package/lib/cjs/utils/utils.js +92 -175
  262. package/lib/cjs/widgets/CalendarWidget.js +49 -66
  263. package/lib/cjs/widgets/InputWidget.js +4 -6
  264. package/lib/cjs/widgets/index.js +1 -1
  265. package/lib/mjs/CDN.js +12 -12
  266. package/lib/mjs/Element.d.ts +2 -3
  267. package/lib/mjs/Element.js +23 -29
  268. package/lib/mjs/Embed.js +43 -77
  269. package/lib/mjs/EventEmitter.js +1 -1
  270. package/lib/mjs/Form.d.ts +341 -371
  271. package/lib/mjs/Form.js +126 -142
  272. package/lib/mjs/FormBuilder.d.ts +3 -3
  273. package/lib/mjs/FormBuilder.js +3 -2
  274. package/lib/mjs/Formio.js +23 -26
  275. package/lib/mjs/InlineEmbed.js +17 -23
  276. package/lib/mjs/PDF.d.ts +0 -1
  277. package/lib/mjs/PDF.js +15 -18
  278. package/lib/mjs/PDFBuilder.js +36 -51
  279. package/lib/mjs/Webform.d.ts +366 -8
  280. package/lib/mjs/Webform.js +251 -184
  281. package/lib/mjs/WebformBuilder.js +151 -224
  282. package/lib/mjs/Wizard.js +64 -94
  283. package/lib/mjs/WizardBuilder.js +19 -27
  284. package/lib/mjs/addons/FormioAddon.js +1 -1
  285. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
  286. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
  287. package/lib/mjs/addons/index.js +3 -3
  288. package/lib/mjs/components/Components.js +4 -0
  289. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  290. package/lib/mjs/components/_classes/component/Component.js +194 -313
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
  297. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  298. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
  299. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
  300. package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
  301. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  302. package/lib/mjs/components/_classes/field/Field.js +2 -8
  303. package/lib/mjs/components/_classes/input/Input.js +23 -27
  304. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  305. package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
  306. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
  307. package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
  308. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  309. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  310. package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
  311. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
  312. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
  313. package/lib/mjs/components/address/Address.d.ts +0 -1
  314. package/lib/mjs/components/address/Address.js +49 -60
  315. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  316. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  317. package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
  318. package/lib/mjs/components/alert/Alert.js +16 -22
  319. package/lib/mjs/components/button/Button.form.js +1 -1
  320. package/lib/mjs/components/button/Button.js +42 -65
  321. package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
  322. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  323. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  324. package/lib/mjs/components/checkbox/Checkbox.js +21 -29
  325. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  326. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
  327. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  328. package/lib/mjs/components/columns/Columns.form.js +1 -1
  329. package/lib/mjs/components/columns/Columns.js +12 -24
  330. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  331. package/lib/mjs/components/container/Container.form.js +2 -2
  332. package/lib/mjs/components/container/Container.js +4 -6
  333. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  334. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  335. package/lib/mjs/components/content/Content.form.js +2 -4
  336. package/lib/mjs/components/content/Content.js +8 -10
  337. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  338. package/lib/mjs/components/currency/Currency.form.js +3 -3
  339. package/lib/mjs/components/currency/Currency.js +10 -19
  340. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  341. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  342. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  343. package/lib/mjs/components/datagrid/DataGrid.js +41 -92
  344. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  345. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  346. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  347. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  348. package/lib/mjs/components/datamap/DataMap.js +33 -46
  349. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  350. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  351. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  352. package/lib/mjs/components/datetime/DateTime.js +16 -31
  353. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
  354. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  355. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
  356. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  357. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  358. package/lib/mjs/components/day/Day.form.js +5 -5
  359. package/lib/mjs/components/day/Day.js +58 -148
  360. package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
  361. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  362. package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
  363. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  364. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  365. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  366. package/lib/mjs/components/editgrid/EditGrid.js +92 -140
  367. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  368. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
  369. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  370. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  371. package/lib/mjs/components/email/Email.js +4 -4
  372. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  373. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  374. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  375. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  376. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  377. package/lib/mjs/components/file/File.form.js +4 -4
  378. package/lib/mjs/components/file/File.js +89 -136
  379. package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
  380. package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
  381. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  382. package/lib/mjs/components/form/Form.form.js +3 -3
  383. package/lib/mjs/components/form/Form.js +55 -68
  384. package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
  385. package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
  386. package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
  387. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  388. package/lib/mjs/components/hidden/Hidden.js +2 -2
  389. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  390. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  391. package/lib/mjs/components/html/HTML.js +17 -23
  392. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  393. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  394. package/lib/mjs/components/number/Number.form.js +3 -3
  395. package/lib/mjs/components/number/Number.js +12 -28
  396. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  397. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  398. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  399. package/lib/mjs/components/panel/Panel.form.js +1 -1
  400. package/lib/mjs/components/panel/Panel.js +2 -2
  401. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
  402. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
  403. package/lib/mjs/components/password/Password.form.js +3 -3
  404. package/lib/mjs/components/password/Password.js +2 -5
  405. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  406. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  407. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  408. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  409. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  410. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  411. package/lib/mjs/components/radio/Radio.form.js +3 -3
  412. package/lib/mjs/components/radio/Radio.js +30 -59
  413. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
  414. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  415. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  416. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  417. package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
  418. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  419. package/lib/mjs/components/select/Select.form.js +3 -3
  420. package/lib/mjs/components/select/Select.js +145 -240
  421. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  422. package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
  423. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  424. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  425. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  426. package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
  427. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  428. package/lib/mjs/components/signature/Signature.form.js +3 -3
  429. package/lib/mjs/components/signature/Signature.js +16 -26
  430. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
  431. package/lib/mjs/components/survey/Survey.form.js +3 -3
  432. package/lib/mjs/components/survey/Survey.js +17 -30
  433. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
  434. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  435. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  436. package/lib/mjs/components/table/Table.form.js +1 -1
  437. package/lib/mjs/components/table/Table.js +6 -8
  438. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  439. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  440. package/lib/mjs/components/tabs/Tabs.js +9 -27
  441. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
  442. package/lib/mjs/components/tags/Tags.form.js +1 -1
  443. package/lib/mjs/components/tags/Tags.js +12 -28
  444. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  445. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  446. package/lib/mjs/components/textarea/TextArea.js +51 -75
  447. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
  448. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  449. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  450. package/lib/mjs/components/textfield/TextField.js +23 -34
  451. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
  452. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
  453. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  454. package/lib/mjs/components/time/Time.js +10 -17
  455. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  456. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  457. package/lib/mjs/components/unknown/Unknown.js +2 -2
  458. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  459. package/lib/mjs/components/url/Url.form.js +3 -3
  460. package/lib/mjs/components/url/Url.js +2 -2
  461. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  462. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  463. package/lib/mjs/components/well/Well.form.js +1 -1
  464. package/lib/mjs/components/well/Well.js +2 -2
  465. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  466. package/lib/mjs/formio.form.d.ts +1 -2
  467. package/lib/mjs/formio.form.js +8 -10
  468. package/lib/mjs/i18n.d.ts +0 -4
  469. package/lib/mjs/i18n.js +3 -7
  470. package/lib/mjs/package.json +1 -1
  471. package/lib/mjs/pdf.image.d.ts +2 -0
  472. package/lib/mjs/pdf.image.js +94 -0
  473. package/lib/mjs/providers/address/AddressProvider.js +5 -8
  474. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  475. package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
  476. package/lib/mjs/providers/processor/fileProcessor.js +1 -3
  477. package/lib/mjs/providers/storage/azure.js +2 -5
  478. package/lib/mjs/providers/storage/dropbox.js +5 -4
  479. package/lib/mjs/providers/storage/googleDrive.js +4 -3
  480. package/lib/mjs/providers/storage/index.js +1 -1
  481. package/lib/mjs/providers/storage/indexeddb.js +6 -16
  482. package/lib/mjs/providers/storage/s3.js +8 -19
  483. package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
  484. package/lib/mjs/providers/storage/url.js +11 -13
  485. package/lib/mjs/providers/storage/xhr.js +9 -17
  486. package/lib/mjs/templates/index.js +1 -1
  487. package/lib/mjs/translations/en.d.ts +2 -0
  488. package/lib/mjs/translations/en.js +9 -7
  489. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  490. package/lib/mjs/utils/builder.js +7 -31
  491. package/lib/mjs/utils/calendarUtils.js +5 -7
  492. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  493. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
  494. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
  495. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
  496. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  497. package/lib/mjs/utils/formUtils.js +2 -2
  498. package/lib/mjs/utils/i18n.js +1 -7
  499. package/lib/mjs/utils/index.d.ts +1 -2
  500. package/lib/mjs/utils/index.js +3 -3
  501. package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
  502. package/lib/mjs/utils/jsonlogic/operators.js +262 -0
  503. package/lib/mjs/utils/utils.d.ts +1 -10
  504. package/lib/mjs/utils/utils.js +91 -178
  505. package/lib/mjs/widgets/CalendarWidget.js +50 -67
  506. package/lib/mjs/widgets/InputWidget.js +4 -6
  507. package/lib/mjs/widgets/index.js +1 -1
  508. package/package.json +3 -3
  509. package/lib/cjs/translations/de.d.ts +0 -80
  510. package/lib/cjs/translations/de.js +0 -81
  511. package/lib/mjs/translations/de.d.ts +0 -80
  512. package/lib/mjs/translations/de.js +0 -79
@@ -1,5 +1,6 @@
1
1
  import EditFormUtils from './utils';
2
2
  import { Evaluator } from '../../../../utils/Evaluator';
3
+ /* eslint-disable quotes, max-len */
3
4
  export default [
4
5
  {
5
6
  weight: 10,
@@ -7,7 +8,7 @@ export default [
7
8
  label: 'Required',
8
9
  tooltip: 'A required field must be filled in before the form can be submitted.',
9
10
  key: 'validate.required',
10
- input: true,
11
+ input: true
11
12
  },
12
13
  {
13
14
  weight: 100,
@@ -15,7 +16,7 @@ export default [
15
16
  label: 'Unique',
16
17
  tooltip: 'Makes sure the data submitted for this field is unique, and has not been submitted before.',
17
18
  key: 'unique',
18
- input: true,
19
+ input: true
19
20
  },
20
21
  {
21
22
  weight: 100,
@@ -23,7 +24,7 @@ export default [
23
24
  label: 'Validate When Hidden',
24
25
  tooltip: 'Validates the component when it is hidden/conditionally hidden. Vaildation errors are displayed in the error alert on the form submission. Use caution when enabling this setting, as it can cause a hidden component to be invalid with no way for the form user to correct it.',
25
26
  key: 'validateWhenHidden',
26
- input: true,
27
+ input: true
27
28
  },
28
29
  {
29
30
  weight: 0,
@@ -37,9 +38,9 @@ export default [
37
38
  data: {
38
39
  values: [
39
40
  { label: 'Change', value: 'change' },
40
- { label: 'Blur', value: 'blur' },
41
- ],
42
- },
41
+ { label: 'Blur', value: 'blur' }
42
+ ]
43
+ }
43
44
  },
44
45
  {
45
46
  weight: 190,
@@ -48,7 +49,7 @@ export default [
48
49
  key: 'errorLabel',
49
50
  label: 'Error Label',
50
51
  placeholder: 'Error Label',
51
- tooltip: 'The label for this field when an error occurs.',
52
+ tooltip: 'The label for this field when an error occurs.'
52
53
  },
53
54
  {
54
55
  weight: 200,
@@ -57,7 +58,7 @@ export default [
57
58
  placeholder: 'Custom Error Message',
58
59
  type: 'textfield',
59
60
  tooltip: 'Error message displayed if any error occurred.',
60
- input: true,
61
+ input: true
61
62
  },
62
63
  {
63
64
  type: 'panel',
@@ -79,7 +80,7 @@ export default [
79
80
  editor: 'ace',
80
81
  hideLabel: true,
81
82
  as: 'javascript',
82
- input: true,
83
+ input: true
83
84
  },
84
85
  {
85
86
  type: 'htmlelement',
@@ -90,7 +91,7 @@ export default [
90
91
  <p>You must assign the <strong>valid</strong> variable as either <strong>true</strong> or an error message if validation fails.</p>
91
92
  <h5>Example:</h5>
92
93
  <pre>valid = (input === 'Joe') ? true : 'Your name must be "Joe"';</pre>
93
- </small>`,
94
+ </small>`
94
95
  },
95
96
  {
96
97
  type: 'well',
@@ -102,11 +103,11 @@ export default [
102
103
  tooltip: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
103
104
  description: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
104
105
  key: 'validate.customPrivate',
105
- input: true,
106
- },
107
- ],
108
- },
109
- ],
106
+ input: true
107
+ }
108
+ ]
109
+ }
110
+ ]
110
111
  },
111
112
  {
112
113
  type: 'panel',
@@ -119,22 +120,17 @@ export default [
119
120
  {
120
121
  type: 'htmlelement',
121
122
  tag: 'div',
123
+ /* eslint-disable prefer-template */
122
124
  content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
123
125
  '<h5>Example:</h5>' +
124
- '<pre>' +
125
- JSON.stringify({
126
- if: [
127
- {
128
- '===': [
129
- { var: 'input' },
130
- 'Bob',
131
- ],
132
- },
133
- true,
134
- "Your name must be 'Bob'!",
135
- ],
136
- }, null, 2) +
137
- '</pre>',
126
+ '<pre>' + JSON.stringify({
127
+ "if": [
128
+ { "===": [{ "var": "input" }, "Bob"] },
129
+ true,
130
+ "Your name must be 'Bob'!"
131
+ ]
132
+ }, null, 2) + '</pre>'
133
+ /* eslint-enable prefer-template */
138
134
  },
139
135
  {
140
136
  type: 'textarea',
@@ -143,9 +139,9 @@ export default [
143
139
  rows: 5,
144
140
  editor: 'ace',
145
141
  as: 'json',
146
- input: true,
147
- },
148
- ],
142
+ input: true
143
+ }
144
+ ]
149
145
  },
150
146
  {
151
147
  type: 'panel',
@@ -162,7 +158,7 @@ export default [
162
158
  rows: 5,
163
159
  editor: 'ace',
164
160
  as: 'json',
165
- input: true,
161
+ input: true
166
162
  },
167
163
  {
168
164
  type: 'htmlelement',
@@ -208,8 +204,9 @@ export default [
208
204
  <li><code>{<span/>{ m<span/>axYear }}</code></li>
209
205
  <li><code>{<span/>{ r<span/>egex }}</code></li>
210
206
  </ul>
211
- `,
212
- },
213
- ],
214
- },
207
+ `
208
+ }
209
+ ]
210
+ }
215
211
  ];
212
+ /* eslint-enable quotes, max-len */
@@ -37,6 +37,7 @@ const EditFormUtils = {
37
37
  return {
38
38
  type: 'htmlelement',
39
39
  tag: 'div',
40
+ /* eslint-disable prefer-template */
40
41
  content: '<p>The following variables are available in all scripts.</p>' +
41
42
  '<table class="table table-bordered table-condensed table-striped">' +
42
43
  additional +
@@ -51,7 +52,8 @@ const EditFormUtils = {
51
52
  '<tr><th>_</th><td>An instance of <a href="https://lodash.com/docs/" target="_blank" rel="noopener noreferrer">Lodash</a>.</td></tr>' +
52
53
  '<tr><th>utils</th><td>An instance of the <a href="https://help.form.io/developers/javascript-development/javascript-utilities" target="_blank" rel="noopener noreferrer">FormioUtils</a> object.</td></tr>' +
53
54
  '<tr><th>util</th><td>An alias for "utils".</td></tr>' +
54
- '</table><br/>',
55
+ '</table><br/>'
56
+ /* eslint-enable prefer-template */
55
57
  };
56
58
  },
57
59
  javaScriptValue(title, property, propertyJSON, weight, exampleHTML, exampleJSON, additionalParams = '', excludeJSONLogic) {
@@ -75,14 +77,14 @@ const EditFormUtils = {
75
77
  editor: 'ace',
76
78
  hideLabel: true,
77
79
  as: 'javascript',
78
- input: true,
80
+ input: true
79
81
  },
80
82
  {
81
83
  type: 'htmlelement',
82
84
  tag: 'div',
83
- content: `<p>Enter custom javascript code.</p>${exampleHTML}`,
84
- },
85
- ],
85
+ content: `<p>Enter custom javascript code.</p>${exampleHTML}`
86
+ }
87
+ ]
86
88
  },
87
89
  {
88
90
  type: 'panel',
@@ -94,9 +96,11 @@ const EditFormUtils = {
94
96
  {
95
97
  type: 'htmlelement',
96
98
  tag: 'div',
99
+ /* eslint-disable prefer-template */
97
100
  content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
98
101
  '<p>Full <a href="https://lodash.com/docs" target="_blank" rel="noopener noreferrer">Lodash</a> support is provided using an "_" before each operation, such as <code>{"_sum": {var: "data.a"}}</code></p>' +
99
- exampleJSON,
102
+ exampleJSON
103
+ /* eslint-enable prefer-template */
100
104
  },
101
105
  {
102
106
  type: 'textarea',
@@ -105,10 +109,10 @@ const EditFormUtils = {
105
109
  editor: 'ace',
106
110
  hideLabel: true,
107
111
  as: 'json',
108
- input: true,
109
- },
110
- ],
111
- },
112
+ input: true
113
+ }
114
+ ]
115
+ }
112
116
  ];
113
117
  if (excludeJSONLogic) {
114
118
  components.splice(2, 1);
@@ -121,8 +125,8 @@ const EditFormUtils = {
121
125
  collapsed: true,
122
126
  key: `${property}Panel`,
123
127
  weight: weight,
124
- components,
128
+ components
125
129
  };
126
- },
130
+ }
127
131
  };
128
132
  export default EditFormUtils;
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { fastCloneDeep } from '../../../utils/index';
2
+ import { fastCloneDeep } from '../../../utils';
3
3
  export default class ComponentModal {
4
4
  static render(component, data, topLevel) {
5
5
  const children = component.renderTemplate('component', data, topLevel);
@@ -97,7 +97,7 @@ export default class ComponentModal {
97
97
  setOpenEventListener() {
98
98
  this.component.removeEventListener(this.refs.openModal, 'click', this.openModalListener);
99
99
  this.component.loadRefs(this.refs.openModalWrapper ?? this.element, {
100
- openModal: 'single',
100
+ 'openModal': 'single',
101
101
  });
102
102
  this.component.addEventListener(this.refs.openModal, 'click', this.openModalListener);
103
103
  }
@@ -16,7 +16,7 @@ export default class Field extends Component {
16
16
  return super.render(this.renderTemplate('field', {
17
17
  ...this.getLabelInfo(this.options.condensedMode),
18
18
  labelMarkup: this.renderTemplate('label'),
19
- element: element,
19
+ element: element
20
20
  }, 'align'));
21
21
  }
22
22
  else {
@@ -34,13 +34,7 @@ export default class Field extends Component {
34
34
  saveCaretPosition(element, index) {
35
35
  if (this.root?.focusedComponent?.path === this.path) {
36
36
  try {
37
- this.root.currentSelection = {
38
- selection: [
39
- element.selectionStart,
40
- element.selectionEnd,
41
- ],
42
- index,
43
- };
37
+ this.root.currentSelection = { selection: [element.selectionStart, element.selectionEnd], index };
44
38
  }
45
39
  catch (e) {
46
40
  if (!(e instanceof DOMException)) {
@@ -1,6 +1,6 @@
1
1
  import Multivalue from '../multivalue/Multivalue';
2
- import { convertStringToHTMLElement } from '../../../utils/index';
3
- import Widgets from '../../../widgets/index';
2
+ import { convertStringToHTMLElement } from '../../../utils';
3
+ import Widgets from '../../../widgets';
4
4
  import _ from 'lodash';
5
5
  export default class Input extends Multivalue {
6
6
  constructor(component, options, data) {
@@ -10,8 +10,8 @@ export default class Input extends Multivalue {
10
10
  static schema(...extend) {
11
11
  return Multivalue.schema({
12
12
  widget: {
13
- type: 'input',
14
- },
13
+ type: 'input'
14
+ }
15
15
  }, ...extend);
16
16
  }
17
17
  get inputInfo() {
@@ -19,11 +19,9 @@ export default class Input extends Multivalue {
19
19
  name: this.options.name,
20
20
  type: this.component.inputType || 'text',
21
21
  class: 'form-control',
22
- lang: this.options.language,
22
+ lang: this.options.language
23
23
  };
24
- if (this.options.attachMode === 'builder' ||
25
- this.options.building ||
26
- _.get(this.root, 'form.settings.disableAutocomplete')) {
24
+ if (this.options.attachMode === 'builder' || this.options.building || _.get(this.root, 'form.settings.disableAutocomplete')) {
27
25
  attr.autocomplete = this.autocompleteDisableAttrName;
28
26
  }
29
27
  if (this.component.inputMode) {
@@ -47,24 +45,22 @@ export default class Input extends Multivalue {
47
45
  type: 'input',
48
46
  changeEvent: 'input',
49
47
  content: '',
50
- attr,
48
+ attr
51
49
  };
52
50
  }
53
51
  get autocompleteDisableAttrName() {
54
52
  return 'off';
55
53
  }
56
54
  get maskOptions() {
57
- return _.map(this.component.inputMasks, (mask) => {
55
+ return _.map(this.component.inputMasks, mask => {
58
56
  return {
59
57
  label: mask.label,
60
- value: mask.label,
58
+ value: mask.label
61
59
  };
62
60
  });
63
61
  }
64
62
  get isMultipleMasksField() {
65
- return (this.component.allowMultipleMasks &&
66
- !!this.component.inputMasks &&
67
- !!this.component.inputMasks.length);
63
+ return this.component.allowMultipleMasks && !!this.component.inputMasks && !!this.component.inputMasks.length;
68
64
  }
69
65
  getMaskByName(maskName) {
70
66
  const inputMask = _.find(this.component.inputMasks, (inputMask) => {
@@ -77,7 +73,8 @@ export default class Input extends Multivalue {
77
73
  return super.setInputMask(input, mask, !this.component.placeholder);
78
74
  }
79
75
  getMaskOptions() {
80
- return this.component.inputMasks.map((mask) => ({
76
+ return this.component.inputMasks
77
+ .map(mask => ({
81
78
  label: mask.label,
82
79
  value: mask.label,
83
80
  }));
@@ -100,7 +97,7 @@ export default class Input extends Multivalue {
100
97
  // After font-awesome would be updated to v5.x, "clock-o" should be replaced with "clock"
101
98
  className: this.iconClass(this.component.enableDate || this.component.widget.enableDate ? 'calendar' : 'clock-o'),
102
99
  styles: '',
103
- content: '',
100
+ content: ''
104
101
  }).trim();
105
102
  if (this.component.prefix !== calendarIcon) {
106
103
  // converting string to HTML markup to render correctly DateTime component in portal.form.io
@@ -116,7 +113,8 @@ export default class Input extends Multivalue {
116
113
  }
117
114
  const info = this.inputInfo;
118
115
  info.attr = info.attr || {};
119
- info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value))).replace(/"/g, '&quot;');
116
+ info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value)))
117
+ .replace(/"/g, '&quot;');
120
118
  const valueMask = this.component.inputMask;
121
119
  const displayMask = this.component.displayMask;
122
120
  const hasDifferentDisplayAndSaveFormats = valueMask && displayMask && valueMask !== displayMask;
@@ -136,7 +134,7 @@ export default class Input extends Multivalue {
136
134
  input: info,
137
135
  value: this.formatValue(this.parseValue(value)),
138
136
  hasValueMaskInput: hasDifferentDisplayAndSaveFormats,
139
- index,
137
+ index
140
138
  }, this.isHtmlRenderMode() ? 'html' : null);
141
139
  }
142
140
  setCounter(type, element, count, max) {
@@ -150,13 +148,13 @@ export default class Input extends Multivalue {
150
148
  }
151
149
  this.setContent(element, this.t(`typeRemaining`, {
152
150
  remaining: remaining,
153
- type: type,
151
+ type: type
154
152
  }));
155
153
  }
156
154
  else {
157
155
  this.setContent(element, this.t(`typeCount`, {
158
156
  count: count,
159
- type: type,
157
+ type: type
160
158
  }));
161
159
  }
162
160
  }
@@ -199,7 +197,7 @@ export default class Input extends Multivalue {
199
197
  charcount: 'multiple',
200
198
  wordcount: 'multiple',
201
199
  prefix: 'multiple',
202
- suffix: 'multiple',
200
+ suffix: 'multiple'
203
201
  });
204
202
  return super.attach(element);
205
203
  }
@@ -252,11 +250,9 @@ export default class Input extends Multivalue {
252
250
  return null;
253
251
  }
254
252
  // Get the widget settings.
255
- const settings = typeof this.component.widget === 'string'
256
- ? {
257
- type: this.component.widget,
258
- }
259
- : this.component.widget;
253
+ const settings = (typeof this.component.widget === 'string') ? {
254
+ type: this.component.widget
255
+ } : this.component.widget;
260
256
  if (this.root?.shadowRoot) {
261
257
  settings.shadowRoot = this.root?.shadowRoot;
262
258
  }
@@ -267,7 +263,7 @@ export default class Input extends Multivalue {
267
263
  // Create the widget.
268
264
  const widget = new Widgets[settings.type](settings, this.component, this, index);
269
265
  widget.on('update', () => this.updateValue(this.getValue(), {
270
- modified: true,
266
+ modified: true
271
267
  }, index), true);
272
268
  widget.on('redraw', () => this.redraw(), true);
273
269
  return widget;
@@ -9,7 +9,7 @@ export default function (...extend) {
9
9
  return Components.baseEditForm([
10
10
  {
11
11
  key: 'data',
12
- components: ListEditData,
12
+ components: ListEditData
13
13
  },
14
14
  ], ...extend);
15
15
  }
@@ -1,7 +1,7 @@
1
1
  import Field from '../field/Field';
2
2
  import { Formio } from '../../../Formio';
3
3
  import _ from 'lodash';
4
- import { getItemTemplateKeys } from '../../../utils/index';
4
+ import { getItemTemplateKeys } from '../../../utils';
5
5
  export default class ListComponent extends Field {
6
6
  static schema(...extend) {
7
7
  return Field.schema({
@@ -10,7 +10,7 @@ export default class ListComponent extends Field {
10
10
  ignoreCache: false,
11
11
  template: '<span>{{ item.label }}</span>',
12
12
  validate: {
13
- onlyAvailableItems: false,
13
+ onlyAvailableItems: false
14
14
  },
15
15
  }, ...extend);
16
16
  }
@@ -24,7 +24,9 @@ export default class ListComponent extends Field {
24
24
  get dataReady() {
25
25
  // If the root submission has been set, and we are still not attached, then assume
26
26
  // that our data is ready.
27
- if ((this.root && this.root.submissionSet && !this.attached) || !this.visible) {
27
+ if ((this.root &&
28
+ this.root.submissionSet &&
29
+ !this.attached) || !this.visible) {
28
30
  return Promise.resolve();
29
31
  }
30
32
  return this.itemsLoaded;
@@ -44,9 +46,7 @@ export default class ListComponent extends Field {
44
46
  const selectData = this.selectData;
45
47
  return this.templateKeys.reduce((shouldLoad, key) => {
46
48
  const hasValue = _.has(dataValue, key) ||
47
- (_.isArray(selectData)
48
- ? selectData.every((data) => _.has(data, key))
49
- : _.has(selectData, key));
49
+ (_.isArray(selectData) ? selectData.every((data) => _.has(data, key)) : _.has(selectData, key));
50
50
  return shouldLoad || !hasValue;
51
51
  }, false);
52
52
  }
@@ -55,7 +55,9 @@ export default class ListComponent extends Field {
55
55
  }
56
56
  getTemplateKeys() {
57
57
  const template = this.component.template;
58
- this.templateKeys = this.options.readOnly && template ? getItemTemplateKeys(template) : [];
58
+ this.templateKeys = this.options.readOnly && template
59
+ ? getItemTemplateKeys(template)
60
+ : [];
59
61
  }
60
62
  get requestHeaders() {
61
63
  // Create the headers object.
@@ -85,7 +87,7 @@ export default class ListComponent extends Field {
85
87
  }
86
88
  const options = {
87
89
  noeval: true,
88
- data: {},
90
+ data: {}
89
91
  };
90
92
  const template = this.sanitize(this.component.template
91
93
  ? this.interpolate(this.component.template, { item: data }, options)
@@ -133,6 +135,7 @@ export default class ListComponent extends Field {
133
135
  });
134
136
  console.warn(`Unable to load resources for ${this.key}`);
135
137
  }
138
+ /* eslint-disable max-statements */
136
139
  updateItems(searchInput, forceUpdate) {
137
140
  if (!this.component.data) {
138
141
  console.warn(`Select component ${this.key} does not have data configuration.`);
@@ -160,15 +163,13 @@ export default class ListComponent extends Field {
160
163
  this.itemsLoadedResolve();
161
164
  return;
162
165
  }
163
- let resourceUrl = this.options.formio
164
- ? this.options.formio.formsUrl
165
- : `${Formio.getProjectUrl()}/form`;
166
- resourceUrl += `/${this.component.data.resource}/submission`;
166
+ let resourceUrl = this.options.formio ? this.options.formio.formsUrl : `${Formio.getProjectUrl()}/form`;
167
+ resourceUrl += (`/${this.component.data.resource}/submission`);
167
168
  if (forceUpdate || this.additionalResourcesAvailable || !this.serverCount) {
168
169
  try {
169
170
  this.loadItems(resourceUrl, searchInput, this.requestHeaders);
170
171
  }
171
- catch (ignoreErr) {
172
+ catch (err) {
172
173
  console.warn(`Unable to load resources for ${this.key}`);
173
174
  }
174
175
  }
@@ -178,10 +179,7 @@ export default class ListComponent extends Field {
178
179
  break;
179
180
  }
180
181
  case 'url': {
181
- if (!forceUpdate &&
182
- !this.active &&
183
- !this.calculatedValue &&
184
- this.component.type === 'select') {
182
+ if (!forceUpdate && !this.active && !this.calculatedValue && this.component.type === 'select') {
185
183
  // If we are lazyLoading, wait until activated.
186
184
  this.itemsLoadedResolve();
187
185
  return;
@@ -192,9 +190,7 @@ export default class ListComponent extends Field {
192
190
  let body;
193
191
  if (url.startsWith('/')) {
194
192
  // if URL starts with '/project', we should use base URL to avoid issues with URL formed like <base_url>/<project_name>/project/<project_id>/...
195
- const baseUrl = url.startsWith('/project')
196
- ? Formio.getBaseUrl()
197
- : Formio.getProjectUrl() || Formio.getBaseUrl();
193
+ const baseUrl = url.startsWith('/project') ? Formio.getBaseUrl() : Formio.getProjectUrl() || Formio.getBaseUrl();
198
194
  url = baseUrl + url;
199
195
  }
200
196
  if (!this.component.data.method) {
@@ -220,17 +216,12 @@ export default class ListComponent extends Field {
220
216
  if (!window.indexedDB) {
221
217
  window.alert("Your browser doesn't support current version of indexedDB");
222
218
  }
223
- if (this.component.indexeddb &&
224
- this.component.indexeddb.database &&
225
- this.component.indexeddb.table) {
219
+ if (this.component.indexeddb && this.component.indexeddb.database && this.component.indexeddb.table) {
226
220
  const request = window.indexedDB.open(this.component.indexeddb.database);
227
221
  request.onupgradeneeded = (event) => {
228
222
  if (this.component.customOptions) {
229
223
  const db = event.target.result;
230
- const objectStore = db.createObjectStore(this.component.indexeddb.table, {
231
- keyPath: 'myKey',
232
- autoIncrement: true,
233
- });
224
+ const objectStore = db.createObjectStore(this.component.indexeddb.table, { keyPath: 'myKey', autoIncrement: true });
234
225
  objectStore.transaction.oncomplete = () => {
235
226
  const transaction = db.transaction(this.component.indexeddb.table, 'readwrite');
236
227
  this.component.customOptions.forEach((item) => {
@@ -18,12 +18,7 @@ export default [
18
18
  placeholder: 'Data Source URL',
19
19
  tooltip: 'A URL that returns a JSON array to use as the data source.',
20
20
  conditional: {
21
- json: {
22
- '===': [
23
- { var: 'data.dataSrc' },
24
- 'url',
25
- ],
26
- },
21
+ json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
27
22
  },
28
23
  },
29
24
  {
@@ -48,12 +43,7 @@ export default [
48
43
  },
49
44
  ],
50
45
  conditional: {
51
- json: {
52
- '===': [
53
- { var: 'data.dataSrc' },
54
- 'url',
55
- ],
56
- },
46
+ json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
57
47
  },
58
48
  },
59
49
  {
@@ -73,7 +63,7 @@ export default [
73
63
  [
74
64
  'json',
75
65
  'url',
76
- 'custom',
66
+ 'custom'
77
67
  ],
78
68
  ],
79
69
  },
@@ -107,12 +97,7 @@ export default [
107
97
  label: 'Formio Authenticate',
108
98
  tooltip: 'Check this if you would like to use Formio Authentication with the request.',
109
99
  conditional: {
110
- json: {
111
- '===': [
112
- { var: 'data.dataSrc' },
113
- 'url',
114
- ],
115
- },
100
+ json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
116
101
  },
117
102
  },
118
103
  {
@@ -121,24 +106,12 @@ export default [
121
106
  weight: 29,
122
107
  key: 'ignoreCache',
123
108
  label: 'Disables Storing Request Result in the Cache',
124
- tooltip: "Check it if you don't want the requests and its results to be stored in the cache. By default, it is stored and if the Select tries to make the request to the same URL with the same paremetrs, the cached data will be returned. It allows to increase performance, but if the remote source's data is changing quite often and you always need to keep it up-to-date, uncheck this option.",
109
+ tooltip: 'Check it if you don\'t want the requests and its results to be stored in the cache. By default, it is stored and if the Select tries to make the request to the same URL with the same paremetrs, the cached data will be returned. It allows to increase performance, but if the remote source\'s data is changing quite often and you always need to keep it up-to-date, uncheck this option.',
125
110
  conditional: {
126
- json: {
127
- or: [
128
- {
129
- '===': [
130
- { var: 'data.dataSrc' },
131
- 'url',
132
- ],
133
- },
134
- {
135
- '===': [
136
- { var: 'data.dataSrc' },
137
- 'resource',
138
- ],
139
- },
140
- ],
141
- },
111
+ json: { 'or': [
112
+ { '===': [{ var: 'data.dataSrc' }, 'url'] },
113
+ { '===': [{ var: 'data.dataSrc' }, 'resource'] },
114
+ ] },
142
115
  },
143
116
  },
144
117
  ];