@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
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import EditFormUtils from './utils';
|
|
2
2
|
import { Evaluator } from '../../../../utils/Evaluator';
|
|
3
|
-
/* eslint-disable quotes, max-len */
|
|
4
3
|
export default [
|
|
5
4
|
{
|
|
6
5
|
weight: 10,
|
|
@@ -8,7 +7,7 @@ export default [
|
|
|
8
7
|
label: 'Required',
|
|
9
8
|
tooltip: 'A required field must be filled in before the form can be submitted.',
|
|
10
9
|
key: 'validate.required',
|
|
11
|
-
input: true
|
|
10
|
+
input: true,
|
|
12
11
|
},
|
|
13
12
|
{
|
|
14
13
|
weight: 100,
|
|
@@ -16,7 +15,7 @@ export default [
|
|
|
16
15
|
label: 'Unique',
|
|
17
16
|
tooltip: 'Makes sure the data submitted for this field is unique, and has not been submitted before.',
|
|
18
17
|
key: 'unique',
|
|
19
|
-
input: true
|
|
18
|
+
input: true,
|
|
20
19
|
},
|
|
21
20
|
{
|
|
22
21
|
weight: 100,
|
|
@@ -24,7 +23,7 @@ export default [
|
|
|
24
23
|
label: 'Validate When Hidden',
|
|
25
24
|
tooltip: 'Validates the component when it is hidden/conditionally hidden. Vaildation errors are displayed in the error alert on the form submission. Use caution when enabling this setting, as it can cause a hidden component to be invalid with no way for the form user to correct it.',
|
|
26
25
|
key: 'validateWhenHidden',
|
|
27
|
-
input: true
|
|
26
|
+
input: true,
|
|
28
27
|
},
|
|
29
28
|
{
|
|
30
29
|
weight: 0,
|
|
@@ -38,9 +37,9 @@ export default [
|
|
|
38
37
|
data: {
|
|
39
38
|
values: [
|
|
40
39
|
{ label: 'Change', value: 'change' },
|
|
41
|
-
{ label: 'Blur', value: 'blur' }
|
|
42
|
-
]
|
|
43
|
-
}
|
|
40
|
+
{ label: 'Blur', value: 'blur' },
|
|
41
|
+
],
|
|
42
|
+
},
|
|
44
43
|
},
|
|
45
44
|
{
|
|
46
45
|
weight: 190,
|
|
@@ -49,7 +48,7 @@ export default [
|
|
|
49
48
|
key: 'errorLabel',
|
|
50
49
|
label: 'Error Label',
|
|
51
50
|
placeholder: 'Error Label',
|
|
52
|
-
tooltip: 'The label for this field when an error occurs.'
|
|
51
|
+
tooltip: 'The label for this field when an error occurs.',
|
|
53
52
|
},
|
|
54
53
|
{
|
|
55
54
|
weight: 200,
|
|
@@ -58,7 +57,7 @@ export default [
|
|
|
58
57
|
placeholder: 'Custom Error Message',
|
|
59
58
|
type: 'textfield',
|
|
60
59
|
tooltip: 'Error message displayed if any error occurred.',
|
|
61
|
-
input: true
|
|
60
|
+
input: true,
|
|
62
61
|
},
|
|
63
62
|
{
|
|
64
63
|
type: 'panel',
|
|
@@ -80,7 +79,7 @@ export default [
|
|
|
80
79
|
editor: 'ace',
|
|
81
80
|
hideLabel: true,
|
|
82
81
|
as: 'javascript',
|
|
83
|
-
input: true
|
|
82
|
+
input: true,
|
|
84
83
|
},
|
|
85
84
|
{
|
|
86
85
|
type: 'htmlelement',
|
|
@@ -91,7 +90,7 @@ export default [
|
|
|
91
90
|
<p>You must assign the <strong>valid</strong> variable as either <strong>true</strong> or an error message if validation fails.</p>
|
|
92
91
|
<h5>Example:</h5>
|
|
93
92
|
<pre>valid = (input === 'Joe') ? true : 'Your name must be "Joe"';</pre>
|
|
94
|
-
</small
|
|
93
|
+
</small>`,
|
|
95
94
|
},
|
|
96
95
|
{
|
|
97
96
|
type: 'well',
|
|
@@ -103,11 +102,11 @@ export default [
|
|
|
103
102
|
tooltip: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
|
|
104
103
|
description: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
|
|
105
104
|
key: 'validate.customPrivate',
|
|
106
|
-
input: true
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
}
|
|
110
|
-
]
|
|
105
|
+
input: true,
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
},
|
|
109
|
+
],
|
|
111
110
|
},
|
|
112
111
|
{
|
|
113
112
|
type: 'panel',
|
|
@@ -120,17 +119,22 @@ export default [
|
|
|
120
119
|
{
|
|
121
120
|
type: 'htmlelement',
|
|
122
121
|
tag: 'div',
|
|
123
|
-
/* eslint-disable prefer-template */
|
|
124
122
|
content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
|
|
125
123
|
'<h5>Example:</h5>' +
|
|
126
|
-
'<pre>' +
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
124
|
+
'<pre>' +
|
|
125
|
+
JSON.stringify({
|
|
126
|
+
if: [
|
|
127
|
+
{
|
|
128
|
+
'===': [
|
|
129
|
+
{ var: 'input' },
|
|
130
|
+
'Bob',
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
true,
|
|
134
|
+
"Your name must be 'Bob'!",
|
|
135
|
+
],
|
|
136
|
+
}, null, 2) +
|
|
137
|
+
'</pre>',
|
|
134
138
|
},
|
|
135
139
|
{
|
|
136
140
|
type: 'textarea',
|
|
@@ -139,9 +143,9 @@ export default [
|
|
|
139
143
|
rows: 5,
|
|
140
144
|
editor: 'ace',
|
|
141
145
|
as: 'json',
|
|
142
|
-
input: true
|
|
143
|
-
}
|
|
144
|
-
]
|
|
146
|
+
input: true,
|
|
147
|
+
},
|
|
148
|
+
],
|
|
145
149
|
},
|
|
146
150
|
{
|
|
147
151
|
type: 'panel',
|
|
@@ -158,7 +162,7 @@ export default [
|
|
|
158
162
|
rows: 5,
|
|
159
163
|
editor: 'ace',
|
|
160
164
|
as: 'json',
|
|
161
|
-
input: true
|
|
165
|
+
input: true,
|
|
162
166
|
},
|
|
163
167
|
{
|
|
164
168
|
type: 'htmlelement',
|
|
@@ -204,9 +208,8 @@ export default [
|
|
|
204
208
|
<li><code>{<span/>{ m<span/>axYear }}</code></li>
|
|
205
209
|
<li><code>{<span/>{ r<span/>egex }}</code></li>
|
|
206
210
|
</ul>
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
]
|
|
210
|
-
}
|
|
211
|
+
`,
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
},
|
|
211
215
|
];
|
|
212
|
-
/* eslint-enable quotes, max-len */
|
|
@@ -37,7 +37,6 @@ const EditFormUtils = {
|
|
|
37
37
|
return {
|
|
38
38
|
type: 'htmlelement',
|
|
39
39
|
tag: 'div',
|
|
40
|
-
/* eslint-disable prefer-template */
|
|
41
40
|
content: '<p>The following variables are available in all scripts.</p>' +
|
|
42
41
|
'<table class="table table-bordered table-condensed table-striped">' +
|
|
43
42
|
additional +
|
|
@@ -52,8 +51,7 @@ const EditFormUtils = {
|
|
|
52
51
|
'<tr><th>_</th><td>An instance of <a href="https://lodash.com/docs/" target="_blank" rel="noopener noreferrer">Lodash</a>.</td></tr>' +
|
|
53
52
|
'<tr><th>utils</th><td>An instance of the <a href="https://help.form.io/developers/javascript-development/javascript-utilities" target="_blank" rel="noopener noreferrer">FormioUtils</a> object.</td></tr>' +
|
|
54
53
|
'<tr><th>util</th><td>An alias for "utils".</td></tr>' +
|
|
55
|
-
'</table><br/>'
|
|
56
|
-
/* eslint-enable prefer-template */
|
|
54
|
+
'</table><br/>',
|
|
57
55
|
};
|
|
58
56
|
},
|
|
59
57
|
javaScriptValue(title, property, propertyJSON, weight, exampleHTML, exampleJSON, additionalParams = '', excludeJSONLogic) {
|
|
@@ -77,14 +75,14 @@ const EditFormUtils = {
|
|
|
77
75
|
editor: 'ace',
|
|
78
76
|
hideLabel: true,
|
|
79
77
|
as: 'javascript',
|
|
80
|
-
input: true
|
|
78
|
+
input: true,
|
|
81
79
|
},
|
|
82
80
|
{
|
|
83
81
|
type: 'htmlelement',
|
|
84
82
|
tag: 'div',
|
|
85
|
-
content: `<p>Enter custom javascript code.</p>${exampleHTML}
|
|
86
|
-
}
|
|
87
|
-
]
|
|
83
|
+
content: `<p>Enter custom javascript code.</p>${exampleHTML}`,
|
|
84
|
+
},
|
|
85
|
+
],
|
|
88
86
|
},
|
|
89
87
|
{
|
|
90
88
|
type: 'panel',
|
|
@@ -96,11 +94,9 @@ const EditFormUtils = {
|
|
|
96
94
|
{
|
|
97
95
|
type: 'htmlelement',
|
|
98
96
|
tag: 'div',
|
|
99
|
-
/* eslint-disable prefer-template */
|
|
100
97
|
content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
|
|
101
98
|
'<p>Full <a href="https://lodash.com/docs" target="_blank" rel="noopener noreferrer">Lodash</a> support is provided using an "_" before each operation, such as <code>{"_sum": {var: "data.a"}}</code></p>' +
|
|
102
|
-
exampleJSON
|
|
103
|
-
/* eslint-enable prefer-template */
|
|
99
|
+
exampleJSON,
|
|
104
100
|
},
|
|
105
101
|
{
|
|
106
102
|
type: 'textarea',
|
|
@@ -109,10 +105,10 @@ const EditFormUtils = {
|
|
|
109
105
|
editor: 'ace',
|
|
110
106
|
hideLabel: true,
|
|
111
107
|
as: 'json',
|
|
112
|
-
input: true
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
}
|
|
108
|
+
input: true,
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
116
112
|
];
|
|
117
113
|
if (excludeJSONLogic) {
|
|
118
114
|
components.splice(2, 1);
|
|
@@ -125,8 +121,8 @@ const EditFormUtils = {
|
|
|
125
121
|
collapsed: true,
|
|
126
122
|
key: `${property}Panel`,
|
|
127
123
|
weight: weight,
|
|
128
|
-
components
|
|
124
|
+
components,
|
|
129
125
|
};
|
|
130
|
-
}
|
|
126
|
+
},
|
|
131
127
|
};
|
|
132
128
|
export default EditFormUtils;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { fastCloneDeep } from '../../../utils';
|
|
2
|
+
import { fastCloneDeep } from '../../../utils/index';
|
|
3
3
|
export default class ComponentModal {
|
|
4
4
|
static render(component, data, topLevel) {
|
|
5
5
|
const children = component.renderTemplate('component', data, topLevel);
|
|
@@ -97,7 +97,7 @@ export default class ComponentModal {
|
|
|
97
97
|
setOpenEventListener() {
|
|
98
98
|
this.component.removeEventListener(this.refs.openModal, 'click', this.openModalListener);
|
|
99
99
|
this.component.loadRefs(this.refs.openModalWrapper ?? this.element, {
|
|
100
|
-
|
|
100
|
+
openModal: 'single',
|
|
101
101
|
});
|
|
102
102
|
this.component.addEventListener(this.refs.openModal, 'click', this.openModalListener);
|
|
103
103
|
}
|
|
@@ -16,7 +16,7 @@ export default class Field extends Component {
|
|
|
16
16
|
return super.render(this.renderTemplate('field', {
|
|
17
17
|
...this.getLabelInfo(this.options.condensedMode),
|
|
18
18
|
labelMarkup: this.renderTemplate('label'),
|
|
19
|
-
element: element
|
|
19
|
+
element: element,
|
|
20
20
|
}, 'align'));
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
@@ -34,7 +34,13 @@ export default class Field extends Component {
|
|
|
34
34
|
saveCaretPosition(element, index) {
|
|
35
35
|
if (this.root?.focusedComponent?.path === this.path) {
|
|
36
36
|
try {
|
|
37
|
-
this.root.currentSelection = {
|
|
37
|
+
this.root.currentSelection = {
|
|
38
|
+
selection: [
|
|
39
|
+
element.selectionStart,
|
|
40
|
+
element.selectionEnd,
|
|
41
|
+
],
|
|
42
|
+
index,
|
|
43
|
+
};
|
|
38
44
|
}
|
|
39
45
|
catch (e) {
|
|
40
46
|
if (!(e instanceof DOMException)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Multivalue from '../multivalue/Multivalue';
|
|
2
|
-
import { convertStringToHTMLElement } from '../../../utils';
|
|
3
|
-
import Widgets from '../../../widgets';
|
|
2
|
+
import { convertStringToHTMLElement } from '../../../utils/index';
|
|
3
|
+
import Widgets from '../../../widgets/index';
|
|
4
4
|
import _ from 'lodash';
|
|
5
5
|
export default class Input extends Multivalue {
|
|
6
6
|
constructor(component, options, data) {
|
|
@@ -10,8 +10,8 @@ export default class Input extends Multivalue {
|
|
|
10
10
|
static schema(...extend) {
|
|
11
11
|
return Multivalue.schema({
|
|
12
12
|
widget: {
|
|
13
|
-
type: 'input'
|
|
14
|
-
}
|
|
13
|
+
type: 'input',
|
|
14
|
+
},
|
|
15
15
|
}, ...extend);
|
|
16
16
|
}
|
|
17
17
|
get inputInfo() {
|
|
@@ -19,9 +19,11 @@ export default class Input extends Multivalue {
|
|
|
19
19
|
name: this.options.name,
|
|
20
20
|
type: this.component.inputType || 'text',
|
|
21
21
|
class: 'form-control',
|
|
22
|
-
lang: this.options.language
|
|
22
|
+
lang: this.options.language,
|
|
23
23
|
};
|
|
24
|
-
if (this.options.attachMode === 'builder' ||
|
|
24
|
+
if (this.options.attachMode === 'builder' ||
|
|
25
|
+
this.options.building ||
|
|
26
|
+
_.get(this.root, 'form.settings.disableAutocomplete')) {
|
|
25
27
|
attr.autocomplete = this.autocompleteDisableAttrName;
|
|
26
28
|
}
|
|
27
29
|
if (this.component.inputMode) {
|
|
@@ -45,22 +47,24 @@ export default class Input extends Multivalue {
|
|
|
45
47
|
type: 'input',
|
|
46
48
|
changeEvent: 'input',
|
|
47
49
|
content: '',
|
|
48
|
-
attr
|
|
50
|
+
attr,
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
get autocompleteDisableAttrName() {
|
|
52
54
|
return 'off';
|
|
53
55
|
}
|
|
54
56
|
get maskOptions() {
|
|
55
|
-
return _.map(this.component.inputMasks, mask => {
|
|
57
|
+
return _.map(this.component.inputMasks, (mask) => {
|
|
56
58
|
return {
|
|
57
59
|
label: mask.label,
|
|
58
|
-
value: mask.label
|
|
60
|
+
value: mask.label,
|
|
59
61
|
};
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
get isMultipleMasksField() {
|
|
63
|
-
return this.component.allowMultipleMasks &&
|
|
65
|
+
return (this.component.allowMultipleMasks &&
|
|
66
|
+
!!this.component.inputMasks &&
|
|
67
|
+
!!this.component.inputMasks.length);
|
|
64
68
|
}
|
|
65
69
|
getMaskByName(maskName) {
|
|
66
70
|
const inputMask = _.find(this.component.inputMasks, (inputMask) => {
|
|
@@ -73,8 +77,7 @@ export default class Input extends Multivalue {
|
|
|
73
77
|
return super.setInputMask(input, mask, !this.component.placeholder);
|
|
74
78
|
}
|
|
75
79
|
getMaskOptions() {
|
|
76
|
-
return this.component.inputMasks
|
|
77
|
-
.map(mask => ({
|
|
80
|
+
return this.component.inputMasks.map((mask) => ({
|
|
78
81
|
label: mask.label,
|
|
79
82
|
value: mask.label,
|
|
80
83
|
}));
|
|
@@ -97,7 +100,7 @@ export default class Input extends Multivalue {
|
|
|
97
100
|
// After font-awesome would be updated to v5.x, "clock-o" should be replaced with "clock"
|
|
98
101
|
className: this.iconClass(this.component.enableDate || this.component.widget.enableDate ? 'calendar' : 'clock-o'),
|
|
99
102
|
styles: '',
|
|
100
|
-
content: ''
|
|
103
|
+
content: '',
|
|
101
104
|
}).trim();
|
|
102
105
|
if (this.component.prefix !== calendarIcon) {
|
|
103
106
|
// converting string to HTML markup to render correctly DateTime component in portal.form.io
|
|
@@ -113,8 +116,7 @@ export default class Input extends Multivalue {
|
|
|
113
116
|
}
|
|
114
117
|
const info = this.inputInfo;
|
|
115
118
|
info.attr = info.attr || {};
|
|
116
|
-
info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value)))
|
|
117
|
-
.replace(/"/g, '"');
|
|
119
|
+
info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value))).replace(/"/g, '"');
|
|
118
120
|
const valueMask = this.component.inputMask;
|
|
119
121
|
const displayMask = this.component.displayMask;
|
|
120
122
|
const hasDifferentDisplayAndSaveFormats = valueMask && displayMask && valueMask !== displayMask;
|
|
@@ -134,7 +136,7 @@ export default class Input extends Multivalue {
|
|
|
134
136
|
input: info,
|
|
135
137
|
value: this.formatValue(this.parseValue(value)),
|
|
136
138
|
hasValueMaskInput: hasDifferentDisplayAndSaveFormats,
|
|
137
|
-
index
|
|
139
|
+
index,
|
|
138
140
|
}, this.isHtmlRenderMode() ? 'html' : null);
|
|
139
141
|
}
|
|
140
142
|
setCounter(type, element, count, max) {
|
|
@@ -148,13 +150,13 @@ export default class Input extends Multivalue {
|
|
|
148
150
|
}
|
|
149
151
|
this.setContent(element, this.t(`typeRemaining`, {
|
|
150
152
|
remaining: remaining,
|
|
151
|
-
type: type
|
|
153
|
+
type: type,
|
|
152
154
|
}));
|
|
153
155
|
}
|
|
154
156
|
else {
|
|
155
157
|
this.setContent(element, this.t(`typeCount`, {
|
|
156
158
|
count: count,
|
|
157
|
-
type: type
|
|
159
|
+
type: type,
|
|
158
160
|
}));
|
|
159
161
|
}
|
|
160
162
|
}
|
|
@@ -197,7 +199,7 @@ export default class Input extends Multivalue {
|
|
|
197
199
|
charcount: 'multiple',
|
|
198
200
|
wordcount: 'multiple',
|
|
199
201
|
prefix: 'multiple',
|
|
200
|
-
suffix: 'multiple'
|
|
202
|
+
suffix: 'multiple',
|
|
201
203
|
});
|
|
202
204
|
return super.attach(element);
|
|
203
205
|
}
|
|
@@ -250,9 +252,11 @@ export default class Input extends Multivalue {
|
|
|
250
252
|
return null;
|
|
251
253
|
}
|
|
252
254
|
// Get the widget settings.
|
|
253
|
-
const settings =
|
|
254
|
-
|
|
255
|
-
|
|
255
|
+
const settings = typeof this.component.widget === 'string'
|
|
256
|
+
? {
|
|
257
|
+
type: this.component.widget,
|
|
258
|
+
}
|
|
259
|
+
: this.component.widget;
|
|
256
260
|
if (this.root?.shadowRoot) {
|
|
257
261
|
settings.shadowRoot = this.root?.shadowRoot;
|
|
258
262
|
}
|
|
@@ -263,7 +267,7 @@ export default class Input extends Multivalue {
|
|
|
263
267
|
// Create the widget.
|
|
264
268
|
const widget = new Widgets[settings.type](settings, this.component, this, index);
|
|
265
269
|
widget.on('update', () => this.updateValue(this.getValue(), {
|
|
266
|
-
modified: true
|
|
270
|
+
modified: true,
|
|
267
271
|
}, index), true);
|
|
268
272
|
widget.on('redraw', () => this.redraw(), true);
|
|
269
273
|
return widget;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Field from '../field/Field';
|
|
2
2
|
import { Formio } from '../../../Formio';
|
|
3
3
|
import _ from 'lodash';
|
|
4
|
-
import { getItemTemplateKeys } from '../../../utils';
|
|
4
|
+
import { getItemTemplateKeys } from '../../../utils/index';
|
|
5
5
|
export default class ListComponent extends Field {
|
|
6
6
|
static schema(...extend) {
|
|
7
7
|
return Field.schema({
|
|
@@ -10,7 +10,7 @@ export default class ListComponent extends Field {
|
|
|
10
10
|
ignoreCache: false,
|
|
11
11
|
template: '<span>{{ item.label }}</span>',
|
|
12
12
|
validate: {
|
|
13
|
-
onlyAvailableItems: false
|
|
13
|
+
onlyAvailableItems: false,
|
|
14
14
|
},
|
|
15
15
|
}, ...extend);
|
|
16
16
|
}
|
|
@@ -24,9 +24,7 @@ export default class ListComponent extends Field {
|
|
|
24
24
|
get dataReady() {
|
|
25
25
|
// If the root submission has been set, and we are still not attached, then assume
|
|
26
26
|
// that our data is ready.
|
|
27
|
-
if ((this.root &&
|
|
28
|
-
this.root.submissionSet &&
|
|
29
|
-
!this.attached) || !this.visible) {
|
|
27
|
+
if ((this.root && this.root.submissionSet && !this.attached) || !this.visible) {
|
|
30
28
|
return Promise.resolve();
|
|
31
29
|
}
|
|
32
30
|
return this.itemsLoaded;
|
|
@@ -46,7 +44,9 @@ export default class ListComponent extends Field {
|
|
|
46
44
|
const selectData = this.selectData;
|
|
47
45
|
return this.templateKeys.reduce((shouldLoad, key) => {
|
|
48
46
|
const hasValue = _.has(dataValue, key) ||
|
|
49
|
-
(_.isArray(selectData)
|
|
47
|
+
(_.isArray(selectData)
|
|
48
|
+
? selectData.every((data) => _.has(data, key))
|
|
49
|
+
: _.has(selectData, key));
|
|
50
50
|
return shouldLoad || !hasValue;
|
|
51
51
|
}, false);
|
|
52
52
|
}
|
|
@@ -55,9 +55,7 @@ export default class ListComponent extends Field {
|
|
|
55
55
|
}
|
|
56
56
|
getTemplateKeys() {
|
|
57
57
|
const template = this.component.template;
|
|
58
|
-
this.templateKeys = this.options.readOnly && template
|
|
59
|
-
? getItemTemplateKeys(template)
|
|
60
|
-
: [];
|
|
58
|
+
this.templateKeys = this.options.readOnly && template ? getItemTemplateKeys(template) : [];
|
|
61
59
|
}
|
|
62
60
|
get requestHeaders() {
|
|
63
61
|
// Create the headers object.
|
|
@@ -87,7 +85,7 @@ export default class ListComponent extends Field {
|
|
|
87
85
|
}
|
|
88
86
|
const options = {
|
|
89
87
|
noeval: true,
|
|
90
|
-
data: {}
|
|
88
|
+
data: {},
|
|
91
89
|
};
|
|
92
90
|
const template = this.sanitize(this.component.template
|
|
93
91
|
? this.interpolate(this.component.template, { item: data }, options)
|
|
@@ -135,7 +133,6 @@ export default class ListComponent extends Field {
|
|
|
135
133
|
});
|
|
136
134
|
console.warn(`Unable to load resources for ${this.key}`);
|
|
137
135
|
}
|
|
138
|
-
/* eslint-disable max-statements */
|
|
139
136
|
updateItems(searchInput, forceUpdate) {
|
|
140
137
|
if (!this.component.data) {
|
|
141
138
|
console.warn(`Select component ${this.key} does not have data configuration.`);
|
|
@@ -163,13 +160,15 @@ export default class ListComponent extends Field {
|
|
|
163
160
|
this.itemsLoadedResolve();
|
|
164
161
|
return;
|
|
165
162
|
}
|
|
166
|
-
let resourceUrl = this.options.formio
|
|
167
|
-
|
|
163
|
+
let resourceUrl = this.options.formio
|
|
164
|
+
? this.options.formio.formsUrl
|
|
165
|
+
: `${Formio.getProjectUrl()}/form`;
|
|
166
|
+
resourceUrl += `/${this.component.data.resource}/submission`;
|
|
168
167
|
if (forceUpdate || this.additionalResourcesAvailable || !this.serverCount) {
|
|
169
168
|
try {
|
|
170
169
|
this.loadItems(resourceUrl, searchInput, this.requestHeaders);
|
|
171
170
|
}
|
|
172
|
-
catch (
|
|
171
|
+
catch (ignoreErr) {
|
|
173
172
|
console.warn(`Unable to load resources for ${this.key}`);
|
|
174
173
|
}
|
|
175
174
|
}
|
|
@@ -179,7 +178,10 @@ export default class ListComponent extends Field {
|
|
|
179
178
|
break;
|
|
180
179
|
}
|
|
181
180
|
case 'url': {
|
|
182
|
-
if (!forceUpdate &&
|
|
181
|
+
if (!forceUpdate &&
|
|
182
|
+
!this.active &&
|
|
183
|
+
!this.calculatedValue &&
|
|
184
|
+
this.component.type === 'select') {
|
|
183
185
|
// If we are lazyLoading, wait until activated.
|
|
184
186
|
this.itemsLoadedResolve();
|
|
185
187
|
return;
|
|
@@ -190,7 +192,9 @@ export default class ListComponent extends Field {
|
|
|
190
192
|
let body;
|
|
191
193
|
if (url.startsWith('/')) {
|
|
192
194
|
// if URL starts with '/project', we should use base URL to avoid issues with URL formed like <base_url>/<project_name>/project/<project_id>/...
|
|
193
|
-
const baseUrl = url.startsWith('/project')
|
|
195
|
+
const baseUrl = url.startsWith('/project')
|
|
196
|
+
? Formio.getBaseUrl()
|
|
197
|
+
: Formio.getProjectUrl() || Formio.getBaseUrl();
|
|
194
198
|
url = baseUrl + url;
|
|
195
199
|
}
|
|
196
200
|
if (!this.component.data.method) {
|
|
@@ -216,12 +220,17 @@ export default class ListComponent extends Field {
|
|
|
216
220
|
if (!window.indexedDB) {
|
|
217
221
|
window.alert("Your browser doesn't support current version of indexedDB");
|
|
218
222
|
}
|
|
219
|
-
if (this.component.indexeddb &&
|
|
223
|
+
if (this.component.indexeddb &&
|
|
224
|
+
this.component.indexeddb.database &&
|
|
225
|
+
this.component.indexeddb.table) {
|
|
220
226
|
const request = window.indexedDB.open(this.component.indexeddb.database);
|
|
221
227
|
request.onupgradeneeded = (event) => {
|
|
222
228
|
if (this.component.customOptions) {
|
|
223
229
|
const db = event.target.result;
|
|
224
|
-
const objectStore = db.createObjectStore(this.component.indexeddb.table, {
|
|
230
|
+
const objectStore = db.createObjectStore(this.component.indexeddb.table, {
|
|
231
|
+
keyPath: 'myKey',
|
|
232
|
+
autoIncrement: true,
|
|
233
|
+
});
|
|
225
234
|
objectStore.transaction.oncomplete = () => {
|
|
226
235
|
const transaction = db.transaction(this.component.indexeddb.table, 'readwrite');
|
|
227
236
|
this.component.customOptions.forEach((item) => {
|
|
@@ -18,7 +18,12 @@ export default [
|
|
|
18
18
|
placeholder: 'Data Source URL',
|
|
19
19
|
tooltip: 'A URL that returns a JSON array to use as the data source.',
|
|
20
20
|
conditional: {
|
|
21
|
-
json: {
|
|
21
|
+
json: {
|
|
22
|
+
'===': [
|
|
23
|
+
{ var: 'data.dataSrc' },
|
|
24
|
+
'url',
|
|
25
|
+
],
|
|
26
|
+
},
|
|
22
27
|
},
|
|
23
28
|
},
|
|
24
29
|
{
|
|
@@ -43,7 +48,12 @@ export default [
|
|
|
43
48
|
},
|
|
44
49
|
],
|
|
45
50
|
conditional: {
|
|
46
|
-
json: {
|
|
51
|
+
json: {
|
|
52
|
+
'===': [
|
|
53
|
+
{ var: 'data.dataSrc' },
|
|
54
|
+
'url',
|
|
55
|
+
],
|
|
56
|
+
},
|
|
47
57
|
},
|
|
48
58
|
},
|
|
49
59
|
{
|
|
@@ -63,7 +73,7 @@ export default [
|
|
|
63
73
|
[
|
|
64
74
|
'json',
|
|
65
75
|
'url',
|
|
66
|
-
'custom'
|
|
76
|
+
'custom',
|
|
67
77
|
],
|
|
68
78
|
],
|
|
69
79
|
},
|
|
@@ -97,7 +107,12 @@ export default [
|
|
|
97
107
|
label: 'Formio Authenticate',
|
|
98
108
|
tooltip: 'Check this if you would like to use Formio Authentication with the request.',
|
|
99
109
|
conditional: {
|
|
100
|
-
json: {
|
|
110
|
+
json: {
|
|
111
|
+
'===': [
|
|
112
|
+
{ var: 'data.dataSrc' },
|
|
113
|
+
'url',
|
|
114
|
+
],
|
|
115
|
+
},
|
|
101
116
|
},
|
|
102
117
|
},
|
|
103
118
|
{
|
|
@@ -106,12 +121,24 @@ export default [
|
|
|
106
121
|
weight: 29,
|
|
107
122
|
key: 'ignoreCache',
|
|
108
123
|
label: 'Disables Storing Request Result in the Cache',
|
|
109
|
-
tooltip:
|
|
124
|
+
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.",
|
|
110
125
|
conditional: {
|
|
111
|
-
json: {
|
|
112
|
-
|
|
113
|
-
{
|
|
114
|
-
|
|
126
|
+
json: {
|
|
127
|
+
or: [
|
|
128
|
+
{
|
|
129
|
+
'===': [
|
|
130
|
+
{ var: 'data.dataSrc' },
|
|
131
|
+
'url',
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
'===': [
|
|
136
|
+
{ var: 'data.dataSrc' },
|
|
137
|
+
'resource',
|
|
138
|
+
],
|
|
139
|
+
},
|
|
140
|
+
],
|
|
141
|
+
},
|
|
115
142
|
},
|
|
116
143
|
},
|
|
117
144
|
];
|