@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,7 +1,7 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import Field from '../_classes/field/Field';
|
|
3
3
|
import Input from '../_classes/input/Input';
|
|
4
|
-
import { componentValueTypes, eachComponent, getArrayFromComponentPath, getComponentSavedTypes } from '../../utils';
|
|
4
|
+
import { componentValueTypes, eachComponent, getArrayFromComponentPath, getComponentSavedTypes, } from '../../utils';
|
|
5
5
|
export default class ButtonComponent extends Field {
|
|
6
6
|
static schema(...extend) {
|
|
7
7
|
return Input.schema({
|
|
@@ -16,7 +16,7 @@ export default class ButtonComponent extends Field {
|
|
|
16
16
|
persistent: false,
|
|
17
17
|
disableOnInvalid: false,
|
|
18
18
|
theme: 'primary',
|
|
19
|
-
dataGridLabel: true
|
|
19
|
+
dataGridLabel: true,
|
|
20
20
|
}, ...extend);
|
|
21
21
|
}
|
|
22
22
|
static get builderInfo() {
|
|
@@ -26,11 +26,13 @@ export default class ButtonComponent extends Field {
|
|
|
26
26
|
icon: 'stop',
|
|
27
27
|
documentation: '/userguide/form-building/form-components#button',
|
|
28
28
|
weight: 110,
|
|
29
|
-
schema: ButtonComponent.schema()
|
|
29
|
+
schema: ButtonComponent.schema(),
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
static savedValueTypes(schema) {
|
|
33
|
-
return getComponentSavedTypes(schema) || [
|
|
33
|
+
return (getComponentSavedTypes(schema) || [
|
|
34
|
+
componentValueTypes.boolean,
|
|
35
|
+
]);
|
|
34
36
|
}
|
|
35
37
|
constructor(component, options, data) {
|
|
36
38
|
super(component, options, data);
|
|
@@ -42,7 +44,12 @@ export default class ButtonComponent extends Field {
|
|
|
42
44
|
get inputInfo() {
|
|
43
45
|
const info = super.elementInfo();
|
|
44
46
|
info.type = 'button';
|
|
45
|
-
info.attr.type =
|
|
47
|
+
info.attr.type = [
|
|
48
|
+
'submit',
|
|
49
|
+
'saveState',
|
|
50
|
+
].includes(this.component.action)
|
|
51
|
+
? 'submit'
|
|
52
|
+
: 'button';
|
|
46
53
|
this.component.theme = this.component.theme || 'default';
|
|
47
54
|
info.attr.class = `btn btn-${this.component.theme}`;
|
|
48
55
|
if (this.component.size) {
|
|
@@ -59,7 +66,7 @@ export default class ButtonComponent extends Field {
|
|
|
59
66
|
}
|
|
60
67
|
get labelInfo() {
|
|
61
68
|
return {
|
|
62
|
-
hidden: true
|
|
69
|
+
hidden: true,
|
|
63
70
|
};
|
|
64
71
|
}
|
|
65
72
|
set loading(loading) {
|
|
@@ -132,7 +139,9 @@ export default class ButtonComponent extends Field {
|
|
|
132
139
|
this.setContent(this.refs.buttonMessage, resultMessage);
|
|
133
140
|
}, true);
|
|
134
141
|
this.on('submitError', (message) => {
|
|
135
|
-
const resultMessage = _.isString(message)
|
|
142
|
+
const resultMessage = _.isString(message)
|
|
143
|
+
? this.t(message)
|
|
144
|
+
: this.t(this.errorMessage('submitError'));
|
|
136
145
|
this.loading = false;
|
|
137
146
|
this.disabled = false;
|
|
138
147
|
this.hasError = true;
|
|
@@ -187,7 +196,11 @@ export default class ButtonComponent extends Field {
|
|
|
187
196
|
const isSilent = flags && flags.silent;
|
|
188
197
|
//check root validity only if disableOnInvalid is set and when it is not possible to make submission because of validation errors
|
|
189
198
|
if (flags && flags.noValidate && (this.component.disableOnInvalid || this.hasError)) {
|
|
190
|
-
isValid =
|
|
199
|
+
isValid =
|
|
200
|
+
flags.rootValidity ||
|
|
201
|
+
(this.root
|
|
202
|
+
? this.root.validate(this.root.data, { dirty: false, silentCheck: true }).length === 0
|
|
203
|
+
: true);
|
|
191
204
|
flags.rootValidity = isValid;
|
|
192
205
|
}
|
|
193
206
|
this.isDisabledOnInvalid = this.component.disableOnInvalid && (isSilent || !isValid);
|
|
@@ -236,9 +249,9 @@ export default class ButtonComponent extends Field {
|
|
|
236
249
|
return decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
237
250
|
}
|
|
238
251
|
// If this is an OpenID Provider initiated login, perform the click event immediately
|
|
239
|
-
if (
|
|
252
|
+
if (this.component.action === 'oauth' && this.oauthConfig && !this.oauthConfig.error) {
|
|
240
253
|
const iss = getUrlParameter('iss');
|
|
241
|
-
if (iss &&
|
|
254
|
+
if (iss && this.oauthConfig.authURI.indexOf(iss) === 0) {
|
|
242
255
|
this.openOauth(this.oauthConfig);
|
|
243
256
|
}
|
|
244
257
|
}
|
|
@@ -250,13 +263,12 @@ export default class ButtonComponent extends Field {
|
|
|
250
263
|
this.loadRefs(element, {
|
|
251
264
|
button: 'single',
|
|
252
265
|
buttonMessageContainer: 'single',
|
|
253
|
-
buttonMessage: 'single'
|
|
266
|
+
buttonMessage: 'single',
|
|
254
267
|
});
|
|
255
268
|
const superAttach = super.attach(element);
|
|
256
269
|
this.attachButton();
|
|
257
270
|
return superAttach;
|
|
258
271
|
}
|
|
259
|
-
/* eslint-enable max-statements */
|
|
260
272
|
detach(element) {
|
|
261
273
|
if (element && this.refs.button) {
|
|
262
274
|
this.removeShortcut(this.refs.button);
|
|
@@ -283,7 +295,7 @@ export default class ButtonComponent extends Field {
|
|
|
283
295
|
noValidate: this.component.state === 'draft',
|
|
284
296
|
state: this.component.state || 'submitted',
|
|
285
297
|
component: this.component,
|
|
286
|
-
instance: this
|
|
298
|
+
instance: this,
|
|
287
299
|
});
|
|
288
300
|
break;
|
|
289
301
|
case 'event':
|
|
@@ -293,7 +305,7 @@ export default class ButtonComponent extends Field {
|
|
|
293
305
|
type: this.interpolate(this.component.event),
|
|
294
306
|
component: this.component,
|
|
295
307
|
data: this.data,
|
|
296
|
-
event: event
|
|
308
|
+
event: event,
|
|
297
309
|
});
|
|
298
310
|
break;
|
|
299
311
|
case 'custom': {
|
|
@@ -309,7 +321,7 @@ export default class ButtonComponent extends Field {
|
|
|
309
321
|
this.evaluate(this.component.custom, {
|
|
310
322
|
form,
|
|
311
323
|
flattened,
|
|
312
|
-
components
|
|
324
|
+
components,
|
|
313
325
|
});
|
|
314
326
|
this.triggerChange();
|
|
315
327
|
break;
|
|
@@ -318,11 +330,11 @@ export default class ButtonComponent extends Field {
|
|
|
318
330
|
this.loading = true;
|
|
319
331
|
this.emit('requestButton', {
|
|
320
332
|
component: this.component,
|
|
321
|
-
instance: this
|
|
333
|
+
instance: this,
|
|
322
334
|
});
|
|
323
335
|
this.emit('requestUrl', {
|
|
324
336
|
url: this.interpolate(this.component.url),
|
|
325
|
-
headers: this.component.headers
|
|
337
|
+
headers: this.component.headers,
|
|
326
338
|
});
|
|
327
339
|
break;
|
|
328
340
|
case 'reset':
|
|
@@ -355,12 +367,13 @@ export default class ButtonComponent extends Field {
|
|
|
355
367
|
console.warn('You must attach a Form API url to your form in order to use OAuth buttons.');
|
|
356
368
|
return;
|
|
357
369
|
}
|
|
358
|
-
/*eslint-disable camelcase */
|
|
359
370
|
let params = {
|
|
360
371
|
response_type: 'code',
|
|
361
372
|
client_id: settings.clientId,
|
|
362
|
-
redirect_uri: (settings.redirectURI && this.interpolate(settings.redirectURI)) ||
|
|
363
|
-
|
|
373
|
+
redirect_uri: (settings.redirectURI && this.interpolate(settings.redirectURI)) ||
|
|
374
|
+
window.location.origin ||
|
|
375
|
+
`${window.location.protocol}//${window.location.host}`,
|
|
376
|
+
scope: settings.scope,
|
|
364
377
|
};
|
|
365
378
|
if (settings.state) {
|
|
366
379
|
params.state = settings.state;
|
|
@@ -369,16 +382,17 @@ export default class ButtonComponent extends Field {
|
|
|
369
382
|
params.code_challenge = settings.code_challenge;
|
|
370
383
|
params.code_challenge_method = 'S256';
|
|
371
384
|
}
|
|
372
|
-
/*eslint-enable camelcase */
|
|
373
385
|
// Needs for the correct redirection URI for the OpenID
|
|
374
386
|
const originalRedirectUri = params.redirect_uri;
|
|
375
387
|
// Make display optional.
|
|
376
388
|
if (settings.display) {
|
|
377
389
|
params.display = settings.display;
|
|
378
390
|
}
|
|
379
|
-
params = Object.keys(params)
|
|
391
|
+
params = Object.keys(params)
|
|
392
|
+
.map((key) => {
|
|
380
393
|
return `${key}=${encodeURIComponent(params[key])}`;
|
|
381
|
-
})
|
|
394
|
+
})
|
|
395
|
+
.join('&');
|
|
382
396
|
const separator = settings.authURI.indexOf('?') !== -1 ? '&' : '?';
|
|
383
397
|
const url = `${settings.authURI}${separator}${params}`;
|
|
384
398
|
const popup = window.open(url, settings.provider, 'width=1020,height=618');
|
|
@@ -388,7 +402,10 @@ export default class ButtonComponent extends Field {
|
|
|
388
402
|
const currentHost = window.location.host;
|
|
389
403
|
if (popup && !popup.closed && popupHost === currentHost) {
|
|
390
404
|
popup.close();
|
|
391
|
-
const params = popup.location.search
|
|
405
|
+
const params = popup.location.search
|
|
406
|
+
.substr(1)
|
|
407
|
+
.split('&')
|
|
408
|
+
.reduce((params, param) => {
|
|
392
409
|
const split = param.split('=');
|
|
393
410
|
params[split[0]] = split[1];
|
|
394
411
|
return params;
|
|
@@ -405,7 +422,8 @@ export default class ButtonComponent extends Field {
|
|
|
405
422
|
}
|
|
406
423
|
// Depending on where the settings came from, submit to either the submission endpoint (old) or oauth endpoint (new).
|
|
407
424
|
let requestPromise = Promise.resolve();
|
|
408
|
-
if (_.has(this, 'root.form.config.oauth') &&
|
|
425
|
+
if (_.has(this, 'root.form.config.oauth') &&
|
|
426
|
+
this.root.form.config.oauth[this.component.oauthProvider]) {
|
|
409
427
|
params.provider = settings.provider;
|
|
410
428
|
params.redirectURI = originalRedirectUri;
|
|
411
429
|
// Needs for the exclude oAuth Actions that not related to this button
|
|
@@ -423,7 +441,8 @@ export default class ButtonComponent extends Field {
|
|
|
423
441
|
submission.oauth[settings.provider].triggeredBy = this.oauthComponentPath;
|
|
424
442
|
requestPromise = this.root.formio.saveSubmission(submission);
|
|
425
443
|
}
|
|
426
|
-
requestPromise
|
|
444
|
+
requestPromise
|
|
445
|
+
.then((result) => {
|
|
427
446
|
this.root.onSubmit(result, true);
|
|
428
447
|
})
|
|
429
448
|
.catch((err) => {
|
|
@@ -432,7 +451,8 @@ export default class ButtonComponent extends Field {
|
|
|
432
451
|
}
|
|
433
452
|
}
|
|
434
453
|
catch (error) {
|
|
435
|
-
if (error.name !== 'SecurityError' &&
|
|
454
|
+
if (error.name !== 'SecurityError' &&
|
|
455
|
+
(error.name !== 'Error' || error.message !== 'Permission denied')) {
|
|
436
456
|
this.root.setAlert('danger', error.message || error);
|
|
437
457
|
}
|
|
438
458
|
}
|
|
@@ -443,7 +463,10 @@ export default class ButtonComponent extends Field {
|
|
|
443
463
|
}
|
|
444
464
|
get oauthComponentPath() {
|
|
445
465
|
const pathArray = getArrayFromComponentPath(this.path);
|
|
446
|
-
return _.chain(pathArray)
|
|
466
|
+
return _.chain(pathArray)
|
|
467
|
+
.filter((pathPart) => !_.isNumber(pathPart))
|
|
468
|
+
.join('.')
|
|
469
|
+
.value();
|
|
447
470
|
}
|
|
448
471
|
focus() {
|
|
449
472
|
if (this.refs.button) {
|
|
@@ -55,7 +55,12 @@ export default [
|
|
|
55
55
|
],
|
|
56
56
|
},
|
|
57
57
|
conditional: {
|
|
58
|
-
json: {
|
|
58
|
+
json: {
|
|
59
|
+
'===': [
|
|
60
|
+
{ var: 'data.action' },
|
|
61
|
+
'oauth',
|
|
62
|
+
],
|
|
63
|
+
},
|
|
59
64
|
},
|
|
60
65
|
},
|
|
61
66
|
{
|
|
@@ -67,7 +72,12 @@ export default [
|
|
|
67
72
|
placeholder: 'submitted',
|
|
68
73
|
input: true,
|
|
69
74
|
conditional: {
|
|
70
|
-
json: {
|
|
75
|
+
json: {
|
|
76
|
+
'===': [
|
|
77
|
+
{ var: 'data.action' },
|
|
78
|
+
'saveState',
|
|
79
|
+
],
|
|
80
|
+
},
|
|
71
81
|
},
|
|
72
82
|
},
|
|
73
83
|
{
|
|
@@ -79,7 +89,12 @@ export default [
|
|
|
79
89
|
weight: 113,
|
|
80
90
|
tooltip: 'Use the Enter key to submit form.',
|
|
81
91
|
conditional: {
|
|
82
|
-
json: {
|
|
92
|
+
json: {
|
|
93
|
+
'===': [
|
|
94
|
+
{ var: 'data.action' },
|
|
95
|
+
'submit',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
83
98
|
},
|
|
84
99
|
},
|
|
85
100
|
{
|
|
@@ -91,7 +106,12 @@ export default [
|
|
|
91
106
|
weight: 115,
|
|
92
107
|
tooltip: 'When the button is pressed, show any validation errors on the form.',
|
|
93
108
|
conditional: {
|
|
94
|
-
json: {
|
|
109
|
+
json: {
|
|
110
|
+
'!==': [
|
|
111
|
+
{ var: 'data.action' },
|
|
112
|
+
'submit',
|
|
113
|
+
],
|
|
114
|
+
},
|
|
95
115
|
},
|
|
96
116
|
},
|
|
97
117
|
{
|
|
@@ -102,7 +122,12 @@ export default [
|
|
|
102
122
|
weight: 120,
|
|
103
123
|
tooltip: 'The event to fire when the button is clicked.',
|
|
104
124
|
conditional: {
|
|
105
|
-
json: {
|
|
125
|
+
json: {
|
|
126
|
+
'===': [
|
|
127
|
+
{ var: 'data.action' },
|
|
128
|
+
'event',
|
|
129
|
+
],
|
|
130
|
+
},
|
|
106
131
|
},
|
|
107
132
|
},
|
|
108
133
|
{
|
|
@@ -115,7 +140,12 @@ export default [
|
|
|
115
140
|
tooltip: 'The URL where the submission will be sent.',
|
|
116
141
|
placeholder: 'https://example.form.io',
|
|
117
142
|
conditional: {
|
|
118
|
-
json: {
|
|
143
|
+
json: {
|
|
144
|
+
'===': [
|
|
145
|
+
{ var: 'data.action' },
|
|
146
|
+
'url',
|
|
147
|
+
],
|
|
148
|
+
},
|
|
119
149
|
},
|
|
120
150
|
},
|
|
121
151
|
{
|
|
@@ -138,10 +168,15 @@ export default [
|
|
|
138
168
|
label: 'Value',
|
|
139
169
|
input: true,
|
|
140
170
|
type: 'textfield',
|
|
141
|
-
}
|
|
171
|
+
},
|
|
142
172
|
],
|
|
143
173
|
conditional: {
|
|
144
|
-
json: {
|
|
174
|
+
json: {
|
|
175
|
+
'===': [
|
|
176
|
+
{ var: 'data.action' },
|
|
177
|
+
'url',
|
|
178
|
+
],
|
|
179
|
+
},
|
|
145
180
|
},
|
|
146
181
|
},
|
|
147
182
|
{
|
|
@@ -155,7 +190,12 @@ export default [
|
|
|
155
190
|
weight: 120,
|
|
156
191
|
placeholder: "data['mykey'] = data['anotherKey'];",
|
|
157
192
|
conditional: {
|
|
158
|
-
json: {
|
|
193
|
+
json: {
|
|
194
|
+
'===': [
|
|
195
|
+
{ var: 'data.action' },
|
|
196
|
+
'custom',
|
|
197
|
+
],
|
|
198
|
+
},
|
|
159
199
|
},
|
|
160
200
|
},
|
|
161
201
|
{
|
|
@@ -43,7 +43,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
43
43
|
attach(element: any): Promise<void>;
|
|
44
44
|
input: any;
|
|
45
45
|
detach(element: any): void;
|
|
46
|
-
get emptyValue(): false |
|
|
46
|
+
get emptyValue(): false | "";
|
|
47
47
|
getValueAt(index: any): any;
|
|
48
48
|
get checked(): boolean;
|
|
49
49
|
setCheckedState(value: any): any;
|
|
@@ -11,15 +11,15 @@ export default function (...extend) {
|
|
|
11
11
|
return Components.baseEditForm([
|
|
12
12
|
{
|
|
13
13
|
key: 'data',
|
|
14
|
-
components: CheckboxEditData
|
|
14
|
+
components: CheckboxEditData,
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
key: 'display',
|
|
18
|
-
components: CheckboxEditDisplay
|
|
18
|
+
components: CheckboxEditDisplay,
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
key: 'validation',
|
|
22
|
-
components: CheckboxEditValidation
|
|
22
|
+
components: CheckboxEditValidation,
|
|
23
23
|
},
|
|
24
24
|
], ...extend);
|
|
25
25
|
}
|
|
@@ -11,7 +11,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
11
11
|
dataGridLabel: true,
|
|
12
12
|
labelPosition: 'right',
|
|
13
13
|
value: '',
|
|
14
|
-
name: ''
|
|
14
|
+
name: '',
|
|
15
15
|
}, ...extend);
|
|
16
16
|
}
|
|
17
17
|
static get builderInfo() {
|
|
@@ -21,7 +21,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
21
21
|
icon: 'check-square',
|
|
22
22
|
documentation: '/userguide/form-building/form-components#check-box',
|
|
23
23
|
weight: 50,
|
|
24
|
-
schema: CheckBoxComponent.schema()
|
|
24
|
+
schema: CheckBoxComponent.schema(),
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
static get serverConditionSettings() {
|
|
@@ -30,7 +30,9 @@ export default class CheckBoxComponent extends Field {
|
|
|
30
30
|
static get conditionOperatorsSettings() {
|
|
31
31
|
return {
|
|
32
32
|
...super.conditionOperatorsSettings,
|
|
33
|
-
operators: [
|
|
33
|
+
operators: [
|
|
34
|
+
'isEqual',
|
|
35
|
+
],
|
|
34
36
|
valueComponent() {
|
|
35
37
|
return {
|
|
36
38
|
valueType: 'boolean',
|
|
@@ -38,11 +40,11 @@ export default class CheckBoxComponent extends Field {
|
|
|
38
40
|
values: [
|
|
39
41
|
{ label: 'Checked', value: 'true' },
|
|
40
42
|
{ label: 'Not Checked', value: 'false' },
|
|
41
|
-
]
|
|
43
|
+
],
|
|
42
44
|
},
|
|
43
|
-
type: 'select'
|
|
45
|
+
type: 'select',
|
|
44
46
|
};
|
|
45
|
-
}
|
|
47
|
+
},
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
static savedValueTypes(schema) {
|
|
@@ -52,19 +54,23 @@ export default class CheckBoxComponent extends Field {
|
|
|
52
54
|
return types;
|
|
53
55
|
}
|
|
54
56
|
if (schema.inputType === 'radio') {
|
|
55
|
-
return [
|
|
57
|
+
return [
|
|
58
|
+
componentValueTypes.string,
|
|
59
|
+
];
|
|
56
60
|
}
|
|
57
|
-
return [
|
|
61
|
+
return [
|
|
62
|
+
componentValueTypes.boolean,
|
|
63
|
+
];
|
|
58
64
|
}
|
|
59
65
|
get defaultSchema() {
|
|
60
66
|
return CheckBoxComponent.schema();
|
|
61
67
|
}
|
|
62
68
|
get labelClass() {
|
|
63
69
|
let className = '';
|
|
64
|
-
if (this.isInputComponent
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
if (this.isInputComponent &&
|
|
71
|
+
!this.options.inputsOnly &&
|
|
72
|
+
this.component.validate &&
|
|
73
|
+
this.component.validate.required) {
|
|
68
74
|
className += ' field-required';
|
|
69
75
|
}
|
|
70
76
|
return `${className}`;
|
|
@@ -88,14 +94,16 @@ export default class CheckBoxComponent extends Field {
|
|
|
88
94
|
}
|
|
89
95
|
get labelInfo() {
|
|
90
96
|
return {
|
|
91
|
-
hidden: true
|
|
97
|
+
hidden: true,
|
|
92
98
|
};
|
|
93
99
|
}
|
|
94
100
|
render() {
|
|
95
101
|
return super.render(this.renderTemplate('checkbox', {
|
|
96
102
|
input: this.inputInfo,
|
|
97
103
|
checked: this.checked,
|
|
98
|
-
tooltip: this.interpolate(this.t(this.component.tooltip) || '', {
|
|
104
|
+
tooltip: this.interpolate(this.t(this.component.tooltip) || '', {
|
|
105
|
+
_userInput: true,
|
|
106
|
+
}).replace(/(?:\r\n|\r|\n)/g, '<br />'),
|
|
99
107
|
}));
|
|
100
108
|
}
|
|
101
109
|
attach(element) {
|
|
@@ -103,7 +111,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
103
111
|
this.input = this.refs.input[0];
|
|
104
112
|
if (this.refs.input) {
|
|
105
113
|
this.addEventListener(this.input, this.inputInfo.changeEvent, () => this.updateValue(null, {
|
|
106
|
-
modified: true
|
|
114
|
+
modified: true,
|
|
107
115
|
}));
|
|
108
116
|
this.addShortcut(this.input);
|
|
109
117
|
}
|
|
@@ -116,7 +124,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
116
124
|
super.detach();
|
|
117
125
|
}
|
|
118
126
|
get emptyValue() {
|
|
119
|
-
return this.component.inputType === 'radio' ?
|
|
127
|
+
return this.component.inputType === 'radio' ? '' : false;
|
|
120
128
|
}
|
|
121
129
|
isEmpty(value = this.dataValue) {
|
|
122
130
|
return super.isEmpty(value) || value === false;
|
|
@@ -136,12 +144,12 @@ export default class CheckBoxComponent extends Field {
|
|
|
136
144
|
return value ? this.setCheckedState(value) : this.setCheckedState(this.dataValue);
|
|
137
145
|
}
|
|
138
146
|
else {
|
|
139
|
-
return
|
|
147
|
+
return value === '' ? this.dataValue : !!value;
|
|
140
148
|
}
|
|
141
149
|
}
|
|
142
150
|
get checked() {
|
|
143
151
|
if (this.component.name) {
|
|
144
|
-
return
|
|
152
|
+
return this.dataValue === this.component.value;
|
|
145
153
|
}
|
|
146
154
|
return !!this.dataValue;
|
|
147
155
|
}
|
|
@@ -150,8 +158,8 @@ export default class CheckBoxComponent extends Field {
|
|
|
150
158
|
return;
|
|
151
159
|
}
|
|
152
160
|
if (this.component.name) {
|
|
153
|
-
this.input.value =
|
|
154
|
-
this.input.checked =
|
|
161
|
+
this.input.value = value === this.component.value ? this.component.value : 0;
|
|
162
|
+
this.input.checked = value === this.component.value ? 1 : 0;
|
|
155
163
|
}
|
|
156
164
|
else if (value === 'on') {
|
|
157
165
|
this.input.value = 1;
|
|
@@ -191,7 +199,7 @@ export default class CheckBoxComponent extends Field {
|
|
|
191
199
|
}
|
|
192
200
|
updateValue(value, flags) {
|
|
193
201
|
// If this is a radio and is alredy checked, uncheck it.
|
|
194
|
-
if (this.component.name && flags.modified &&
|
|
202
|
+
if (this.component.name && flags.modified && this.dataValue === this.component.value) {
|
|
195
203
|
this.input.checked = 0;
|
|
196
204
|
this.input.value = 0;
|
|
197
205
|
this.dataValue = '';
|
|
@@ -11,7 +11,7 @@ export default [
|
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
key: 'labelMargin',
|
|
14
|
-
ignore: true
|
|
14
|
+
ignore: true,
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
key: 'placeholder',
|
|
@@ -57,7 +57,12 @@ export default [
|
|
|
57
57
|
tooltip: 'The key used to trigger the radio button toggle.',
|
|
58
58
|
weight: 420,
|
|
59
59
|
conditional: {
|
|
60
|
-
json: {
|
|
60
|
+
json: {
|
|
61
|
+
'===': [
|
|
62
|
+
{ var: 'data.inputType' },
|
|
63
|
+
'radio',
|
|
64
|
+
],
|
|
65
|
+
},
|
|
61
66
|
},
|
|
62
67
|
},
|
|
63
68
|
{
|
|
@@ -68,7 +73,12 @@ export default [
|
|
|
68
73
|
tooltip: 'The value used with this radio button.',
|
|
69
74
|
weight: 430,
|
|
70
75
|
conditional: {
|
|
71
|
-
json: {
|
|
76
|
+
json: {
|
|
77
|
+
'===': [
|
|
78
|
+
{ var: 'data.inputType' },
|
|
79
|
+
'radio',
|
|
80
|
+
],
|
|
81
|
+
},
|
|
72
82
|
},
|
|
73
83
|
},
|
|
74
84
|
];
|
|
@@ -8,13 +8,13 @@ export default class ColumnsComponent extends NestedComponent {
|
|
|
8
8
|
type: 'columns',
|
|
9
9
|
columns: [
|
|
10
10
|
{ components: [], width: 6, offset: 0, push: 0, pull: 0, size: 'md' },
|
|
11
|
-
{ components: [], width: 6, offset: 0, push: 0, pull: 0, size: 'md' }
|
|
11
|
+
{ components: [], width: 6, offset: 0, push: 0, pull: 0, size: 'md' },
|
|
12
12
|
],
|
|
13
13
|
clearOnHide: false,
|
|
14
14
|
input: false,
|
|
15
15
|
tableView: false,
|
|
16
16
|
persistent: false,
|
|
17
|
-
autoAdjust: false
|
|
17
|
+
autoAdjust: false,
|
|
18
18
|
}, ...extend);
|
|
19
19
|
}
|
|
20
20
|
static get builderInfo() {
|
|
@@ -25,7 +25,7 @@ export default class ColumnsComponent extends NestedComponent {
|
|
|
25
25
|
documentation: '/userguide/form-building/layout-components#columns',
|
|
26
26
|
showPreview: false,
|
|
27
27
|
weight: 10,
|
|
28
|
-
schema: ColumnsComponent.schema()
|
|
28
|
+
schema: ColumnsComponent.schema(),
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
static savedValueTypes() {
|
|
@@ -36,7 +36,9 @@ export default class ColumnsComponent extends NestedComponent {
|
|
|
36
36
|
this.rows = [];
|
|
37
37
|
}
|
|
38
38
|
get schema() {
|
|
39
|
-
const schema = _.omit(super.schema, [
|
|
39
|
+
const schema = _.omit(super.schema, [
|
|
40
|
+
'components',
|
|
41
|
+
]);
|
|
40
42
|
schema.columns?.map((column, colIndex) => {
|
|
41
43
|
column.components.map((comp, compIndex) => {
|
|
42
44
|
const clonedComp = _.clone(comp);
|
|
@@ -87,13 +89,13 @@ export default class ColumnsComponent extends NestedComponent {
|
|
|
87
89
|
render() {
|
|
88
90
|
return super.render(this.renderTemplate('columns', {
|
|
89
91
|
columnKey: this.columnKey,
|
|
90
|
-
columnComponents: this.columns.map(column => this.renderComponents(column))
|
|
92
|
+
columnComponents: this.columns.map((column) => this.renderComponents(column)),
|
|
91
93
|
}));
|
|
92
94
|
}
|
|
93
95
|
justifyColumn(items, index) {
|
|
94
|
-
const toAdjust = _.every(items, item => !item.visible);
|
|
96
|
+
const toAdjust = _.every(items, (item) => !item.visible);
|
|
95
97
|
const column = this.component.columns[index];
|
|
96
|
-
const width =
|
|
98
|
+
const width = toAdjust && items.length ? 0 : column.width;
|
|
97
99
|
const shouldRedraw = !_.isEqual(width, column.currentWidth);
|
|
98
100
|
column.currentWidth = width;
|
|
99
101
|
return shouldRedraw;
|
|
@@ -118,20 +120,30 @@ export default class ColumnsComponent extends NestedComponent {
|
|
|
118
120
|
*/
|
|
119
121
|
groupByRow() {
|
|
120
122
|
const initVal = { stack: [], rows: [] };
|
|
121
|
-
const width = x => x.component.width;
|
|
123
|
+
const width = (x) => x.component.width;
|
|
122
124
|
const result = _.reduce(this.components, (acc, next) => {
|
|
123
|
-
const stack = [
|
|
125
|
+
const stack = [
|
|
126
|
+
...acc.stack,
|
|
127
|
+
next,
|
|
128
|
+
];
|
|
124
129
|
if (_.sumBy(stack, width) <= this.gridSize) {
|
|
125
130
|
acc.stack = stack;
|
|
126
131
|
return acc;
|
|
127
132
|
}
|
|
128
133
|
else {
|
|
129
|
-
acc.rows = [
|
|
130
|
-
|
|
134
|
+
acc.rows = [
|
|
135
|
+
...acc.rows,
|
|
136
|
+
acc.stack,
|
|
137
|
+
];
|
|
138
|
+
acc.stack = [
|
|
139
|
+
next,
|
|
140
|
+
];
|
|
131
141
|
return acc;
|
|
132
142
|
}
|
|
133
143
|
}, initVal);
|
|
134
|
-
return _.concat(result.rows, [
|
|
144
|
+
return _.concat(result.rows, [
|
|
145
|
+
result.stack,
|
|
146
|
+
]);
|
|
135
147
|
}
|
|
136
148
|
checkData(data, flags, row, components) {
|
|
137
149
|
super.checkData(data, flags, row, components);
|