@formio/js 5.2.3 → 5.2.4-rc.0

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 (510) hide show
  1. package/dist/formio.builder.css +161 -50
  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 +158 -49
  7. package/dist/formio.form.js +152 -108
  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 +161 -50
  12. package/dist/formio.full.js +401 -227
  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 +51 -18
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +47 -14
  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 +3 -2
  24. package/lib/cjs/Element.js +27 -21
  25. package/lib/cjs/Embed.js +74 -40
  26. package/lib/cjs/EventEmitter.js +1 -1
  27. package/lib/cjs/Form.d.ts +371 -341
  28. package/lib/cjs/Form.js +153 -39
  29. package/lib/cjs/FormBuilder.d.ts +3 -3
  30. package/lib/cjs/FormBuilder.js +2 -3
  31. package/lib/cjs/Formio.js +26 -23
  32. package/lib/cjs/InlineEmbed.js +23 -17
  33. package/lib/cjs/PDF.d.ts +1 -0
  34. package/lib/cjs/PDF.js +18 -15
  35. package/lib/cjs/PDFBuilder.js +51 -36
  36. package/lib/cjs/Webform.d.ts +8 -366
  37. package/lib/cjs/Webform.js +176 -235
  38. package/lib/cjs/WebformBuilder.js +217 -144
  39. package/lib/cjs/Wizard.js +92 -62
  40. package/lib/cjs/WizardBuilder.js +27 -19
  41. package/lib/cjs/addons/FormioAddon.js +1 -1
  42. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
  43. package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
  44. package/lib/cjs/addons/index.js +3 -3
  45. package/lib/cjs/components/Components.js +0 -4
  46. package/lib/cjs/components/_classes/component/Component.form.js +11 -11
  47. package/lib/cjs/components/_classes/component/Component.js +298 -179
  48. package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
  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 +9 -11
  51. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
  52. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
  53. package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
  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 +5 -7
  56. package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
  57. package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
  58. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
  59. package/lib/cjs/components/_classes/field/Field.js +7 -1
  60. package/lib/cjs/components/_classes/input/Input.js +30 -26
  61. package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
  62. package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
  63. package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
  64. package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
  65. package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
  66. package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
  67. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
  68. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
  69. package/lib/cjs/components/address/Address.js +52 -45
  70. package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
  71. package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
  72. package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
  73. package/lib/cjs/components/alert/Alert.js +21 -15
  74. package/lib/cjs/components/button/Button.form.js +1 -1
  75. package/lib/cjs/components/button/Button.js +50 -27
  76. package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
  77. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  78. package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
  79. package/lib/cjs/components/checkbox/Checkbox.js +28 -20
  80. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  81. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
  82. package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  83. package/lib/cjs/components/columns/Columns.form.js +1 -1
  84. package/lib/cjs/components/columns/Columns.js +24 -12
  85. package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
  86. package/lib/cjs/components/container/Container.form.js +2 -2
  87. package/lib/cjs/components/container/Container.js +6 -4
  88. package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
  89. package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
  90. package/lib/cjs/components/content/Content.form.js +4 -2
  91. package/lib/cjs/components/content/Content.js +10 -8
  92. package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
  93. package/lib/cjs/components/currency/Currency.form.js +3 -3
  94. package/lib/cjs/components/currency/Currency.js +19 -10
  95. package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
  96. package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
  97. package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
  98. package/lib/cjs/components/datagrid/DataGrid.js +89 -38
  99. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  100. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  101. package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  102. package/lib/cjs/components/datamap/DataMap.form.js +2 -2
  103. package/lib/cjs/components/datamap/DataMap.js +44 -31
  104. package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  105. package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  106. package/lib/cjs/components/datetime/DateTime.form.js +5 -5
  107. package/lib/cjs/components/datetime/DateTime.js +30 -15
  108. package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
  109. package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  110. package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
  111. package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  112. package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  113. package/lib/cjs/components/day/Day.form.js +5 -5
  114. package/lib/cjs/components/day/Day.js +146 -56
  115. package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
  116. package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
  117. package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
  118. package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
  119. package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
  120. package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
  121. package/lib/cjs/components/editgrid/EditGrid.js +137 -89
  122. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  123. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
  124. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  125. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  126. package/lib/cjs/components/email/Email.js +4 -4
  127. package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
  128. package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
  129. package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
  130. package/lib/cjs/components/fieldset/Fieldset.js +2 -2
  131. package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  132. package/lib/cjs/components/file/File.form.js +4 -4
  133. package/lib/cjs/components/file/File.js +126 -80
  134. package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
  135. package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
  136. package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
  137. package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
  138. package/lib/cjs/components/form/Form.form.js +3 -3
  139. package/lib/cjs/components/form/Form.js +67 -51
  140. package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
  141. package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
  142. package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
  143. package/lib/cjs/components/hidden/Hidden.form.js +4 -4
  144. package/lib/cjs/components/hidden/Hidden.js +2 -2
  145. package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  146. package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  147. package/lib/cjs/components/html/HTML.js +23 -17
  148. package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
  149. package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
  150. package/lib/cjs/components/number/Number.form.js +3 -3
  151. package/lib/cjs/components/number/Number.js +27 -11
  152. package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
  153. package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
  154. package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
  155. package/lib/cjs/components/panel/Panel.form.js +1 -1
  156. package/lib/cjs/components/panel/Panel.js +2 -2
  157. package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
  158. package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
  159. package/lib/cjs/components/password/Password.form.js +3 -3
  160. package/lib/cjs/components/password/Password.js +5 -2
  161. package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
  162. package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
  163. package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
  164. package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
  165. package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
  166. package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  167. package/lib/cjs/components/radio/Radio.form.js +3 -3
  168. package/lib/cjs/components/radio/Radio.js +55 -26
  169. package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
  170. package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
  171. package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  172. package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
  173. package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
  174. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  175. package/lib/cjs/components/select/Select.form.js +3 -3
  176. package/lib/cjs/components/select/Select.js +235 -129
  177. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  178. package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
  179. package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
  180. package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
  181. package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
  182. package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
  183. package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  184. package/lib/cjs/components/signature/Signature.form.js +3 -3
  185. package/lib/cjs/components/signature/Signature.js +25 -15
  186. package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
  187. package/lib/cjs/components/survey/Survey.form.js +3 -3
  188. package/lib/cjs/components/survey/Survey.js +30 -17
  189. package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
  190. package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
  191. package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  192. package/lib/cjs/components/table/Table.form.js +1 -1
  193. package/lib/cjs/components/table/Table.js +7 -5
  194. package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
  195. package/lib/cjs/components/tabs/Tabs.form.js +1 -1
  196. package/lib/cjs/components/tabs/Tabs.js +26 -8
  197. package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
  198. package/lib/cjs/components/tags/Tags.form.js +1 -1
  199. package/lib/cjs/components/tags/Tags.js +28 -12
  200. package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
  201. package/lib/cjs/components/textarea/TextArea.form.js +2 -2
  202. package/lib/cjs/components/textarea/TextArea.js +63 -45
  203. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
  204. package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  205. package/lib/cjs/components/textfield/TextField.form.js +3 -3
  206. package/lib/cjs/components/textfield/TextField.js +32 -21
  207. package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
  208. package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
  209. package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  210. package/lib/cjs/components/time/Time.js +17 -10
  211. package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
  212. package/lib/cjs/components/unknown/Unknown.form.js +5 -5
  213. package/lib/cjs/components/unknown/Unknown.js +2 -2
  214. package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  215. package/lib/cjs/components/url/Url.form.js +3 -3
  216. package/lib/cjs/components/url/Url.js +2 -2
  217. package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
  218. package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
  219. package/lib/cjs/components/well/Well.form.js +1 -1
  220. package/lib/cjs/components/well/Well.js +2 -2
  221. package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
  222. package/lib/cjs/formio.form.d.ts +2 -1
  223. package/lib/cjs/formio.form.js +38 -12
  224. package/lib/cjs/i18n.d.ts +4 -0
  225. package/lib/cjs/i18n.js +7 -3
  226. package/lib/cjs/package.json +1 -1
  227. package/lib/cjs/providers/address/AddressProvider.js +8 -5
  228. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  229. package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
  230. package/lib/cjs/providers/processor/fileProcessor.js +3 -1
  231. package/lib/cjs/providers/storage/azure.js +5 -2
  232. package/lib/cjs/providers/storage/dropbox.js +4 -5
  233. package/lib/cjs/providers/storage/googleDrive.js +3 -4
  234. package/lib/cjs/providers/storage/index.js +1 -1
  235. package/lib/cjs/providers/storage/indexeddb.js +16 -6
  236. package/lib/cjs/providers/storage/s3.js +17 -6
  237. package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
  238. package/lib/cjs/providers/storage/url.js +13 -11
  239. package/lib/cjs/providers/storage/xhr.js +17 -9
  240. package/lib/cjs/templates/index.js +1 -1
  241. package/lib/cjs/translations/de.d.ts +80 -0
  242. package/lib/cjs/translations/de.js +81 -0
  243. package/lib/cjs/translations/en.d.ts +0 -2
  244. package/lib/cjs/translations/en.js +7 -9
  245. package/lib/cjs/utils/ChoicesWrapper.js +2 -2
  246. package/lib/cjs/utils/builder.js +31 -7
  247. package/lib/cjs/utils/calendarUtils.js +7 -5
  248. package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
  249. package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
  250. package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
  251. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
  252. package/lib/cjs/utils/conditionOperators/index.js +1 -1
  253. package/lib/cjs/utils/formUtils.js +1 -1
  254. package/lib/cjs/utils/i18n.js +7 -1
  255. package/lib/cjs/utils/index.d.ts +2 -1
  256. package/lib/cjs/utils/index.js +2 -2
  257. package/lib/cjs/utils/utils.d.ts +10 -1
  258. package/lib/cjs/utils/utils.js +175 -92
  259. package/lib/cjs/widgets/CalendarWidget.js +66 -49
  260. package/lib/cjs/widgets/InputWidget.js +6 -4
  261. package/lib/cjs/widgets/index.js +1 -1
  262. package/lib/mjs/CDN.js +12 -12
  263. package/lib/mjs/Element.d.ts +3 -2
  264. package/lib/mjs/Element.js +27 -21
  265. package/lib/mjs/Embed.js +76 -42
  266. package/lib/mjs/EventEmitter.js +1 -1
  267. package/lib/mjs/Form.d.ts +371 -341
  268. package/lib/mjs/Form.js +142 -126
  269. package/lib/mjs/FormBuilder.d.ts +3 -3
  270. package/lib/mjs/FormBuilder.js +2 -3
  271. package/lib/mjs/Formio.js +26 -23
  272. package/lib/mjs/InlineEmbed.js +23 -17
  273. package/lib/mjs/PDF.d.ts +1 -0
  274. package/lib/mjs/PDF.js +18 -15
  275. package/lib/mjs/PDFBuilder.js +51 -36
  276. package/lib/mjs/Webform.d.ts +8 -366
  277. package/lib/mjs/Webform.js +183 -250
  278. package/lib/mjs/WebformBuilder.js +220 -147
  279. package/lib/mjs/Wizard.js +93 -63
  280. package/lib/mjs/WizardBuilder.js +27 -19
  281. package/lib/mjs/addons/FormioAddon.js +1 -1
  282. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
  283. package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
  284. package/lib/mjs/addons/index.js +3 -3
  285. package/lib/mjs/components/Components.js +0 -4
  286. package/lib/mjs/components/_classes/component/Component.form.js +11 -11
  287. package/lib/mjs/components/_classes/component/Component.js +303 -184
  288. package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
  289. package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
  290. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
  291. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
  292. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
  293. package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
  294. package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
  295. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
  296. package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
  297. package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
  298. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
  299. package/lib/mjs/components/_classes/field/Field.js +8 -2
  300. package/lib/mjs/components/_classes/input/Input.js +27 -23
  301. package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
  302. package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
  303. package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
  304. package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
  305. package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
  306. package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
  307. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
  308. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
  309. package/lib/mjs/components/address/Address.js +57 -46
  310. package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
  311. package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
  312. package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
  313. package/lib/mjs/components/alert/Alert.js +22 -16
  314. package/lib/mjs/components/button/Button.form.js +1 -1
  315. package/lib/mjs/components/button/Button.js +51 -28
  316. package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
  317. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  318. package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
  319. package/lib/mjs/components/checkbox/Checkbox.js +29 -21
  320. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
  321. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
  322. package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
  323. package/lib/mjs/components/columns/Columns.form.js +1 -1
  324. package/lib/mjs/components/columns/Columns.js +24 -12
  325. package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
  326. package/lib/mjs/components/container/Container.form.js +2 -2
  327. package/lib/mjs/components/container/Container.js +6 -4
  328. package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
  329. package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
  330. package/lib/mjs/components/content/Content.form.js +4 -2
  331. package/lib/mjs/components/content/Content.js +10 -8
  332. package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
  333. package/lib/mjs/components/currency/Currency.form.js +3 -3
  334. package/lib/mjs/components/currency/Currency.js +19 -10
  335. package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
  336. package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
  337. package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
  338. package/lib/mjs/components/datagrid/DataGrid.js +90 -39
  339. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
  340. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
  341. package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
  342. package/lib/mjs/components/datamap/DataMap.form.js +2 -2
  343. package/lib/mjs/components/datamap/DataMap.js +44 -31
  344. package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
  345. package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
  346. package/lib/mjs/components/datetime/DateTime.form.js +5 -5
  347. package/lib/mjs/components/datetime/DateTime.js +31 -16
  348. package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
  349. package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
  350. package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
  351. package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
  352. package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
  353. package/lib/mjs/components/day/Day.form.js +5 -5
  354. package/lib/mjs/components/day/Day.js +147 -57
  355. package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
  356. package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
  357. package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
  358. package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
  359. package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
  360. package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
  361. package/lib/mjs/components/editgrid/EditGrid.js +138 -90
  362. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
  363. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
  364. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
  365. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
  366. package/lib/mjs/components/email/Email.js +4 -4
  367. package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
  368. package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
  369. package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
  370. package/lib/mjs/components/fieldset/Fieldset.js +2 -2
  371. package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
  372. package/lib/mjs/components/file/File.form.js +4 -4
  373. package/lib/mjs/components/file/File.js +131 -84
  374. package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
  375. package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
  376. package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
  377. package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
  378. package/lib/mjs/components/form/Form.form.js +3 -3
  379. package/lib/mjs/components/form/Form.js +67 -51
  380. package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
  381. package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
  382. package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
  383. package/lib/mjs/components/hidden/Hidden.form.js +4 -4
  384. package/lib/mjs/components/hidden/Hidden.js +2 -2
  385. package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
  386. package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
  387. package/lib/mjs/components/html/HTML.js +23 -17
  388. package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
  389. package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
  390. package/lib/mjs/components/number/Number.form.js +3 -3
  391. package/lib/mjs/components/number/Number.js +28 -12
  392. package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
  393. package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
  394. package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
  395. package/lib/mjs/components/panel/Panel.form.js +1 -1
  396. package/lib/mjs/components/panel/Panel.js +2 -2
  397. package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
  398. package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
  399. package/lib/mjs/components/password/Password.form.js +3 -3
  400. package/lib/mjs/components/password/Password.js +5 -2
  401. package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
  402. package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
  403. package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
  404. package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
  405. package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
  406. package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
  407. package/lib/mjs/components/radio/Radio.form.js +3 -3
  408. package/lib/mjs/components/radio/Radio.js +56 -27
  409. package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
  410. package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
  411. package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
  412. package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
  413. package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
  414. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
  415. package/lib/mjs/components/select/Select.form.js +3 -3
  416. package/lib/mjs/components/select/Select.js +240 -134
  417. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
  418. package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
  419. package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
  420. package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
  421. package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
  422. package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
  423. package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
  424. package/lib/mjs/components/signature/Signature.form.js +3 -3
  425. package/lib/mjs/components/signature/Signature.js +25 -15
  426. package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
  427. package/lib/mjs/components/survey/Survey.form.js +3 -3
  428. package/lib/mjs/components/survey/Survey.js +30 -17
  429. package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
  430. package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
  431. package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
  432. package/lib/mjs/components/table/Table.form.js +1 -1
  433. package/lib/mjs/components/table/Table.js +7 -5
  434. package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
  435. package/lib/mjs/components/tabs/Tabs.form.js +1 -1
  436. package/lib/mjs/components/tabs/Tabs.js +26 -8
  437. package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
  438. package/lib/mjs/components/tags/Tags.form.js +1 -1
  439. package/lib/mjs/components/tags/Tags.js +28 -12
  440. package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
  441. package/lib/mjs/components/textarea/TextArea.form.js +2 -2
  442. package/lib/mjs/components/textarea/TextArea.js +75 -51
  443. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
  444. package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
  445. package/lib/mjs/components/textfield/TextField.form.js +3 -3
  446. package/lib/mjs/components/textfield/TextField.js +34 -23
  447. package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
  448. package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
  449. package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
  450. package/lib/mjs/components/time/Time.js +17 -10
  451. package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
  452. package/lib/mjs/components/unknown/Unknown.form.js +5 -5
  453. package/lib/mjs/components/unknown/Unknown.js +2 -2
  454. package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
  455. package/lib/mjs/components/url/Url.form.js +3 -3
  456. package/lib/mjs/components/url/Url.js +2 -2
  457. package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
  458. package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
  459. package/lib/mjs/components/well/Well.form.js +1 -1
  460. package/lib/mjs/components/well/Well.js +2 -2
  461. package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
  462. package/lib/mjs/formio.form.d.ts +2 -1
  463. package/lib/mjs/formio.form.js +10 -8
  464. package/lib/mjs/i18n.d.ts +4 -0
  465. package/lib/mjs/i18n.js +7 -3
  466. package/lib/mjs/package.json +1 -1
  467. package/lib/mjs/providers/address/AddressProvider.js +8 -5
  468. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
  469. package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
  470. package/lib/mjs/providers/processor/fileProcessor.js +3 -1
  471. package/lib/mjs/providers/storage/azure.js +5 -2
  472. package/lib/mjs/providers/storage/dropbox.js +4 -5
  473. package/lib/mjs/providers/storage/googleDrive.js +3 -4
  474. package/lib/mjs/providers/storage/index.js +1 -1
  475. package/lib/mjs/providers/storage/indexeddb.js +16 -6
  476. package/lib/mjs/providers/storage/s3.js +19 -8
  477. package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
  478. package/lib/mjs/providers/storage/url.js +13 -11
  479. package/lib/mjs/providers/storage/xhr.js +17 -9
  480. package/lib/mjs/templates/index.js +1 -1
  481. package/lib/mjs/translations/de.d.ts +80 -0
  482. package/lib/mjs/translations/de.js +79 -0
  483. package/lib/mjs/translations/en.d.ts +0 -2
  484. package/lib/mjs/translations/en.js +7 -9
  485. package/lib/mjs/utils/ChoicesWrapper.js +2 -2
  486. package/lib/mjs/utils/builder.js +31 -7
  487. package/lib/mjs/utils/calendarUtils.js +7 -5
  488. package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
  489. package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
  490. package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
  491. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
  492. package/lib/mjs/utils/conditionOperators/index.js +1 -1
  493. package/lib/mjs/utils/formUtils.js +2 -2
  494. package/lib/mjs/utils/i18n.js +7 -1
  495. package/lib/mjs/utils/index.d.ts +2 -1
  496. package/lib/mjs/utils/index.js +3 -3
  497. package/lib/mjs/utils/utils.d.ts +10 -1
  498. package/lib/mjs/utils/utils.js +178 -91
  499. package/lib/mjs/widgets/CalendarWidget.js +67 -50
  500. package/lib/mjs/widgets/InputWidget.js +6 -4
  501. package/lib/mjs/widgets/index.js +1 -1
  502. package/package.json +3 -3
  503. package/lib/cjs/pdf.image.d.ts +0 -2
  504. package/lib/cjs/pdf.image.js +0 -94
  505. package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
  506. package/lib/cjs/utils/jsonlogic/operators.js +0 -265
  507. package/lib/mjs/pdf.image.d.ts +0 -2
  508. package/lib/mjs/pdf.image.js +0 -94
  509. package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
  510. package/lib/mjs/utils/jsonlogic/operators.js +0 -262
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-statements */
2
1
  import _ from 'lodash';
3
2
  import Component from '../_classes/component/Component';
4
3
  import ComponentModal from '../_classes/componentModal/ComponentModal';
@@ -26,18 +25,20 @@ export default class FormComponent extends Component {
26
25
  group: 'premium',
27
26
  documentation: '/userguide/form-building/premium-components#nested-form',
28
27
  weight: 110,
29
- schema: FormComponent.schema()
28
+ schema: FormComponent.schema(),
30
29
  };
31
30
  }
32
31
  static savedValueTypes() {
33
- return [componentValueTypes.object];
32
+ return [
33
+ componentValueTypes.object,
34
+ ];
34
35
  }
35
36
  init() {
36
37
  super.init();
37
38
  this.formObj = {
38
39
  display: this.component.display,
39
40
  settings: this.component.settings,
40
- components: this.component.components
41
+ components: this.component.components,
41
42
  };
42
43
  this.valueChanged = false;
43
44
  this.subForm = null;
@@ -89,9 +90,11 @@ export default class FormComponent extends Component {
89
90
  delete this.component.formRevision;
90
91
  }
91
92
  // Add revision version if set.
92
- if (this.component.revision || this.component.revision === 0 ||
93
- this.component.formRevision || this.component.formRevision === 0
94
- || this.component.revisionId) {
93
+ if (this.component.revision ||
94
+ this.component.revision === 0 ||
95
+ this.component.formRevision ||
96
+ this.component.formRevision === 0 ||
97
+ this.component.revisionId) {
95
98
  this.setFormRevision(this.component.revisionId || this.component.revision || this.component.formRevision);
96
99
  }
97
100
  return this.createSubForm();
@@ -140,7 +143,6 @@ export default class FormComponent extends Component {
140
143
  }
141
144
  return this.subForm.getComponent(path);
142
145
  }
143
- /* eslint-disable max-statements */
144
146
  getSubOptions(options = {}) {
145
147
  options.events = this.createEmitter();
146
148
  // Make sure to not show the submit button in wizards in the nested forms.
@@ -211,7 +213,6 @@ export default class FormComponent extends Component {
211
213
  options.parent = this;
212
214
  return options;
213
215
  }
214
- /* eslint-enable max-statements */
215
216
  render() {
216
217
  if (this.builderMode) {
217
218
  return super.render(this.component.label || 'Nested form');
@@ -236,27 +237,27 @@ export default class FormComponent extends Component {
236
237
  return 'No data provided';
237
238
  }
238
239
  if (options?.email) {
239
- let result = (`
240
+ let result = `
240
241
  <table border="1" style="width:100%">
241
242
  <tbody>
242
- `);
243
+ `;
243
244
  this.everyComponent((component) => {
244
245
  if (component.isInputComponent && component.visible && !component.skipInEmail) {
245
- result += (`
246
+ result += `
246
247
  <tr>
247
248
  <th style="padding: 5px 10px;">${component.label}</th>
248
249
  <td style="width:100%;padding:5px 10px;">${component.getView(component.dataValue, options)}</td>
249
250
  </tr>
250
- `);
251
+ `;
251
252
  }
252
253
  }, {
253
254
  ...options,
254
255
  fromRoot: true,
255
256
  });
256
- result += (`
257
+ result += `
257
258
  </tbody>
258
259
  </table>
259
- `);
260
+ `;
260
261
  return result;
261
262
  }
262
263
  if (_.isEmpty(value)) {
@@ -269,8 +270,7 @@ export default class FormComponent extends Component {
269
270
  if (this.builderMode) {
270
271
  return super.attach(element);
271
272
  }
272
- return super.attach(element)
273
- .then(() => {
273
+ return super.attach(element).then(() => {
274
274
  if (this.isSubFormLazyLoad() && !this.hasLoadedForm && !this.subFormLoading) {
275
275
  this.createSubForm(true);
276
276
  }
@@ -281,7 +281,7 @@ export default class FormComponent extends Component {
281
281
  this.empty(element);
282
282
  if (this.options.builder) {
283
283
  this.setContent(element, this.ce('div', {
284
- class: 'text-muted text-center p-2'
284
+ class: 'text-muted text-center p-2',
285
285
  }, this.text(this.formObj.title)));
286
286
  return;
287
287
  }
@@ -289,9 +289,12 @@ export default class FormComponent extends Component {
289
289
  const postAttach = () => {
290
290
  if (!this.builderMode && this.component.modalEdit) {
291
291
  const modalShouldBeOpened = this.componentModal ? this.componentModal.isOpened : false;
292
- const currentValue = modalShouldBeOpened ? this.componentModal.currentValue : this.dataValue;
292
+ const currentValue = modalShouldBeOpened
293
+ ? this.componentModal.currentValue
294
+ : this.dataValue;
293
295
  this.componentModal = new ComponentModal(this, element, modalShouldBeOpened, currentValue, this._referenceAttributeName);
294
- this.subForm.element = this.componentModal.refs.componentContent || this.subForm.element;
296
+ this.subForm.element =
297
+ this.componentModal.refs.componentContent || this.subForm.element;
295
298
  this.setOpenModalElement();
296
299
  }
297
300
  this.calculateValue();
@@ -328,24 +331,24 @@ export default class FormComponent extends Component {
328
331
  return this._currentForm;
329
332
  }
330
333
  get hasLoadedForm() {
331
- return this.formObj
332
- && this.formObj.components
333
- && Array.isArray(this.formObj.components)
334
- && this.formObj.components.length;
334
+ return (this.formObj &&
335
+ this.formObj.components &&
336
+ Array.isArray(this.formObj.components) &&
337
+ this.formObj.components.length);
335
338
  }
336
339
  set currentForm(instance) {
337
340
  this._currentForm = instance;
338
341
  if (!this.subForm) {
339
342
  return;
340
343
  }
341
- this.subForm.getComponents().forEach(component => {
344
+ this.subForm.getComponents().forEach((component) => {
342
345
  component.currentForm = this;
343
346
  });
344
347
  }
345
348
  get isRevisionChanged() {
346
- return _.isNumber(this.subFormRevision)
347
- && _.isNumber(this.formObj._vid)
348
- && this.formObj._vid !== this.subFormRevision;
349
+ return (_.isNumber(this.subFormRevision) &&
350
+ _.isNumber(this.formObj._vid) &&
351
+ this.formObj._vid !== this.subFormRevision);
349
352
  }
350
353
  get subFormData() {
351
354
  return this.dataValue?.data || {};
@@ -380,7 +383,7 @@ export default class FormComponent extends Component {
380
383
  }
381
384
  updateSubWizards(subForm) {
382
385
  if (this.isNestedWizard && this.root?.subWizards && subForm?._form?.display === 'wizard') {
383
- const existedForm = this.root.subWizards.findIndex(form => form.component.form === this.component.form);
386
+ const existedForm = this.root.subWizards.findIndex((form) => form.component.form === this.component.form);
384
387
  if (existedForm !== -1) {
385
388
  this.root.subWizards[existedForm] = this;
386
389
  }
@@ -405,7 +408,8 @@ export default class FormComponent extends Component {
405
408
  * @returns {*} - The subform instance.
406
409
  */
407
410
  createSubForm(fromAttach, beforeSubmit) {
408
- this.subFormReady = this.loadSubForm(fromAttach, beforeSubmit).then((form) => {
411
+ this.subFormReady = this.loadSubForm(fromAttach, beforeSubmit)
412
+ .then((form) => {
409
413
  if (!form) {
410
414
  return;
411
415
  }
@@ -418,7 +422,8 @@ export default class FormComponent extends Component {
418
422
  this.subForm.destroy();
419
423
  }
420
424
  // Render the form.
421
- return (new Form(form, this.getSubOptions())).ready.then((instance) => {
425
+ return new Form(form, this.getSubOptions()).ready
426
+ .then((instance) => {
422
427
  this.subForm = instance;
423
428
  this.subForm.currentForm = this;
424
429
  this.subForm.parentVisible = this.visible;
@@ -429,7 +434,7 @@ export default class FormComponent extends Component {
429
434
  if (this.subForm && !this.shouldConditionallyClear()) {
430
435
  this.dataValue = this.subForm.getValue();
431
436
  this.triggerChange({
432
- noEmit: true
437
+ noEmit: true,
433
438
  });
434
439
  }
435
440
  });
@@ -441,10 +446,12 @@ export default class FormComponent extends Component {
441
446
  this.valueChanged = this.hasSetValue;
442
447
  this.onChange();
443
448
  return this.subForm;
444
- }).catch((err) => {
449
+ })
450
+ .catch((err) => {
445
451
  console.log(err);
446
452
  });
447
- }).then((subForm) => {
453
+ })
454
+ .then((subForm) => {
448
455
  this.updateSubWizards(subForm);
449
456
  return subForm;
450
457
  });
@@ -466,11 +473,17 @@ export default class FormComponent extends Component {
466
473
  */
467
474
  loadSubForm(fromAttach, beforeSubmit) {
468
475
  const loadHiddenForm = beforeSubmit && !this.component.clearOnHide;
469
- if (this.builderMode || (this.conditionallyHidden() && !loadHiddenForm) || (this.isSubFormLazyLoad() && !fromAttach)) {
476
+ if (this.builderMode ||
477
+ (this.conditionallyHidden() && !loadHiddenForm) ||
478
+ (this.isSubFormLazyLoad() && !fromAttach)) {
470
479
  return Promise.resolve();
471
480
  }
472
- if (this.hasLoadedForm && !this.isRevisionChanged &&
473
- !(this.options.pdf && this.component?.useOriginalRevision && _.isNull(this.subForm) && !this.subFormLoading)) {
481
+ if (this.hasLoadedForm &&
482
+ !this.isRevisionChanged &&
483
+ !(this.options.pdf &&
484
+ this.component?.useOriginalRevision &&
485
+ _.isNull(this.subForm) &&
486
+ !this.subFormLoading)) {
474
487
  // Pass config down to sub forms.
475
488
  if (this.root && this.root.form && this.root.form.config && !this.formObj.config) {
476
489
  this.formObj.config = this.root.form.config;
@@ -485,7 +498,8 @@ export default class FormComponent extends Component {
485
498
  project: this.root.formio.projectUrl,
486
499
  }
487
500
  : {};
488
- return (new Formio(this.formSrc, options)).loadForm({ params: { live: 1 } })
501
+ return new Formio(this.formSrc, options)
502
+ .loadForm({ params: { live: 1 } })
489
503
  .then((formObj) => {
490
504
  this.formObj = formObj;
491
505
  if (this.options.pdf && this.component.useOriginalRevision) {
@@ -538,7 +552,9 @@ export default class FormComponent extends Component {
538
552
  * @returns {*|boolean} - TRUE if the subform should be submitted, FALSE if it should not.
539
553
  */
540
554
  get shouldSubmit() {
541
- return this.subFormReady && (!this.component.hasOwnProperty('reference') || this.component.reference) && !this.shouldConditionallyClear();
555
+ return (this.subFormReady &&
556
+ (!this.component.hasOwnProperty('reference') || this.component.reference) &&
557
+ !this.shouldConditionallyClear());
542
558
  }
543
559
  /**
544
560
  * Returns the data for the subform.
@@ -565,12 +581,15 @@ export default class FormComponent extends Component {
565
581
  }
566
582
  this.subForm.nosubmit = false;
567
583
  this.subForm.submitted = true;
568
- return this.subForm.submitForm({}, true).then(result => {
584
+ return this.subForm
585
+ .submitForm({}, true)
586
+ .then((result) => {
569
587
  this.subForm.loading = false;
570
588
  this.subForm.showAllErrors = false;
571
589
  this.dataValue = result.submission;
572
590
  return this.dataValue;
573
- }).catch(err => {
591
+ })
592
+ .catch((err) => {
574
593
  this.subForm.showAllErrors = true;
575
594
  this.subForm.onSubmissionError(err);
576
595
  return Promise.reject(err);
@@ -636,10 +655,10 @@ export default class FormComponent extends Component {
636
655
  this.valueChanged = true;
637
656
  if (this.subForm) {
638
657
  const revisionPath = submission._frid ? '_frid' : '_vid';
639
- const shouldLoadOriginalRevision = this.useOriginalRevision
640
- && (_.isNumber(submission[revisionPath]) || _.isNumber(submission._fvid))
641
- && _.isNumber(this.subForm.form?.[revisionPath])
642
- && submission._fvid !== this.subForm.form[revisionPath];
658
+ const shouldLoadOriginalRevision = this.useOriginalRevision &&
659
+ (_.isNumber(submission[revisionPath]) || _.isNumber(submission._fvid)) &&
660
+ _.isNumber(this.subForm.form?.[revisionPath]) &&
661
+ submission._fvid !== this.subForm.form[revisionPath];
643
662
  if (shouldLoadOriginalRevision) {
644
663
  this.setFormRevision(submission._frid || submission._fvid);
645
664
  this.createSubForm().then(() => {
@@ -653,10 +672,7 @@ export default class FormComponent extends Component {
653
672
  return changed;
654
673
  }
655
674
  setSubFormValue(submission, flags) {
656
- const shouldLoadSubmissionById = submission
657
- && submission._id
658
- && this.subForm.formio
659
- && _.isEmpty(submission.data);
675
+ const shouldLoadSubmissionById = submission && submission._id && this.subForm.formio && _.isEmpty(submission.data);
660
676
  const shouldLoadDraftById = this.options.saveDraft && _.isEmpty(submission.data) && _.get(this.subForm, 'submission._id');
661
677
  if (shouldLoadSubmissionById || shouldLoadDraftById) {
662
678
  const formId = submission.form || this.formObj.form || this.component.form;
@@ -722,7 +738,7 @@ export default class FormComponent extends Component {
722
738
  * @returns {boolean} - TRUE if this form is a Nested Wizard, FALSE otherwise
723
739
  */
724
740
  get isNestedWizard() {
725
- return this.subForm?._form?.display === 'wizard' && this.parent?.parent?._form?.display === 'wizard';
741
+ return (this.subForm?._form?.display === 'wizard' && this.parent?.parent?._form?.display === 'wizard');
726
742
  }
727
743
  get visible() {
728
744
  return super.visible;
@@ -817,7 +833,7 @@ export default class FormComponent extends Component {
817
833
  deleteValue() {
818
834
  super.setValue(null, {
819
835
  noUpdateEvent: true,
820
- noDefault: true
836
+ noDefault: true,
821
837
  });
822
838
  this.unset();
823
839
  }
@@ -1,5 +1,4 @@
1
1
  import EditFormUtils from '../../_classes/component/editForm/utils';
2
- /* eslint-disable max-len */
3
2
  export default [
4
3
  EditFormUtils.javaScriptValue('Custom Default Value', 'customDefaultValue', 'customDefaultValue', 120, '<p><h4>Example:</h4><pre>value = data.firstName + " " + data.lastName;</pre></p>', '<p><h4>Example:</h4><pre>{"cat": [{"var": "data.firstName"}, " ", {"var": "data.lastName"}]}</pre>'),
5
4
  EditFormUtils.javaScriptValue('Calculated Value', 'calculateValue', 'calculateValue', 130, '<p><h4>Example:</h4><pre>value = data.a + data.b + data.c;</pre></p>', '<p><h4>Example:</h4><pre>{"+": [{"var": "data.a"}, {"var": "data.b"}, {"var": "data.c"}]}</pre><p><a href="https://help.form.io/userguide/form-building/logic-and-conditions#calculated-values" target="_blank" rel="noopener noreferrer">Click here for an example</a></p>'),
@@ -10,7 +9,6 @@ export default [
10
9
  key: 'clearOnHide',
11
10
  defaultValue: true,
12
11
  tooltip: 'When a field is hidden, clear the value.',
13
- input: true
12
+ input: true,
14
13
  },
15
14
  ];
16
- /* eslint-enable max-len */
@@ -1,27 +1,26 @@
1
1
  export default [
2
2
  {
3
3
  key: 'labelPosition',
4
- ignore: true
4
+ ignore: true,
5
5
  },
6
6
  {
7
7
  key: 'placeholder',
8
- ignore: true
8
+ ignore: true,
9
9
  },
10
10
  {
11
11
  key: 'description',
12
- ignore: true
12
+ ignore: true,
13
13
  },
14
14
  {
15
15
  key: 'tooltip',
16
- ignore: true
16
+ ignore: true,
17
17
  },
18
18
  {
19
19
  key: 'tabIndex',
20
- ignore: true
20
+ ignore: true,
21
21
  },
22
22
  {
23
23
  key: 'autofocus',
24
- ignore: true
24
+ ignore: true,
25
25
  },
26
26
  ];
27
- /* eslint-enable max-len */
@@ -4,7 +4,7 @@ export default [
4
4
  input: true,
5
5
  dataSrc: 'url',
6
6
  data: {
7
- url: '/form?limit=1000000&select=_id,title,display'
7
+ url: '/form?limit=1000000&select=_id,title,display',
8
8
  },
9
9
  searchField: 'title__regex',
10
10
  template: '<span>{{ item.title }}</span>',
@@ -30,9 +30,11 @@ export default [
30
30
  tooltip: 'if it is checked, the subform is loaded after navigation to the page with this component within the wizard.',
31
31
  input: true,
32
32
  customConditional({ instance, data }) {
33
- const formInfo = instance.root?.getComponent('form')?.defaultDownloadedResources.find(res => res._id === data.form);
33
+ const formComp = instance.root?.getComponent('form');
34
+ const formInfo = formComp?.defaultDownloadedResources.find((res) => res._id === data.form);
34
35
  const displayMode = 'wizard';
35
- return instance.options?.editForm?.display === displayMode && formInfo && formInfo.display !== displayMode;
36
+ return (instance.options?.editForm?.display === displayMode &&
37
+ ((data.form && !formInfo) || (formInfo && formInfo.display !== displayMode)));
36
38
  },
37
39
  },
38
40
  {
@@ -40,7 +42,7 @@ export default [
40
42
  input: true,
41
43
  dataSrc: 'url',
42
44
  data: {
43
- url: '/form/{{ data.form }}/v'
45
+ url: '/form/{{ data.form }}/v',
44
46
  },
45
47
  searchField: 'title__regex',
46
48
  template: '<span>{{ item._vid }}</span>',
@@ -51,7 +53,7 @@ export default [
51
53
  weight: 10,
52
54
  lazyLoad: true,
53
55
  tooltip: 'You can lock the nested form to a specific revision by choosing the revision number here.',
54
- customConditional: 'show = !!data.form'
56
+ customConditional: 'show = !!data.form',
55
57
  },
56
58
  {
57
59
  type: 'checkbox',
@@ -59,7 +61,7 @@ export default [
59
61
  weight: 19,
60
62
  key: 'useOriginalRevision',
61
63
  label: 'Use Original Revision while Submissions Viewing',
62
- tooltip: 'Using this option will make form load the original revision (the one which was used to make a submission) when viewing a submission.'
64
+ tooltip: 'Using this option will make form load the original revision (the one which was used to make a submission) when viewing a submission.',
63
65
  },
64
66
  {
65
67
  type: 'checkbox',
@@ -67,6 +69,6 @@ export default [
67
69
  weight: 20,
68
70
  key: 'reference',
69
71
  label: 'Save as reference',
70
- tooltip: 'Using this option will save this field as a reference and link its value to the value of the origin record.'
71
- }
72
+ tooltip: 'Using this option will save this field as a reference and link its value to the value of the origin record.',
73
+ },
72
74
  ];
@@ -10,19 +10,19 @@ export default function (...extend) {
10
10
  return Components.baseEditForm([
11
11
  {
12
12
  key: 'display',
13
- components: HiddenEditDisplay
13
+ components: HiddenEditDisplay,
14
14
  },
15
15
  {
16
16
  key: 'data',
17
- components: HiddenEditData
17
+ components: HiddenEditData,
18
18
  },
19
19
  {
20
20
  key: 'validation',
21
- ignore: true
21
+ ignore: true,
22
22
  },
23
23
  {
24
24
  key: 'conditional',
25
- ignore: true
25
+ ignore: true,
26
26
  },
27
27
  ], ...extend);
28
28
  }
@@ -4,7 +4,7 @@ export default class HiddenComponent extends Input {
4
4
  return Input.schema({
5
5
  type: 'hidden',
6
6
  tableView: false,
7
- inputType: 'hidden'
7
+ inputType: 'hidden',
8
8
  }, ...extend);
9
9
  }
10
10
  static get builderInfo() {
@@ -15,7 +15,7 @@ export default class HiddenComponent extends Input {
15
15
  weight: 0,
16
16
  documentation: '/userguide/form-building/data-components#hidden',
17
17
  showPreview: false,
18
- schema: HiddenComponent.schema()
18
+ schema: HiddenComponent.schema(),
19
19
  };
20
20
  }
21
21
  get defaultSchema() {
@@ -1,14 +1,14 @@
1
1
  export default [
2
2
  {
3
3
  key: 'multiple',
4
- ignore: true
4
+ ignore: true,
5
5
  },
6
6
  {
7
7
  key: 'clearOnHide',
8
- ignore: true
8
+ ignore: true,
9
9
  },
10
10
  {
11
11
  key: 'allowCalculateOverride',
12
- ignore: true
12
+ ignore: true,
13
13
  },
14
14
  ];
@@ -1,42 +1,42 @@
1
1
  export default [
2
2
  {
3
3
  key: 'labelPosition',
4
- ignore: true
4
+ ignore: true,
5
5
  },
6
6
  {
7
7
  key: 'placeholder',
8
- ignore: true
8
+ ignore: true,
9
9
  },
10
10
  {
11
11
  key: 'description',
12
- ignore: true
12
+ ignore: true,
13
13
  },
14
14
  {
15
15
  key: 'tooltip',
16
- ignore: true
16
+ ignore: true,
17
17
  },
18
18
  {
19
19
  key: 'hideLabel',
20
- ignore: true
20
+ ignore: true,
21
21
  },
22
22
  {
23
23
  key: 'autofocus',
24
- ignore: true
24
+ ignore: true,
25
25
  },
26
26
  {
27
27
  key: 'tabindex',
28
- ignore: true
28
+ ignore: true,
29
29
  },
30
30
  {
31
31
  key: 'hidden',
32
- ignore: true
32
+ ignore: true,
33
33
  },
34
34
  {
35
35
  key: 'tableView',
36
- ignore: true
36
+ ignore: true,
37
37
  },
38
38
  {
39
39
  key: 'disabled',
40
- ignore: true
40
+ ignore: true,
41
41
  },
42
42
  ];
@@ -9,7 +9,7 @@ export default class HTMLComponent extends Component {
9
9
  attrs: [],
10
10
  content: '',
11
11
  input: false,
12
- persistent: false
12
+ persistent: false,
13
13
  }, ...extend);
14
14
  }
15
15
  static get builderInfo() {
@@ -20,7 +20,7 @@ export default class HTMLComponent extends Component {
20
20
  weight: 0,
21
21
  documentation: '/userguide/form-building/layout-components#html-element',
22
22
  showPreview: false,
23
- schema: HTMLComponent.schema()
23
+ schema: HTMLComponent.schema(),
24
24
  };
25
25
  }
26
26
  static savedValueTypes() {
@@ -38,28 +38,34 @@ export default class HTMLComponent extends Component {
38
38
  return ` ${this.component.content} `;
39
39
  }
40
40
  const submission = _.get(this.root, 'submission', {});
41
- const content = this.component.content ? this.interpolate(this.sanitize(this.component.content, this.shouldSanitizeValue), {
42
- metadata: submission.metadata || {},
43
- submission: submission,
44
- data: this.rootValue,
45
- row: this.data
46
- }) : '';
41
+ const content = this.component.content
42
+ ? this.interpolate(this.sanitize(this.component.content, this.shouldSanitizeValue), {
43
+ metadata: submission.metadata || {},
44
+ submission: submission,
45
+ data: this.rootValue,
46
+ row: this.data,
47
+ })
48
+ : '';
47
49
  return content;
48
50
  }
49
51
  get singleTags() {
50
- return ['br', 'img', 'hr'];
52
+ return [
53
+ 'br',
54
+ 'img',
55
+ 'hr',
56
+ ];
51
57
  }
52
58
  checkRefreshOn(changed) {
53
59
  super.checkRefreshOn(changed);
54
60
  const isVisible = () => {
55
61
  return this.hasCondition() ? !this.conditionallyHidden() : !this.component.hidden;
56
62
  };
57
- const shouldSetContent = !this.builderMode
58
- && this.component.refreshOnChange
59
- && this.element
60
- && !_.isUndefined(changed)
61
- && ((_.isBoolean(changed) && changed) || !_.isEmpty(changed))
62
- && isVisible();
63
+ const shouldSetContent = !this.builderMode &&
64
+ this.component.refreshOnChange &&
65
+ this.element &&
66
+ !_.isUndefined(changed) &&
67
+ ((_.isBoolean(changed) && changed) || !_.isEmpty(changed)) &&
68
+ isVisible();
63
69
  if (shouldSetContent) {
64
70
  this.setContent(this.element, this.renderContent());
65
71
  }
@@ -76,8 +82,8 @@ export default class HTMLComponent extends Component {
76
82
  metadata: submission.metadata || {},
77
83
  submission: submission,
78
84
  data: this.rootValue,
79
- row: this.data
80
- })
85
+ row: this.data,
86
+ }),
81
87
  };
82
88
  }),
83
89
  content: this.content,