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