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