@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
|
@@ -20,12 +20,7 @@ exports.default = [
|
|
|
20
20
|
placeholder: 'Data Source URL',
|
|
21
21
|
tooltip: 'A URL that returns a JSON array to use as the data source.',
|
|
22
22
|
conditional: {
|
|
23
|
-
json: {
|
|
24
|
-
'===': [
|
|
25
|
-
{ var: 'data.dataSrc' },
|
|
26
|
-
'url',
|
|
27
|
-
],
|
|
28
|
-
},
|
|
23
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
29
24
|
},
|
|
30
25
|
},
|
|
31
26
|
{
|
|
@@ -50,12 +45,7 @@ exports.default = [
|
|
|
50
45
|
},
|
|
51
46
|
],
|
|
52
47
|
conditional: {
|
|
53
|
-
json: {
|
|
54
|
-
'===': [
|
|
55
|
-
{ var: 'data.dataSrc' },
|
|
56
|
-
'url',
|
|
57
|
-
],
|
|
58
|
-
},
|
|
48
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
59
49
|
},
|
|
60
50
|
},
|
|
61
51
|
{
|
|
@@ -75,7 +65,7 @@ exports.default = [
|
|
|
75
65
|
[
|
|
76
66
|
'json',
|
|
77
67
|
'url',
|
|
78
|
-
'custom'
|
|
68
|
+
'custom'
|
|
79
69
|
],
|
|
80
70
|
],
|
|
81
71
|
},
|
|
@@ -109,12 +99,7 @@ exports.default = [
|
|
|
109
99
|
label: 'Formio Authenticate',
|
|
110
100
|
tooltip: 'Check this if you would like to use Formio Authentication with the request.',
|
|
111
101
|
conditional: {
|
|
112
|
-
json: {
|
|
113
|
-
'===': [
|
|
114
|
-
{ var: 'data.dataSrc' },
|
|
115
|
-
'url',
|
|
116
|
-
],
|
|
117
|
-
},
|
|
102
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
118
103
|
},
|
|
119
104
|
},
|
|
120
105
|
{
|
|
@@ -123,24 +108,12 @@ exports.default = [
|
|
|
123
108
|
weight: 29,
|
|
124
109
|
key: 'ignoreCache',
|
|
125
110
|
label: 'Disables Storing Request Result in the Cache',
|
|
126
|
-
tooltip:
|
|
111
|
+
tooltip: 'Check it if you don\'t want the requests and its results to be stored in the cache. By default, it is stored and if the Select tries to make the request to the same URL with the same paremetrs, the cached data will be returned. It allows to increase performance, but if the remote source\'s data is changing quite often and you always need to keep it up-to-date, uncheck this option.',
|
|
127
112
|
conditional: {
|
|
128
|
-
json: {
|
|
129
|
-
|
|
130
|
-
{
|
|
131
|
-
|
|
132
|
-
{ var: 'data.dataSrc' },
|
|
133
|
-
'url',
|
|
134
|
-
],
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
'===': [
|
|
138
|
-
{ var: 'data.dataSrc' },
|
|
139
|
-
'resource',
|
|
140
|
-
],
|
|
141
|
-
},
|
|
142
|
-
],
|
|
143
|
-
},
|
|
113
|
+
json: { 'or': [
|
|
114
|
+
{ '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
115
|
+
{ '===': [{ var: 'data.dataSrc' }, 'resource'] },
|
|
116
|
+
] },
|
|
144
117
|
},
|
|
145
118
|
},
|
|
146
119
|
];
|
|
@@ -15,33 +15,21 @@ class Multivalue extends Field_1.default {
|
|
|
15
15
|
* @returns {*} - The normalized value.
|
|
16
16
|
*/
|
|
17
17
|
normalizeValue(value, flags = {}, emptyValue = this.emptyValue) {
|
|
18
|
-
const underlyingValueShouldBeArray = core_1.Utils.getModelType(this.component) === 'array' ||
|
|
19
|
-
this.component.storeas === 'array' ||
|
|
20
|
-
Array.isArray(emptyValue);
|
|
18
|
+
const underlyingValueShouldBeArray = core_1.Utils.getModelType(this.component) === 'array' || this.component.storeas === 'array' || Array.isArray(emptyValue);
|
|
21
19
|
if (this.component.multiple) {
|
|
22
20
|
if (Array.isArray(value)) {
|
|
23
21
|
if (underlyingValueShouldBeArray) {
|
|
24
22
|
if (value.length === 0 || !Array.isArray(value[0])) {
|
|
25
|
-
return [
|
|
26
|
-
value,
|
|
27
|
-
];
|
|
23
|
+
return [value];
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
if (value.length === 0) {
|
|
31
|
-
return [
|
|
32
|
-
emptyValue,
|
|
33
|
-
];
|
|
27
|
+
return [emptyValue];
|
|
34
28
|
}
|
|
35
29
|
return super.normalizeValue(value, flags);
|
|
36
30
|
}
|
|
37
31
|
else {
|
|
38
|
-
return super.normalizeValue(value == null
|
|
39
|
-
? [
|
|
40
|
-
emptyValue,
|
|
41
|
-
]
|
|
42
|
-
: [
|
|
43
|
-
value,
|
|
44
|
-
], flags);
|
|
32
|
+
return super.normalizeValue(value == null ? [emptyValue] : [value], flags);
|
|
45
33
|
}
|
|
46
34
|
}
|
|
47
35
|
else {
|
|
@@ -69,16 +57,10 @@ class Multivalue extends Field_1.default {
|
|
|
69
57
|
let value = super.defaultValue;
|
|
70
58
|
if (this.component.multiple) {
|
|
71
59
|
if (lodash_1.default.isArray(value)) {
|
|
72
|
-
value = !value.length
|
|
73
|
-
? [
|
|
74
|
-
super.emptyValue,
|
|
75
|
-
]
|
|
76
|
-
: value;
|
|
60
|
+
value = !value.length ? [super.emptyValue] : value;
|
|
77
61
|
}
|
|
78
62
|
else {
|
|
79
|
-
value = [
|
|
80
|
-
value,
|
|
81
|
-
];
|
|
63
|
+
value = [value];
|
|
82
64
|
}
|
|
83
65
|
}
|
|
84
66
|
return value;
|
|
@@ -187,7 +169,7 @@ class Multivalue extends Field_1.default {
|
|
|
187
169
|
// Delay update slightly to give input mask a chance to run.
|
|
188
170
|
const textCase = lodash_1.default.get(this.component, 'case', 'mixed');
|
|
189
171
|
if (textCase !== 'mixed') {
|
|
190
|
-
const { selectionStart, selectionEnd } = element;
|
|
172
|
+
const { selectionStart, selectionEnd, } = element;
|
|
191
173
|
if (textCase === 'uppercase' && element.value) {
|
|
192
174
|
element.value = element.value.toUpperCase();
|
|
193
175
|
}
|
|
@@ -209,13 +191,13 @@ class Multivalue extends Field_1.default {
|
|
|
209
191
|
if (element.mask) {
|
|
210
192
|
setTimeout(() => {
|
|
211
193
|
return this.updateValue(null, {
|
|
212
|
-
modified: this.component.type !== 'hidden'
|
|
194
|
+
modified: (this.component.type !== 'hidden')
|
|
213
195
|
}, index);
|
|
214
196
|
}, 1);
|
|
215
197
|
}
|
|
216
198
|
else {
|
|
217
199
|
return this.updateValue(null, {
|
|
218
|
-
modified: this.component.type !== 'hidden'
|
|
200
|
+
modified: (this.component.type !== 'hidden')
|
|
219
201
|
}, index);
|
|
220
202
|
}
|
|
221
203
|
});
|
|
@@ -261,7 +243,7 @@ class Multivalue extends Field_1.default {
|
|
|
261
243
|
if (this.multiMasks[maskName]) {
|
|
262
244
|
return this.multiMasks[maskName];
|
|
263
245
|
}
|
|
264
|
-
const mask = this.component.inputMasks.find(
|
|
246
|
+
const mask = this.component.inputMasks.find(inputMask => inputMask.label === maskName);
|
|
265
247
|
this.multiMasks[maskName] = mask ? mask.mask : this.component.inputMasks[0].mask;
|
|
266
248
|
return this.multiMasks[maskName];
|
|
267
249
|
}
|
|
@@ -297,7 +279,8 @@ class Multivalue extends Field_1.default {
|
|
|
297
279
|
*/
|
|
298
280
|
addNewValue(value) {
|
|
299
281
|
if (value === undefined) {
|
|
300
|
-
value = this.component.defaultValue ?
|
|
282
|
+
value = this.component.defaultValue ?
|
|
283
|
+
this.component.defaultValue : this.emptyValue;
|
|
301
284
|
// If default is an empty aray, default back to empty value.
|
|
302
285
|
if (Array.isArray(value) && value.length === 0) {
|
|
303
286
|
value = this.emptyValue;
|
|
@@ -305,9 +288,7 @@ class Multivalue extends Field_1.default {
|
|
|
305
288
|
}
|
|
306
289
|
let dataValue = this.dataValue || [];
|
|
307
290
|
if (!Array.isArray(dataValue)) {
|
|
308
|
-
dataValue = [
|
|
309
|
-
dataValue,
|
|
310
|
-
];
|
|
291
|
+
dataValue = [dataValue];
|
|
311
292
|
}
|
|
312
293
|
if (Array.isArray(value)) {
|
|
313
294
|
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.
|
|
@@ -13,12 +13,12 @@ function default_1(...extend) {
|
|
|
13
13
|
return Components_1.default.baseEditForm([
|
|
14
14
|
{
|
|
15
15
|
key: 'data',
|
|
16
|
-
ignore: true
|
|
16
|
+
ignore: true
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
key: 'validation',
|
|
20
|
-
ignore: true
|
|
21
|
-
}
|
|
20
|
+
ignore: true
|
|
21
|
+
}
|
|
22
22
|
], ...extend);
|
|
23
23
|
}
|
|
24
24
|
exports.default = default_1;
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -6,7 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
15
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
16
|
const Field_1 = __importDefault(require("../field/Field"));
|
|
8
17
|
const Components_1 = __importDefault(require("../../Components"));
|
|
9
|
-
|
|
18
|
+
'';
|
|
19
|
+
const utils_1 = __importDefault(require("../../../utils"));
|
|
10
20
|
const process_1 = require("@formio/core/process");
|
|
11
21
|
/**
|
|
12
22
|
* NestedComponent class.
|
|
@@ -57,11 +67,12 @@ class NestedComponent extends Field_1.default {
|
|
|
57
67
|
* @returns {void}
|
|
58
68
|
*/
|
|
59
69
|
collapse(value) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
yield this.redraw();
|
|
72
|
+
if (!value) {
|
|
73
|
+
this.checkValidity(this.data, !this.pristine);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
65
76
|
}
|
|
66
77
|
/**
|
|
67
78
|
* Set collapsed state.
|
|
@@ -126,7 +137,7 @@ class NestedComponent extends Field_1.default {
|
|
|
126
137
|
*/
|
|
127
138
|
set parentVisible(value) {
|
|
128
139
|
super.parentVisible = value;
|
|
129
|
-
this.components.forEach(
|
|
140
|
+
this.components.forEach(component => component.parentVisible = this.visible);
|
|
130
141
|
}
|
|
131
142
|
/**
|
|
132
143
|
* Get parent visibility.
|
|
@@ -148,7 +159,7 @@ class NestedComponent extends Field_1.default {
|
|
|
148
159
|
*/
|
|
149
160
|
set disabled(disabled) {
|
|
150
161
|
super.disabled = disabled;
|
|
151
|
-
this.components.forEach((component) =>
|
|
162
|
+
this.components.forEach((component) => component.parentDisabled = disabled);
|
|
152
163
|
}
|
|
153
164
|
/**
|
|
154
165
|
* Set parent disabled state.
|
|
@@ -157,7 +168,7 @@ class NestedComponent extends Field_1.default {
|
|
|
157
168
|
*/
|
|
158
169
|
set parentDisabled(value) {
|
|
159
170
|
super.parentDisabled = value;
|
|
160
|
-
this.components.forEach(
|
|
171
|
+
this.components.forEach(component => {
|
|
161
172
|
component.parentDisabled = this.disabled;
|
|
162
173
|
});
|
|
163
174
|
}
|
|
@@ -173,7 +184,7 @@ class NestedComponent extends Field_1.default {
|
|
|
173
184
|
* @returns {Promise<Array>} - The promise that resolves when all components are ready.
|
|
174
185
|
*/
|
|
175
186
|
get ready() {
|
|
176
|
-
return Promise.all(this.getComponents().map(
|
|
187
|
+
return Promise.all(this.getComponents().map(component => component.ready));
|
|
177
188
|
}
|
|
178
189
|
/**
|
|
179
190
|
* Get currentForm object.
|
|
@@ -189,7 +200,7 @@ class NestedComponent extends Field_1.default {
|
|
|
189
200
|
*/
|
|
190
201
|
set currentForm(instance) {
|
|
191
202
|
super.currentForm = instance;
|
|
192
|
-
this.getComponents().forEach(
|
|
203
|
+
this.getComponents().forEach(component => {
|
|
193
204
|
component.currentForm = instance;
|
|
194
205
|
});
|
|
195
206
|
}
|
|
@@ -208,7 +219,7 @@ class NestedComponent extends Field_1.default {
|
|
|
208
219
|
set rowIndex(value) {
|
|
209
220
|
var _a, _b;
|
|
210
221
|
this._rowIndex = value;
|
|
211
|
-
this.paths =
|
|
222
|
+
this.paths = utils_1.default.getComponentPaths(this.component, (_a = this.parent) === null || _a === void 0 ? void 0 : _a.component, Object.assign(Object.assign({}, (((_b = this.parent) === null || _b === void 0 ? void 0 : _b.paths) || {})), { dataIndex: value }));
|
|
212
223
|
this.eachComponent((component) => {
|
|
213
224
|
component.rowIndex = value;
|
|
214
225
|
});
|
|
@@ -317,7 +328,7 @@ class NestedComponent extends Field_1.default {
|
|
|
317
328
|
if (this.componentMatches && this.componentMatches[path]) {
|
|
318
329
|
return this.componentMatches[path];
|
|
319
330
|
}
|
|
320
|
-
path =
|
|
331
|
+
path = utils_1.default.getStringFromComponentPath(path);
|
|
321
332
|
const matches = {
|
|
322
333
|
path: undefined,
|
|
323
334
|
fullPath: undefined,
|
|
@@ -330,7 +341,7 @@ class NestedComponent extends Field_1.default {
|
|
|
330
341
|
this.everyComponent((component) => {
|
|
331
342
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
332
343
|
// All searches are relative to this component so replace this path from the child paths.
|
|
333
|
-
|
|
344
|
+
utils_1.default.componentMatches(component.component, {
|
|
334
345
|
path: (_b = (_a = component.paths) === null || _a === void 0 ? void 0 : _a.path) === null || _b === void 0 ? void 0 : _b.replace(new RegExp(`^${(_c = this.paths) === null || _c === void 0 ? void 0 : _c.path}\\.?`), ''),
|
|
335
346
|
fullPath: (_e = (_d = component.paths) === null || _d === void 0 ? void 0 : _d.fullPath) === null || _e === void 0 ? void 0 : _e.replace(new RegExp(`^${(_f = this.paths) === null || _f === void 0 ? void 0 : _f.fullPath}\\.?`), ''),
|
|
336
347
|
localPath: (_h = (_g = component.paths) === null || _g === void 0 ? void 0 : _g.localPath) === null || _h === void 0 ? void 0 : _h.replace(new RegExp(`^${(_j = this.paths) === null || _j === void 0 ? void 0 : _j.localPath}\\.?`), ''),
|
|
@@ -342,7 +353,7 @@ class NestedComponent extends Field_1.default {
|
|
|
342
353
|
return match;
|
|
343
354
|
});
|
|
344
355
|
});
|
|
345
|
-
this.componentMatches[path] = (_a =
|
|
356
|
+
this.componentMatches[path] = (_a = utils_1.default.getBestMatch(matches)) === null || _a === void 0 ? void 0 : _a.instance;
|
|
346
357
|
return this.componentMatches[path];
|
|
347
358
|
}
|
|
348
359
|
/**
|
|
@@ -385,7 +396,7 @@ class NestedComponent extends Field_1.default {
|
|
|
385
396
|
options.localRoot = this.localRoot;
|
|
386
397
|
options.skipInit = true;
|
|
387
398
|
if (!(options.display === 'pdf' && this.builderMode)) {
|
|
388
|
-
component.id =
|
|
399
|
+
component.id = utils_1.default.getRandomComponentId();
|
|
389
400
|
}
|
|
390
401
|
const comp = Components_1.default.create(component, options, data, true);
|
|
391
402
|
comp.init();
|
|
@@ -474,51 +485,52 @@ class NestedComponent extends Field_1.default {
|
|
|
474
485
|
}
|
|
475
486
|
render(children) {
|
|
476
487
|
// If already rendering, don't re-render.
|
|
477
|
-
return super.render(children ||
|
|
478
|
-
this.
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
}));
|
|
488
|
+
return super.render(children || this.renderTemplate(this.templateName, {
|
|
489
|
+
children: !this.visible ? '' : this.renderComponents(),
|
|
490
|
+
nestedKey: this.nestedKey,
|
|
491
|
+
collapsed: this.options.pdf ? false : this.collapsed,
|
|
492
|
+
}));
|
|
483
493
|
}
|
|
484
494
|
renderComponents(components) {
|
|
485
495
|
components = components || this.getComponents();
|
|
486
|
-
const children = components.map(
|
|
496
|
+
const children = components.map(component => component.render());
|
|
487
497
|
return this.renderTemplate('components', {
|
|
488
498
|
children,
|
|
489
499
|
components,
|
|
490
500
|
});
|
|
491
501
|
}
|
|
492
502
|
attach(element) {
|
|
493
|
-
const
|
|
494
|
-
|
|
495
|
-
header: 'single',
|
|
496
|
-
collapsed: this.collapsed,
|
|
497
|
-
[this.nestedKey]: 'single',
|
|
498
|
-
messageContainer: 'single-scope',
|
|
503
|
+
const _super = Object.create(null, {
|
|
504
|
+
attach: { get: () => super.attach }
|
|
499
505
|
});
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
if (this.component.collapsible && this.refs.header) {
|
|
508
|
-
this.addEventListener(this.refs.header, 'click', () => {
|
|
509
|
-
this.collapsed = !this.collapsed;
|
|
506
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
507
|
+
yield _super.attach.call(this, element);
|
|
508
|
+
this.loadRefs(element, {
|
|
509
|
+
header: 'single',
|
|
510
|
+
collapsed: this.collapsed,
|
|
511
|
+
[this.nestedKey]: 'single',
|
|
512
|
+
messageContainer: 'single-scope',
|
|
510
513
|
});
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
+
let childPromise = Promise.resolve();
|
|
515
|
+
if (this.refs[this.nestedKey]) {
|
|
516
|
+
childPromise = this.attachComponents(this.refs[this.nestedKey]);
|
|
517
|
+
}
|
|
518
|
+
if (!this.visible) {
|
|
519
|
+
this.attachComponentsLogic();
|
|
520
|
+
}
|
|
521
|
+
if (this.component.collapsible && this.refs.header) {
|
|
522
|
+
this.addEventListener(this.refs.header, 'click', () => {
|
|
514
523
|
this.collapsed = !this.collapsed;
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
524
|
+
});
|
|
525
|
+
this.addEventListener(this.refs.header, 'keydown', (e) => {
|
|
526
|
+
if (e.keyCode === 13 || e.keyCode === 32) {
|
|
527
|
+
e.preventDefault();
|
|
528
|
+
this.collapsed = !this.collapsed;
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
return yield childPromise;
|
|
533
|
+
});
|
|
522
534
|
}
|
|
523
535
|
/**
|
|
524
536
|
* Attach the logic to the components.
|
|
@@ -542,7 +554,7 @@ class NestedComponent extends Field_1.default {
|
|
|
542
554
|
}
|
|
543
555
|
let index = 0;
|
|
544
556
|
const promises = [];
|
|
545
|
-
Array.prototype.slice.call(element.children).forEach(
|
|
557
|
+
Array.prototype.slice.call(element.children).forEach(child => {
|
|
546
558
|
if (!child.getAttribute('data-noattach') && components[index]) {
|
|
547
559
|
promises.push(components[index].attach(child));
|
|
548
560
|
index++;
|
|
@@ -637,12 +649,12 @@ class NestedComponent extends Field_1.default {
|
|
|
637
649
|
// check conditions of parent component first, because it may influence on visibility of it's children
|
|
638
650
|
const check = super.checkConditions(data, flags, row);
|
|
639
651
|
//row data of parent component not always corresponds to row of nested components, use comp.data as row data for children instead
|
|
640
|
-
this.getComponents().forEach(
|
|
652
|
+
this.getComponents().forEach(comp => comp.checkConditions(data, flags, comp.data));
|
|
641
653
|
return check;
|
|
642
654
|
}
|
|
643
655
|
clearOnHide(show) {
|
|
644
656
|
super.clearOnHide(show);
|
|
645
|
-
this.getComponents().forEach(
|
|
657
|
+
this.getComponents().forEach(component => component.clearOnHide(show));
|
|
646
658
|
}
|
|
647
659
|
/**
|
|
648
660
|
* Allow components to hook into the next page trigger to perform their own logic.
|
|
@@ -704,7 +716,7 @@ class NestedComponent extends Field_1.default {
|
|
|
704
716
|
// If we just validated the last component, and there are errors from our parent, then we need to show a model of those errors.
|
|
705
717
|
if (instance &&
|
|
706
718
|
instance.parent &&
|
|
707
|
-
component === components[components.length - 1] &&
|
|
719
|
+
(component === components[components.length - 1]) &&
|
|
708
720
|
instance.parent.componentModal) {
|
|
709
721
|
instance.parent.checkModal(instance.parent.childErrors, dirty);
|
|
710
722
|
}
|
|
@@ -721,17 +733,15 @@ class NestedComponent extends Field_1.default {
|
|
|
721
733
|
processors: [
|
|
722
734
|
{
|
|
723
735
|
process: validationProcessorProcess,
|
|
724
|
-
processSync: validationProcessorProcess
|
|
736
|
+
processSync: validationProcessorProcess
|
|
725
737
|
},
|
|
726
738
|
{
|
|
727
739
|
process: checkModalProcessorProcess,
|
|
728
|
-
processSync: checkModalProcessorProcess
|
|
729
|
-
}
|
|
730
|
-
]
|
|
740
|
+
processSync: checkModalProcessorProcess
|
|
741
|
+
}
|
|
742
|
+
]
|
|
731
743
|
};
|
|
732
|
-
return async
|
|
733
|
-
? (0, process_1.process)(processorContext).then((scope) => scope.errors)
|
|
734
|
-
: (0, process_1.processSync)(processorContext).errors;
|
|
744
|
+
return async ? (0, process_1.process)(processorContext).then((scope) => scope.errors) : (0, process_1.processSync)(processorContext).errors;
|
|
735
745
|
}
|
|
736
746
|
/**
|
|
737
747
|
* Validate a nested component with data, or its own internal data.
|
|
@@ -758,8 +768,7 @@ class NestedComponent extends Field_1.default {
|
|
|
758
768
|
*/
|
|
759
769
|
checkValidity(data = null, dirty = false, row = null, silentCheck = false, childErrors = []) {
|
|
760
770
|
childErrors.push(...this.validate(data, { dirty, silentCheck }));
|
|
761
|
-
return
|
|
762
|
-
childErrors.length === 0);
|
|
771
|
+
return this.checkComponentValidity(data, dirty, row, { dirty, silentCheck }, childErrors) && childErrors.length === 0;
|
|
763
772
|
}
|
|
764
773
|
checkAsyncValidity(data = null, dirty = false, row = null, silentCheck = false) {
|
|
765
774
|
return this.ready.then(() => {
|
|
@@ -781,13 +790,13 @@ class NestedComponent extends Field_1.default {
|
|
|
781
790
|
return this.dirty && this.getComponents().every((c) => c.isDirty);
|
|
782
791
|
}
|
|
783
792
|
detach() {
|
|
784
|
-
this.components.forEach(
|
|
793
|
+
this.components.forEach(component => {
|
|
785
794
|
component.detach();
|
|
786
795
|
});
|
|
787
796
|
super.detach();
|
|
788
797
|
}
|
|
789
798
|
clear() {
|
|
790
|
-
this.components.forEach(
|
|
799
|
+
this.components.forEach(component => {
|
|
791
800
|
component.clear();
|
|
792
801
|
});
|
|
793
802
|
super.clear();
|
|
@@ -808,7 +817,7 @@ class NestedComponent extends Field_1.default {
|
|
|
808
817
|
const thisErrors = super.errors;
|
|
809
818
|
return this.getComponents()
|
|
810
819
|
.reduce((errors, comp) => errors.concat(comp.errors || []), thisErrors)
|
|
811
|
-
.filter(
|
|
820
|
+
.filter(err => err.level !== 'hidden');
|
|
812
821
|
}
|
|
813
822
|
getValue() {
|
|
814
823
|
return this.data;
|
|
@@ -835,8 +844,7 @@ class NestedComponent extends Field_1.default {
|
|
|
835
844
|
else if (value && component.hasValue(value)) {
|
|
836
845
|
return component.setValue(lodash_1.default.get(value, component.key), flags);
|
|
837
846
|
}
|
|
838
|
-
else if ((!this.rootPristine || component.visible) &&
|
|
839
|
-
(flags.resetValue || component.shouldAddDefaultValue)) {
|
|
847
|
+
else if ((!this.rootPristine || component.visible) && (flags.resetValue || component.shouldAddDefaultValue)) {
|
|
840
848
|
flags.noValidate = !flags.dirty;
|
|
841
849
|
flags.resetValue = true;
|
|
842
850
|
return component.setValue(component.defaultValue, flags);
|
|
@@ -12,13 +12,11 @@ const NestedDataComponent_1 = __importDefault(require("../nesteddata/NestedDataC
|
|
|
12
12
|
class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
13
13
|
static schema(...extend) {
|
|
14
14
|
return NestedDataComponent_1.default.schema({
|
|
15
|
-
disableAddingRemovingRows: false
|
|
15
|
+
disableAddingRemovingRows: false
|
|
16
16
|
}, ...extend);
|
|
17
17
|
}
|
|
18
18
|
static savedValueTypes() {
|
|
19
|
-
return [
|
|
20
|
-
utils_2.componentValueTypes.array,
|
|
21
|
-
];
|
|
19
|
+
return [utils_2.componentValueTypes.array];
|
|
22
20
|
}
|
|
23
21
|
componentContext(component) {
|
|
24
22
|
return this.iteratableRows[component.rowIndex].data;
|
|
@@ -64,9 +62,7 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
|
64
62
|
}
|
|
65
63
|
validate(data, flags = {}) {
|
|
66
64
|
data = data || this.data;
|
|
67
|
-
return this.validateComponents([
|
|
68
|
-
this.component,
|
|
69
|
-
], data, flags);
|
|
65
|
+
return this.validateComponents([this.component], data, flags);
|
|
70
66
|
}
|
|
71
67
|
checkRow(...args) {
|
|
72
68
|
console.log('Deprecation Warning: checkRow method has been replaced with processRow');
|
|
@@ -86,16 +82,15 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
|
86
82
|
hasAddButton() {
|
|
87
83
|
const maxLength = lodash_1.default.get(this.component, 'validate.maxLength');
|
|
88
84
|
const conditionalAddButton = lodash_1.default.get(this.component, 'conditionalAddButton');
|
|
89
|
-
return
|
|
85
|
+
return !this.component.disableAddingRemovingRows &&
|
|
90
86
|
!this.options.readOnly &&
|
|
91
87
|
!this.disabled &&
|
|
92
88
|
this.fullMode &&
|
|
93
89
|
!this.options.preview &&
|
|
94
|
-
(!maxLength || this.iteratableRows.length < maxLength) &&
|
|
95
|
-
(!conditionalAddButton ||
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
}, 'show')));
|
|
90
|
+
(!maxLength || (this.iteratableRows.length < maxLength)) &&
|
|
91
|
+
(!conditionalAddButton || this.evaluate(conditionalAddButton, {
|
|
92
|
+
value: this.dataValue,
|
|
93
|
+
}, 'show'));
|
|
99
94
|
}
|
|
100
95
|
everyComponent(fn, rowIndex, options = {}) {
|
|
101
96
|
if (lodash_1.default.isObject(rowIndex)) {
|
|
@@ -120,20 +115,20 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
|
120
115
|
getValueAsString(value, options) {
|
|
121
116
|
var _a;
|
|
122
117
|
if (options === null || options === void 0 ? void 0 : options.email) {
|
|
123
|
-
let result = `
|
|
118
|
+
let result = (`
|
|
124
119
|
<table border="1" style="width:100%">
|
|
125
120
|
<thead>
|
|
126
121
|
<tr>
|
|
127
|
-
|
|
122
|
+
`);
|
|
128
123
|
(_a = this.component.components) === null || _a === void 0 ? void 0 : _a.forEach((component) => {
|
|
129
124
|
const label = component.label || component.key;
|
|
130
125
|
result += `<th style="padding: 5px 10px;">${label}</th>`;
|
|
131
126
|
});
|
|
132
|
-
result += `
|
|
127
|
+
result += (`
|
|
133
128
|
</tr>
|
|
134
129
|
</thead>
|
|
135
130
|
<tbody>
|
|
136
|
-
|
|
131
|
+
`);
|
|
137
132
|
this.iteratableRows.forEach(({ components }) => {
|
|
138
133
|
result += '<tr>';
|
|
139
134
|
lodash_1.default.each(components, (component) => {
|
|
@@ -145,10 +140,10 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
|
145
140
|
});
|
|
146
141
|
result += '</tr>';
|
|
147
142
|
});
|
|
148
|
-
result += `
|
|
143
|
+
result += (`
|
|
149
144
|
</tbody>
|
|
150
145
|
</table>
|
|
151
|
-
|
|
146
|
+
`);
|
|
152
147
|
return result;
|
|
153
148
|
}
|
|
154
149
|
if (!value || !value.length) {
|