@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
|
@@ -10,7 +10,7 @@ export default [
|
|
|
10
10
|
placeholder: 'Minimum Length',
|
|
11
11
|
type: 'number',
|
|
12
12
|
tooltip: 'The minimum length requirement this field must meet.',
|
|
13
|
-
input: true
|
|
13
|
+
input: true,
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
weight: 120,
|
|
@@ -19,7 +19,7 @@ export default [
|
|
|
19
19
|
placeholder: 'Maximum Length',
|
|
20
20
|
type: 'number',
|
|
21
21
|
tooltip: 'The maximum length requirement this field must meet.',
|
|
22
|
-
input: true
|
|
22
|
+
input: true,
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
type: 'checkbox',
|
|
@@ -28,5 +28,5 @@ export default [
|
|
|
28
28
|
key: 'rowDrafts',
|
|
29
29
|
label: 'Enable Row Drafts',
|
|
30
30
|
tooltip: 'Allow save rows even if their data is invalid. Errors will occur when try to submit with invalid rows.',
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
32
|
];
|
|
@@ -7,8 +7,8 @@ export default class EmailComponent extends TextFieldComponent {
|
|
|
7
7
|
key: 'email',
|
|
8
8
|
inputType: 'email',
|
|
9
9
|
kickbox: {
|
|
10
|
-
enabled: false
|
|
11
|
-
}
|
|
10
|
+
enabled: false,
|
|
11
|
+
},
|
|
12
12
|
}, ...extend);
|
|
13
13
|
}
|
|
14
14
|
static get builderInfo() {
|
|
@@ -18,7 +18,7 @@ export default class EmailComponent extends TextFieldComponent {
|
|
|
18
18
|
icon: 'at',
|
|
19
19
|
documentation: '/userguide/form-building/advanced-components#email',
|
|
20
20
|
weight: 10,
|
|
21
|
-
schema: EmailComponent.schema()
|
|
21
|
+
schema: EmailComponent.schema(),
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
init() {
|
|
@@ -36,7 +36,7 @@ export default class EmailComponent extends TextFieldComponent {
|
|
|
36
36
|
value = super.normalizeValue(value, flags);
|
|
37
37
|
if (this.options.server && !!value) {
|
|
38
38
|
if (Array.isArray(value)) {
|
|
39
|
-
value = value.map(val => val.toLowerCase());
|
|
39
|
+
value = value.map((val) => val.toLowerCase());
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
value = value.toLowerCase();
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export default [
|
|
2
2
|
{
|
|
3
3
|
key: 'validate.minWords',
|
|
4
|
-
ignore: true
|
|
4
|
+
ignore: true,
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
key: 'validate.maxWords',
|
|
8
|
-
ignore: true
|
|
8
|
+
ignore: true,
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
type: 'panel',
|
|
@@ -19,8 +19,8 @@ export default [
|
|
|
19
19
|
label: 'Enable',
|
|
20
20
|
tooltip: 'Enable Kickbox validation for this email field.',
|
|
21
21
|
description: 'Validate this email using the Kickbox email validation service.',
|
|
22
|
-
key: 'kickbox.enabled'
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
22
|
+
key: 'kickbox.enabled',
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
},
|
|
26
26
|
];
|
|
@@ -8,7 +8,7 @@ export default class FieldsetComponent extends NestedComponent {
|
|
|
8
8
|
legend: '',
|
|
9
9
|
components: [],
|
|
10
10
|
input: false,
|
|
11
|
-
persistent: false
|
|
11
|
+
persistent: false,
|
|
12
12
|
}, ...extend);
|
|
13
13
|
}
|
|
14
14
|
static get builderInfo() {
|
|
@@ -19,7 +19,7 @@ export default class FieldsetComponent extends NestedComponent {
|
|
|
19
19
|
documentation: '/userguide/form-building/layout-components#field-set',
|
|
20
20
|
showPreview: false,
|
|
21
21
|
weight: 20,
|
|
22
|
-
schema: FieldsetComponent.schema()
|
|
22
|
+
schema: FieldsetComponent.schema(),
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
static savedValueTypes() {
|
|
@@ -1,34 +1,34 @@
|
|
|
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: 'hideLabel',
|
|
16
|
-
ignore: true
|
|
16
|
+
ignore: true,
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
key: 'autofocus',
|
|
20
|
-
ignore: true
|
|
20
|
+
ignore: true,
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
key: 'tableView',
|
|
24
|
-
ignore: true
|
|
24
|
+
ignore: true,
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
key: 'label',
|
|
28
28
|
hidden: true,
|
|
29
29
|
calculateValue(context) {
|
|
30
30
|
return context.data.legend;
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
weight: 1,
|
|
@@ -37,6 +37,6 @@ export default [
|
|
|
37
37
|
key: 'legend',
|
|
38
38
|
label: 'Legend',
|
|
39
39
|
placeholder: 'Legend',
|
|
40
|
-
tooltip: 'The legend for this Fieldset.'
|
|
40
|
+
tooltip: 'The legend for this Fieldset.',
|
|
41
41
|
},
|
|
42
42
|
];
|
|
@@ -12,21 +12,21 @@ export default function (...extend) {
|
|
|
12
12
|
return Components.baseEditForm([
|
|
13
13
|
{
|
|
14
14
|
key: 'display',
|
|
15
|
-
components: FileEditDisplay
|
|
15
|
+
components: FileEditDisplay,
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
key: 'data',
|
|
19
|
-
components: FileEditData
|
|
19
|
+
components: FileEditData,
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
label: 'File',
|
|
23
23
|
key: 'file',
|
|
24
24
|
weight: 5,
|
|
25
|
-
components: FileEditFile
|
|
25
|
+
components: FileEditFile,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
key: 'validation',
|
|
29
|
-
components: FileEditValidation
|
|
29
|
+
components: FileEditValidation,
|
|
30
30
|
},
|
|
31
31
|
], ...extend);
|
|
32
32
|
}
|
|
@@ -11,11 +11,11 @@ let htmlCanvasElement;
|
|
|
11
11
|
if (typeof window !== 'undefined') {
|
|
12
12
|
htmlCanvasElement = window.HTMLCanvasElement;
|
|
13
13
|
}
|
|
14
|
-
else if (typeof
|
|
15
|
-
htmlCanvasElement =
|
|
14
|
+
else if (typeof globalThis !== 'undefined') {
|
|
15
|
+
htmlCanvasElement = globalThis.HTMLCanvasElement;
|
|
16
16
|
}
|
|
17
17
|
if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
|
|
18
|
-
Object.defineProperty(
|
|
18
|
+
Object.defineProperty(htmlCanvasElement.prototype, 'toBlob', {
|
|
19
19
|
value: function (callback, type, quality) {
|
|
20
20
|
var canvas = this;
|
|
21
21
|
setTimeout(function () {
|
|
@@ -23,9 +23,11 @@ if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
|
|
|
23
23
|
for (var i = 0; i < len; i++) {
|
|
24
24
|
arr[i] = binStr.charCodeAt(i);
|
|
25
25
|
}
|
|
26
|
-
callback(new Blob([
|
|
26
|
+
callback(new Blob([
|
|
27
|
+
arr,
|
|
28
|
+
], { type: type || 'image/png' }));
|
|
27
29
|
});
|
|
28
|
-
}
|
|
30
|
+
},
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
33
|
const createRandomString = () => Math.random().toString(36).substring(2, 15);
|
|
@@ -60,19 +62,26 @@ export default class FileComponent extends Field {
|
|
|
60
62
|
static get conditionOperatorsSettings() {
|
|
61
63
|
return {
|
|
62
64
|
...super.conditionOperatorsSettings,
|
|
63
|
-
operators: [
|
|
65
|
+
operators: [
|
|
66
|
+
'isEmpty',
|
|
67
|
+
'isNotEmpty',
|
|
68
|
+
],
|
|
64
69
|
};
|
|
65
70
|
}
|
|
66
71
|
static savedValueTypes(schema) {
|
|
67
72
|
schema = schema || {};
|
|
68
|
-
return getComponentSavedTypes(schema) || [
|
|
73
|
+
return (getComponentSavedTypes(schema) || [
|
|
74
|
+
componentValueTypes.object,
|
|
75
|
+
]);
|
|
69
76
|
}
|
|
70
77
|
init() {
|
|
71
78
|
super.init();
|
|
72
79
|
webViewCamera = navigator.camera || Camera;
|
|
73
|
-
const fileReaderSupported =
|
|
80
|
+
const fileReaderSupported = typeof FileReader !== 'undefined';
|
|
74
81
|
const formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;
|
|
75
|
-
const progressSupported =
|
|
82
|
+
const progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest
|
|
83
|
+
? 'upload' in new XMLHttpRequest()
|
|
84
|
+
: false;
|
|
76
85
|
this.support = {
|
|
77
86
|
filereader: fileReaderSupported,
|
|
78
87
|
formdata: formDataSupported,
|
|
@@ -123,10 +132,10 @@ export default class FileComponent extends Field {
|
|
|
123
132
|
return Array.isArray(value) ? value : [];
|
|
124
133
|
}
|
|
125
134
|
get hasTypes() {
|
|
126
|
-
return this.component.fileTypes &&
|
|
135
|
+
return (this.component.fileTypes &&
|
|
127
136
|
Array.isArray(this.component.fileTypes) &&
|
|
128
137
|
this.component.fileTypes.length !== 0 &&
|
|
129
|
-
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');
|
|
138
|
+
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== ''));
|
|
130
139
|
}
|
|
131
140
|
get fileDropHidden() {
|
|
132
141
|
return this._fileBrowseHidden;
|
|
@@ -232,10 +241,11 @@ export default class FileComponent extends Field {
|
|
|
232
241
|
this.redraw();
|
|
233
242
|
return;
|
|
234
243
|
}
|
|
235
|
-
this.getFrame(videoPlayer)
|
|
236
|
-
.then((frame) => {
|
|
244
|
+
this.getFrame(videoPlayer).then((frame) => {
|
|
237
245
|
frame.name = `photo-${Date.now()}.png`;
|
|
238
|
-
this.handleFilesToUpload([
|
|
246
|
+
this.handleFilesToUpload([
|
|
247
|
+
frame,
|
|
248
|
+
]);
|
|
239
249
|
this.cameraMode = false;
|
|
240
250
|
this.redraw();
|
|
241
251
|
});
|
|
@@ -369,8 +379,7 @@ export default class FileComponent extends Field {
|
|
|
369
379
|
if (this.refs.fileBrowse) {
|
|
370
380
|
this.addEventListener(this.refs.fileBrowse, 'click', (event) => {
|
|
371
381
|
event.preventDefault();
|
|
372
|
-
this.browseFiles(this.browseOptions)
|
|
373
|
-
.then((files) => {
|
|
382
|
+
this.browseFiles(this.browseOptions).then((files) => {
|
|
374
383
|
this.handleFilesToUpload(files);
|
|
375
384
|
});
|
|
376
385
|
});
|
|
@@ -415,9 +424,13 @@ export default class FileComponent extends Field {
|
|
|
415
424
|
fileEntry.file((file) => {
|
|
416
425
|
const reader = new FileReader();
|
|
417
426
|
reader.onloadend = (evt) => {
|
|
418
|
-
const blob = new Blob([
|
|
427
|
+
const blob = new Blob([
|
|
428
|
+
new Uint8Array(evt.target.result),
|
|
429
|
+
], { type: file.type });
|
|
419
430
|
blob.name = file.name;
|
|
420
|
-
this.handleFilesToUpload([
|
|
431
|
+
this.handleFilesToUpload([
|
|
432
|
+
blob,
|
|
433
|
+
]);
|
|
421
434
|
};
|
|
422
435
|
reader.readAsArrayBuffer(file);
|
|
423
436
|
});
|
|
@@ -437,9 +450,13 @@ export default class FileComponent extends Field {
|
|
|
437
450
|
fileEntry.file((file) => {
|
|
438
451
|
const reader = new FileReader();
|
|
439
452
|
reader.onloadend = (evt) => {
|
|
440
|
-
const blob = new Blob([
|
|
453
|
+
const blob = new Blob([
|
|
454
|
+
new Uint8Array(evt.target.result),
|
|
455
|
+
], { type: file.type });
|
|
441
456
|
blob.name = file.name;
|
|
442
|
-
this.handleFilesToUpload([
|
|
457
|
+
this.handleFilesToUpload([
|
|
458
|
+
blob,
|
|
459
|
+
]);
|
|
443
460
|
};
|
|
444
461
|
reader.readAsArrayBuffer(file);
|
|
445
462
|
});
|
|
@@ -472,7 +489,8 @@ export default class FileComponent extends Field {
|
|
|
472
489
|
if (!this.dataValue[index]) {
|
|
473
490
|
return;
|
|
474
491
|
}
|
|
475
|
-
this.dataValue[index].fileType =
|
|
492
|
+
this.dataValue[index].fileType =
|
|
493
|
+
this.dataValue[index].fileType || this.component.fileTypes[0].label;
|
|
476
494
|
this.addEventListener(fileType, 'change', (event) => {
|
|
477
495
|
event.preventDefault();
|
|
478
496
|
const fileType = this.component.fileTypes.find((typeObj) => typeObj.value === event.target.value);
|
|
@@ -494,9 +512,11 @@ export default class FileComponent extends Field {
|
|
|
494
512
|
loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
|
|
495
513
|
});
|
|
496
514
|
if (loadingImages.length) {
|
|
497
|
-
Promise.all(loadingImages)
|
|
515
|
+
Promise.all(loadingImages)
|
|
516
|
+
.then(() => {
|
|
498
517
|
this.filesReadyResolve();
|
|
499
|
-
})
|
|
518
|
+
})
|
|
519
|
+
.catch(() => this.filesReadyReject());
|
|
500
520
|
}
|
|
501
521
|
else {
|
|
502
522
|
this.filesReadyResolve();
|
|
@@ -504,12 +524,9 @@ export default class FileComponent extends Field {
|
|
|
504
524
|
}
|
|
505
525
|
return superAttach;
|
|
506
526
|
}
|
|
507
|
-
/* eslint-disable max-len */
|
|
508
527
|
fileSize(a, b, c, d, e) {
|
|
509
|
-
return `${(b = Math, c = b.log, d = 1024, e = c(a) / c(d) | 0, a / b.pow(d, e)).toFixed(2)} ${e ? `${'kMGTPEZY'[--e]}B` : 'Bytes'}`;
|
|
528
|
+
return `${((b = Math), (c = b.log), (d = 1024), (e = (c(a) / c(d)) | 0), a / b.pow(d, e)).toFixed(2)} ${e ? `${'kMGTPEZY'[--e]}B` : 'Bytes'}`;
|
|
510
529
|
}
|
|
511
|
-
/* eslint-enable max-len */
|
|
512
|
-
/* eslint-disable max-depth */
|
|
513
530
|
globStringToRegex(str) {
|
|
514
531
|
str = str.replace(/\s/g, '');
|
|
515
532
|
let regexp = '', excludes = [];
|
|
@@ -547,7 +564,6 @@ export default class FileComponent extends Field {
|
|
|
547
564
|
}
|
|
548
565
|
return { regexp, excludes };
|
|
549
566
|
}
|
|
550
|
-
/* eslint-enable max-depth */
|
|
551
567
|
translateScalars(str) {
|
|
552
568
|
if (typeof str === 'string') {
|
|
553
569
|
if (str.search(/kb/i) === str.length - 2) {
|
|
@@ -582,13 +598,15 @@ export default class FileComponent extends Field {
|
|
|
582
598
|
let valid = true;
|
|
583
599
|
if (pattern.regexp && pattern.regexp.length) {
|
|
584
600
|
const regexp = new RegExp(pattern.regexp, 'i');
|
|
585
|
-
valid =
|
|
586
|
-
(!_.isNil(file.
|
|
601
|
+
valid =
|
|
602
|
+
(!_.isNil(file.type) && regexp.test(file.type)) ||
|
|
603
|
+
(!_.isNil(file.name) && regexp.test(file.name));
|
|
587
604
|
}
|
|
588
605
|
valid = pattern.excludes.reduce((result, excludePattern) => {
|
|
589
606
|
const exclude = new RegExp(excludePattern, 'i');
|
|
590
|
-
return result &&
|
|
591
|
-
(_.isNil(file.
|
|
607
|
+
return (result &&
|
|
608
|
+
(_.isNil(file.type) || exclude.test(file.type)) &&
|
|
609
|
+
(_.isNil(file.name) || exclude.test(file.name)));
|
|
592
610
|
}, valid);
|
|
593
611
|
return valid;
|
|
594
612
|
}
|
|
@@ -599,7 +617,7 @@ export default class FileComponent extends Field {
|
|
|
599
617
|
return file.size - 0.1 <= this.translateScalars(val);
|
|
600
618
|
}
|
|
601
619
|
abortRequest(id) {
|
|
602
|
-
const abortUpload = this.abortUploads.find(abortUpload => abortUpload.id === id);
|
|
620
|
+
const abortUpload = this.abortUploads.find((abortUpload) => abortUpload.id === id);
|
|
603
621
|
if (abortUpload) {
|
|
604
622
|
abortUpload.abort();
|
|
605
623
|
}
|
|
@@ -609,7 +627,7 @@ export default class FileComponent extends Field {
|
|
|
609
627
|
if (!target.id) {
|
|
610
628
|
return;
|
|
611
629
|
}
|
|
612
|
-
const [action, id] = target.id.split('-');
|
|
630
|
+
const [action, id,] = target.id.split('-');
|
|
613
631
|
if (!action || !id || !this.actions[action]) {
|
|
614
632
|
return;
|
|
615
633
|
}
|
|
@@ -619,7 +637,9 @@ export default class FileComponent extends Field {
|
|
|
619
637
|
return uniqueName(file.name, this.component.fileNameTemplate, this.evalContext());
|
|
620
638
|
}
|
|
621
639
|
getInitFileToSync(file) {
|
|
622
|
-
const escapedFileName = file.name
|
|
640
|
+
const escapedFileName = file.name
|
|
641
|
+
? file.name.replaceAll('<', '<').replaceAll('>', '>')
|
|
642
|
+
: file.name;
|
|
623
643
|
return {
|
|
624
644
|
id: createRandomString(),
|
|
625
645
|
// Get a unique name for this file to keep file collisions from occurring.
|
|
@@ -655,9 +675,8 @@ export default class FileComponent extends Field {
|
|
|
655
675
|
}
|
|
656
676
|
validateFileName(file) {
|
|
657
677
|
// Check if file with the same name is being uploaded
|
|
658
|
-
const fileWithSameNameUploading = this.filesToSync.filesToUpload
|
|
659
|
-
|
|
660
|
-
const fileWithSameNameUploaded = _.some(this.dataValue, fileStatus => fileStatus.originalName === file.name);
|
|
678
|
+
const fileWithSameNameUploading = this.filesToSync.filesToUpload.some((fileToSync) => fileToSync.file?.name === file.name);
|
|
679
|
+
const fileWithSameNameUploaded = _.some(this.dataValue, (fileStatus) => fileStatus.originalName === file.name);
|
|
661
680
|
return fileWithSameNameUploaded || fileWithSameNameUploading
|
|
662
681
|
? {
|
|
663
682
|
status: 'error',
|
|
@@ -721,14 +740,22 @@ export default class FileComponent extends Field {
|
|
|
721
740
|
//Iterate through form components to find group resource if one exists
|
|
722
741
|
this.root.everyComponent((element) => {
|
|
723
742
|
if (element.component?.submissionAccess || element.component?.defaultPermission) {
|
|
724
|
-
groupPermissions = !element.component.submissionAccess
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
743
|
+
groupPermissions = !element.component.submissionAccess
|
|
744
|
+
? [
|
|
745
|
+
{
|
|
746
|
+
type: element.component.defaultPermission,
|
|
747
|
+
roles: [],
|
|
748
|
+
},
|
|
749
|
+
]
|
|
750
|
+
: element.component.submissionAccess;
|
|
730
751
|
groupPermissions.forEach((permission) => {
|
|
731
|
-
groupKey = [
|
|
752
|
+
groupKey = [
|
|
753
|
+
'admin',
|
|
754
|
+
'write',
|
|
755
|
+
'create',
|
|
756
|
+
].includes(permission.type)
|
|
757
|
+
? element.component.key
|
|
758
|
+
: null;
|
|
732
759
|
});
|
|
733
760
|
}
|
|
734
761
|
});
|
|
@@ -744,7 +771,7 @@ export default class FileComponent extends Field {
|
|
|
744
771
|
const fileProcessorHandler = fileProcessor(this.fileService, this.root.options.fileProcessor);
|
|
745
772
|
processedFile = await fileProcessorHandler(file, this.component.properties);
|
|
746
773
|
}
|
|
747
|
-
catch (
|
|
774
|
+
catch (ignoreErr) {
|
|
748
775
|
this.fileDropHidden = false;
|
|
749
776
|
return {
|
|
750
777
|
status: 'error',
|
|
@@ -800,7 +827,9 @@ export default class FileComponent extends Field {
|
|
|
800
827
|
}
|
|
801
828
|
if (this.component.storage && files && files.length) {
|
|
802
829
|
this.fileDropHidden = true;
|
|
803
|
-
return Promise.all([
|
|
830
|
+
return Promise.all([
|
|
831
|
+
...files,
|
|
832
|
+
].map(async (file) => {
|
|
804
833
|
await this.prepareFileToUpload(file);
|
|
805
834
|
this.redraw();
|
|
806
835
|
}));
|
|
@@ -823,7 +852,7 @@ export default class FileComponent extends Field {
|
|
|
823
852
|
? this.t('Ready to be removed from storage')
|
|
824
853
|
: this.t('Preparing file to remove'),
|
|
825
854
|
});
|
|
826
|
-
const index = this.dataValue.findIndex(file => file.name === fileInfo.name);
|
|
855
|
+
const index = this.dataValue.findIndex((file) => file.name === fileInfo.name);
|
|
827
856
|
this.splice(index);
|
|
828
857
|
this.redraw();
|
|
829
858
|
}
|
|
@@ -835,7 +864,14 @@ export default class FileComponent extends Field {
|
|
|
835
864
|
}
|
|
836
865
|
async deleteFile(fileInfo) {
|
|
837
866
|
const { options = {} } = this.component;
|
|
838
|
-
if (fileInfo &&
|
|
867
|
+
if (fileInfo &&
|
|
868
|
+
[
|
|
869
|
+
'url',
|
|
870
|
+
'indexeddb',
|
|
871
|
+
's3',
|
|
872
|
+
'azure',
|
|
873
|
+
'googledrive',
|
|
874
|
+
].includes(this.component.storage)) {
|
|
839
875
|
const { fileService } = this;
|
|
840
876
|
if (fileService && typeof fileService.deleteFile === 'function') {
|
|
841
877
|
return await fileService.deleteFile(fileInfo, options);
|
|
@@ -872,14 +908,14 @@ export default class FileComponent extends Field {
|
|
|
872
908
|
}));
|
|
873
909
|
}
|
|
874
910
|
updateProgress(fileInfo, progressEvent) {
|
|
875
|
-
fileInfo.progress = parseInt(100.0 * progressEvent.loaded / progressEvent.total);
|
|
911
|
+
fileInfo.progress = parseInt((100.0 * progressEvent.loaded) / progressEvent.total);
|
|
876
912
|
if (fileInfo.status !== 'progress') {
|
|
877
913
|
fileInfo.status = 'progress';
|
|
878
914
|
delete fileInfo.message;
|
|
879
915
|
this.redraw();
|
|
880
916
|
}
|
|
881
917
|
else {
|
|
882
|
-
const progress = Array.prototype.find.call(this.refs.progress, progressElement => progressElement.id === fileInfo.id);
|
|
918
|
+
const progress = Array.prototype.find.call(this.refs.progress, (progressElement) => progressElement.id === fileInfo.id);
|
|
883
919
|
progress.innerHTML = `<span class="visually-hidden">${fileInfo.progress}% ${this.t('Complete')}</span>`;
|
|
884
920
|
progress.style.width = `${fileInfo.progress}%`;
|
|
885
921
|
progress.ariaValueNow = fileInfo.progress.toString();
|
|
@@ -887,20 +923,22 @@ export default class FileComponent extends Field {
|
|
|
887
923
|
}
|
|
888
924
|
getMultipartOptions(fileToSync) {
|
|
889
925
|
let count = 0;
|
|
890
|
-
return this.component.useMultipartUpload && this.component.multipart
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
926
|
+
return this.component.useMultipartUpload && this.component.multipart
|
|
927
|
+
? {
|
|
928
|
+
...this.component.multipart,
|
|
929
|
+
progressCallback: (total) => {
|
|
930
|
+
count++;
|
|
931
|
+
fileToSync.status = 'progress';
|
|
932
|
+
fileToSync.progress = parseInt((100 * count) / total);
|
|
933
|
+
delete fileToSync.message;
|
|
934
|
+
this.redraw();
|
|
935
|
+
},
|
|
936
|
+
changeMessage: (message) => {
|
|
937
|
+
fileToSync.message = message;
|
|
938
|
+
this.redraw();
|
|
939
|
+
},
|
|
940
|
+
}
|
|
941
|
+
: false;
|
|
904
942
|
}
|
|
905
943
|
async uploadFile(fileToSync) {
|
|
906
944
|
return await this.fileService.uploadFile(fileToSync.storage, fileToSync.file, fileToSync.name, fileToSync.dir,
|
|
@@ -937,11 +975,12 @@ export default class FileComponent extends Field {
|
|
|
937
975
|
catch (response) {
|
|
938
976
|
fileToSync.status = 'error';
|
|
939
977
|
delete fileToSync.progress;
|
|
940
|
-
fileToSync.message =
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
978
|
+
fileToSync.message =
|
|
979
|
+
typeof response === 'string'
|
|
980
|
+
? response
|
|
981
|
+
: response.type === 'abort'
|
|
982
|
+
? this.t('Request was aborted')
|
|
983
|
+
: response.toString();
|
|
945
984
|
this.emit('fileUploadingEnd');
|
|
946
985
|
this.emit('fileUploadError', {
|
|
947
986
|
fileToSync,
|
|
@@ -963,24 +1002,29 @@ export default class FileComponent extends Field {
|
|
|
963
1002
|
this.fileDropHidden = true;
|
|
964
1003
|
this.redraw();
|
|
965
1004
|
try {
|
|
966
|
-
const [filesToDelete = [], filesToUpload = []] = await Promise.all([
|
|
1005
|
+
const [filesToDelete = [], filesToUpload = [],] = await Promise.all([
|
|
1006
|
+
this.delete(),
|
|
1007
|
+
this.upload(),
|
|
1008
|
+
]);
|
|
967
1009
|
this.filesToSync.filesToDelete = filesToDelete
|
|
968
|
-
.filter(file => file.fileToSync?.status === 'error')
|
|
969
|
-
.map(file => file.fileToSync);
|
|
1010
|
+
.filter((file) => file.fileToSync?.status === 'error')
|
|
1011
|
+
.map((file) => file.fileToSync);
|
|
970
1012
|
this.filesToSync.filesToUpload = filesToUpload
|
|
971
|
-
.filter(file => file.fileToSync?.status === 'error')
|
|
972
|
-
.map(file => file.fileToSync);
|
|
1013
|
+
.filter((file) => file.fileToSync?.status === 'error')
|
|
1014
|
+
.map((file) => file.fileToSync);
|
|
973
1015
|
if (!this.hasValue()) {
|
|
974
1016
|
this.dataValue = [];
|
|
975
1017
|
}
|
|
976
1018
|
const data = filesToUpload
|
|
977
|
-
.filter(file => file.fileToSync?.status === 'success')
|
|
978
|
-
.map(file => file.fileInfo);
|
|
1019
|
+
.filter((file) => file.fileToSync?.status === 'success')
|
|
1020
|
+
.map((file) => file.fileInfo);
|
|
979
1021
|
this.dataValue.push(...data);
|
|
980
|
-
this.triggerChange(
|
|
1022
|
+
this.triggerChange({
|
|
1023
|
+
modified: true,
|
|
1024
|
+
});
|
|
981
1025
|
return Promise.resolve();
|
|
982
1026
|
}
|
|
983
|
-
catch (
|
|
1027
|
+
catch (ignoreErr) {
|
|
984
1028
|
return Promise.reject();
|
|
985
1029
|
}
|
|
986
1030
|
finally {
|
|
@@ -999,9 +1043,14 @@ export default class FileComponent extends Field {
|
|
|
999
1043
|
if (this.component.privateDownload) {
|
|
1000
1044
|
fileInfo.private = true;
|
|
1001
1045
|
}
|
|
1002
|
-
fileService
|
|
1046
|
+
fileService
|
|
1047
|
+
.downloadFile(fileInfo, options)
|
|
1048
|
+
.then((file) => {
|
|
1003
1049
|
if (file) {
|
|
1004
|
-
if ([
|
|
1050
|
+
if ([
|
|
1051
|
+
'base64',
|
|
1052
|
+
'indexeddb',
|
|
1053
|
+
].includes(file.storage)) {
|
|
1005
1054
|
download(file.url, file.originalName || file.name, file.type);
|
|
1006
1055
|
}
|
|
1007
1056
|
else {
|
|
@@ -1029,9 +1078,7 @@ export default class FileComponent extends Field {
|
|
|
1029
1078
|
return Promise.resolve();
|
|
1030
1079
|
}
|
|
1031
1080
|
await this.syncFiles();
|
|
1032
|
-
return this.shouldSyncFiles
|
|
1033
|
-
? Promise.reject('Synchronization is failed')
|
|
1034
|
-
: Promise.resolve();
|
|
1081
|
+
return this.shouldSyncFiles ? Promise.reject('Synchronization is failed') : Promise.resolve();
|
|
1035
1082
|
}
|
|
1036
1083
|
catch (error) {
|
|
1037
1084
|
return Promise.reject(error.message);
|