@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
|
@@ -93,7 +93,9 @@ class AddressProvider {
|
|
|
93
93
|
* @returns {string} The serialized parameters.
|
|
94
94
|
*/
|
|
95
95
|
serialize(params) {
|
|
96
|
-
return lodash_1.default.toPairs(params)
|
|
96
|
+
return lodash_1.default.toPairs(params)
|
|
97
|
+
.map(([key, value,]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
|
|
98
|
+
.join('&');
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
99
101
|
* @private
|
|
@@ -130,10 +132,9 @@ class AddressProvider {
|
|
|
130
132
|
*/
|
|
131
133
|
search(query, options = {}) {
|
|
132
134
|
const requestOptions = this.getRequestOptions(options);
|
|
133
|
-
const params = requestOptions.params = requestOptions.params || {};
|
|
135
|
+
const params = (requestOptions.params = requestOptions.params || {});
|
|
134
136
|
params[this.queryProperty] = query;
|
|
135
|
-
return this.makeRequest(requestOptions)
|
|
136
|
-
.then((result) => this.responseProperty ? lodash_1.default.get(result, this.responseProperty, []) : result);
|
|
137
|
+
return this.makeRequest(requestOptions).then((result) => this.responseProperty ? lodash_1.default.get(result, this.responseProperty, []) : result);
|
|
137
138
|
}
|
|
138
139
|
/**
|
|
139
140
|
* @public
|
|
@@ -141,7 +142,9 @@ class AddressProvider {
|
|
|
141
142
|
* @returns {string} The display value of the address.
|
|
142
143
|
*/
|
|
143
144
|
getDisplayValue(address) {
|
|
144
|
-
return this.displayValueProperty
|
|
145
|
+
return this.displayValueProperty
|
|
146
|
+
? lodash_1.default.get(address, this.displayValueProperty, '')
|
|
147
|
+
: String(address);
|
|
145
148
|
}
|
|
146
149
|
}
|
|
147
150
|
exports.AddressProvider = AddressProvider;
|
|
@@ -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
|
*/
|
|
@@ -51,7 +51,7 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
51
51
|
return 'Google Maps';
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
* @param {ProviderOptions} options - The options for the provider.
|
|
56
56
|
*/
|
|
57
57
|
constructor(options = {}) {
|
|
@@ -92,7 +92,7 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
92
92
|
}
|
|
93
93
|
/**
|
|
94
94
|
* Sets the autocomplete options based on the provider options.
|
|
95
|
-
|
|
95
|
+
|
|
96
96
|
*/
|
|
97
97
|
setAutocompleteOptions() {
|
|
98
98
|
let options = lodash_1.default.get(this.options, 'params.autocompleteOptions', {});
|
|
@@ -103,7 +103,7 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
103
103
|
this.autocompleteOptions = options;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
|
-
|
|
106
|
+
|
|
107
107
|
* Converts the region to autocomplete option if it exists.
|
|
108
108
|
* @param {ProviderOptions} options - The provider options.
|
|
109
109
|
*/
|
|
@@ -127,18 +127,27 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
127
127
|
if (region && !lodash_1.default.has(options, 'params.autocompleteOptions')) {
|
|
128
128
|
region = region.toUpperCase().trim();
|
|
129
129
|
// providing compatibility with ISO 3166-1 Alpha-2 county codes (for checking compatibility https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes)
|
|
130
|
-
const countryCodes = {
|
|
130
|
+
const countryCodes = { UK: 'GB' };
|
|
131
131
|
if (countryCodes[region]) {
|
|
132
132
|
region = countryCodes[region];
|
|
133
133
|
}
|
|
134
|
-
lodash_1.default.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [
|
|
134
|
+
lodash_1.default.set(providerOptions, 'params.autocompleteOptions.componentRestrictions.country', [
|
|
135
|
+
region,
|
|
136
|
+
]);
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
139
|
/**
|
|
138
140
|
* @returns {string[]} The required address properties.
|
|
139
141
|
*/
|
|
140
142
|
getRequiredAddressProperties() {
|
|
141
|
-
return [
|
|
143
|
+
return [
|
|
144
|
+
'address_components',
|
|
145
|
+
'formatted_address',
|
|
146
|
+
'geometry',
|
|
147
|
+
'place_id',
|
|
148
|
+
'plus_code',
|
|
149
|
+
'types',
|
|
150
|
+
];
|
|
142
151
|
}
|
|
143
152
|
/**
|
|
144
153
|
* Adds the required provider options to the options.
|
|
@@ -147,8 +156,8 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
147
156
|
addRequiredProviderOptions(options) {
|
|
148
157
|
const addressProperties = this.getRequiredAddressProperties();
|
|
149
158
|
if (lodash_1.default.isArray(options.fields) && options.fields.length > 0) {
|
|
150
|
-
options.fields.forEach(optionalField => {
|
|
151
|
-
if (!addressProperties.some(addressProp => optionalField === addressProp)) {
|
|
159
|
+
options.fields.forEach((optionalField) => {
|
|
160
|
+
if (!addressProperties.some((addressProp) => optionalField === addressProp)) {
|
|
152
161
|
addressProperties.push(optionalField);
|
|
153
162
|
}
|
|
154
163
|
});
|
|
@@ -159,7 +168,7 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
159
168
|
place = place || {};
|
|
160
169
|
const filteredPlace = {};
|
|
161
170
|
if (this.autocompleteOptions) {
|
|
162
|
-
this.autocompleteOptions.fields.forEach(field => {
|
|
171
|
+
this.autocompleteOptions.fields.forEach((field) => {
|
|
163
172
|
if (place[field]) {
|
|
164
173
|
filteredPlace[field] = place[field];
|
|
165
174
|
}
|
|
@@ -199,12 +208,14 @@ class GoogleAddressProvider extends AddressProvider_1.AddressProvider {
|
|
|
199
208
|
return;
|
|
200
209
|
}
|
|
201
210
|
const existingScript = document.querySelector(`script[src^="${GOOGLE_MAPS_JS_URL}"]`);
|
|
202
|
-
if (existingScript &&
|
|
211
|
+
if (existingScript &&
|
|
212
|
+
((_a = options.params) === null || _a === void 0 ? void 0 : _a.key) &&
|
|
213
|
+
!existingScript.attributes.src.value.endsWith(options.params.key)) {
|
|
203
214
|
const googleMapsScripts = (_b = document.querySelectorAll(`script[src^="${GOOGLE_MAPS_BASE_URL}"]`)) !== null && _b !== void 0 ? _b : [];
|
|
204
|
-
googleMapsScripts.forEach(script => script.parentNode.removeChild(script));
|
|
215
|
+
googleMapsScripts.forEach((script) => script.parentNode.removeChild(script));
|
|
205
216
|
delete Formio_1.Formio.libraries[this.getLibraryName()];
|
|
206
|
-
(_c =
|
|
207
|
-
delete
|
|
217
|
+
(_c = globalThis === null || globalThis === void 0 ? void 0 : globalThis.google) === null || _c === void 0 ? true : delete _c.maps;
|
|
218
|
+
delete globalThis[`${this.getLibraryName()}Callback`];
|
|
208
219
|
}
|
|
209
220
|
}
|
|
210
221
|
}
|
|
@@ -22,7 +22,9 @@ const fileProcessor = (formio, config) => (file, options) => new Promise((resolv
|
|
|
22
22
|
xhr.onload = () => {
|
|
23
23
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
24
24
|
const mimetype = xhr.getResponseHeader('Content-Type') || file.type;
|
|
25
|
-
resolve(new File([
|
|
25
|
+
resolve(new File([
|
|
26
|
+
xhr.response,
|
|
27
|
+
], file.name, { type: mimetype }));
|
|
26
28
|
}
|
|
27
29
|
else {
|
|
28
30
|
reject(xhr.response || 'Unable to process file');
|
|
@@ -20,7 +20,10 @@ function azure(formio) {
|
|
|
20
20
|
}, file, fileName, dir, progressCallback, groupPermissions, groupId, abortCallback).then((response) => {
|
|
21
21
|
return {
|
|
22
22
|
storage: 'azure',
|
|
23
|
-
name: xhr_1.default.path([
|
|
23
|
+
name: xhr_1.default.path([
|
|
24
|
+
dir,
|
|
25
|
+
fileName,
|
|
26
|
+
]),
|
|
24
27
|
size: file.size,
|
|
25
28
|
type: file.type,
|
|
26
29
|
groupPermissions,
|
|
@@ -35,7 +38,7 @@ function azure(formio) {
|
|
|
35
38
|
deleteFile: function deleteFile(fileInfo) {
|
|
36
39
|
var url = `${formio.formUrl}/storage/azure?name=${xhr_1.default.trim(fileInfo.name)}&key=${xhr_1.default.trim(fileInfo.key)}`;
|
|
37
40
|
return formio.makeRequest('', url, 'delete');
|
|
38
|
-
}
|
|
41
|
+
},
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
44
|
azure.title = 'Azure File Services';
|
|
@@ -9,7 +9,7 @@ const xhr_1 = require("./xhr");
|
|
|
9
9
|
function dropbox(formio) {
|
|
10
10
|
return {
|
|
11
11
|
uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
|
|
12
|
-
return new Promise((
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
13
|
// Send the file with data.
|
|
14
14
|
const xhr = new XMLHttpRequest();
|
|
15
15
|
if (typeof progressCallback === 'function') {
|
|
@@ -50,14 +50,13 @@ function dropbox(formio) {
|
|
|
50
50
|
xhr.setRequestHeader('x-jwt-token', token);
|
|
51
51
|
}
|
|
52
52
|
xhr.send(fd);
|
|
53
|
-
})
|
|
53
|
+
});
|
|
54
54
|
},
|
|
55
55
|
downloadFile(file) {
|
|
56
56
|
const token = formio.getToken();
|
|
57
|
-
file.url =
|
|
58
|
-
`${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
|
|
57
|
+
file.url = `${formio.formUrl}/storage/dropbox?path_lower=${file.path_lower}${token ? `&x-jwt-token=${token}` : ''}`;
|
|
59
58
|
return Promise.resolve(file);
|
|
60
|
-
}
|
|
59
|
+
},
|
|
61
60
|
};
|
|
62
61
|
}
|
|
63
62
|
dropbox.title = 'Dropbox';
|
|
@@ -10,7 +10,7 @@ const xhr_1 = require("./xhr");
|
|
|
10
10
|
function googledrive(formio) {
|
|
11
11
|
return {
|
|
12
12
|
uploadFile(file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, abortCallback) {
|
|
13
|
-
return new Promise((
|
|
13
|
+
return new Promise((resolve, reject) => {
|
|
14
14
|
// Send the file with data.
|
|
15
15
|
const xhr = new XMLHttpRequest();
|
|
16
16
|
if (typeof progressCallback === 'function') {
|
|
@@ -50,13 +50,12 @@ function googledrive(formio) {
|
|
|
50
50
|
xhr.setRequestHeader('x-jwt-token', token);
|
|
51
51
|
}
|
|
52
52
|
xhr.send(fd);
|
|
53
|
-
})
|
|
53
|
+
});
|
|
54
54
|
},
|
|
55
55
|
downloadFile(file, component) {
|
|
56
56
|
const token = formio.getToken();
|
|
57
57
|
// Constructed the url with the fileId, fileName, displayImage, imageSize if applicable
|
|
58
|
-
file.url =
|
|
59
|
-
`${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
|
+
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}` : ''}`;
|
|
60
59
|
return Promise.resolve(file);
|
|
61
60
|
},
|
|
62
61
|
deleteFile: function deleteFile(fileInfo) {
|
|
@@ -11,7 +11,7 @@ function indexeddb() {
|
|
|
11
11
|
name: 'indexeddb',
|
|
12
12
|
uploadFile(file, fileName, dir, progressCallback, url, options) {
|
|
13
13
|
if (!('indexedDB' in window)) {
|
|
14
|
-
console.log(
|
|
14
|
+
console.log("This browser doesn't support IndexedDB");
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
return new Promise((resolve) => {
|
|
@@ -28,7 +28,9 @@ function indexeddb() {
|
|
|
28
28
|
const reader = new FileReader();
|
|
29
29
|
return new Promise((resolve, reject) => {
|
|
30
30
|
reader.onload = () => {
|
|
31
|
-
const blobObject = new Blob([
|
|
31
|
+
const blobObject = new Blob([
|
|
32
|
+
file,
|
|
33
|
+
], { type: file.type });
|
|
32
34
|
const id = (0, uuid_1.v4)(blobObject);
|
|
33
35
|
const data = {
|
|
34
36
|
id,
|
|
@@ -38,7 +40,9 @@ function indexeddb() {
|
|
|
38
40
|
type: file.type,
|
|
39
41
|
url,
|
|
40
42
|
};
|
|
41
|
-
const trans = db.transaction([
|
|
43
|
+
const trans = db.transaction([
|
|
44
|
+
options.indexeddbTable,
|
|
45
|
+
], 'readwrite');
|
|
42
46
|
const addReq = trans.objectStore(options.indexeddbTable).put(data, id);
|
|
43
47
|
addReq.onerror = function (e) {
|
|
44
48
|
console.log('error storing data');
|
|
@@ -71,12 +75,16 @@ function indexeddb() {
|
|
|
71
75
|
};
|
|
72
76
|
}).then((db) => {
|
|
73
77
|
return new Promise((resolve, reject) => {
|
|
74
|
-
const trans = db.transaction([
|
|
78
|
+
const trans = db.transaction([
|
|
79
|
+
options.indexeddbTable,
|
|
80
|
+
], 'readonly');
|
|
75
81
|
const store = trans.objectStore(options.indexeddbTable).get(file.id);
|
|
76
82
|
store.onsuccess = () => {
|
|
77
83
|
trans.oncomplete = () => {
|
|
78
84
|
const result = store.result;
|
|
79
|
-
const dbFile = new File([
|
|
85
|
+
const dbFile = new File([
|
|
86
|
+
store.result.data,
|
|
87
|
+
], file.name, {
|
|
80
88
|
type: store.result.type,
|
|
81
89
|
});
|
|
82
90
|
const reader = new FileReader();
|
|
@@ -106,7 +114,9 @@ function indexeddb() {
|
|
|
106
114
|
};
|
|
107
115
|
}).then((db) => {
|
|
108
116
|
return new Promise((resolve, reject) => {
|
|
109
|
-
const trans = db.transaction([
|
|
117
|
+
const trans = db.transaction([
|
|
118
|
+
options.indexeddbTable,
|
|
119
|
+
], 'readwrite');
|
|
110
120
|
const store = trans.objectStore(options.indexeddbTable).delete(file.id);
|
|
111
121
|
store.onsuccess = () => {
|
|
112
122
|
trans.oncomplete = () => {
|
|
@@ -53,7 +53,11 @@ function s3(formio) {
|
|
|
53
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
54
|
const xhrCallback = (xhr, response, abortCallback) => __awaiter(this, void 0, void 0, function* () {
|
|
55
55
|
response.data.fileName = fileName;
|
|
56
|
-
response.data.key = xhr_1.default.path([
|
|
56
|
+
response.data.key = xhr_1.default.path([
|
|
57
|
+
response.data.key,
|
|
58
|
+
dir,
|
|
59
|
+
fileName,
|
|
60
|
+
]);
|
|
57
61
|
if (response.signed) {
|
|
58
62
|
if (multipartOptions && Array.isArray(response.signed)) {
|
|
59
63
|
// patch abort callback
|
|
@@ -65,7 +69,11 @@ function s3(formio) {
|
|
|
65
69
|
}
|
|
66
70
|
try {
|
|
67
71
|
const parts = yield this.uploadParts(file, response.signed, response.data.headers, response.partSizeActual, multipartOptions, abortSignal);
|
|
68
|
-
yield (0, util_1.withRetries)(this.completeMultipartUpload, [
|
|
72
|
+
yield (0, util_1.withRetries)(this.completeMultipartUpload, [
|
|
73
|
+
response,
|
|
74
|
+
parts,
|
|
75
|
+
multipartOptions,
|
|
76
|
+
], 3);
|
|
69
77
|
return;
|
|
70
78
|
}
|
|
71
79
|
catch (err) {
|
|
@@ -103,10 +111,13 @@ function s3(formio) {
|
|
|
103
111
|
name: fileName,
|
|
104
112
|
bucket: response.bucket,
|
|
105
113
|
key: response.data.key,
|
|
106
|
-
url: xhr_1.default.path([
|
|
114
|
+
url: xhr_1.default.path([
|
|
115
|
+
response.url,
|
|
116
|
+
response.data.key,
|
|
117
|
+
]),
|
|
107
118
|
acl: response.data.acl,
|
|
108
119
|
size: file.size,
|
|
109
|
-
type: file.type
|
|
120
|
+
type: file.type,
|
|
110
121
|
};
|
|
111
122
|
});
|
|
112
123
|
},
|
|
@@ -118,7 +129,7 @@ function s3(formio) {
|
|
|
118
129
|
const response = yield fetch(`${formio.formUrl}/storage/s3/multipart/complete`, {
|
|
119
130
|
method: 'POST',
|
|
120
131
|
headers: Object.assign({ 'Content-Type': 'application/json' }, (token ? { 'x-jwt-token': token } : {})),
|
|
121
|
-
body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key })
|
|
132
|
+
body: JSON.stringify({ parts, uploadId: serverResponse.uploadId, key: serverResponse.key }),
|
|
122
133
|
});
|
|
123
134
|
const message = yield response.text();
|
|
124
135
|
if (!response.ok) {
|
|
@@ -137,7 +148,7 @@ function s3(formio) {
|
|
|
137
148
|
fetch(`${formio.formUrl}/storage/s3/multipart/abort`, {
|
|
138
149
|
method: 'POST',
|
|
139
150
|
headers: Object.assign({ 'Content-Type': 'application/json' }, (token ? { 'x-jwt-token': token } : {})),
|
|
140
|
-
body: JSON.stringify({ uploadId, key })
|
|
151
|
+
body: JSON.stringify({ uploadId, key }),
|
|
141
152
|
}).catch((err) => console.error('Error while aborting multipart upload:', err));
|
|
142
153
|
},
|
|
143
154
|
uploadParts(file, urls, headers, partSize, multipart, abortSignal) {
|
|
@@ -12,8 +12,7 @@ class FormioUploadAdapter {
|
|
|
12
12
|
this.component = component;
|
|
13
13
|
}
|
|
14
14
|
upload() {
|
|
15
|
-
return this.loader.file
|
|
16
|
-
.then(file => new Promise((resolve, reject) => {
|
|
15
|
+
return this.loader.file.then((file) => new Promise((resolve, reject) => {
|
|
17
16
|
const { uploadStorage, uploadUrl, uploadOptions, uploadDir, fileKey } = this.component.component;
|
|
18
17
|
const uploadParams = [
|
|
19
18
|
uploadStorage,
|
|
@@ -25,18 +24,23 @@ class FormioUploadAdapter {
|
|
|
25
24
|
uploadOptions,
|
|
26
25
|
fileKey,
|
|
27
26
|
null,
|
|
28
|
-
null
|
|
27
|
+
null,
|
|
29
28
|
];
|
|
30
|
-
this.fileService
|
|
29
|
+
this.fileService
|
|
30
|
+
.uploadFile(...uploadParams, () => this.component.emit('fileUploadingStart'))
|
|
31
|
+
.then((result) => {
|
|
31
32
|
return this.fileService.downloadFile(result);
|
|
32
|
-
})
|
|
33
|
+
})
|
|
34
|
+
.then((result) => {
|
|
33
35
|
return resolve({
|
|
34
|
-
default: result.url
|
|
36
|
+
default: result.url,
|
|
35
37
|
});
|
|
36
|
-
})
|
|
38
|
+
})
|
|
39
|
+
.catch((err) => {
|
|
37
40
|
console.warn('An Error occured while uploading file', err);
|
|
38
41
|
reject(err);
|
|
39
|
-
})
|
|
42
|
+
})
|
|
43
|
+
.finally(() => {
|
|
40
44
|
this.component.emit('fileUploadingEnd');
|
|
41
45
|
});
|
|
42
46
|
}));
|
|
@@ -49,9 +53,11 @@ class FormioUploadAdapter {
|
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
|
-
const getFormioUploadAdapterPlugin = (fileService, component) =>
|
|
53
|
-
|
|
54
|
-
|
|
56
|
+
const getFormioUploadAdapterPlugin = (fileService, component) => {
|
|
57
|
+
return function (editor) {
|
|
58
|
+
editor.plugins.get('FileRepository').createUploadAdapter = (loader) => {
|
|
59
|
+
return new FormioUploadAdapter(loader, fileService, component);
|
|
60
|
+
};
|
|
55
61
|
};
|
|
56
62
|
};
|
|
57
63
|
exports.getFormioUploadAdapterPlugin = getFormioUploadAdapterPlugin;
|
|
@@ -28,7 +28,7 @@ function url(formio) {
|
|
|
28
28
|
const xhrRequest = (url, name, query, data, options, progressCallback, abortCallback) => {
|
|
29
29
|
return new Promise((resolve, reject) => {
|
|
30
30
|
const xhr = new XMLHttpRequest();
|
|
31
|
-
const json =
|
|
31
|
+
const json = typeof data === 'string';
|
|
32
32
|
const fd = new FormData();
|
|
33
33
|
if (typeof progressCallback === 'function') {
|
|
34
34
|
xhr.upload.onprogress = progressCallback;
|
|
@@ -46,14 +46,16 @@ function url(formio) {
|
|
|
46
46
|
// Need to test if xhr.response is decoded or not.
|
|
47
47
|
let respData = {};
|
|
48
48
|
try {
|
|
49
|
-
respData =
|
|
50
|
-
respData =
|
|
49
|
+
respData = typeof xhr.response === 'string' ? JSON.parse(xhr.response) : {};
|
|
50
|
+
respData = respData && respData.data ? respData.data : respData;
|
|
51
51
|
}
|
|
52
|
-
catch (
|
|
52
|
+
catch (ignoreErr) {
|
|
53
53
|
respData = {};
|
|
54
54
|
}
|
|
55
55
|
// Get the url of the file.
|
|
56
|
-
let respUrl = respData.hasOwnProperty('url')
|
|
56
|
+
let respUrl = respData.hasOwnProperty('url')
|
|
57
|
+
? respData.url
|
|
58
|
+
: `${xhr.responseURL}/${name}`;
|
|
57
59
|
// If they provide relative url, then prepend the url.
|
|
58
60
|
if (respUrl && respUrl[0] === '/') {
|
|
59
61
|
respUrl = `${url}${respUrl}`;
|
|
@@ -96,12 +98,12 @@ function url(formio) {
|
|
|
96
98
|
return xhrRequest(url, name, {
|
|
97
99
|
baseUrl: encodeURIComponent(formio.projectUrl),
|
|
98
100
|
project: form ? form.project : '',
|
|
99
|
-
form: form ? form._id : ''
|
|
101
|
+
form: form ? form._id : '',
|
|
100
102
|
}, {
|
|
101
103
|
[fileKey]: file,
|
|
102
104
|
name,
|
|
103
|
-
dir
|
|
104
|
-
}, options, progressCallback, abortCallback).then(response => {
|
|
105
|
+
dir,
|
|
106
|
+
}, options, progressCallback, abortCallback).then((response) => {
|
|
105
107
|
// Store the project and form url along with the metadata.
|
|
106
108
|
response.data = response.data || {};
|
|
107
109
|
response.data.baseUrl = formio.projectUrl;
|
|
@@ -113,7 +115,7 @@ function url(formio) {
|
|
|
113
115
|
url: response.url,
|
|
114
116
|
size: file.size,
|
|
115
117
|
type: file.type,
|
|
116
|
-
data: response.data
|
|
118
|
+
data: response.data,
|
|
117
119
|
};
|
|
118
120
|
});
|
|
119
121
|
};
|
|
@@ -147,11 +149,11 @@ function url(formio) {
|
|
|
147
149
|
if (formio.submissionId && file.data) {
|
|
148
150
|
file.data.submission = formio.submissionId;
|
|
149
151
|
}
|
|
150
|
-
return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then(response => response.data);
|
|
152
|
+
return xhrRequest(file.url, file.name, {}, JSON.stringify(file)).then((response) => response.data);
|
|
151
153
|
}
|
|
152
154
|
// Return the original as there is nothing to do.
|
|
153
155
|
return Promise.resolve(file);
|
|
154
|
-
}
|
|
156
|
+
},
|
|
155
157
|
};
|
|
156
158
|
}
|
|
157
159
|
url.title = 'Url';
|
|
@@ -19,7 +19,7 @@ const setXhrHeaders = (formio, xhr) => {
|
|
|
19
19
|
if (headers) {
|
|
20
20
|
const ValidHeaders = {
|
|
21
21
|
'Content-Disposition': true,
|
|
22
|
-
|
|
22
|
+
Authorization: true,
|
|
23
23
|
};
|
|
24
24
|
for (const header in headers) {
|
|
25
25
|
if (ValidHeaders[header]) {
|
|
@@ -34,7 +34,10 @@ const XHR = {
|
|
|
34
34
|
return (0, trim_1.default)(text, '/');
|
|
35
35
|
},
|
|
36
36
|
path(items) {
|
|
37
|
-
return items
|
|
37
|
+
return items
|
|
38
|
+
.filter((item) => !!item)
|
|
39
|
+
.map(XHR.trim)
|
|
40
|
+
.join('/');
|
|
38
41
|
},
|
|
39
42
|
upload(formio, type, xhrCallback, file, fileName, dir, progressCallback, groupPermissions, groupId, abortCallback, multipartOptions) {
|
|
40
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -44,15 +47,18 @@ const XHR = {
|
|
|
44
47
|
try {
|
|
45
48
|
response = yield fetch(`${formio.formUrl}/storage/${type}`, {
|
|
46
49
|
method: 'POST',
|
|
47
|
-
headers: Object.assign({
|
|
50
|
+
headers: Object.assign({ Accept: 'application/json', 'Content-Type': 'application/json; charset=UTF-8' }, (token ? { 'x-jwt-token': token } : {})),
|
|
48
51
|
body: JSON.stringify({
|
|
49
|
-
name: XHR.path([
|
|
52
|
+
name: XHR.path([
|
|
53
|
+
dir,
|
|
54
|
+
fileName,
|
|
55
|
+
]),
|
|
50
56
|
size: file.size,
|
|
51
57
|
type: file.type,
|
|
52
58
|
groupPermissions,
|
|
53
59
|
groupId,
|
|
54
|
-
multipart: multipartOptions
|
|
55
|
-
})
|
|
60
|
+
multipart: multipartOptions,
|
|
61
|
+
}),
|
|
56
62
|
});
|
|
57
63
|
}
|
|
58
64
|
catch (err) {
|
|
@@ -81,7 +87,8 @@ const XHR = {
|
|
|
81
87
|
xhr.open(...params);
|
|
82
88
|
(0, exports.setXhrHeaders)(formio, xhr);
|
|
83
89
|
};
|
|
84
|
-
Promise.resolve(xhrCallback(xhr, serverResponse, abortCallback))
|
|
90
|
+
Promise.resolve(xhrCallback(xhr, serverResponse, abortCallback))
|
|
91
|
+
.then((payload) => {
|
|
85
92
|
// if payload is nullish we can assume the provider took care of the entire upload process
|
|
86
93
|
if (!payload) {
|
|
87
94
|
return resolve(serverResponse);
|
|
@@ -120,8 +127,9 @@ const XHR = {
|
|
|
120
127
|
};
|
|
121
128
|
// Get the request and send it to the server.
|
|
122
129
|
xhr.send(payload);
|
|
123
|
-
})
|
|
130
|
+
})
|
|
131
|
+
.catch(reject);
|
|
124
132
|
});
|
|
125
|
-
}
|
|
133
|
+
},
|
|
126
134
|
};
|
|
127
135
|
exports.default = XHR;
|
|
@@ -5,5 +5,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const bootstrap5_1 = __importDefault(require("@formio/bootstrap/bootstrap5"));
|
|
7
7
|
exports.default = {
|
|
8
|
-
bootstrap: bootstrap5_1.default.templates.bootstrap5
|
|
8
|
+
bootstrap: bootstrap5_1.default.templates.bootstrap5,
|
|
9
9
|
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let unsavedRowsError: string;
|
|
3
|
+
let invalidRowsError: string;
|
|
4
|
+
let invalidRowError: string;
|
|
5
|
+
let invalidOption: string;
|
|
6
|
+
let invalidDay: string;
|
|
7
|
+
let complete: string;
|
|
8
|
+
let error: string;
|
|
9
|
+
let errorListHotkey: string;
|
|
10
|
+
let errorsListNavigationMessage: string;
|
|
11
|
+
let submitError: string;
|
|
12
|
+
let required: string;
|
|
13
|
+
let unique: string;
|
|
14
|
+
let array: string;
|
|
15
|
+
let array_nonempty: string;
|
|
16
|
+
let nonarray: string;
|
|
17
|
+
let select: string;
|
|
18
|
+
let pattern: string;
|
|
19
|
+
let minLength: string;
|
|
20
|
+
let maxLength: string;
|
|
21
|
+
let minWords: string;
|
|
22
|
+
let maxWords: string;
|
|
23
|
+
let min: string;
|
|
24
|
+
let max: string;
|
|
25
|
+
let maxDate: string;
|
|
26
|
+
let minDate: string;
|
|
27
|
+
let maxYear: string;
|
|
28
|
+
let minYear: string;
|
|
29
|
+
let minSelectedCount: string;
|
|
30
|
+
let maxSelectedCount: string;
|
|
31
|
+
let invalid_email: string;
|
|
32
|
+
let invalid_url: string;
|
|
33
|
+
let invalid_regex: string;
|
|
34
|
+
let invalid_date: string;
|
|
35
|
+
let invalid_day: string;
|
|
36
|
+
let invalidValueProperty: string;
|
|
37
|
+
let mask: string;
|
|
38
|
+
let valueIsNotAvailable: string;
|
|
39
|
+
let stripe: string;
|
|
40
|
+
let month: string;
|
|
41
|
+
let day: string;
|
|
42
|
+
let year: string;
|
|
43
|
+
let january: string;
|
|
44
|
+
let february: string;
|
|
45
|
+
let march: string;
|
|
46
|
+
let april: string;
|
|
47
|
+
let may: string;
|
|
48
|
+
let june: string;
|
|
49
|
+
let july: string;
|
|
50
|
+
let august: string;
|
|
51
|
+
let september: string;
|
|
52
|
+
let october: string;
|
|
53
|
+
let november: string;
|
|
54
|
+
let december: string;
|
|
55
|
+
let next: string;
|
|
56
|
+
let previous: string;
|
|
57
|
+
let cancel: string;
|
|
58
|
+
let submit: string;
|
|
59
|
+
let confirmCancel: string;
|
|
60
|
+
let saveDraftInstanceError: string;
|
|
61
|
+
let saveDraftAuthError: string;
|
|
62
|
+
let restoreDraftInstanceError: string;
|
|
63
|
+
let saveDraftError: string;
|
|
64
|
+
let restoreDraftError: string;
|
|
65
|
+
let time: string;
|
|
66
|
+
let cancelButtonAriaLabel: string;
|
|
67
|
+
let previousButtonAriaLabel: string;
|
|
68
|
+
let nextButtonAriaLabel: string;
|
|
69
|
+
let submitButtonAriaLabel: string;
|
|
70
|
+
let reCaptchaTokenValidationError: string;
|
|
71
|
+
let reCaptchaTokenNotSpecifiedError: string;
|
|
72
|
+
let apiKey: string;
|
|
73
|
+
let typeRemaining: string;
|
|
74
|
+
let typeCount: string;
|
|
75
|
+
let requiredDayField: string;
|
|
76
|
+
let requiredDayEmpty: string;
|
|
77
|
+
let requiredMonthField: string;
|
|
78
|
+
let requiredYearField: string;
|
|
79
|
+
}
|
|
80
|
+
export default _default;
|