@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.
- package/dist/formio.builder.css +161 -50
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
|
@@ -10,21 +10,33 @@ export default class Multivalue extends Field {
|
|
|
10
10
|
* @returns {*} - The normalized value.
|
|
11
11
|
*/
|
|
12
12
|
normalizeValue(value, flags = {}, emptyValue = this.emptyValue) {
|
|
13
|
-
const underlyingValueShouldBeArray = Utils.getModelType(this.component) === 'array' ||
|
|
13
|
+
const underlyingValueShouldBeArray = Utils.getModelType(this.component) === 'array' ||
|
|
14
|
+
this.component.storeas === 'array' ||
|
|
15
|
+
Array.isArray(emptyValue);
|
|
14
16
|
if (this.component.multiple) {
|
|
15
17
|
if (Array.isArray(value)) {
|
|
16
18
|
if (underlyingValueShouldBeArray) {
|
|
17
19
|
if (value.length === 0 || !Array.isArray(value[0])) {
|
|
18
|
-
return [
|
|
20
|
+
return [
|
|
21
|
+
value,
|
|
22
|
+
];
|
|
19
23
|
}
|
|
20
24
|
}
|
|
21
25
|
if (value.length === 0) {
|
|
22
|
-
return [
|
|
26
|
+
return [
|
|
27
|
+
emptyValue,
|
|
28
|
+
];
|
|
23
29
|
}
|
|
24
30
|
return super.normalizeValue(value, flags);
|
|
25
31
|
}
|
|
26
32
|
else {
|
|
27
|
-
return super.normalizeValue(value == null
|
|
33
|
+
return super.normalizeValue(value == null
|
|
34
|
+
? [
|
|
35
|
+
emptyValue,
|
|
36
|
+
]
|
|
37
|
+
: [
|
|
38
|
+
value,
|
|
39
|
+
], flags);
|
|
28
40
|
}
|
|
29
41
|
}
|
|
30
42
|
else {
|
|
@@ -52,10 +64,16 @@ export default class Multivalue extends Field {
|
|
|
52
64
|
let value = super.defaultValue;
|
|
53
65
|
if (this.component.multiple) {
|
|
54
66
|
if (_.isArray(value)) {
|
|
55
|
-
value = !value.length
|
|
67
|
+
value = !value.length
|
|
68
|
+
? [
|
|
69
|
+
super.emptyValue,
|
|
70
|
+
]
|
|
71
|
+
: value;
|
|
56
72
|
}
|
|
57
73
|
else {
|
|
58
|
-
value = [
|
|
74
|
+
value = [
|
|
75
|
+
value,
|
|
76
|
+
];
|
|
59
77
|
}
|
|
60
78
|
}
|
|
61
79
|
return value;
|
|
@@ -164,7 +182,7 @@ export default class Multivalue extends Field {
|
|
|
164
182
|
// Delay update slightly to give input mask a chance to run.
|
|
165
183
|
const textCase = _.get(this.component, 'case', 'mixed');
|
|
166
184
|
if (textCase !== 'mixed') {
|
|
167
|
-
const { selectionStart, selectionEnd
|
|
185
|
+
const { selectionStart, selectionEnd } = element;
|
|
168
186
|
if (textCase === 'uppercase' && element.value) {
|
|
169
187
|
element.value = element.value.toUpperCase();
|
|
170
188
|
}
|
|
@@ -186,13 +204,13 @@ export default class Multivalue extends Field {
|
|
|
186
204
|
if (element.mask) {
|
|
187
205
|
setTimeout(() => {
|
|
188
206
|
return this.updateValue(null, {
|
|
189
|
-
modified:
|
|
207
|
+
modified: this.component.type !== 'hidden',
|
|
190
208
|
}, index);
|
|
191
209
|
}, 1);
|
|
192
210
|
}
|
|
193
211
|
else {
|
|
194
212
|
return this.updateValue(null, {
|
|
195
|
-
modified:
|
|
213
|
+
modified: this.component.type !== 'hidden',
|
|
196
214
|
}, index);
|
|
197
215
|
}
|
|
198
216
|
});
|
|
@@ -238,7 +256,7 @@ export default class Multivalue extends Field {
|
|
|
238
256
|
if (this.multiMasks[maskName]) {
|
|
239
257
|
return this.multiMasks[maskName];
|
|
240
258
|
}
|
|
241
|
-
const mask = this.component.inputMasks.find(inputMask => inputMask.label === maskName);
|
|
259
|
+
const mask = this.component.inputMasks.find((inputMask) => inputMask.label === maskName);
|
|
242
260
|
this.multiMasks[maskName] = mask ? mask.mask : this.component.inputMasks[0].mask;
|
|
243
261
|
return this.multiMasks[maskName];
|
|
244
262
|
}
|
|
@@ -274,8 +292,7 @@ export default class Multivalue extends Field {
|
|
|
274
292
|
*/
|
|
275
293
|
addNewValue(value) {
|
|
276
294
|
if (value === undefined) {
|
|
277
|
-
value = this.component.defaultValue ?
|
|
278
|
-
this.component.defaultValue : this.emptyValue;
|
|
295
|
+
value = this.component.defaultValue ? this.component.defaultValue : this.emptyValue;
|
|
279
296
|
// If default is an empty aray, default back to empty value.
|
|
280
297
|
if (Array.isArray(value) && value.length === 0) {
|
|
281
298
|
value = this.emptyValue;
|
|
@@ -283,7 +300,9 @@ export default class Multivalue extends Field {
|
|
|
283
300
|
}
|
|
284
301
|
let dataValue = this.dataValue || [];
|
|
285
302
|
if (!Array.isArray(dataValue)) {
|
|
286
|
-
dataValue = [
|
|
303
|
+
dataValue = [
|
|
304
|
+
dataValue,
|
|
305
|
+
];
|
|
287
306
|
}
|
|
288
307
|
if (Array.isArray(value)) {
|
|
289
308
|
dataValue = dataValue.concat(value);
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
import _ from 'lodash';
|
|
3
3
|
import Field from '../field/Field';
|
|
4
4
|
import Components from '../../Components';
|
|
5
|
-
'';
|
|
6
|
-
import FormioUtils from '../../../utils';
|
|
5
|
+
import FormioUtils from '../../../utils/index';
|
|
7
6
|
import { process as processAsync, processSync } from '@formio/core/process';
|
|
8
7
|
/**
|
|
9
8
|
* NestedComponent class.
|
|
@@ -123,7 +122,7 @@ export default class NestedComponent extends Field {
|
|
|
123
122
|
*/
|
|
124
123
|
set parentVisible(value) {
|
|
125
124
|
super.parentVisible = value;
|
|
126
|
-
this.components.forEach(component => component.parentVisible = this.visible);
|
|
125
|
+
this.components.forEach((component) => (component.parentVisible = this.visible));
|
|
127
126
|
}
|
|
128
127
|
/**
|
|
129
128
|
* Get parent visibility.
|
|
@@ -145,7 +144,7 @@ export default class NestedComponent extends Field {
|
|
|
145
144
|
*/
|
|
146
145
|
set disabled(disabled) {
|
|
147
146
|
super.disabled = disabled;
|
|
148
|
-
this.components.forEach((component) => component.parentDisabled = disabled);
|
|
147
|
+
this.components.forEach((component) => (component.parentDisabled = disabled));
|
|
149
148
|
}
|
|
150
149
|
/**
|
|
151
150
|
* Set parent disabled state.
|
|
@@ -154,7 +153,7 @@ export default class NestedComponent extends Field {
|
|
|
154
153
|
*/
|
|
155
154
|
set parentDisabled(value) {
|
|
156
155
|
super.parentDisabled = value;
|
|
157
|
-
this.components.forEach(component => {
|
|
156
|
+
this.components.forEach((component) => {
|
|
158
157
|
component.parentDisabled = this.disabled;
|
|
159
158
|
});
|
|
160
159
|
}
|
|
@@ -170,7 +169,7 @@ export default class NestedComponent extends Field {
|
|
|
170
169
|
* @returns {Promise<Array>} - The promise that resolves when all components are ready.
|
|
171
170
|
*/
|
|
172
171
|
get ready() {
|
|
173
|
-
return Promise.all(this.getComponents().map(component => component.ready));
|
|
172
|
+
return Promise.all(this.getComponents().map((component) => component.ready));
|
|
174
173
|
}
|
|
175
174
|
/**
|
|
176
175
|
* Get currentForm object.
|
|
@@ -186,7 +185,7 @@ export default class NestedComponent extends Field {
|
|
|
186
185
|
*/
|
|
187
186
|
set currentForm(instance) {
|
|
188
187
|
super.currentForm = instance;
|
|
189
|
-
this.getComponents().forEach(component => {
|
|
188
|
+
this.getComponents().forEach((component) => {
|
|
190
189
|
component.currentForm = instance;
|
|
191
190
|
});
|
|
192
191
|
}
|
|
@@ -206,7 +205,7 @@ export default class NestedComponent extends Field {
|
|
|
206
205
|
this._rowIndex = value;
|
|
207
206
|
this.paths = FormioUtils.getComponentPaths(this.component, this.parent?.component, {
|
|
208
207
|
...(this.parent?.paths || {}),
|
|
209
|
-
...{ dataIndex: value }
|
|
208
|
+
...{ dataIndex: value },
|
|
210
209
|
});
|
|
211
210
|
this.eachComponent((component) => {
|
|
212
211
|
component.rowIndex = value;
|
|
@@ -471,15 +470,16 @@ export default class NestedComponent extends Field {
|
|
|
471
470
|
}
|
|
472
471
|
render(children) {
|
|
473
472
|
// If already rendering, don't re-render.
|
|
474
|
-
return super.render(children ||
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
473
|
+
return super.render(children ||
|
|
474
|
+
this.renderTemplate(this.templateName, {
|
|
475
|
+
children: !this.visible ? '' : this.renderComponents(),
|
|
476
|
+
nestedKey: this.nestedKey,
|
|
477
|
+
collapsed: this.options.pdf ? false : this.collapsed,
|
|
478
|
+
}));
|
|
479
479
|
}
|
|
480
480
|
renderComponents(components) {
|
|
481
481
|
components = components || this.getComponents();
|
|
482
|
-
const children = components.map(component => component.render());
|
|
482
|
+
const children = components.map((component) => component.render());
|
|
483
483
|
return this.renderTemplate('components', {
|
|
484
484
|
children,
|
|
485
485
|
components,
|
|
@@ -538,7 +538,7 @@ export default class NestedComponent extends Field {
|
|
|
538
538
|
}
|
|
539
539
|
let index = 0;
|
|
540
540
|
const promises = [];
|
|
541
|
-
Array.prototype.slice.call(element.children).forEach(child => {
|
|
541
|
+
Array.prototype.slice.call(element.children).forEach((child) => {
|
|
542
542
|
if (!child.getAttribute('data-noattach') && components[index]) {
|
|
543
543
|
promises.push(components[index].attach(child));
|
|
544
544
|
index++;
|
|
@@ -632,12 +632,12 @@ export default class NestedComponent extends Field {
|
|
|
632
632
|
// check conditions of parent component first, because it may influence on visibility of it's children
|
|
633
633
|
const check = super.checkConditions(data, flags, row);
|
|
634
634
|
//row data of parent component not always corresponds to row of nested components, use comp.data as row data for children instead
|
|
635
|
-
this.getComponents().forEach(comp => comp.checkConditions(data, flags, comp.data));
|
|
635
|
+
this.getComponents().forEach((comp) => comp.checkConditions(data, flags, comp.data));
|
|
636
636
|
return check;
|
|
637
637
|
}
|
|
638
638
|
clearOnHide(show) {
|
|
639
639
|
super.clearOnHide(show);
|
|
640
|
-
this.getComponents().forEach(component => component.clearOnHide(show));
|
|
640
|
+
this.getComponents().forEach((component) => component.clearOnHide(show));
|
|
641
641
|
}
|
|
642
642
|
/**
|
|
643
643
|
* Allow components to hook into the next page trigger to perform their own logic.
|
|
@@ -698,7 +698,7 @@ export default class NestedComponent extends Field {
|
|
|
698
698
|
// If we just validated the last component, and there are errors from our parent, then we need to show a model of those errors.
|
|
699
699
|
if (instance &&
|
|
700
700
|
instance.parent &&
|
|
701
|
-
|
|
701
|
+
component === components[components.length - 1] &&
|
|
702
702
|
instance.parent.componentModal) {
|
|
703
703
|
instance.parent.checkModal(instance.parent.childErrors, dirty);
|
|
704
704
|
}
|
|
@@ -715,15 +715,17 @@ export default class NestedComponent extends Field {
|
|
|
715
715
|
processors: [
|
|
716
716
|
{
|
|
717
717
|
process: validationProcessorProcess,
|
|
718
|
-
processSync: validationProcessorProcess
|
|
718
|
+
processSync: validationProcessorProcess,
|
|
719
719
|
},
|
|
720
720
|
{
|
|
721
721
|
process: checkModalProcessorProcess,
|
|
722
|
-
processSync: checkModalProcessorProcess
|
|
723
|
-
}
|
|
724
|
-
]
|
|
722
|
+
processSync: checkModalProcessorProcess,
|
|
723
|
+
},
|
|
724
|
+
],
|
|
725
725
|
};
|
|
726
|
-
return async
|
|
726
|
+
return async
|
|
727
|
+
? processAsync(processorContext).then((scope) => scope.errors)
|
|
728
|
+
: processSync(processorContext).errors;
|
|
727
729
|
}
|
|
728
730
|
/**
|
|
729
731
|
* Validate a nested component with data, or its own internal data.
|
|
@@ -750,7 +752,8 @@ export default class NestedComponent extends Field {
|
|
|
750
752
|
*/
|
|
751
753
|
checkValidity(data = null, dirty = false, row = null, silentCheck = false, childErrors = []) {
|
|
752
754
|
childErrors.push(...this.validate(data, { dirty, silentCheck }));
|
|
753
|
-
return this.checkComponentValidity(data, dirty, row, { dirty, silentCheck }, childErrors) &&
|
|
755
|
+
return (this.checkComponentValidity(data, dirty, row, { dirty, silentCheck }, childErrors) &&
|
|
756
|
+
childErrors.length === 0);
|
|
754
757
|
}
|
|
755
758
|
checkAsyncValidity(data = null, dirty = false, row = null, silentCheck = false) {
|
|
756
759
|
return this.ready.then(() => {
|
|
@@ -772,13 +775,13 @@ export default class NestedComponent extends Field {
|
|
|
772
775
|
return this.dirty && this.getComponents().every((c) => c.isDirty);
|
|
773
776
|
}
|
|
774
777
|
detach() {
|
|
775
|
-
this.components.forEach(component => {
|
|
778
|
+
this.components.forEach((component) => {
|
|
776
779
|
component.detach();
|
|
777
780
|
});
|
|
778
781
|
super.detach();
|
|
779
782
|
}
|
|
780
783
|
clear() {
|
|
781
|
-
this.components.forEach(component => {
|
|
784
|
+
this.components.forEach((component) => {
|
|
782
785
|
component.clear();
|
|
783
786
|
});
|
|
784
787
|
super.clear();
|
|
@@ -799,7 +802,7 @@ export default class NestedComponent extends Field {
|
|
|
799
802
|
const thisErrors = super.errors;
|
|
800
803
|
return this.getComponents()
|
|
801
804
|
.reduce((errors, comp) => errors.concat(comp.errors || []), thisErrors)
|
|
802
|
-
.filter(err => err.level !== 'hidden');
|
|
805
|
+
.filter((err) => err.level !== 'hidden');
|
|
803
806
|
}
|
|
804
807
|
getValue() {
|
|
805
808
|
return this.data;
|
|
@@ -826,7 +829,8 @@ export default class NestedComponent extends Field {
|
|
|
826
829
|
else if (value && component.hasValue(value)) {
|
|
827
830
|
return component.setValue(_.get(value, component.key), flags);
|
|
828
831
|
}
|
|
829
|
-
else if ((!this.rootPristine || component.visible) &&
|
|
832
|
+
else if ((!this.rootPristine || component.visible) &&
|
|
833
|
+
(flags.resetValue || component.shouldAddDefaultValue)) {
|
|
830
834
|
flags.noValidate = !flags.dirty;
|
|
831
835
|
flags.resetValue = true;
|
|
832
836
|
return component.setValue(component.defaultValue, flags);
|
|
@@ -8,11 +8,13 @@ import NestedDataComponent from '../nesteddata/NestedDataComponent';
|
|
|
8
8
|
export default class NestedArrayComponent extends NestedDataComponent {
|
|
9
9
|
static schema(...extend) {
|
|
10
10
|
return NestedDataComponent.schema({
|
|
11
|
-
disableAddingRemovingRows: false
|
|
11
|
+
disableAddingRemovingRows: false,
|
|
12
12
|
}, ...extend);
|
|
13
13
|
}
|
|
14
14
|
static savedValueTypes() {
|
|
15
|
-
return [
|
|
15
|
+
return [
|
|
16
|
+
componentValueTypes.array,
|
|
17
|
+
];
|
|
16
18
|
}
|
|
17
19
|
componentContext(component) {
|
|
18
20
|
return this.iteratableRows[component.rowIndex].data;
|
|
@@ -26,7 +28,7 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
|
26
28
|
set rowIndex(value) {
|
|
27
29
|
this.paths = getComponentPaths(this.component, this.parent?.component, {
|
|
28
30
|
...(this.parent?.paths || {}),
|
|
29
|
-
...{ dataIndex: value }
|
|
31
|
+
...{ dataIndex: value },
|
|
30
32
|
});
|
|
31
33
|
this._rowIndex = value;
|
|
32
34
|
}
|
|
@@ -60,7 +62,9 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
|
60
62
|
}
|
|
61
63
|
validate(data, flags = {}) {
|
|
62
64
|
data = data || this.data;
|
|
63
|
-
return this.validateComponents([
|
|
65
|
+
return this.validateComponents([
|
|
66
|
+
this.component,
|
|
67
|
+
], data, flags);
|
|
64
68
|
}
|
|
65
69
|
checkRow(...args) {
|
|
66
70
|
console.log('Deprecation Warning: checkRow method has been replaced with processRow');
|
|
@@ -80,15 +84,16 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
|
80
84
|
hasAddButton() {
|
|
81
85
|
const maxLength = _.get(this.component, 'validate.maxLength');
|
|
82
86
|
const conditionalAddButton = _.get(this.component, 'conditionalAddButton');
|
|
83
|
-
return !this.component.disableAddingRemovingRows &&
|
|
87
|
+
return (!this.component.disableAddingRemovingRows &&
|
|
84
88
|
!this.options.readOnly &&
|
|
85
89
|
!this.disabled &&
|
|
86
90
|
this.fullMode &&
|
|
87
91
|
!this.options.preview &&
|
|
88
|
-
(!maxLength ||
|
|
89
|
-
(!conditionalAddButton ||
|
|
90
|
-
|
|
91
|
-
|
|
92
|
+
(!maxLength || this.iteratableRows.length < maxLength) &&
|
|
93
|
+
(!conditionalAddButton ||
|
|
94
|
+
this.evaluate(conditionalAddButton, {
|
|
95
|
+
value: this.dataValue,
|
|
96
|
+
}, 'show')));
|
|
92
97
|
}
|
|
93
98
|
everyComponent(fn, rowIndex, options = {}) {
|
|
94
99
|
if (_.isObject(rowIndex)) {
|
|
@@ -112,20 +117,20 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
|
112
117
|
}
|
|
113
118
|
getValueAsString(value, options) {
|
|
114
119
|
if (options?.email) {
|
|
115
|
-
let result =
|
|
120
|
+
let result = `
|
|
116
121
|
<table border="1" style="width:100%">
|
|
117
122
|
<thead>
|
|
118
123
|
<tr>
|
|
119
|
-
|
|
124
|
+
`;
|
|
120
125
|
this.component.components?.forEach((component) => {
|
|
121
126
|
const label = component.label || component.key;
|
|
122
127
|
result += `<th style="padding: 5px 10px;">${label}</th>`;
|
|
123
128
|
});
|
|
124
|
-
result +=
|
|
129
|
+
result += `
|
|
125
130
|
</tr>
|
|
126
131
|
</thead>
|
|
127
132
|
<tbody>
|
|
128
|
-
|
|
133
|
+
`;
|
|
129
134
|
this.iteratableRows.forEach(({ components }) => {
|
|
130
135
|
result += '<tr>';
|
|
131
136
|
_.each(components, (component) => {
|
|
@@ -137,10 +142,10 @@ export default class NestedArrayComponent extends NestedDataComponent {
|
|
|
137
142
|
});
|
|
138
143
|
result += '</tr>';
|
|
139
144
|
});
|
|
140
|
-
result +=
|
|
145
|
+
result += `
|
|
141
146
|
</tbody>
|
|
142
147
|
</table>
|
|
143
|
-
|
|
148
|
+
`;
|
|
144
149
|
return result;
|
|
145
150
|
}
|
|
146
151
|
if (!value || !value.length) {
|
|
@@ -6,15 +6,15 @@ import { componentValueTypes, getComponentSavedTypes } from '../../../utils';
|
|
|
6
6
|
export default class NestedDataComponent extends NestedComponent {
|
|
7
7
|
hasChanged(newValue, oldValue) {
|
|
8
8
|
// If we do not have a value and are getting set to anything other than undefined or null, then we changed.
|
|
9
|
-
if (newValue !== undefined &&
|
|
10
|
-
newValue !== null &&
|
|
11
|
-
!this.hasValue()) {
|
|
9
|
+
if (newValue !== undefined && newValue !== null && !this.hasValue()) {
|
|
12
10
|
return true;
|
|
13
11
|
}
|
|
14
12
|
return !_.isEqual(newValue, oldValue);
|
|
15
13
|
}
|
|
16
14
|
static savedValueTypes(schema) {
|
|
17
|
-
return getComponentSavedTypes(schema) || [
|
|
15
|
+
return (getComponentSavedTypes(schema) || [
|
|
16
|
+
componentValueTypes.object,
|
|
17
|
+
]);
|
|
18
18
|
}
|
|
19
19
|
get allowData() {
|
|
20
20
|
return true;
|
|
@@ -30,27 +30,27 @@ export default class NestedDataComponent extends NestedComponent {
|
|
|
30
30
|
}
|
|
31
31
|
getValueAsString(value, options) {
|
|
32
32
|
if (options?.email) {
|
|
33
|
-
let result =
|
|
33
|
+
let result = `
|
|
34
34
|
<table border="1" style="width:100%">
|
|
35
35
|
<tbody>
|
|
36
|
-
|
|
36
|
+
`;
|
|
37
37
|
this.everyComponent((component) => {
|
|
38
38
|
if (component.isInputComponent && component.visible && !component.skipInEmail) {
|
|
39
|
-
result +=
|
|
39
|
+
result += `
|
|
40
40
|
<tr>
|
|
41
41
|
<th style="padding: 5px 10px;">${component.label}</th>
|
|
42
42
|
<td style="width:100%;padding:5px 10px;">${component.getView(component.dataValue, options)}</td>
|
|
43
43
|
</tr>
|
|
44
|
-
|
|
44
|
+
`;
|
|
45
45
|
}
|
|
46
46
|
}, {
|
|
47
47
|
...options,
|
|
48
48
|
fromRoot: true,
|
|
49
49
|
});
|
|
50
|
-
result +=
|
|
50
|
+
result += `
|
|
51
51
|
</tbody>
|
|
52
52
|
</table>
|
|
53
|
-
|
|
53
|
+
`;
|
|
54
54
|
return result;
|
|
55
55
|
}
|
|
56
56
|
if (_.isEmpty(value)) {
|
|
@@ -63,31 +63,33 @@ export default class NestedDataComponent extends NestedComponent {
|
|
|
63
63
|
return '[Complex Data]';
|
|
64
64
|
}
|
|
65
65
|
getDataValueAsTable(value, options) {
|
|
66
|
-
let result =
|
|
66
|
+
let result = `
|
|
67
67
|
<table border="1" style="width:100%">
|
|
68
68
|
<tbody>
|
|
69
|
-
|
|
69
|
+
`;
|
|
70
70
|
const htmlTagRegExp = new RegExp('<(.*?)>');
|
|
71
71
|
this.everyComponent((component) => {
|
|
72
72
|
if (component.isInputComponent && component.visible && !component.skipInEmail) {
|
|
73
73
|
const componentValue = component.getView(component.dataValue, options);
|
|
74
|
-
result +=
|
|
74
|
+
result += `
|
|
75
75
|
<tr>
|
|
76
76
|
<th style="padding: 5px 10px;">${component.label}</th>
|
|
77
|
-
<td style="width:100%;padding:5px 10px;">${component.component &&
|
|
77
|
+
<td style="width:100%;padding:5px 10px;">${component.component &&
|
|
78
|
+
component.component.inputFormat === 'html' &&
|
|
79
|
+
htmlTagRegExp.test(componentValue)
|
|
78
80
|
? componentValue
|
|
79
81
|
: `<input type="text" value="${componentValue.replace(/"/g, '"')}" readonly/>`}</td>
|
|
80
82
|
</tr>
|
|
81
|
-
|
|
83
|
+
`;
|
|
82
84
|
}
|
|
83
85
|
}, {
|
|
84
86
|
...options,
|
|
85
87
|
fromRoot: true,
|
|
86
88
|
});
|
|
87
|
-
result +=
|
|
89
|
+
result += `
|
|
88
90
|
</tbody>
|
|
89
91
|
</table>
|
|
90
|
-
|
|
92
|
+
`;
|
|
91
93
|
return result;
|
|
92
94
|
}
|
|
93
95
|
/**
|