@formio/js 5.2.4-rc.0 → 5.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +50 -161
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +49 -158
- package/dist/formio.form.js +108 -152
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +50 -161
- package/dist/formio.full.js +227 -401
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +18 -51
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +14 -47
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +2 -3
- package/lib/cjs/Element.js +26 -29
- package/lib/cjs/Embed.js +42 -75
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +341 -371
- package/lib/cjs/Form.js +39 -153
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +3 -2
- package/lib/cjs/Formio.js +23 -26
- package/lib/cjs/InlineEmbed.js +17 -23
- package/lib/cjs/PDF.d.ts +0 -1
- package/lib/cjs/PDF.js +15 -18
- package/lib/cjs/PDFBuilder.js +36 -51
- package/lib/cjs/Webform.d.ts +366 -8
- package/lib/cjs/Webform.js +238 -177
- package/lib/cjs/WebformBuilder.js +152 -221
- package/lib/cjs/Wizard.js +65 -95
- package/lib/cjs/WizardBuilder.js +19 -27
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +4 -0
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +198 -309
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
- package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +1 -7
- package/lib/cjs/components/_classes/input/Input.js +26 -30
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
- package/lib/cjs/components/address/Address.d.ts +0 -1
- package/lib/cjs/components/address/Address.js +52 -57
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
- package/lib/cjs/components/alert/Alert.js +15 -21
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +47 -64
- package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +20 -28
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +12 -24
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +4 -6
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +2 -4
- package/lib/cjs/components/content/Content.js +8 -10
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +10 -19
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +42 -92
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +35 -46
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +15 -30
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +58 -147
- package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +96 -142
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +90 -131
- package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
- package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +58 -68
- package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
- package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
- package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +17 -23
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +11 -27
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +2 -5
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +32 -58
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +140 -235
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +17 -26
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +17 -30
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -8
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +10 -27
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +12 -28
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +45 -63
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +21 -32
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +10 -17
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +1 -2
- package/lib/cjs/formio.form.js +12 -38
- package/lib/cjs/i18n.d.ts +0 -4
- package/lib/cjs/i18n.js +3 -7
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/pdf.image.d.ts +2 -0
- package/lib/cjs/pdf.image.js +94 -0
- package/lib/cjs/providers/address/AddressProvider.js +5 -8
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
- package/lib/cjs/providers/processor/fileProcessor.js +1 -3
- package/lib/cjs/providers/storage/azure.js +2 -5
- package/lib/cjs/providers/storage/dropbox.js +5 -4
- package/lib/cjs/providers/storage/googleDrive.js +4 -3
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +6 -16
- package/lib/cjs/providers/storage/s3.js +6 -17
- package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
- package/lib/cjs/providers/storage/url.js +11 -13
- package/lib/cjs/providers/storage/xhr.js +9 -17
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/en.d.ts +2 -0
- package/lib/cjs/translations/en.js +9 -7
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +7 -31
- package/lib/cjs/utils/calendarUtils.js +5 -7
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +1 -7
- package/lib/cjs/utils/index.d.ts +1 -2
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
- package/lib/cjs/utils/jsonlogic/operators.js +265 -0
- package/lib/cjs/utils/utils.d.ts +1 -10
- package/lib/cjs/utils/utils.js +92 -175
- package/lib/cjs/widgets/CalendarWidget.js +49 -66
- package/lib/cjs/widgets/InputWidget.js +4 -6
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +2 -3
- package/lib/mjs/Element.js +23 -29
- package/lib/mjs/Embed.js +43 -77
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +341 -371
- package/lib/mjs/Form.js +126 -142
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +3 -2
- package/lib/mjs/Formio.js +23 -26
- package/lib/mjs/InlineEmbed.js +17 -23
- package/lib/mjs/PDF.d.ts +0 -1
- package/lib/mjs/PDF.js +15 -18
- package/lib/mjs/PDFBuilder.js +36 -51
- package/lib/mjs/Webform.d.ts +366 -8
- package/lib/mjs/Webform.js +251 -184
- package/lib/mjs/WebformBuilder.js +151 -224
- package/lib/mjs/Wizard.js +64 -94
- package/lib/mjs/WizardBuilder.js +19 -27
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +4 -0
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +194 -313
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
- package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +2 -8
- package/lib/mjs/components/_classes/input/Input.js +23 -27
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
- package/lib/mjs/components/address/Address.d.ts +0 -1
- package/lib/mjs/components/address/Address.js +49 -60
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
- package/lib/mjs/components/alert/Alert.js +16 -22
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +42 -65
- package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +21 -29
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +12 -24
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +4 -6
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +2 -4
- package/lib/mjs/components/content/Content.js +8 -10
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +10 -19
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +41 -92
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +33 -46
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +16 -31
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +58 -148
- package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +92 -140
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +89 -136
- package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
- package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +55 -68
- package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
- package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
- package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +17 -23
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +12 -28
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +2 -5
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +30 -59
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +145 -240
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +16 -26
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +17 -30
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +6 -8
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +9 -27
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +12 -28
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +51 -75
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +23 -34
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +10 -17
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +1 -2
- package/lib/mjs/formio.form.js +8 -10
- package/lib/mjs/i18n.d.ts +0 -4
- package/lib/mjs/i18n.js +3 -7
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/pdf.image.d.ts +2 -0
- package/lib/mjs/pdf.image.js +94 -0
- package/lib/mjs/providers/address/AddressProvider.js +5 -8
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
- package/lib/mjs/providers/processor/fileProcessor.js +1 -3
- package/lib/mjs/providers/storage/azure.js +2 -5
- package/lib/mjs/providers/storage/dropbox.js +5 -4
- package/lib/mjs/providers/storage/googleDrive.js +4 -3
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +6 -16
- package/lib/mjs/providers/storage/s3.js +8 -19
- package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
- package/lib/mjs/providers/storage/url.js +11 -13
- package/lib/mjs/providers/storage/xhr.js +9 -17
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/en.d.ts +2 -0
- package/lib/mjs/translations/en.js +9 -7
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +7 -31
- package/lib/mjs/utils/calendarUtils.js +5 -7
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +1 -7
- package/lib/mjs/utils/index.d.ts +1 -2
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
- package/lib/mjs/utils/jsonlogic/operators.js +262 -0
- package/lib/mjs/utils/utils.d.ts +1 -10
- package/lib/mjs/utils/utils.js +91 -178
- package/lib/mjs/widgets/CalendarWidget.js +50 -67
- package/lib/mjs/widgets/InputWidget.js +4 -6
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/translations/de.d.ts +0 -80
- package/lib/cjs/translations/de.js +0 -81
- package/lib/mjs/translations/de.d.ts +0 -80
- package/lib/mjs/translations/de.js +0 -79
|
@@ -9,13 +9,11 @@ export default class RadioComponent extends ListComponent {
|
|
|
9
9
|
inputType: 'radio',
|
|
10
10
|
label: 'Radio',
|
|
11
11
|
key: 'radio',
|
|
12
|
-
values: [
|
|
13
|
-
{ label: '', value: '' },
|
|
14
|
-
],
|
|
12
|
+
values: [{ label: '', value: '' }],
|
|
15
13
|
data: {
|
|
16
14
|
url: '',
|
|
17
15
|
},
|
|
18
|
-
fieldSet: false
|
|
16
|
+
fieldSet: false
|
|
19
17
|
}, ...extend);
|
|
20
18
|
}
|
|
21
19
|
static get builderInfo() {
|
|
@@ -25,7 +23,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
25
23
|
icon: 'dot-circle-o',
|
|
26
24
|
weight: 80,
|
|
27
25
|
documentation: '/userguide/form-building/form-components#radio',
|
|
28
|
-
schema: RadioComponent.schema()
|
|
26
|
+
schema: RadioComponent.schema()
|
|
29
27
|
};
|
|
30
28
|
}
|
|
31
29
|
static get conditionOperatorsSettings() {
|
|
@@ -41,13 +39,13 @@ export default class RadioComponent extends ListComponent {
|
|
|
41
39
|
dataType: classComp.dataType || '',
|
|
42
40
|
data: {
|
|
43
41
|
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`,
|
|
44
|
-
}
|
|
42
|
+
}
|
|
45
43
|
}
|
|
46
44
|
: {
|
|
47
45
|
...classComp,
|
|
48
46
|
type: 'select',
|
|
49
47
|
};
|
|
50
|
-
}
|
|
48
|
+
}
|
|
51
49
|
};
|
|
52
50
|
}
|
|
53
51
|
static get serverConditionSettings() {
|
|
@@ -61,23 +59,12 @@ export default class RadioComponent extends ListComponent {
|
|
|
61
59
|
return types;
|
|
62
60
|
}
|
|
63
61
|
if (dataType === 'object') {
|
|
64
|
-
return [
|
|
65
|
-
object,
|
|
66
|
-
array,
|
|
67
|
-
];
|
|
62
|
+
return [object, array];
|
|
68
63
|
}
|
|
69
64
|
if (componentValueTypes[dataType]) {
|
|
70
|
-
return [
|
|
71
|
-
componentValueTypes[dataType],
|
|
72
|
-
];
|
|
65
|
+
return [componentValueTypes[dataType]];
|
|
73
66
|
}
|
|
74
|
-
return [
|
|
75
|
-
boolean,
|
|
76
|
-
string,
|
|
77
|
-
number,
|
|
78
|
-
object,
|
|
79
|
-
array,
|
|
80
|
-
];
|
|
67
|
+
return [boolean, string, number, object, array];
|
|
81
68
|
}
|
|
82
69
|
constructor(component, options, data) {
|
|
83
70
|
super(component, options, data);
|
|
@@ -98,7 +85,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
98
85
|
this.setValue(this.emptyValue, {
|
|
99
86
|
noUpdateEvent: true,
|
|
100
87
|
noValidate: true,
|
|
101
|
-
resetValue: true
|
|
88
|
+
resetValue: true
|
|
102
89
|
});
|
|
103
90
|
}
|
|
104
91
|
get inputInfo() {
|
|
@@ -162,7 +149,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
162
149
|
this.getTemplateKeys();
|
|
163
150
|
}
|
|
164
151
|
beforeSubmit() {
|
|
165
|
-
return new Promise(
|
|
152
|
+
return new Promise(res => {
|
|
166
153
|
this.dataReady.then(() => res(true));
|
|
167
154
|
});
|
|
168
155
|
}
|
|
@@ -195,14 +182,11 @@ export default class RadioComponent extends ListComponent {
|
|
|
195
182
|
dataValue = _.toString(this.dataValue);
|
|
196
183
|
}
|
|
197
184
|
if (this.isSelectURL && _.isObject(this.loadedOptions[index].value)) {
|
|
198
|
-
const optionValue = this.component.dataType === 'string'
|
|
199
|
-
? JSON.stringify(this.loadedOptions[index].value)
|
|
200
|
-
: this.loadedOptions[index].value;
|
|
185
|
+
const optionValue = this.component.dataType === 'string' ? JSON.stringify(this.loadedOptions[index].value) : this.loadedOptions[index].value;
|
|
201
186
|
input.checked = _.isEqual(optionValue, this.dataValue);
|
|
202
187
|
}
|
|
203
188
|
else {
|
|
204
|
-
input.checked =
|
|
205
|
-
dataValue === input.value && (input.value || this.component.dataSrc !== 'url');
|
|
189
|
+
input.checked = (dataValue === input.value && (input.value || this.component.dataSrc !== 'url'));
|
|
206
190
|
}
|
|
207
191
|
this.addEventListener(input, 'keyup', (event) => {
|
|
208
192
|
if (event.key === ' ' && dataValue === input.value) {
|
|
@@ -236,10 +220,9 @@ export default class RadioComponent extends ListComponent {
|
|
|
236
220
|
let value = this.component.inputType === 'checkbox' ? '' : this.dataValue;
|
|
237
221
|
this.refs.input.forEach((input, index) => {
|
|
238
222
|
if (input.checked) {
|
|
239
|
-
value =
|
|
240
|
-
this.
|
|
241
|
-
|
|
242
|
-
: input.value;
|
|
223
|
+
value = (this.isSelectURL && _.isObject(this.loadedOptions[index].value)) ?
|
|
224
|
+
this.loadedOptions[index].value :
|
|
225
|
+
input.value;
|
|
243
226
|
}
|
|
244
227
|
});
|
|
245
228
|
return value;
|
|
@@ -256,8 +239,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
256
239
|
}
|
|
257
240
|
const values = this.component.dataSrc === 'values' ? this.component.values : this.loadedOptions;
|
|
258
241
|
if (values) {
|
|
259
|
-
return
|
|
260
|
-
-1);
|
|
242
|
+
return values.findIndex(({ value: optionValue }) => this.normalizeValue(optionValue) === value) !== -1;
|
|
261
243
|
}
|
|
262
244
|
return false;
|
|
263
245
|
}
|
|
@@ -268,18 +250,15 @@ export default class RadioComponent extends ListComponent {
|
|
|
268
250
|
else if (!_.isString(value)) {
|
|
269
251
|
value = _.toString(value);
|
|
270
252
|
}
|
|
271
|
-
const shouldUseSelectData = (options.modalPreview || this.inDataTable)
|
|
272
|
-
this.component.dataSrc === 'url' &&
|
|
273
|
-
(this.loadedOptions.length || this.selectData);
|
|
253
|
+
const shouldUseSelectData = (options.modalPreview || this.inDataTable)
|
|
254
|
+
&& this.component.dataSrc === 'url' && (this.loadedOptions.length || this.selectData);
|
|
274
255
|
if (this.component.dataSrc !== 'values' && !shouldUseSelectData) {
|
|
275
256
|
return value;
|
|
276
257
|
}
|
|
277
258
|
const values = shouldUseSelectData ? this.loadedOptions : this.component.values;
|
|
278
|
-
const option = !values?.length && shouldUseSelectData
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
282
|
-
: _.find(values, (v) => v.value === value);
|
|
259
|
+
const option = !values?.length && shouldUseSelectData ? {
|
|
260
|
+
label: this.itemTemplate(this.selectData),
|
|
261
|
+
} : _.find(values, (v) => v.value === value);
|
|
283
262
|
if (!value) {
|
|
284
263
|
return _.get(option, 'label', '');
|
|
285
264
|
}
|
|
@@ -288,7 +267,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
288
267
|
setValueAt(index, value) {
|
|
289
268
|
if (this.refs.input && this.refs.input[index] && value !== null && value !== undefined) {
|
|
290
269
|
const inputValue = this.refs.input[index].value;
|
|
291
|
-
this.refs.input[index].checked = inputValue === value.toString();
|
|
270
|
+
this.refs.input[index].checked = (inputValue === value.toString());
|
|
292
271
|
}
|
|
293
272
|
}
|
|
294
273
|
get shouldLoad() {
|
|
@@ -322,7 +301,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
322
301
|
search,
|
|
323
302
|
limit,
|
|
324
303
|
skip,
|
|
325
|
-
page: Math.abs(Math.floor(skip / limit))
|
|
304
|
+
page: Math.abs(Math.floor(skip / limit))
|
|
326
305
|
}), this.shouldSanitizeValue);
|
|
327
306
|
// Set ignoreCache if it is
|
|
328
307
|
options.ignoreCache = this.component.ignoreCache;
|
|
@@ -345,7 +324,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
345
324
|
loadItemsFromMetadata() {
|
|
346
325
|
this.listData.forEach((item, i) => {
|
|
347
326
|
this.loadedOptions[i] = {
|
|
348
|
-
label: this.itemTemplate(item)
|
|
327
|
+
label: this.itemTemplate(item)
|
|
349
328
|
};
|
|
350
329
|
if (_.isEqual(item, this.selectData || _.pick(this.dataValue, _.keys(item)))) {
|
|
351
330
|
this.loadedOptions[i].value = this.dataValue;
|
|
@@ -360,9 +339,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
360
339
|
const valueAtProperty = _.get(item, this.component.valueProperty);
|
|
361
340
|
this.loadedOptions[i] = {
|
|
362
341
|
value: this.component.valueProperty ? valueAtProperty : item,
|
|
363
|
-
label: this.component.valueProperty
|
|
364
|
-
? this.itemTemplate(item, valueAtProperty)
|
|
365
|
-
: this.itemTemplate(item, item, i),
|
|
342
|
+
label: this.component.valueProperty ? this.itemTemplate(item, valueAtProperty) : this.itemTemplate(item, item, i)
|
|
366
343
|
};
|
|
367
344
|
listData.push(this.templateData[this.component.valueProperty ? valueAtProperty : i]);
|
|
368
345
|
const value = this.loadedOptions[i].value;
|
|
@@ -371,7 +348,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
371
348
|
}
|
|
372
349
|
});
|
|
373
350
|
if (this.isSelectURL) {
|
|
374
|
-
const submission = this.root
|
|
351
|
+
const submission = this.root?.submission;
|
|
375
352
|
if (!submission.metadata) {
|
|
376
353
|
submission.metadata = {};
|
|
377
354
|
}
|
|
@@ -388,11 +365,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
388
365
|
const value = this.dataValue;
|
|
389
366
|
this.refs.wrapper.forEach((wrapper, index) => {
|
|
390
367
|
const input = this.refs.input[index];
|
|
391
|
-
const checked = value === undefined || value === null
|
|
392
|
-
? false
|
|
393
|
-
: input.type === 'checkbox'
|
|
394
|
-
? value[input.value] || input.checked
|
|
395
|
-
: input.value.toString() === value.toString();
|
|
368
|
+
const checked = (value === undefined || value === null) ? false : (input.type === 'checkbox') ? value[input.value] || input.checked : (input.value.toString() === value.toString());
|
|
396
369
|
if (checked) {
|
|
397
370
|
//add class to container when selected
|
|
398
371
|
this.addClass(wrapper, this.optionSelectedClass);
|
|
@@ -422,7 +395,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
422
395
|
const shouldResetValue = flags && flags.modified && !flags.noUpdateEvent && this.previousValue === this.currentValue;
|
|
423
396
|
if (shouldResetValue) {
|
|
424
397
|
this.resetValue();
|
|
425
|
-
this.triggerChange(flags);
|
|
398
|
+
this.triggerChange?.(flags);
|
|
426
399
|
this.setSelectedClasses();
|
|
427
400
|
}
|
|
428
401
|
this.previousValue = this.dataValue;
|
|
@@ -440,9 +413,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
440
413
|
}
|
|
441
414
|
switch (dataType) {
|
|
442
415
|
case 'auto':
|
|
443
|
-
if (!isNaN(parseFloat(value)) &&
|
|
444
|
-
isFinite(value) &&
|
|
445
|
-
_.toString(value) === Number(value).toString()) {
|
|
416
|
+
if (!isNaN(parseFloat(value)) && isFinite(value) && _.toString(value) === Number(value).toString()) {
|
|
446
417
|
value = +value;
|
|
447
418
|
}
|
|
448
419
|
if (value === 'true') {
|
|
@@ -468,7 +439,7 @@ export default class RadioComponent extends ListComponent {
|
|
|
468
439
|
break;
|
|
469
440
|
}
|
|
470
441
|
if (this.isSelectURL && this.templateData && this.templateData[value]) {
|
|
471
|
-
const submission = this.root
|
|
442
|
+
const submission = this.root?.submission;
|
|
472
443
|
if (!submission.metadata.selectData) {
|
|
473
444
|
submission.metadata.selectData = {};
|
|
474
445
|
}
|
|
@@ -13,14 +13,12 @@ export default [
|
|
|
13
13
|
{ label: 'URL', value: 'url' },
|
|
14
14
|
],
|
|
15
15
|
},
|
|
16
|
-
validate: {
|
|
17
|
-
required: true
|
|
16
|
+
'validate': {
|
|
17
|
+
'required': true
|
|
18
18
|
},
|
|
19
19
|
onChange(context) {
|
|
20
20
|
if (context && context.flags && context.flags && context.flags.modified) {
|
|
21
|
-
context.data.values = [
|
|
22
|
-
{ label: '', value: '' },
|
|
23
|
-
];
|
|
21
|
+
context.data.values = [{ label: '', value: '' }];
|
|
24
22
|
}
|
|
25
23
|
},
|
|
26
24
|
},
|
|
@@ -32,9 +30,7 @@ export default [
|
|
|
32
30
|
tooltip: 'The radio button values that can be picked for this field. Values are text submitted with the form data. Labels are text that appears next to the radio buttons on the form.',
|
|
33
31
|
weight: 10,
|
|
34
32
|
reorder: true,
|
|
35
|
-
defaultValue: [
|
|
36
|
-
{ label: '', value: '' },
|
|
37
|
-
],
|
|
33
|
+
defaultValue: [{ label: '', value: '' }],
|
|
38
34
|
components: [
|
|
39
35
|
{
|
|
40
36
|
label: 'Label',
|
|
@@ -50,8 +46,8 @@ export default [
|
|
|
50
46
|
allowCalculateOverride: true,
|
|
51
47
|
calculateValue: 'value = _.camelCase(row.label);',
|
|
52
48
|
validate: {
|
|
53
|
-
required: true
|
|
54
|
-
}
|
|
49
|
+
required: true
|
|
50
|
+
}
|
|
55
51
|
},
|
|
56
52
|
{
|
|
57
53
|
type: 'select',
|
|
@@ -72,12 +68,7 @@ export default [
|
|
|
72
68
|
},
|
|
73
69
|
],
|
|
74
70
|
conditional: {
|
|
75
|
-
json: {
|
|
76
|
-
'===': [
|
|
77
|
-
{ var: 'data.dataSrc' },
|
|
78
|
-
'values',
|
|
79
|
-
],
|
|
80
|
-
},
|
|
71
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'values'] },
|
|
81
72
|
},
|
|
82
73
|
},
|
|
83
74
|
{
|
|
@@ -103,12 +94,7 @@ export default [
|
|
|
103
94
|
{
|
|
104
95
|
key: 'template',
|
|
105
96
|
conditional: {
|
|
106
|
-
json: {
|
|
107
|
-
'===': [
|
|
108
|
-
{ var: 'data.dataSrc' },
|
|
109
|
-
'url',
|
|
110
|
-
],
|
|
111
|
-
},
|
|
97
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
112
98
|
},
|
|
113
|
-
}
|
|
99
|
+
}
|
|
114
100
|
];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default [
|
|
2
2
|
{
|
|
3
3
|
key: 'placeholder',
|
|
4
|
-
ignore: true
|
|
4
|
+
ignore: true
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
type: 'select',
|
|
@@ -17,9 +17,9 @@ export default [
|
|
|
17
17
|
{ label: 'Top', value: 'top' },
|
|
18
18
|
{ label: 'Left', value: 'left' },
|
|
19
19
|
{ label: 'Right', value: 'right' },
|
|
20
|
-
{ label: 'Bottom', value: 'bottom' }
|
|
21
|
-
]
|
|
22
|
-
}
|
|
20
|
+
{ label: 'Bottom', value: 'bottom' }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
type: 'checkbox',
|
|
@@ -27,6 +27,6 @@ export default [
|
|
|
27
27
|
key: 'inline',
|
|
28
28
|
label: 'Inline Layout',
|
|
29
29
|
tooltip: 'Displays the checkboxes/radios horizontally.',
|
|
30
|
-
weight: 650
|
|
31
|
-
}
|
|
30
|
+
weight: 650
|
|
31
|
+
}
|
|
32
32
|
];
|
|
@@ -9,23 +9,23 @@ export default function (...extend) {
|
|
|
9
9
|
return Components.baseEditForm([
|
|
10
10
|
{
|
|
11
11
|
key: 'display',
|
|
12
|
-
components: ReCaptchaEditDisplay
|
|
12
|
+
components: ReCaptchaEditDisplay
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
key: 'data',
|
|
16
|
-
ignore: true
|
|
16
|
+
ignore: true
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
key: 'validation',
|
|
20
|
-
ignore: true
|
|
20
|
+
ignore: true
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
key: 'conditional',
|
|
24
|
-
ignore: true
|
|
24
|
+
ignore: true
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
key: 'logic',
|
|
28
|
-
ignore: true
|
|
28
|
+
ignore: true
|
|
29
29
|
},
|
|
30
30
|
], ...extend);
|
|
31
31
|
}
|
|
@@ -8,7 +8,7 @@ export default class ReCaptchaComponent extends Component {
|
|
|
8
8
|
return Component.schema({
|
|
9
9
|
type: 'recaptcha',
|
|
10
10
|
key: 'recaptcha',
|
|
11
|
-
label: 'reCAPTCHA'
|
|
11
|
+
label: 'reCAPTCHA'
|
|
12
12
|
}, ...extend);
|
|
13
13
|
}
|
|
14
14
|
static get builderInfo() {
|
|
@@ -20,10 +20,7 @@ export default class ReCaptchaComponent extends Component {
|
|
|
20
20
|
static get conditionOperatorsSettings() {
|
|
21
21
|
return {
|
|
22
22
|
...super.conditionOperatorsSettings,
|
|
23
|
-
operators: [
|
|
24
|
-
'isEmpty',
|
|
25
|
-
'isNotEmpty',
|
|
26
|
-
],
|
|
23
|
+
operators: ['isEmpty', 'isNotEmpty'],
|
|
27
24
|
};
|
|
28
25
|
}
|
|
29
26
|
static get serverConditionSettings() {
|
|
@@ -44,7 +41,7 @@ export default class ReCaptchaComponent extends Component {
|
|
|
44
41
|
this.append(this.text(this.name));
|
|
45
42
|
}
|
|
46
43
|
else {
|
|
47
|
-
const siteKey = _get(this.root
|
|
44
|
+
const siteKey = _get(this.root?.form, 'settings.recaptcha.siteKey');
|
|
48
45
|
if (siteKey) {
|
|
49
46
|
const recaptchaApiScriptUrl = `https://www.google.com/recaptcha/api.js?render=${siteKey}`;
|
|
50
47
|
this.recaptchaApiReady = Formio.requireLibrary('googleRecaptcha', 'grecaptcha', recaptchaApiScriptUrl, true);
|
|
@@ -61,13 +58,13 @@ export default class ReCaptchaComponent extends Component {
|
|
|
61
58
|
return true;
|
|
62
59
|
}
|
|
63
60
|
async verify(actionName) {
|
|
64
|
-
const siteKey = _get(this.root
|
|
61
|
+
const siteKey = _get(this.root?.form, 'settings.recaptcha.siteKey');
|
|
65
62
|
if (!siteKey) {
|
|
66
63
|
console.warn('There is no Site Key specified in settings in form JSON');
|
|
67
64
|
return;
|
|
68
65
|
}
|
|
69
66
|
if (!this.recaptchaApiReady) {
|
|
70
|
-
const recaptchaApiScriptUrl = `https://www.google.com/recaptcha/api.js?render=${_get(this.root
|
|
67
|
+
const recaptchaApiScriptUrl = `https://www.google.com/recaptcha/api.js?render=${_get(this.root?.form, 'settings.recaptcha.siteKey')}`;
|
|
71
68
|
this.recaptchaApiReady = Formio.requireLibrary('googleRecaptcha', 'grecaptcha', recaptchaApiScriptUrl, true);
|
|
72
69
|
}
|
|
73
70
|
try {
|
|
@@ -95,13 +92,14 @@ export default class ReCaptchaComponent extends Component {
|
|
|
95
92
|
}
|
|
96
93
|
});
|
|
97
94
|
}
|
|
98
|
-
catch (
|
|
95
|
+
catch (err) {
|
|
99
96
|
this.loading = false;
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
beforeSubmit() {
|
|
103
100
|
if (this.recaptchaVerifiedPromise) {
|
|
104
|
-
return this.recaptchaVerifiedPromise
|
|
101
|
+
return this.recaptchaVerifiedPromise
|
|
102
|
+
.then(() => super.beforeSubmit());
|
|
105
103
|
}
|
|
106
104
|
return super.beforeSubmit();
|
|
107
105
|
}
|
|
@@ -16,17 +16,17 @@ export default [
|
|
|
16
16
|
values: [
|
|
17
17
|
{
|
|
18
18
|
label: 'Form Load',
|
|
19
|
-
value: 'formLoad'
|
|
19
|
+
value: 'formLoad'
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
label: 'Button Click',
|
|
23
|
-
value: 'buttonClick'
|
|
24
|
-
}
|
|
23
|
+
value: 'buttonClick'
|
|
24
|
+
}
|
|
25
25
|
],
|
|
26
26
|
validate: {
|
|
27
|
-
required: true
|
|
27
|
+
required: true
|
|
28
28
|
},
|
|
29
|
-
weight: 650
|
|
29
|
+
weight: 650
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
type: 'select',
|
|
@@ -43,75 +43,75 @@ export default [
|
|
|
43
43
|
data: {
|
|
44
44
|
custom(context) {
|
|
45
45
|
return getContextButtons(context);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
key: 'label',
|
|
51
|
-
ignore: true
|
|
51
|
+
ignore: true
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
key: 'hideLabel',
|
|
55
|
-
ignore: true
|
|
55
|
+
ignore: true
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
58
|
key: 'labelPosition',
|
|
59
|
-
ignore: true
|
|
59
|
+
ignore: true
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
key: 'placeholder',
|
|
63
|
-
ignore: true
|
|
63
|
+
ignore: true
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
key: 'description',
|
|
67
|
-
ignore: true
|
|
67
|
+
ignore: true
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
key: 'tooltip',
|
|
71
|
-
ignore: true
|
|
71
|
+
ignore: true
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
key: 'errorLabel',
|
|
75
|
-
ignore: true
|
|
75
|
+
ignore: true
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
key: 'customClass',
|
|
79
|
-
ignore: true
|
|
79
|
+
ignore: true
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
key: 'tabindex',
|
|
83
|
-
ignore: true
|
|
83
|
+
ignore: true
|
|
84
84
|
},
|
|
85
85
|
{
|
|
86
86
|
key: 'multiple',
|
|
87
|
-
ignore: true
|
|
87
|
+
ignore: true
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
key: 'clearOnHide',
|
|
91
|
-
ignore: true
|
|
91
|
+
ignore: true
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
key: 'hidden',
|
|
95
|
-
ignore: true
|
|
95
|
+
ignore: true
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
98
|
key: 'mask',
|
|
99
|
-
ignore: true
|
|
99
|
+
ignore: true
|
|
100
100
|
},
|
|
101
101
|
{
|
|
102
102
|
key: 'dataGridLabel',
|
|
103
|
-
ignore: true
|
|
103
|
+
ignore: true
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
key: 'disabled',
|
|
107
|
-
ignore: true
|
|
107
|
+
ignore: true
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
key: 'autofocus',
|
|
111
|
-
ignore: true
|
|
111
|
+
ignore: true
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
114
|
key: 'tableView',
|
|
115
|
-
ignore: true
|
|
115
|
+
ignore: true
|
|
116
116
|
},
|
|
117
117
|
];
|
|
@@ -11,15 +11,15 @@ export default function (...extend) {
|
|
|
11
11
|
return listComponentForm([
|
|
12
12
|
{
|
|
13
13
|
key: 'display',
|
|
14
|
-
components: SelectEditDisplay
|
|
14
|
+
components: SelectEditDisplay
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
key: 'data',
|
|
18
|
-
components: SelectEditData
|
|
18
|
+
components: SelectEditData
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
key: 'validation',
|
|
22
|
-
components: SelectEditValidation
|
|
22
|
+
components: SelectEditValidation
|
|
23
23
|
},
|
|
24
24
|
], ...extend);
|
|
25
25
|
}
|