@formio/js 5.2.3 → 5.2.4-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +161 -50
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
export default [
|
|
2
2
|
{
|
|
3
3
|
key: 'labelPosition',
|
|
4
|
-
ignore: true
|
|
4
|
+
ignore: true,
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
key: 'placeholder',
|
|
8
|
-
ignore: true
|
|
8
|
+
ignore: true,
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
key: 'description',
|
|
12
|
-
ignore: true
|
|
12
|
+
ignore: true,
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
key: 'autofocus',
|
|
16
|
-
ignore: true
|
|
16
|
+
ignore: true,
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
key: 'tooltip',
|
|
20
|
-
ignore: true
|
|
20
|
+
ignore: true,
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
key: 'tabindex',
|
|
24
|
-
ignore: true
|
|
24
|
+
ignore: true,
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
key: 'tableView',
|
|
28
|
-
ignore: true
|
|
28
|
+
ignore: true,
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
key: 'hideLabel',
|
|
32
|
-
ignore: true
|
|
32
|
+
ignore: true,
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
weight: 0,
|
|
@@ -40,9 +40,9 @@ export default [
|
|
|
40
40
|
placeholder: 'Field Label',
|
|
41
41
|
tooltip: 'The label for this field.',
|
|
42
42
|
validate: {
|
|
43
|
-
required: true
|
|
43
|
+
required: true,
|
|
44
44
|
},
|
|
45
45
|
autofocus: true,
|
|
46
|
-
overrideEditForm: true
|
|
46
|
+
overrideEditForm: true,
|
|
47
47
|
},
|
|
48
48
|
];
|
package/lib/mjs/formio.form.d.ts
CHANGED
|
@@ -24,4 +24,5 @@ import Licenses from './licenses';
|
|
|
24
24
|
import EventEmitter from './EventEmitter';
|
|
25
25
|
import Webform from './Webform';
|
|
26
26
|
import { DefaultEvaluator } from './utils';
|
|
27
|
-
|
|
27
|
+
import { FormOptions } from './Form';
|
|
28
|
+
export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator, FormOptions };
|
package/lib/mjs/formio.form.js
CHANGED
|
@@ -6,15 +6,13 @@ import Displays from './displays/Displays';
|
|
|
6
6
|
import Templates from './templates/Templates';
|
|
7
7
|
import Providers from './providers';
|
|
8
8
|
import Widgets from './widgets';
|
|
9
|
-
import Form from './Form';
|
|
10
|
-
import Utils from './utils';
|
|
9
|
+
import Form, { FormOptions } from './Form';
|
|
10
|
+
import Utils, { Evaluator, registerEvaluator, DefaultEvaluator } from './utils';
|
|
11
11
|
import Licenses from './licenses';
|
|
12
12
|
import EventEmitter from './EventEmitter';
|
|
13
13
|
import Webform from './Webform';
|
|
14
|
-
import { Evaluator, registerEvaluator, DefaultEvaluator } from './utils';
|
|
15
14
|
Formio.loadModules = (path = `${Formio.getApiUrl()}/externalModules.js`, name = 'externalModules') => {
|
|
16
|
-
Formio.requireLibrary(name, name, path, true)
|
|
17
|
-
.then((modules) => {
|
|
15
|
+
Formio.requireLibrary(name, name, path, true).then((modules) => {
|
|
18
16
|
Formio.use(modules);
|
|
19
17
|
});
|
|
20
18
|
};
|
|
@@ -107,10 +105,14 @@ export function registerModule(mod, defaultFn = null, options = {}) {
|
|
|
107
105
|
*/
|
|
108
106
|
export function useModule(defaultFn = null) {
|
|
109
107
|
return (plugins, options = {}) => {
|
|
110
|
-
plugins = _.isArray(plugins)
|
|
108
|
+
plugins = _.isArray(plugins)
|
|
109
|
+
? plugins
|
|
110
|
+
: [
|
|
111
|
+
plugins,
|
|
112
|
+
];
|
|
111
113
|
plugins.forEach((plugin) => {
|
|
112
114
|
if (Array.isArray(plugin)) {
|
|
113
|
-
plugin.forEach(p => registerModule(p, defaultFn, options));
|
|
115
|
+
plugin.forEach((p) => registerModule(p, defaultFn, options));
|
|
114
116
|
}
|
|
115
117
|
else {
|
|
116
118
|
registerModule(plugin, defaultFn, options);
|
|
@@ -127,4 +129,4 @@ export function useModule(defaultFn = null) {
|
|
|
127
129
|
Formio.use = useModule();
|
|
128
130
|
export { Formio as FormioCore } from './Formio';
|
|
129
131
|
// Export the components.
|
|
130
|
-
export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator };
|
|
132
|
+
export { Components, Displays, Providers, Widgets, Templates, Utils, Form, Formio, Licenses, EventEmitter, Webform, DefaultEvaluator, FormOptions, };
|
package/lib/mjs/i18n.d.ts
CHANGED
package/lib/mjs/i18n.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import enTranslation from './translations/en';
|
|
2
|
+
import deTranslation from './translations/de';
|
|
2
3
|
import { fastCloneDeep } from './utils';
|
|
3
4
|
export default {
|
|
4
5
|
lng: 'en',
|
|
@@ -8,7 +9,10 @@ export default {
|
|
|
8
9
|
contextSeparator: '._.',
|
|
9
10
|
resources: {
|
|
10
11
|
en: {
|
|
11
|
-
translation: fastCloneDeep(enTranslation)
|
|
12
|
-
}
|
|
13
|
-
|
|
12
|
+
translation: fastCloneDeep(enTranslation),
|
|
13
|
+
},
|
|
14
|
+
de: {
|
|
15
|
+
translation: fastCloneDeep(deTranslation),
|
|
16
|
+
},
|
|
17
|
+
},
|
|
14
18
|
};
|
package/lib/mjs/package.json
CHANGED
|
@@ -87,7 +87,9 @@ export class AddressProvider {
|
|
|
87
87
|
* @returns {string} The serialized parameters.
|
|
88
88
|
*/
|
|
89
89
|
serialize(params) {
|
|
90
|
-
return _.toPairs(params)
|
|
90
|
+
return _.toPairs(params)
|
|
91
|
+
.map(([key, value,]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
92
|
+
.join('&');
|
|
91
93
|
}
|
|
92
94
|
/**
|
|
93
95
|
* @private
|
|
@@ -124,10 +126,9 @@ export class AddressProvider {
|
|
|
124
126
|
*/
|
|
125
127
|
search(query, options = {}) {
|
|
126
128
|
const requestOptions = this.getRequestOptions(options);
|
|
127
|
-
const params = requestOptions.params = requestOptions.params || {};
|
|
129
|
+
const params = (requestOptions.params = requestOptions.params || {});
|
|
128
130
|
params[this.queryProperty] = query;
|
|
129
|
-
return this.makeRequest(requestOptions)
|
|
130
|
-
.then((result) => this.responseProperty ? _.get(result, this.responseProperty, []) : result);
|
|
131
|
+
return this.makeRequest(requestOptions).then((result) => this.responseProperty ? _.get(result, this.responseProperty, []) : result);
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
133
134
|
* @public
|
|
@@ -135,6 +136,8 @@ export class AddressProvider {
|
|
|
135
136
|
* @returns {string} The display value of the address.
|
|
136
137
|
*/
|
|
137
138
|
getDisplayValue(address) {
|
|
138
|
-
return this.displayValueProperty
|
|
139
|
+
return this.displayValueProperty
|
|
140
|
+
? _.get(address, this.displayValueProperty, '')
|
|
141
|
+
: String(address);
|
|
139
142
|
}
|
|
140
143
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*/
|
|
27
27
|
export class GoogleAddressProvider extends AddressProvider {
|
|
28
28
|
/**
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
* @param {ProviderOptions} options - The options for the provider.
|
|
31
31
|
*/
|
|
32
32
|
constructor(options?: ProviderOptions);
|
|
@@ -50,11 +50,11 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
50
50
|
_autocompleteOptions: AutocompleteOptions | undefined;
|
|
51
51
|
/**
|
|
52
52
|
* Sets the autocomplete options based on the provider options.
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
*/
|
|
55
55
|
setAutocompleteOptions(): void;
|
|
56
56
|
/**
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
* Converts the region to autocomplete option if it exists.
|
|
59
59
|
* @param {ProviderOptions} options - The provider options.
|
|
60
60
|
*/
|
|
@@ -45,7 +45,7 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
45
45
|
return 'Google Maps';
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
|
|
48
|
+
|
|
49
49
|
* @param {ProviderOptions} options - The options for the provider.
|
|
50
50
|
*/
|
|
51
51
|
constructor(options = {}) {
|
|
@@ -85,7 +85,7 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Sets the autocomplete options based on the provider options.
|
|
88
|
-
|
|
88
|
+
|
|
89
89
|
*/
|
|
90
90
|
setAutocompleteOptions() {
|
|
91
91
|
let options = _.get(this.options, 'params.autocompleteOptions', {});
|
|
@@ -96,7 +96,7 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
96
96
|
this.autocompleteOptions = options;
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
99
|
-
|
|
99
|
+
|
|
100
100
|
* Converts the region to autocomplete option if it exists.
|
|
101
101
|
* @param {ProviderOptions} options - The provider options.
|
|
102
102
|
*/
|
|
@@ -120,18 +120,27 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
120
120
|
if (region && !_.has(options, 'params.autocompleteOptions')) {
|
|
121
121
|
region = region.toUpperCase().trim();
|
|
122
122
|
// providing compatibility with ISO 3166-1 Alpha-2 county codes (for checking compatibility https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
|
|
123
|
-
const countryCodes = {
|
|
123
|
+
const countryCodes = { UK: 'GB' };
|
|
124
124
|
if (countryCodes[region]) {
|
|
125
125
|
region = countryCodes[region];
|
|
126
126
|
}
|
|
127
|
-
_.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [
|
|
127
|
+
_.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [
|
|
128
|
+
region,
|
|
129
|
+
]);
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
132
|
/**
|
|
131
133
|
* @returns {string[]} The required address properties.
|
|
132
134
|
*/
|
|
133
135
|
getRequiredAddressProperties() {
|
|
134
|
-
return [
|
|
136
|
+
return [
|
|
137
|
+
'address_components',
|
|
138
|
+
'formatted_address',
|
|
139
|
+
'geometry',
|
|
140
|
+
'place_id',
|
|
141
|
+
'plus_code',
|
|
142
|
+
'types',
|
|
143
|
+
];
|
|
135
144
|
}
|
|
136
145
|
/**
|
|
137
146
|
* Adds the required provider options to the options.
|
|
@@ -140,8 +149,8 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
140
149
|
addRequiredProviderOptions(options) {
|
|
141
150
|
const addressProperties = this.getRequiredAddressProperties();
|
|
142
151
|
if (_.isArray(options.fields) && options.fields.length > 0) {
|
|
143
|
-
options.fields.forEach(optionalField => {
|
|
144
|
-
if (!addressProperties.some(addressProp => optionalField === addressProp)) {
|
|
152
|
+
options.fields.forEach((optionalField) => {
|
|
153
|
+
if (!addressProperties.some((addressProp) => optionalField === addressProp)) {
|
|
145
154
|
addressProperties.push(optionalField);
|
|
146
155
|
}
|
|
147
156
|
});
|
|
@@ -152,7 +161,7 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
152
161
|
place = place || {};
|
|
153
162
|
const filteredPlace = {};
|
|
154
163
|
if (this.autocompleteOptions) {
|
|
155
|
-
this.autocompleteOptions.fields.forEach(field => {
|
|
164
|
+
this.autocompleteOptions.fields.forEach((field) => {
|
|
156
165
|
if (place[field]) {
|
|
157
166
|
filteredPlace[field] = place[field];
|
|
158
167
|
}
|
|
@@ -191,12 +200,14 @@ export class GoogleAddressProvider extends AddressProvider {
|
|
|
191
200
|
return;
|
|
192
201
|
}
|
|
193
202
|
const existingScript = document.querySelector(`script[src^="${GOOGLE_MAPS_JS_URL}"]`);
|
|
194
|
-
if (existingScript &&
|
|
203
|
+
if (existingScript &&
|
|
204
|
+
options.params?.key &&
|
|
205
|
+
!existingScript.attributes.src.value.endsWith(options.params.key)) {
|
|
195
206
|
const googleMapsScripts = document.querySelectorAll(`script[src^="${GOOGLE_MAPS_BASE_URL}"]`) ?? [];
|
|
196
|
-
googleMapsScripts.forEach(script => script.parentNode.removeChild(script));
|
|
207
|
+
googleMapsScripts.forEach((script) => script.parentNode.removeChild(script));
|
|
197
208
|
delete Formio.libraries[this.getLibraryName()];
|
|
198
|
-
delete
|
|
199
|
-
delete
|
|
209
|
+
delete globalThis?.google?.maps;
|
|
210
|
+
delete globalThis[`${this.getLibraryName()}Callback`];
|
|
200
211
|
}
|
|
201
212
|
}
|
|
202
213
|
}
|
|
@@ -20,7 +20,9 @@ const fileProcessor = (formio, config) => (file, options) => new Promise((resolv
|
|
|
20
20
|
xhr.onload = () => {
|
|
21
21
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
22
22
|
const mimetype = xhr.getResponseHeader('Content-Type') || file.type;
|
|
23
|
-
resolve(new File([
|
|
23
|
+
resolve(new File([
|
|
24
|
+
xhr.response,
|
|
25
|
+
], file.name, { type: mimetype }));
|
|
24
26
|
}
|
|
25
27
|
else {
|
|
26
28
|
reject(xhr.response || 'Unable to process file');
|
|
@@ -15,7 +15,10 @@ function azure(formio) {
|
|
|
15
15
|
}, file, fileName, dir, progressCallback, groupPermissions, groupId, abortCallback).then((response) => {
|
|
16
16
|
return {
|
|
17
17
|
storage: 'azure',
|
|
18
|
-
name: XHR.path([
|
|
18
|
+
name: XHR.path([
|
|
19
|
+
dir,
|
|
20
|
+
fileName,
|
|
21
|
+
]),
|
|
19
22
|
size: file.size,
|
|
20
23
|
type: file.type,
|
|
21
24
|
groupPermissions,
|
|
@@ -30,7 +33,7 @@ function azure(formio) {
|
|
|
30
33
|
deleteFile: function deleteFile(fileInfo) {
|
|
31
34
|
var url = `${formio.formUrl}/storage/azure?name=${XHR.trim(fileInfo.name)}&key=${XHR.trim(fileInfo.key)}`;
|
|
32
35
|
return formio.makeRequest('', url, 'delete');
|
|
33
|
-
}
|
|
36
|
+
},
|
|
34
37
|
};
|
|
35
38
|
}
|
|
36
39
|
azure.title = 'Azure File Services';
|
|
@@ -7,7 +7,7 @@ import { setXhrHeaders } from './xhr';
|
|
|
7
7
|
function dropbox(formio) {
|
|
8
8
|
return {
|
|
9
9
|
uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
|
|
10
|
-
return new Promise((
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
11
|
// Send the file with data.
|
|
12
12
|
const xhr = new XMLHttpRequest();
|
|
13
13
|
if (typeof progressCallback === 'function') {
|
|
@@ -48,14 +48,13 @@ function dropbox(formio) {
|
|
|
48
48
|
xhr.setRequestHeader('x-jwt-token', token);
|
|
49
49
|
}
|
|
50
50
|
xhr.send(fd);
|
|
51
|
-
})
|
|
51
|
+
});
|
|
52
52
|
},
|
|
53
53
|
downloadFile(file) {
|
|
54
54
|
const token = formio.getToken();
|
|
55
|
-
file.url =
|
|
56
|
-
`${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
|
|
55
|
+
file.url = `${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
|
|
57
56
|
return Promise.resolve(file);
|
|
58
|
-
}
|
|
57
|
+
},
|
|
59
58
|
};
|
|
60
59
|
}
|
|
61
60
|
dropbox.title = 'Dropbox';
|
|
@@ -8,7 +8,7 @@ import { setXhrHeaders } from './xhr';
|
|
|
8
8
|
function googledrive(formio) {
|
|
9
9
|
return {
|
|
10
10
|
uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
|
|
11
|
-
return new Promise((
|
|
11
|
+
return new Promise((resolve, reject) => {
|
|
12
12
|
// Send the file with data.
|
|
13
13
|
const xhr = new XMLHttpRequest();
|
|
14
14
|
if (typeof progressCallback === 'function') {
|
|
@@ -48,13 +48,12 @@ function googledrive(formio) {
|
|
|
48
48
|
xhr.setRequestHeader('x-jwt-token', token);
|
|
49
49
|
}
|
|
50
50
|
xhr.send(fd);
|
|
51
|
-
})
|
|
51
|
+
});
|
|
52
52
|
},
|
|
53
53
|
downloadFile(file, component) {
|
|
54
54
|
const token = formio.getToken();
|
|
55
55
|
// Constructed the url with the fileId, fileName, displayImage, imageSize if applicable
|
|
56
|
-
file.url =
|
|
57
|
-
`${formio.formUrl}/storage/gdrive?fileId=${file.id}&fileName=${file.originalName}${token ? `&x-jwt-token=${token}` : ''}${component.image ? '&displayImage=true' : ''}${component.imageSize ? `&imageSize=${component.imageSize}` : ''}`;
|
|
56
|
+
file.url = `${formio.formUrl}/storage/gdrive?fileId=${file.id}&fileName=${file.originalName}${token ? `&x-jwt-token=${token}` : ''}${component.image ? '&displayImage=true' : ''}${component.imageSize ? `&imageSize=${component.imageSize}` : ''}`;
|
|
58
57
|
return Promise.resolve(file);
|
|
59
58
|
},
|
|
60
59
|
deleteFile: function deleteFile(fileInfo) {
|
|
@@ -9,7 +9,7 @@ function indexeddb() {
|
|
|
9
9
|
name: 'indexeddb',
|
|
10
10
|
uploadFile(file, fileName, dir, progressCallback, url, options) {
|
|
11
11
|
if (!('indexedDB' in window)) {
|
|
12
|
-
console.log(
|
|
12
|
+
console.log("This browser doesn't support IndexedDB");
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
return new Promise((resolve) => {
|
|
@@ -26,7 +26,9 @@ function indexeddb() {
|
|
|
26
26
|
const reader = new FileReader();
|
|
27
27
|
return new Promise((resolve, reject) => {
|
|
28
28
|
reader.onload = () => {
|
|
29
|
-
const blobObject = new Blob([
|
|
29
|
+
const blobObject = new Blob([
|
|
30
|
+
file,
|
|
31
|
+
], { type: file.type });
|
|
30
32
|
const id = uuidv4(blobObject);
|
|
31
33
|
const data = {
|
|
32
34
|
id,
|
|
@@ -36,7 +38,9 @@ function indexeddb() {
|
|
|
36
38
|
type: file.type,
|
|
37
39
|
url,
|
|
38
40
|
};
|
|
39
|
-
const trans = db.transaction([
|
|
41
|
+
const trans = db.transaction([
|
|
42
|
+
options.indexeddbTable,
|
|
43
|
+
], 'readwrite');
|
|
40
44
|
const addReq = trans.objectStore(options.indexeddbTable).put(data, id);
|
|
41
45
|
addReq.onerror = function (e) {
|
|
42
46
|
console.log('error storing data');
|
|
@@ -69,12 +73,16 @@ function indexeddb() {
|
|
|
69
73
|
};
|
|
70
74
|
}).then((db) => {
|
|
71
75
|
return new Promise((resolve, reject) => {
|
|
72
|
-
const trans = db.transaction([
|
|
76
|
+
const trans = db.transaction([
|
|
77
|
+
options.indexeddbTable,
|
|
78
|
+
], 'readonly');
|
|
73
79
|
const store = trans.objectStore(options.indexeddbTable).get(file.id);
|
|
74
80
|
store.onsuccess = () => {
|
|
75
81
|
trans.oncomplete = () => {
|
|
76
82
|
const result = store.result;
|
|
77
|
-
const dbFile = new File([
|
|
83
|
+
const dbFile = new File([
|
|
84
|
+
store.result.data,
|
|
85
|
+
], file.name, {
|
|
78
86
|
type: store.result.type,
|
|
79
87
|
});
|
|
80
88
|
const reader = new FileReader();
|
|
@@ -104,7 +112,9 @@ function indexeddb() {
|
|
|
104
112
|
};
|
|
105
113
|
}).then((db) => {
|
|
106
114
|
return new Promise((resolve, reject) => {
|
|
107
|
-
const trans = db.transaction([
|
|
115
|
+
const trans = db.transaction([
|
|
116
|
+
options.indexeddbTable,
|
|
117
|
+
], 'readwrite');
|
|
108
118
|
const store = trans.objectStore(options.indexeddbTable).delete(file.id);
|
|
109
119
|
store.onsuccess = () => {
|
|
110
120
|
trans.oncomplete = () => {
|
|
@@ -15,7 +15,11 @@ function s3(formio) {
|
|
|
15
15
|
async uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback, multipartOptions) {
|
|
16
16
|
const xhrCallback = async (xhr, response, abortCallback) => {
|
|
17
17
|
response.data.fileName = fileName;
|
|
18
|
-
response.data.key = XHR.path([
|
|
18
|
+
response.data.key = XHR.path([
|
|
19
|
+
response.data.key,
|
|
20
|
+
dir,
|
|
21
|
+
fileName,
|
|
22
|
+
]);
|
|
19
23
|
if (response.signed) {
|
|
20
24
|
if (multipartOptions && Array.isArray(response.signed)) {
|
|
21
25
|
// patch abort callback
|
|
@@ -27,7 +31,11 @@ function s3(formio) {
|
|
|
27
31
|
}
|
|
28
32
|
try {
|
|
29
33
|
const parts = await this.uploadParts(file, response.signed, response.data.headers, response.partSizeActual, multipartOptions, abortSignal);
|
|
30
|
-
await withRetries(this.completeMultipartUpload, [
|
|
34
|
+
await withRetries(this.completeMultipartUpload, [
|
|
35
|
+
response,
|
|
36
|
+
parts,
|
|
37
|
+
multipartOptions,
|
|
38
|
+
], 3);
|
|
31
39
|
return;
|
|
32
40
|
}
|
|
33
41
|
catch (err) {
|
|
@@ -65,10 +73,13 @@ function s3(formio) {
|
|
|
65
73
|
name: fileName,
|
|
66
74
|
bucket: response.bucket,
|
|
67
75
|
key: response.data.key,
|
|
68
|
-
url: XHR.path([
|
|
76
|
+
url: XHR.path([
|
|
77
|
+
response.url,
|
|
78
|
+
response.data.key,
|
|
79
|
+
]),
|
|
69
80
|
acl: response.data.acl,
|
|
70
81
|
size: file.size,
|
|
71
|
-
type: file.type
|
|
82
|
+
type: file.type,
|
|
72
83
|
};
|
|
73
84
|
},
|
|
74
85
|
async completeMultipartUpload(serverResponse, parts, multipart) {
|
|
@@ -79,9 +90,9 @@ function s3(formio) {
|
|
|
79
90
|
method: 'POST',
|
|
80
91
|
headers: {
|
|
81
92
|
'Content-Type': 'application/json',
|
|
82
|
-
...(token ? { 'x-jwt-token': token } : {})
|
|
93
|
+
...(token ? { 'x-jwt-token': token } : {}),
|
|
83
94
|
},
|
|
84
|
-
body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key })
|
|
95
|
+
body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key }),
|
|
85
96
|
});
|
|
86
97
|
const message = await response.text();
|
|
87
98
|
if (!response.ok) {
|
|
@@ -100,9 +111,9 @@ function s3(formio) {
|
|
|
100
111
|
method: 'POST',
|
|
101
112
|
headers: {
|
|
102
113
|
'Content-Type': 'application/json',
|
|
103
|
-
...(token ? { 'x-jwt-token': token } : {})
|
|
114
|
+
...(token ? { 'x-jwt-token': token } : {}),
|
|
104
115
|
},
|
|
105
|
-
body: JSON.stringify({ uploadId, key })
|
|
116
|
+
body: JSON.stringify({ uploadId, key }),
|
|
106
117
|
}).catch((err) => console.error('Error while aborting multipart upload:', err));
|
|
107
118
|
},
|
|
108
119
|
uploadParts(file, urls, headers, partSize, multipart, abortSignal) {
|
|
@@ -9,8 +9,7 @@ class FormioUploadAdapter {
|
|
|
9
9
|
this.component = component;
|
|
10
10
|
}
|
|
11
11
|
upload() {
|
|
12
|
-
return this.loader.file
|
|
13
|
-
.then(file => new Promise((resolve, reject) => {
|
|
12
|
+
return this.loader.file.then((file) => new Promise((resolve, reject) => {
|
|
14
13
|
const { uploadStorage, uploadUrl, uploadOptions, uploadDir, fileKey } = this.component.component;
|
|
15
14
|
const uploadParams = [
|
|
16
15
|
uploadStorage,
|
|
@@ -22,18 +21,23 @@ class FormioUploadAdapter {
|
|
|
22
21
|
uploadOptions,
|
|
23
22
|
fileKey,
|
|
24
23
|
null,
|
|
25
|
-
null
|
|
24
|
+
null,
|
|
26
25
|
];
|
|
27
|
-
this.fileService
|
|
26
|
+
this.fileService
|
|
27
|
+
.uploadFile(...uploadParams, () => this.component.emit('fileUploadingStart'))
|
|
28
|
+
.then((result) => {
|
|
28
29
|
return this.fileService.downloadFile(result);
|
|
29
|
-
})
|
|
30
|
+
})
|
|
31
|
+
.then((result) => {
|
|
30
32
|
return resolve({
|
|
31
|
-
default: result.url
|
|
33
|
+
default: result.url,
|
|
32
34
|
});
|
|
33
|
-
})
|
|
35
|
+
})
|
|
36
|
+
.catch((err) => {
|
|
34
37
|
console.warn('An Error occured while uploading file', err);
|
|
35
38
|
reject(err);
|
|
36
|
-
})
|
|
39
|
+
})
|
|
40
|
+
.finally(() => {
|
|
37
41
|
this.component.emit('fileUploadingEnd');
|
|
38
42
|
});
|
|
39
43
|
}));
|
|
@@ -46,9 +50,11 @@ class FormioUploadAdapter {
|
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
|
-
const getFormioUploadAdapterPlugin = (fileService, component) =>
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
const getFormioUploadAdapterPlugin = (fileService, component) => {
|
|
54
|
+
return function (editor) {
|
|
55
|
+
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
|
|
56
|
+
return new FormioUploadAdapter(loader, fileService, component);
|
|
57
|
+
};
|
|
52
58
|
};
|
|
53
59
|
};
|
|
54
60
|
export { getFormioUploadAdapterPlugin };
|
|
@@ -26,7 +26,7 @@ function url(formio) {
|
|
|
26
26
|
const xhrRequest = (url, name, query, data, options, progressCallback, abortCallback) => {
|
|
27
27
|
return new Promise((resolve, reject) => {
|
|
28
28
|
const xhr = new XMLHttpRequest();
|
|
29
|
-
const json =
|
|
29
|
+
const json = typeof data === 'string';
|
|
30
30
|
const fd = new FormData();
|
|
31
31
|
if (typeof progressCallback === 'function') {
|
|
32
32
|
xhr.upload.onprogress = progressCallback;
|
|
@@ -44,14 +44,16 @@ function url(formio) {
|
|
|
44
44
|
// Need to test if xhr.response is decoded or not.
|
|
45
45
|
let respData = {};
|
|
46
46
|
try {
|
|
47
|
-
respData =
|
|
48
|
-
respData =
|
|
47
|
+
respData = typeof xhr.response === 'string' ? JSON.parse(xhr.response) : {};
|
|
48
|
+
respData = respData && respData.data ? respData.data : respData;
|
|
49
49
|
}
|
|
50
|
-
catch (
|
|
50
|
+
catch (ignoreErr) {
|
|
51
51
|
respData = {};
|
|
52
52
|
}
|
|
53
53
|
// Get the url of the file.
|
|
54
|
-
let respUrl = respData.hasOwnProperty('url')
|
|
54
|
+
let respUrl = respData.hasOwnProperty('url')
|
|
55
|
+
? respData.url
|
|
56
|
+
: `${xhr.responseURL}/${name}`;
|
|
55
57
|
// If they provide relative url, then prepend the url.
|
|
56
58
|
if (respUrl && respUrl[0] === '/') {
|
|
57
59
|
respUrl = `${url}${respUrl}`;
|
|
@@ -94,12 +96,12 @@ function url(formio) {
|
|
|
94
96
|
return xhrRequest(url, name, {
|
|
95
97
|
baseUrl: encodeURIComponent(formio.projectUrl),
|
|
96
98
|
project: form ? form.project : '',
|
|
97
|
-
form: form ? form._id : ''
|
|
99
|
+
form: form ? form._id : '',
|
|
98
100
|
}, {
|
|
99
101
|
[fileKey]: file,
|
|
100
102
|
name,
|
|
101
|
-
dir
|
|
102
|
-
}, options, progressCallback, abortCallback).then(response => {
|
|
103
|
+
dir,
|
|
104
|
+
}, options, progressCallback, abortCallback).then((response) => {
|
|
103
105
|
// Store the project and form url along with the metadata.
|
|
104
106
|
response.data = response.data || {};
|
|
105
107
|
response.data.baseUrl = formio.projectUrl;
|
|
@@ -111,7 +113,7 @@ function url(formio) {
|
|
|
111
113
|
url: response.url,
|
|
112
114
|
size: file.size,
|
|
113
115
|
type: file.type,
|
|
114
|
-
data: response.data
|
|
116
|
+
data: response.data,
|
|
115
117
|
};
|
|
116
118
|
});
|
|
117
119
|
};
|
|
@@ -145,11 +147,11 @@ function url(formio) {
|
|
|
145
147
|
if (formio.submissionId && file.data) {
|
|
146
148
|
file.data.submission = formio.submissionId;
|
|
147
149
|
}
|
|
148
|
-
return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then(response => response.data);
|
|
150
|
+
return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then((response) => response.data);
|
|
149
151
|
}
|
|
150
152
|
// Return the original as there is nothing to do.
|
|
151
153
|
return Promise.resolve(file);
|
|
152
|
-
}
|
|
154
|
+
},
|
|
153
155
|
};
|
|
154
156
|
}
|
|
155
157
|
url.title = 'Url';
|