@formio/js 5.2.3 → 5.2.4-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +161 -50
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
|
@@ -16,7 +16,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
16
16
|
clearOnHide: true,
|
|
17
17
|
input: true,
|
|
18
18
|
tree: true,
|
|
19
|
-
components: []
|
|
19
|
+
components: [],
|
|
20
20
|
}, ...extend);
|
|
21
21
|
}
|
|
22
22
|
static get builderInfo() {
|
|
@@ -27,7 +27,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
27
27
|
documentation: '/userguide/form-building/data-components#data-grid',
|
|
28
28
|
showPreview: false,
|
|
29
29
|
weight: 30,
|
|
30
|
-
schema: DataGridComponent.schema()
|
|
30
|
+
schema: DataGridComponent.schema(),
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
constructor(...args) {
|
|
@@ -39,7 +39,9 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
39
39
|
this.components = this.components || [];
|
|
40
40
|
// Add new values based on minLength.
|
|
41
41
|
this.rows = [];
|
|
42
|
-
this.columns = [
|
|
42
|
+
this.columns = [
|
|
43
|
+
...this.component.components,
|
|
44
|
+
];
|
|
43
45
|
if (this.initRows || !lodash_1.default.isEqual(this.dataValue, this.emptyValue)) {
|
|
44
46
|
this.createRows(true);
|
|
45
47
|
}
|
|
@@ -67,7 +69,11 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
67
69
|
return this.builderMode || this.path === 'defaultValue' || !this.initEmpty;
|
|
68
70
|
}
|
|
69
71
|
get emptyValue() {
|
|
70
|
-
return this.initEmpty
|
|
72
|
+
return this.initEmpty
|
|
73
|
+
? []
|
|
74
|
+
: [
|
|
75
|
+
{},
|
|
76
|
+
];
|
|
71
77
|
}
|
|
72
78
|
get addAnotherPosition() {
|
|
73
79
|
return lodash_1.default.get(this.component, 'addAnotherPosition', 'bottom');
|
|
@@ -85,15 +91,21 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
85
91
|
const isEmptyInit = this.initEmpty;
|
|
86
92
|
// Ensure we have one and only one row in builder mode.
|
|
87
93
|
if (isBuilderMode || (isEmptyInit && !this.dataValue.length)) {
|
|
88
|
-
return isEmptyInit && !isBuilderMode
|
|
94
|
+
return isEmptyInit && !isBuilderMode
|
|
95
|
+
? []
|
|
96
|
+
: [
|
|
97
|
+
{},
|
|
98
|
+
];
|
|
89
99
|
}
|
|
90
100
|
const value = super.defaultValue;
|
|
91
101
|
let defaultValue;
|
|
92
102
|
if (Array.isArray(value)) {
|
|
93
103
|
defaultValue = value;
|
|
94
104
|
}
|
|
95
|
-
else if (value &&
|
|
96
|
-
defaultValue = [
|
|
105
|
+
else if (value && typeof value === 'object') {
|
|
106
|
+
defaultValue = [
|
|
107
|
+
value,
|
|
108
|
+
];
|
|
97
109
|
}
|
|
98
110
|
else {
|
|
99
111
|
defaultValue = this.emptyValue;
|
|
@@ -144,11 +156,23 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
144
156
|
* @returns {Array<T[]>} - The chunked rows
|
|
145
157
|
*/
|
|
146
158
|
getRowChunks(groups, rows) {
|
|
147
|
-
const [, chunks] = groups.reduce(([startIndex, acc], size) => {
|
|
159
|
+
const [, chunks,] = groups.reduce(([startIndex, acc,], size) => {
|
|
148
160
|
const endIndex = startIndex + size;
|
|
149
|
-
return [
|
|
150
|
-
|
|
151
|
-
|
|
161
|
+
return [
|
|
162
|
+
endIndex,
|
|
163
|
+
[
|
|
164
|
+
...acc,
|
|
165
|
+
[
|
|
166
|
+
startIndex,
|
|
167
|
+
endIndex,
|
|
168
|
+
],
|
|
169
|
+
],
|
|
170
|
+
];
|
|
171
|
+
}, [
|
|
172
|
+
0,
|
|
173
|
+
[],
|
|
174
|
+
]);
|
|
175
|
+
return chunks.map((range) => lodash_1.default.slice(rows, ...range));
|
|
152
176
|
}
|
|
153
177
|
/**
|
|
154
178
|
* Create groups object.
|
|
@@ -161,7 +185,9 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
161
185
|
const indexes = sizes.reduce((groupIndexes, size) => {
|
|
162
186
|
const last = groupIndexes[groupIndexes.length - 1];
|
|
163
187
|
return groupIndexes.concat(last + size);
|
|
164
|
-
}, [
|
|
188
|
+
}, [
|
|
189
|
+
0,
|
|
190
|
+
]);
|
|
165
191
|
return groups.reduce((gidxs, group, idx) => {
|
|
166
192
|
return Object.assign(Object.assign({}, gidxs), { [indexes[idx]]: group });
|
|
167
193
|
}, {});
|
|
@@ -183,20 +209,29 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
183
209
|
this.dataValue = lodash_1.default.range(n).map(() => ({}));
|
|
184
210
|
}
|
|
185
211
|
hasExtraColumn() {
|
|
186
|
-
return
|
|
212
|
+
return this.hasRemoveButtons() || this.canAddColumn;
|
|
187
213
|
}
|
|
188
214
|
hasRemoveButtons() {
|
|
189
|
-
return !this.builderMode &&
|
|
215
|
+
return (!this.builderMode &&
|
|
216
|
+
!this.component.disableAddingRemovingRows &&
|
|
190
217
|
!this.options.readOnly &&
|
|
191
218
|
!this.disabled &&
|
|
192
219
|
this.fullMode &&
|
|
193
|
-
|
|
220
|
+
this.dataValue.length > lodash_1.default.get(this.component, 'validate.minLength', 0));
|
|
194
221
|
}
|
|
195
222
|
hasTopSubmit() {
|
|
196
|
-
return this.hasAddButton() &&
|
|
223
|
+
return (this.hasAddButton() &&
|
|
224
|
+
[
|
|
225
|
+
'top',
|
|
226
|
+
'both',
|
|
227
|
+
].includes(this.addAnotherPosition));
|
|
197
228
|
}
|
|
198
229
|
hasBottomSubmit() {
|
|
199
|
-
return this.hasAddButton() &&
|
|
230
|
+
return (this.hasAddButton() &&
|
|
231
|
+
[
|
|
232
|
+
'bottom',
|
|
233
|
+
'both',
|
|
234
|
+
].includes(this.addAnotherPosition));
|
|
200
235
|
}
|
|
201
236
|
get canAddColumn() {
|
|
202
237
|
return this.builderMode && !this.options.design;
|
|
@@ -237,11 +272,11 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
237
272
|
placeholder: this.renderTemplate('builderPlaceholder', {
|
|
238
273
|
position: this.componentComponents.length,
|
|
239
274
|
}),
|
|
240
|
-
colWidth: colWidth.toString()
|
|
275
|
+
colWidth: colWidth.toString(),
|
|
241
276
|
}));
|
|
242
277
|
}
|
|
243
278
|
getRows() {
|
|
244
|
-
return this.rows.map(row => {
|
|
279
|
+
return this.rows.map((row) => {
|
|
245
280
|
const components = {};
|
|
246
281
|
lodash_1.default.each(row, (col, key) => {
|
|
247
282
|
components[key] = col.render();
|
|
@@ -251,7 +286,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
251
286
|
}
|
|
252
287
|
getColumns() {
|
|
253
288
|
return this.columns.filter((comp) => {
|
|
254
|
-
return
|
|
289
|
+
return !this.visibleColumns.hasOwnProperty(comp.key) || this.visibleColumns[comp.key];
|
|
255
290
|
});
|
|
256
291
|
}
|
|
257
292
|
hasHeader() {
|
|
@@ -273,7 +308,9 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
273
308
|
this.refs[`${this.datagridKey}-row`].forEach((row, index) => {
|
|
274
309
|
row.dragInfo = { index };
|
|
275
310
|
});
|
|
276
|
-
this.dragula = (0, dragula_1.default)([
|
|
311
|
+
this.dragula = (0, dragula_1.default)([
|
|
312
|
+
this.refs[`${this.datagridKey}-tbody`],
|
|
313
|
+
], {
|
|
277
314
|
moves: (_draggedElement, _oldParent, clickedElement) => {
|
|
278
315
|
const clickedElementKey = clickedElement.getAttribute('data-key');
|
|
279
316
|
const oldParentKey = _oldParent.getAttribute('data-key');
|
|
@@ -281,7 +318,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
281
318
|
if (oldParentKey === clickedElementKey) {
|
|
282
319
|
return clickedElement.classList.contains('formio-drag-button');
|
|
283
320
|
}
|
|
284
|
-
}
|
|
321
|
+
},
|
|
285
322
|
}).on('drop', this.onReorder.bind(this));
|
|
286
323
|
this.dragula.on('cloned', (el, original) => {
|
|
287
324
|
if (el && el.children && original && original.children) {
|
|
@@ -317,7 +354,9 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
317
354
|
this.rows.forEach((row, rowIndex) => {
|
|
318
355
|
let columnIndex = 0;
|
|
319
356
|
columns.forEach((col) => {
|
|
320
|
-
this.attachComponents(this.refs[this.datagridKey][
|
|
357
|
+
this.attachComponents(this.refs[this.datagridKey][rowIndex * rowLength + columnIndex], [
|
|
358
|
+
this.rows[rowIndex][col.key],
|
|
359
|
+
], this.getComponentsContainer());
|
|
321
360
|
columnIndex++;
|
|
322
361
|
});
|
|
323
362
|
});
|
|
@@ -393,7 +432,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
393
432
|
this.rows[index] = this.createRowComponents(row, index);
|
|
394
433
|
this.emit('dataGridAddRow', {
|
|
395
434
|
component: this.component,
|
|
396
|
-
row
|
|
435
|
+
row,
|
|
397
436
|
});
|
|
398
437
|
this.checkConditions();
|
|
399
438
|
this.triggerChange({ modified: true });
|
|
@@ -404,12 +443,16 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
404
443
|
updateComponentsRowIndex(components, rowIndex) {
|
|
405
444
|
components.forEach((component, colIndex) => {
|
|
406
445
|
var _a;
|
|
446
|
+
if (this.componentsMap[component.paths.dataPath]) {
|
|
447
|
+
delete this.componentsMap[component.paths.dataPath];
|
|
448
|
+
}
|
|
407
449
|
if ((_a = component.options) === null || _a === void 0 ? void 0 : _a.name) {
|
|
408
450
|
const newName = `[${this.key}][${rowIndex}]`;
|
|
409
451
|
component.options.name = component.options.name.replace(`[${this.key}][${component.rowIndex}]`, newName);
|
|
410
452
|
}
|
|
411
453
|
component.rowIndex = rowIndex;
|
|
412
454
|
component.row = `${rowIndex}-${colIndex}`;
|
|
455
|
+
this.componentsMap[component.paths.dataPath] = component;
|
|
413
456
|
});
|
|
414
457
|
}
|
|
415
458
|
updateRowsComponents(rowIndex) {
|
|
@@ -422,7 +465,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
422
465
|
const flags = { isReordered: !makeEmpty, resetValue: makeEmpty };
|
|
423
466
|
this.splice(index, flags);
|
|
424
467
|
this.emit('dataGridDeleteRow', { index });
|
|
425
|
-
const [row] = this.rows.splice(index, 1);
|
|
468
|
+
const [row,] = this.rows.splice(index, 1);
|
|
426
469
|
this.removeSubmissionMetadataRow(index);
|
|
427
470
|
this.removeRowComponents(row);
|
|
428
471
|
this.updateRowsComponents(index);
|
|
@@ -461,7 +504,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
461
504
|
const removed = !!removedRows.length;
|
|
462
505
|
// Delete components of extra rows (to make sure that this.components contain only components of exisiting rows)
|
|
463
506
|
if (removed) {
|
|
464
|
-
removedRows.forEach(row => this.removeRowComponents(row));
|
|
507
|
+
removedRows.forEach((row) => this.removeRowComponents(row));
|
|
465
508
|
}
|
|
466
509
|
if (!init && (added || removed)) {
|
|
467
510
|
this.redraw();
|
|
@@ -483,7 +526,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
483
526
|
lodash_1.default.set(formComp, 'components', changed.component.components);
|
|
484
527
|
}
|
|
485
528
|
// If we're in a nested form we need to ensure our changes are triggered upstream
|
|
486
|
-
if (((_a = changed.instance.root) === null || _a === void 0 ? void 0 : _a.id) && ((
|
|
529
|
+
if (((_a = changed.instance.root) === null || _a === void 0 ? void 0 : _a.id) && ((_b = this.root) === null || _b === void 0 ? void 0 : _b.id) !== changed.instance.root.id) {
|
|
487
530
|
changed.instance.root.triggerChange(flags, changed, modified);
|
|
488
531
|
}
|
|
489
532
|
else {
|
|
@@ -496,14 +539,13 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
496
539
|
columnComponent = col;
|
|
497
540
|
}
|
|
498
541
|
else {
|
|
499
|
-
columnComponent = Object.assign(Object.assign({}, col), { id:
|
|
542
|
+
columnComponent = Object.assign(Object.assign({}, col), { id: col.id + rowIndex });
|
|
500
543
|
}
|
|
501
544
|
const component = this.createComponent(columnComponent, options, row);
|
|
502
545
|
component.parentDisabled = !!this.disabled;
|
|
503
546
|
component.rowIndex = rowIndex;
|
|
504
547
|
component.inDataGrid = true;
|
|
505
|
-
if (columnComponent.tabindex &&
|
|
506
|
-
parseInt(columnComponent.tabindex) > this.tabIndex) {
|
|
548
|
+
if (columnComponent.tabindex && parseInt(columnComponent.tabindex) > this.tabIndex) {
|
|
507
549
|
this.tabIndex = parseInt(columnComponent.tabindex);
|
|
508
550
|
}
|
|
509
551
|
components[col.key] = component;
|
|
@@ -524,12 +566,16 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
524
566
|
const dataValue = this.dataValue;
|
|
525
567
|
this.rows.forEach((row, rowIndex) => {
|
|
526
568
|
lodash_1.default.each(row, (col, key) => {
|
|
527
|
-
if (col &&
|
|
569
|
+
if (col && typeof col.checkConditions === 'function') {
|
|
528
570
|
const firstRowCheck = visibility[key] === undefined;
|
|
529
|
-
visibility[key] =
|
|
530
|
-
|
|
571
|
+
visibility[key] =
|
|
572
|
+
!!visibility[key] ||
|
|
573
|
+
(col.checkConditions(data, flags, dataValue[rowIndex]) && col.type !== 'hidden');
|
|
531
574
|
if (col.component.logic && firstRowCheck) {
|
|
532
|
-
const compIndex = lodash_1.default.findIndex(this.columns, [
|
|
575
|
+
const compIndex = lodash_1.default.findIndex(this.columns, [
|
|
576
|
+
'key',
|
|
577
|
+
key,
|
|
578
|
+
]);
|
|
533
579
|
const equalColumns = lodash_1.default.isEqualWith(this.columns[compIndex], col.component, (col1, col2, key) => {
|
|
534
580
|
// Don't compare columns by their auto-generated ids.
|
|
535
581
|
if (key === 'id') {
|
|
@@ -573,11 +619,15 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
573
619
|
}
|
|
574
620
|
if (!Array.isArray(value)) {
|
|
575
621
|
if (typeof value === 'object') {
|
|
576
|
-
value = [
|
|
622
|
+
value = [
|
|
623
|
+
value,
|
|
624
|
+
];
|
|
577
625
|
}
|
|
578
626
|
else {
|
|
579
627
|
this.createRows();
|
|
580
|
-
value = [
|
|
628
|
+
value = [
|
|
629
|
+
{},
|
|
630
|
+
];
|
|
581
631
|
}
|
|
582
632
|
}
|
|
583
633
|
// Make sure we always have at least one row.
|
|
@@ -588,7 +638,8 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
588
638
|
const isSettingSubmission = flags.fromSubmission && !lodash_1.default.isEqual(value, this.emptyValue);
|
|
589
639
|
const changed = this.hasChanged(value, this.dataValue);
|
|
590
640
|
this.dataValue = value;
|
|
591
|
-
if (this.initRows ||
|
|
641
|
+
if (this.initRows ||
|
|
642
|
+
isSettingSubmission ||
|
|
592
643
|
(Array.isArray(this.dataValue) && this.dataValue.length !== this.rows.length)) {
|
|
593
644
|
if (!this.createRows() && changed) {
|
|
594
645
|
this.redraw();
|
|
@@ -611,7 +662,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
|
611
662
|
}
|
|
612
663
|
toggleGroup(element, index) {
|
|
613
664
|
element.classList.toggle('collapsed');
|
|
614
|
-
lodash_1.default.each(this.refs.chunks[index], row => {
|
|
665
|
+
lodash_1.default.each(this.refs.chunks[index], (row) => {
|
|
615
666
|
row.classList.toggle('hidden');
|
|
616
667
|
});
|
|
617
668
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = [
|
|
4
4
|
{
|
|
5
5
|
key: 'placeholder',
|
|
6
|
-
ignore: true
|
|
6
|
+
ignore: true,
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
type: 'checkbox',
|
|
@@ -51,7 +51,7 @@ exports.default = [
|
|
|
51
51
|
input: true,
|
|
52
52
|
customConditional(context) {
|
|
53
53
|
return !context.data.disableAddingRemovingRows;
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
type: 'select',
|
|
@@ -65,13 +65,13 @@ exports.default = [
|
|
|
65
65
|
values: [
|
|
66
66
|
{ label: 'Top', value: 'top' },
|
|
67
67
|
{ label: 'Bottom', value: 'bottom' },
|
|
68
|
-
{ label: 'Both', value: 'both' }
|
|
69
|
-
]
|
|
68
|
+
{ label: 'Both', value: 'both' },
|
|
69
|
+
],
|
|
70
70
|
},
|
|
71
71
|
weight: 411,
|
|
72
72
|
customConditional(context) {
|
|
73
73
|
return !context.data.disableAddingRemovingRows;
|
|
74
|
-
}
|
|
74
|
+
},
|
|
75
75
|
},
|
|
76
76
|
{
|
|
77
77
|
type: 'checkbox',
|
|
@@ -85,7 +85,7 @@ exports.default = [
|
|
|
85
85
|
type: 'checkbox',
|
|
86
86
|
label: 'Enable Row Groups',
|
|
87
87
|
weight: 440,
|
|
88
|
-
input: true
|
|
88
|
+
input: true,
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
91
|
label: 'Groups',
|
|
@@ -112,9 +112,9 @@ exports.default = [
|
|
|
112
112
|
input: true,
|
|
113
113
|
key: 'label',
|
|
114
114
|
widget: {
|
|
115
|
-
type: ''
|
|
115
|
+
type: '',
|
|
116
116
|
},
|
|
117
|
-
row: '0-0'
|
|
117
|
+
row: '0-0',
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
120
|
label: 'Number of Rows',
|
|
@@ -124,11 +124,11 @@ exports.default = [
|
|
|
124
124
|
type: 'number',
|
|
125
125
|
input: true,
|
|
126
126
|
key: 'numberOfRows',
|
|
127
|
-
row: '0-1'
|
|
128
|
-
}
|
|
127
|
+
row: '0-1',
|
|
128
|
+
},
|
|
129
129
|
],
|
|
130
130
|
weight: 441,
|
|
131
|
-
conditional: { json: { var: 'data.enableRowGroups' } }
|
|
131
|
+
conditional: { json: { var: 'data.enableRowGroups' } },
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
label: 'Hide Group on Header Click',
|
|
@@ -136,7 +136,7 @@ exports.default = [
|
|
|
136
136
|
input: true,
|
|
137
137
|
key: 'groupToggle',
|
|
138
138
|
weight: 442,
|
|
139
|
-
conditional: { json: { var: 'data.enableRowGroups' } }
|
|
139
|
+
conditional: { json: { var: 'data.enableRowGroups' } },
|
|
140
140
|
},
|
|
141
141
|
{
|
|
142
142
|
label: 'Initialize Empty',
|
|
@@ -144,6 +144,6 @@ exports.default = [
|
|
|
144
144
|
input: true,
|
|
145
145
|
key: 'initEmpty',
|
|
146
146
|
tooltip: 'The DataGrid will have no visible rows when initialized.',
|
|
147
|
-
weight: 450
|
|
148
|
-
}
|
|
147
|
+
weight: 450,
|
|
148
|
+
},
|
|
149
149
|
];
|
|
@@ -12,7 +12,7 @@ exports.default = [
|
|
|
12
12
|
placeholder: 'Minimum Length',
|
|
13
13
|
type: 'textfield',
|
|
14
14
|
tooltip: 'The minimum length requirement this field must meet.',
|
|
15
|
-
input: true
|
|
15
|
+
input: true,
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
weight: 120,
|
|
@@ -21,6 +21,6 @@ exports.default = [
|
|
|
21
21
|
placeholder: 'Maximum Length',
|
|
22
22
|
type: 'textfield',
|
|
23
23
|
tooltip: 'The maximum length requirement this field must meet.',
|
|
24
|
-
input: true
|
|
25
|
-
}
|
|
24
|
+
input: true,
|
|
25
|
+
},
|
|
26
26
|
];
|
|
@@ -15,11 +15,11 @@ function default_1(...extend) {
|
|
|
15
15
|
return Components_1.default.baseEditForm([
|
|
16
16
|
{
|
|
17
17
|
key: 'display',
|
|
18
|
-
components: DataMap_edit_display_1.default
|
|
18
|
+
components: DataMap_edit_display_1.default,
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
key: 'data',
|
|
22
|
-
components: DataMap_edit_data_1.default
|
|
22
|
+
components: DataMap_edit_data_1.default,
|
|
23
23
|
},
|
|
24
24
|
], ...extend);
|
|
25
25
|
}
|
|
@@ -22,13 +22,13 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
22
22
|
type: 'textfield',
|
|
23
23
|
key: 'value',
|
|
24
24
|
label: 'Value',
|
|
25
|
-
input: true
|
|
25
|
+
input: true,
|
|
26
26
|
},
|
|
27
27
|
input: true,
|
|
28
28
|
validate: {
|
|
29
29
|
maxLength: 0,
|
|
30
|
-
minLength: 0
|
|
31
|
-
}
|
|
30
|
+
minLength: 0,
|
|
31
|
+
},
|
|
32
32
|
}, ...extend);
|
|
33
33
|
}
|
|
34
34
|
static get builderInfo() {
|
|
@@ -39,18 +39,20 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
39
39
|
documentation: '/userguide/form-building/data-components#data-map',
|
|
40
40
|
showPreview: false,
|
|
41
41
|
weight: 20,
|
|
42
|
-
schema: DataMapComponent.schema()
|
|
42
|
+
schema: DataMapComponent.schema(),
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
get schema() {
|
|
46
46
|
const schema = super.schema;
|
|
47
|
-
if (this.components &&
|
|
47
|
+
if (this.components && this.components.length > 0) {
|
|
48
48
|
schema.valueComponent = this.components[this.components.length - 1].schema;
|
|
49
49
|
}
|
|
50
50
|
return lodash_1.default.omit(schema, 'components');
|
|
51
51
|
}
|
|
52
52
|
static savedValueTypes(schema) {
|
|
53
|
-
return (0, utils_1.getComponentSavedTypes)(schema) || [
|
|
53
|
+
return ((0, utils_1.getComponentSavedTypes)(schema) || [
|
|
54
|
+
utils_1.componentValueTypes.object,
|
|
55
|
+
]);
|
|
54
56
|
}
|
|
55
57
|
constructor(component, options, data) {
|
|
56
58
|
super(component, options, data);
|
|
@@ -62,7 +64,7 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
62
64
|
this.createRows();
|
|
63
65
|
this.visibleColumns = {
|
|
64
66
|
key: true,
|
|
65
|
-
[this.valueKey]: true
|
|
67
|
+
[this.valueKey]: true,
|
|
66
68
|
};
|
|
67
69
|
this.component.valueComponent.hideLabel = true;
|
|
68
70
|
}
|
|
@@ -104,7 +106,9 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
104
106
|
getRowValues() {
|
|
105
107
|
const dataValue = this.dataValue;
|
|
106
108
|
if (this.builderMode) {
|
|
107
|
-
return [
|
|
109
|
+
return [
|
|
110
|
+
dataValue,
|
|
111
|
+
];
|
|
108
112
|
}
|
|
109
113
|
if (lodash_1.default.isEmpty(dataValue)) {
|
|
110
114
|
return [];
|
|
@@ -113,38 +117,45 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
113
117
|
}
|
|
114
118
|
getComponentsContainer() {
|
|
115
119
|
if (this.builderMode) {
|
|
116
|
-
return this.getComponents().map(comp => comp.component);
|
|
120
|
+
return this.getComponents().map((comp) => comp.component);
|
|
117
121
|
}
|
|
118
122
|
return super.getComponentsContainer();
|
|
119
123
|
}
|
|
120
124
|
get iteratableRows() {
|
|
121
125
|
return this.rows.map((row) => {
|
|
122
|
-
return Object.keys(row).map(key => ({
|
|
126
|
+
return Object.keys(row).map((key) => ({
|
|
123
127
|
components: row[key],
|
|
124
128
|
data: row[key].dataValue,
|
|
125
129
|
}));
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
132
|
componentContext(component) {
|
|
129
|
-
return this.iteratableRows[component.row].find(comp => comp.components.key === component.key)
|
|
133
|
+
return this.iteratableRows[component.row].find((comp) => comp.components.key === component.key)
|
|
134
|
+
.data;
|
|
130
135
|
}
|
|
131
136
|
hasHeader() {
|
|
132
137
|
return true;
|
|
133
138
|
}
|
|
134
139
|
hasRemoveButtons() {
|
|
135
|
-
return !this.component.disableAddingRemovingRows &&
|
|
140
|
+
return (!this.component.disableAddingRemovingRows &&
|
|
136
141
|
!this.options.readOnly &&
|
|
137
142
|
!this.disabled &&
|
|
138
|
-
this.fullMode;
|
|
143
|
+
this.fullMode);
|
|
139
144
|
}
|
|
140
145
|
getColumns() {
|
|
141
146
|
const keySchema = Object.assign({}, this.keySchema);
|
|
142
147
|
const valueSchema = Object.assign({}, this.component.valueComponent);
|
|
143
148
|
keySchema.hideLabel = false;
|
|
144
149
|
valueSchema.hideLabel = false;
|
|
145
|
-
return this.component.keyBeforeValue
|
|
146
|
-
[
|
|
147
|
-
|
|
150
|
+
return this.component.keyBeforeValue
|
|
151
|
+
? [
|
|
152
|
+
keySchema,
|
|
153
|
+
valueSchema,
|
|
154
|
+
]
|
|
155
|
+
: [
|
|
156
|
+
valueSchema,
|
|
157
|
+
keySchema,
|
|
158
|
+
];
|
|
148
159
|
}
|
|
149
160
|
getRowKey(rowIndex) {
|
|
150
161
|
const keys = Object.keys(this.dataValue);
|
|
@@ -160,7 +171,7 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
160
171
|
lodash_1.default.each(this.rows[rowIndex], (component) => {
|
|
161
172
|
if (component.key === '__key') {
|
|
162
173
|
component.data = {
|
|
163
|
-
|
|
174
|
+
__key: Object.keys(rowData)[rowIndex],
|
|
164
175
|
};
|
|
165
176
|
}
|
|
166
177
|
else {
|
|
@@ -170,23 +181,23 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
170
181
|
}
|
|
171
182
|
getValueAsString(value, options) {
|
|
172
183
|
if ((options === null || options === void 0 ? void 0 : options.email) && this.visible && !this.skipInEmail && lodash_1.default.isObject(value)) {
|
|
173
|
-
let result =
|
|
184
|
+
let result = `
|
|
174
185
|
<table border="1" style="width:100%">
|
|
175
186
|
<tbody>
|
|
176
|
-
|
|
187
|
+
`;
|
|
177
188
|
result = Object.keys(value).reduce((result, key) => {
|
|
178
|
-
result +=
|
|
189
|
+
result += `
|
|
179
190
|
<tr>
|
|
180
191
|
<th style="padding: 5px 10px;">${key}</th>
|
|
181
192
|
<td style="width:100%;padding:5px 10px;">${this.getView(value[key], options)}</td>
|
|
182
193
|
</tr>
|
|
183
|
-
|
|
194
|
+
`;
|
|
184
195
|
return result;
|
|
185
196
|
}, result);
|
|
186
|
-
result +=
|
|
197
|
+
result += `
|
|
187
198
|
</tbody>
|
|
188
199
|
</table>
|
|
189
|
-
|
|
200
|
+
`;
|
|
190
201
|
return result;
|
|
191
202
|
}
|
|
192
203
|
if (lodash_1.default.isEmpty(value)) {
|
|
@@ -199,24 +210,24 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
199
210
|
return typeof value === 'object' ? '[Complex Data]' : value;
|
|
200
211
|
}
|
|
201
212
|
getDataValueAsTable(value, options) {
|
|
202
|
-
let result =
|
|
213
|
+
let result = `
|
|
203
214
|
<table border="1" style="width:100%">
|
|
204
215
|
<tbody>
|
|
205
|
-
|
|
216
|
+
`;
|
|
206
217
|
if (this.visible && lodash_1.default.isObject(value)) {
|
|
207
218
|
Object.keys(value).forEach((key) => {
|
|
208
|
-
result +=
|
|
219
|
+
result += `
|
|
209
220
|
<tr>
|
|
210
221
|
<th style="padding: 5px 10px;">${key}</th>
|
|
211
222
|
<td style="width:100%;padding:5px 10px;">${this.getView(value[key], options)}</td>
|
|
212
223
|
</tr>
|
|
213
|
-
|
|
224
|
+
`;
|
|
214
225
|
});
|
|
215
226
|
}
|
|
216
|
-
result +=
|
|
227
|
+
result += `
|
|
217
228
|
</tbody>
|
|
218
229
|
</table>
|
|
219
|
-
|
|
230
|
+
`;
|
|
220
231
|
return result;
|
|
221
232
|
}
|
|
222
233
|
createRowComponents(row, rowIndex) {
|
|
@@ -229,7 +240,9 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
229
240
|
options.row = `${rowIndex}`;
|
|
230
241
|
options.rowIndex = rowIndex;
|
|
231
242
|
const components = {};
|
|
232
|
-
components['__key'] = this.createComponent(this.keySchema, options, {
|
|
243
|
+
components['__key'] = this.createComponent(this.keySchema, options, {
|
|
244
|
+
__key: this.builderMode ? this.defaultRowKey : key,
|
|
245
|
+
});
|
|
233
246
|
components['__key'].on('componentChange', (event) => {
|
|
234
247
|
const dataValue = this.dataValue;
|
|
235
248
|
const newKey = (0, utils_1.uniqueKey)(dataValue, event.value);
|
|
@@ -285,7 +298,7 @@ class DataMapComponent extends DataGrid_1.default {
|
|
|
285
298
|
return changed;
|
|
286
299
|
}
|
|
287
300
|
checkColumns() {
|
|
288
|
-
if (this.builderMode ||
|
|
301
|
+
if (this.builderMode || !this.dataValue || !Object.keys(this.dataValue).length) {
|
|
289
302
|
return { rebuild: false, show: true };
|
|
290
303
|
}
|
|
291
304
|
if (Object.keys(this.dataValue).length > (this.rows || []).length) {
|