@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
|
@@ -12,7 +12,7 @@ exports.default = [
|
|
|
12
12
|
placeholder: 'Minimum Length',
|
|
13
13
|
type: 'number',
|
|
14
14
|
tooltip: 'The minimum length requirement this field must meet.',
|
|
15
|
-
input: true
|
|
15
|
+
input: true,
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
18
|
weight: 120,
|
|
@@ -21,7 +21,7 @@ exports.default = [
|
|
|
21
21
|
placeholder: 'Maximum Length',
|
|
22
22
|
type: 'number',
|
|
23
23
|
tooltip: 'The maximum length requirement this field must meet.',
|
|
24
|
-
input: true
|
|
24
|
+
input: true,
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
type: 'checkbox',
|
|
@@ -30,5 +30,5 @@ exports.default = [
|
|
|
30
30
|
key: 'rowDrafts',
|
|
31
31
|
label: 'Enable Row Drafts',
|
|
32
32
|
tooltip: 'Allow save rows even if their data is invalid. Errors will occur when try to submit with invalid rows.',
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
34
|
];
|
|
@@ -12,8 +12,8 @@ class EmailComponent extends TextField_1.default {
|
|
|
12
12
|
key: 'email',
|
|
13
13
|
inputType: 'email',
|
|
14
14
|
kickbox: {
|
|
15
|
-
enabled: false
|
|
16
|
-
}
|
|
15
|
+
enabled: false,
|
|
16
|
+
},
|
|
17
17
|
}, ...extend);
|
|
18
18
|
}
|
|
19
19
|
static get builderInfo() {
|
|
@@ -23,7 +23,7 @@ class EmailComponent extends TextField_1.default {
|
|
|
23
23
|
icon: 'at',
|
|
24
24
|
documentation: '/userguide/form-building/advanced-components#email',
|
|
25
25
|
weight: 10,
|
|
26
|
-
schema: EmailComponent.schema()
|
|
26
|
+
schema: EmailComponent.schema(),
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
init() {
|
|
@@ -41,7 +41,7 @@ class EmailComponent extends TextField_1.default {
|
|
|
41
41
|
value = super.normalizeValue(value, flags);
|
|
42
42
|
if (this.options.server && !!value) {
|
|
43
43
|
if (Array.isArray(value)) {
|
|
44
|
-
value = value.map(val => val.toLowerCase());
|
|
44
|
+
value = value.map((val) => val.toLowerCase());
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
47
|
value = value.toLowerCase();
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = [
|
|
4
4
|
{
|
|
5
5
|
key: 'validate.minWords',
|
|
6
|
-
ignore: true
|
|
6
|
+
ignore: true,
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
key: 'validate.maxWords',
|
|
10
|
-
ignore: true
|
|
10
|
+
ignore: true,
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
type: 'panel',
|
|
@@ -21,8 +21,8 @@ exports.default = [
|
|
|
21
21
|
label: 'Enable',
|
|
22
22
|
tooltip: 'Enable Kickbox validation for this email field.',
|
|
23
23
|
description: 'Validate this email using the Kickbox email validation service.',
|
|
24
|
-
key: 'kickbox.enabled'
|
|
25
|
-
}
|
|
26
|
-
]
|
|
27
|
-
}
|
|
24
|
+
key: 'kickbox.enabled',
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
28
|
];
|
|
@@ -13,7 +13,7 @@ class FieldsetComponent extends NestedComponent_1.default {
|
|
|
13
13
|
legend: '',
|
|
14
14
|
components: [],
|
|
15
15
|
input: false,
|
|
16
|
-
persistent: false
|
|
16
|
+
persistent: false,
|
|
17
17
|
}, ...extend);
|
|
18
18
|
}
|
|
19
19
|
static get builderInfo() {
|
|
@@ -24,7 +24,7 @@ class FieldsetComponent extends NestedComponent_1.default {
|
|
|
24
24
|
documentation: '/userguide/form-building/layout-components#field-set',
|
|
25
25
|
showPreview: false,
|
|
26
26
|
weight: 20,
|
|
27
|
-
schema: FieldsetComponent.schema()
|
|
27
|
+
schema: FieldsetComponent.schema(),
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
static savedValueTypes() {
|
|
@@ -3,34 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = [
|
|
4
4
|
{
|
|
5
5
|
key: 'labelPosition',
|
|
6
|
-
ignore: true
|
|
6
|
+
ignore: true,
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
key: 'placeholder',
|
|
10
|
-
ignore: true
|
|
10
|
+
ignore: true,
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
key: 'description',
|
|
14
|
-
ignore: true
|
|
14
|
+
ignore: true,
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
key: 'hideLabel',
|
|
18
|
-
ignore: true
|
|
18
|
+
ignore: true,
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
21
|
key: 'autofocus',
|
|
22
|
-
ignore: true
|
|
22
|
+
ignore: true,
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
key: 'tableView',
|
|
26
|
-
ignore: true
|
|
26
|
+
ignore: true,
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
key: 'label',
|
|
30
30
|
hidden: true,
|
|
31
31
|
calculateValue(context) {
|
|
32
32
|
return context.data.legend;
|
|
33
|
-
}
|
|
33
|
+
},
|
|
34
34
|
},
|
|
35
35
|
{
|
|
36
36
|
weight: 1,
|
|
@@ -39,6 +39,6 @@ exports.default = [
|
|
|
39
39
|
key: 'legend',
|
|
40
40
|
label: 'Legend',
|
|
41
41
|
placeholder: 'Legend',
|
|
42
|
-
tooltip: 'The legend for this Fieldset.'
|
|
42
|
+
tooltip: 'The legend for this Fieldset.',
|
|
43
43
|
},
|
|
44
44
|
];
|
|
@@ -17,21 +17,21 @@ function default_1(...extend) {
|
|
|
17
17
|
return Components_1.default.baseEditForm([
|
|
18
18
|
{
|
|
19
19
|
key: 'display',
|
|
20
|
-
components: File_edit_display_1.default
|
|
20
|
+
components: File_edit_display_1.default,
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
key: 'data',
|
|
24
|
-
components: File_edit_data_1.default
|
|
24
|
+
components: File_edit_data_1.default,
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
label: 'File',
|
|
28
28
|
key: 'file',
|
|
29
29
|
weight: 5,
|
|
30
|
-
components: File_edit_file_1.default
|
|
30
|
+
components: File_edit_file_1.default,
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
key: 'validation',
|
|
34
|
-
components: File_edit_validation_1.default
|
|
34
|
+
components: File_edit_validation_1.default,
|
|
35
35
|
},
|
|
36
36
|
], ...extend);
|
|
37
37
|
}
|
|
@@ -25,11 +25,11 @@ let htmlCanvasElement;
|
|
|
25
25
|
if (typeof window !== 'undefined') {
|
|
26
26
|
htmlCanvasElement = window.HTMLCanvasElement;
|
|
27
27
|
}
|
|
28
|
-
else if (typeof
|
|
29
|
-
htmlCanvasElement =
|
|
28
|
+
else if (typeof globalThis !== 'undefined') {
|
|
29
|
+
htmlCanvasElement = globalThis.HTMLCanvasElement;
|
|
30
30
|
}
|
|
31
31
|
if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
|
|
32
|
-
Object.defineProperty(
|
|
32
|
+
Object.defineProperty(htmlCanvasElement.prototype, 'toBlob', {
|
|
33
33
|
value: function (callback, type, quality) {
|
|
34
34
|
var canvas = this;
|
|
35
35
|
setTimeout(function () {
|
|
@@ -37,9 +37,11 @@ if (htmlCanvasElement && !htmlCanvasElement.prototype.toBlob) {
|
|
|
37
37
|
for (var i = 0; i < len; i++) {
|
|
38
38
|
arr[i] = binStr.charCodeAt(i);
|
|
39
39
|
}
|
|
40
|
-
callback(new Blob([
|
|
40
|
+
callback(new Blob([
|
|
41
|
+
arr,
|
|
42
|
+
], { type: type || 'image/png' }));
|
|
41
43
|
});
|
|
42
|
-
}
|
|
44
|
+
},
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
const createRandomString = () => Math.random().toString(36).substring(2, 15);
|
|
@@ -72,18 +74,25 @@ class FileComponent extends Field_1.default {
|
|
|
72
74
|
return FileComponent.conditionOperatorsSettings;
|
|
73
75
|
}
|
|
74
76
|
static get conditionOperatorsSettings() {
|
|
75
|
-
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [
|
|
77
|
+
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { operators: [
|
|
78
|
+
'isEmpty',
|
|
79
|
+
'isNotEmpty',
|
|
80
|
+
] });
|
|
76
81
|
}
|
|
77
82
|
static savedValueTypes(schema) {
|
|
78
83
|
schema = schema || {};
|
|
79
|
-
return (0, utils_1.getComponentSavedTypes)(schema) || [
|
|
84
|
+
return ((0, utils_1.getComponentSavedTypes)(schema) || [
|
|
85
|
+
utils_1.componentValueTypes.object,
|
|
86
|
+
]);
|
|
80
87
|
}
|
|
81
88
|
init() {
|
|
82
89
|
super.init();
|
|
83
90
|
webViewCamera = navigator.camera || Camera;
|
|
84
|
-
const fileReaderSupported =
|
|
91
|
+
const fileReaderSupported = typeof FileReader !== 'undefined';
|
|
85
92
|
const formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;
|
|
86
|
-
const progressSupported =
|
|
93
|
+
const progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest
|
|
94
|
+
? 'upload' in new XMLHttpRequest()
|
|
95
|
+
: false;
|
|
87
96
|
this.support = {
|
|
88
97
|
filereader: fileReaderSupported,
|
|
89
98
|
formdata: formDataSupported,
|
|
@@ -134,10 +143,10 @@ class FileComponent extends Field_1.default {
|
|
|
134
143
|
return Array.isArray(value) ? value : [];
|
|
135
144
|
}
|
|
136
145
|
get hasTypes() {
|
|
137
|
-
return this.component.fileTypes &&
|
|
146
|
+
return (this.component.fileTypes &&
|
|
138
147
|
Array.isArray(this.component.fileTypes) &&
|
|
139
148
|
this.component.fileTypes.length !== 0 &&
|
|
140
|
-
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');
|
|
149
|
+
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== ''));
|
|
141
150
|
}
|
|
142
151
|
get fileDropHidden() {
|
|
143
152
|
return this._fileBrowseHidden;
|
|
@@ -238,10 +247,11 @@ class FileComponent extends Field_1.default {
|
|
|
238
247
|
this.redraw();
|
|
239
248
|
return;
|
|
240
249
|
}
|
|
241
|
-
this.getFrame(videoPlayer)
|
|
242
|
-
.then((frame) => {
|
|
250
|
+
this.getFrame(videoPlayer).then((frame) => {
|
|
243
251
|
frame.name = `photo-${Date.now()}.png`;
|
|
244
|
-
this.handleFilesToUpload([
|
|
252
|
+
this.handleFilesToUpload([
|
|
253
|
+
frame,
|
|
254
|
+
]);
|
|
245
255
|
this.cameraMode = false;
|
|
246
256
|
this.redraw();
|
|
247
257
|
});
|
|
@@ -370,8 +380,7 @@ class FileComponent extends Field_1.default {
|
|
|
370
380
|
if (this.refs.fileBrowse) {
|
|
371
381
|
this.addEventListener(this.refs.fileBrowse, 'click', (event) => {
|
|
372
382
|
event.preventDefault();
|
|
373
|
-
this.browseFiles(this.browseOptions)
|
|
374
|
-
.then((files) => {
|
|
383
|
+
this.browseFiles(this.browseOptions).then((files) => {
|
|
375
384
|
this.handleFilesToUpload(files);
|
|
376
385
|
});
|
|
377
386
|
});
|
|
@@ -416,9 +425,13 @@ class FileComponent extends Field_1.default {
|
|
|
416
425
|
fileEntry.file((file) => {
|
|
417
426
|
const reader = new FileReader();
|
|
418
427
|
reader.onloadend = (evt) => {
|
|
419
|
-
const blob = new Blob([
|
|
428
|
+
const blob = new Blob([
|
|
429
|
+
new Uint8Array(evt.target.result),
|
|
430
|
+
], { type: file.type });
|
|
420
431
|
blob.name = file.name;
|
|
421
|
-
this.handleFilesToUpload([
|
|
432
|
+
this.handleFilesToUpload([
|
|
433
|
+
blob,
|
|
434
|
+
]);
|
|
422
435
|
};
|
|
423
436
|
reader.readAsArrayBuffer(file);
|
|
424
437
|
});
|
|
@@ -438,9 +451,13 @@ class FileComponent extends Field_1.default {
|
|
|
438
451
|
fileEntry.file((file) => {
|
|
439
452
|
const reader = new FileReader();
|
|
440
453
|
reader.onloadend = (evt) => {
|
|
441
|
-
const blob = new Blob([
|
|
454
|
+
const blob = new Blob([
|
|
455
|
+
new Uint8Array(evt.target.result),
|
|
456
|
+
], { type: file.type });
|
|
442
457
|
blob.name = file.name;
|
|
443
|
-
this.handleFilesToUpload([
|
|
458
|
+
this.handleFilesToUpload([
|
|
459
|
+
blob,
|
|
460
|
+
]);
|
|
444
461
|
};
|
|
445
462
|
reader.readAsArrayBuffer(file);
|
|
446
463
|
});
|
|
@@ -473,7 +490,8 @@ class FileComponent extends Field_1.default {
|
|
|
473
490
|
if (!this.dataValue[index]) {
|
|
474
491
|
return;
|
|
475
492
|
}
|
|
476
|
-
this.dataValue[index].fileType =
|
|
493
|
+
this.dataValue[index].fileType =
|
|
494
|
+
this.dataValue[index].fileType || this.component.fileTypes[0].label;
|
|
477
495
|
this.addEventListener(fileType, 'change', (event) => {
|
|
478
496
|
event.preventDefault();
|
|
479
497
|
const fileType = this.component.fileTypes.find((typeObj) => typeObj.value === event.target.value);
|
|
@@ -495,9 +513,11 @@ class FileComponent extends Field_1.default {
|
|
|
495
513
|
loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
|
|
496
514
|
});
|
|
497
515
|
if (loadingImages.length) {
|
|
498
|
-
Promise.all(loadingImages)
|
|
516
|
+
Promise.all(loadingImages)
|
|
517
|
+
.then(() => {
|
|
499
518
|
this.filesReadyResolve();
|
|
500
|
-
})
|
|
519
|
+
})
|
|
520
|
+
.catch(() => this.filesReadyReject());
|
|
501
521
|
}
|
|
502
522
|
else {
|
|
503
523
|
this.filesReadyResolve();
|
|
@@ -505,12 +525,9 @@ class FileComponent extends Field_1.default {
|
|
|
505
525
|
}
|
|
506
526
|
return superAttach;
|
|
507
527
|
}
|
|
508
|
-
/* eslint-disable max-len */
|
|
509
528
|
fileSize(a, b, c, d, e) {
|
|
510
|
-
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'}`;
|
|
529
|
+
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'}`;
|
|
511
530
|
}
|
|
512
|
-
/* eslint-enable max-len */
|
|
513
|
-
/* eslint-disable max-depth */
|
|
514
531
|
globStringToRegex(str) {
|
|
515
532
|
str = str.replace(/\s/g, '');
|
|
516
533
|
let regexp = '', excludes = [];
|
|
@@ -548,7 +565,6 @@ class FileComponent extends Field_1.default {
|
|
|
548
565
|
}
|
|
549
566
|
return { regexp, excludes };
|
|
550
567
|
}
|
|
551
|
-
/* eslint-enable max-depth */
|
|
552
568
|
translateScalars(str) {
|
|
553
569
|
if (typeof str === 'string') {
|
|
554
570
|
if (str.search(/kb/i) === str.length - 2) {
|
|
@@ -583,13 +599,15 @@ class FileComponent extends Field_1.default {
|
|
|
583
599
|
let valid = true;
|
|
584
600
|
if (pattern.regexp && pattern.regexp.length) {
|
|
585
601
|
const regexp = new RegExp(pattern.regexp, 'i');
|
|
586
|
-
valid =
|
|
587
|
-
(!lodash_1.default.isNil(file.
|
|
602
|
+
valid =
|
|
603
|
+
(!lodash_1.default.isNil(file.type) && regexp.test(file.type)) ||
|
|
604
|
+
(!lodash_1.default.isNil(file.name) && regexp.test(file.name));
|
|
588
605
|
}
|
|
589
606
|
valid = pattern.excludes.reduce((result, excludePattern) => {
|
|
590
607
|
const exclude = new RegExp(excludePattern, 'i');
|
|
591
|
-
return result &&
|
|
592
|
-
(lodash_1.default.isNil(file.
|
|
608
|
+
return (result &&
|
|
609
|
+
(lodash_1.default.isNil(file.type) || exclude.test(file.type)) &&
|
|
610
|
+
(lodash_1.default.isNil(file.name) || exclude.test(file.name)));
|
|
593
611
|
}, valid);
|
|
594
612
|
return valid;
|
|
595
613
|
}
|
|
@@ -600,7 +618,7 @@ class FileComponent extends Field_1.default {
|
|
|
600
618
|
return file.size - 0.1 <= this.translateScalars(val);
|
|
601
619
|
}
|
|
602
620
|
abortRequest(id) {
|
|
603
|
-
const abortUpload = this.abortUploads.find(abortUpload => abortUpload.id === id);
|
|
621
|
+
const abortUpload = this.abortUploads.find((abortUpload) => abortUpload.id === id);
|
|
604
622
|
if (abortUpload) {
|
|
605
623
|
abortUpload.abort();
|
|
606
624
|
}
|
|
@@ -610,7 +628,7 @@ class FileComponent extends Field_1.default {
|
|
|
610
628
|
if (!target.id) {
|
|
611
629
|
return;
|
|
612
630
|
}
|
|
613
|
-
const [action, id] = target.id.split('-');
|
|
631
|
+
const [action, id,] = target.id.split('-');
|
|
614
632
|
if (!action || !id || !this.actions[action]) {
|
|
615
633
|
return;
|
|
616
634
|
}
|
|
@@ -620,7 +638,9 @@ class FileComponent extends Field_1.default {
|
|
|
620
638
|
return (0, utils_1.uniqueName)(file.name, this.component.fileNameTemplate, this.evalContext());
|
|
621
639
|
}
|
|
622
640
|
getInitFileToSync(file) {
|
|
623
|
-
const escapedFileName = file.name
|
|
641
|
+
const escapedFileName = file.name
|
|
642
|
+
? file.name.replaceAll('<', '<').replaceAll('>', '>')
|
|
643
|
+
: file.name;
|
|
624
644
|
return {
|
|
625
645
|
id: createRandomString(),
|
|
626
646
|
// Get a unique name for this file to keep file collisions from occurring.
|
|
@@ -658,9 +678,8 @@ class FileComponent extends Field_1.default {
|
|
|
658
678
|
}
|
|
659
679
|
validateFileName(file) {
|
|
660
680
|
// Check if file with the same name is being uploaded
|
|
661
|
-
const fileWithSameNameUploading = this.filesToSync.filesToUpload
|
|
662
|
-
|
|
663
|
-
const fileWithSameNameUploaded = lodash_1.default.some(this.dataValue, fileStatus => fileStatus.originalName === file.name);
|
|
681
|
+
const fileWithSameNameUploading = this.filesToSync.filesToUpload.some((fileToSync) => { var _a; return ((_a = fileToSync.file) === null || _a === void 0 ? void 0 : _a.name) === file.name; });
|
|
682
|
+
const fileWithSameNameUploaded = lodash_1.default.some(this.dataValue, (fileStatus) => fileStatus.originalName === file.name);
|
|
664
683
|
return fileWithSameNameUploaded || fileWithSameNameUploading
|
|
665
684
|
? {
|
|
666
685
|
status: 'error',
|
|
@@ -725,14 +744,22 @@ class FileComponent extends Field_1.default {
|
|
|
725
744
|
this.root.everyComponent((element) => {
|
|
726
745
|
var _a, _b;
|
|
727
746
|
if (((_a = element.component) === null || _a === void 0 ? void 0 : _a.submissionAccess) || ((_b = element.component) === null || _b === void 0 ? void 0 : _b.defaultPermission)) {
|
|
728
|
-
groupPermissions = !element.component.submissionAccess
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
747
|
+
groupPermissions = !element.component.submissionAccess
|
|
748
|
+
? [
|
|
749
|
+
{
|
|
750
|
+
type: element.component.defaultPermission,
|
|
751
|
+
roles: [],
|
|
752
|
+
},
|
|
753
|
+
]
|
|
754
|
+
: element.component.submissionAccess;
|
|
734
755
|
groupPermissions.forEach((permission) => {
|
|
735
|
-
groupKey = [
|
|
756
|
+
groupKey = [
|
|
757
|
+
'admin',
|
|
758
|
+
'write',
|
|
759
|
+
'create',
|
|
760
|
+
].includes(permission.type)
|
|
761
|
+
? element.component.key
|
|
762
|
+
: null;
|
|
736
763
|
});
|
|
737
764
|
}
|
|
738
765
|
});
|
|
@@ -749,7 +776,7 @@ class FileComponent extends Field_1.default {
|
|
|
749
776
|
const fileProcessorHandler = (0, fileProcessor_1.default)(this.fileService, this.root.options.fileProcessor);
|
|
750
777
|
processedFile = yield fileProcessorHandler(file, this.component.properties);
|
|
751
778
|
}
|
|
752
|
-
catch (
|
|
779
|
+
catch (ignoreErr) {
|
|
753
780
|
this.fileDropHidden = false;
|
|
754
781
|
return {
|
|
755
782
|
status: 'error',
|
|
@@ -802,7 +829,9 @@ class FileComponent extends Field_1.default {
|
|
|
802
829
|
}
|
|
803
830
|
if (this.component.storage && files && files.length) {
|
|
804
831
|
this.fileDropHidden = true;
|
|
805
|
-
return Promise.all([
|
|
832
|
+
return Promise.all([
|
|
833
|
+
...files,
|
|
834
|
+
].map((file) => __awaiter(this, void 0, void 0, function* () {
|
|
806
835
|
yield this.prepareFileToUpload(file);
|
|
807
836
|
this.redraw();
|
|
808
837
|
})));
|
|
@@ -824,7 +853,7 @@ class FileComponent extends Field_1.default {
|
|
|
824
853
|
this.filesToSync.filesToDelete.push(Object.assign(Object.assign({}, fileInfo), { status: 'info', message: this.autoSync
|
|
825
854
|
? this.t('Ready to be removed from storage')
|
|
826
855
|
: this.t('Preparing file to remove') }));
|
|
827
|
-
const index = this.dataValue.findIndex(file => file.name === fileInfo.name);
|
|
856
|
+
const index = this.dataValue.findIndex((file) => file.name === fileInfo.name);
|
|
828
857
|
this.splice(index);
|
|
829
858
|
this.redraw();
|
|
830
859
|
}
|
|
@@ -837,7 +866,14 @@ class FileComponent extends Field_1.default {
|
|
|
837
866
|
deleteFile(fileInfo) {
|
|
838
867
|
return __awaiter(this, void 0, void 0, function* () {
|
|
839
868
|
const { options = {} } = this.component;
|
|
840
|
-
if (fileInfo &&
|
|
869
|
+
if (fileInfo &&
|
|
870
|
+
[
|
|
871
|
+
'url',
|
|
872
|
+
'indexeddb',
|
|
873
|
+
's3',
|
|
874
|
+
'azure',
|
|
875
|
+
'googledrive',
|
|
876
|
+
].includes(this.component.storage)) {
|
|
841
877
|
const { fileService } = this;
|
|
842
878
|
if (fileService && typeof fileService.deleteFile === 'function') {
|
|
843
879
|
return yield fileService.deleteFile(fileInfo, options);
|
|
@@ -877,14 +913,14 @@ class FileComponent extends Field_1.default {
|
|
|
877
913
|
});
|
|
878
914
|
}
|
|
879
915
|
updateProgress(fileInfo, progressEvent) {
|
|
880
|
-
fileInfo.progress = parseInt(100.0 * progressEvent.loaded / progressEvent.total);
|
|
916
|
+
fileInfo.progress = parseInt((100.0 * progressEvent.loaded) / progressEvent.total);
|
|
881
917
|
if (fileInfo.status !== 'progress') {
|
|
882
918
|
fileInfo.status = 'progress';
|
|
883
919
|
delete fileInfo.message;
|
|
884
920
|
this.redraw();
|
|
885
921
|
}
|
|
886
922
|
else {
|
|
887
|
-
const progress = Array.prototype.find.call(this.refs.progress, progressElement => progressElement.id === fileInfo.id);
|
|
923
|
+
const progress = Array.prototype.find.call(this.refs.progress, (progressElement) => progressElement.id === fileInfo.id);
|
|
888
924
|
progress.innerHTML = `<span class="visually-hidden">${fileInfo.progress}% ${this.t('Complete')}</span>`;
|
|
889
925
|
progress.style.width = `${fileInfo.progress}%`;
|
|
890
926
|
progress.ariaValueNow = fileInfo.progress.toString();
|
|
@@ -892,16 +928,17 @@ class FileComponent extends Field_1.default {
|
|
|
892
928
|
}
|
|
893
929
|
getMultipartOptions(fileToSync) {
|
|
894
930
|
let count = 0;
|
|
895
|
-
return this.component.useMultipartUpload && this.component.multipart
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
931
|
+
return this.component.useMultipartUpload && this.component.multipart
|
|
932
|
+
? Object.assign(Object.assign({}, this.component.multipart), { progressCallback: (total) => {
|
|
933
|
+
count++;
|
|
934
|
+
fileToSync.status = 'progress';
|
|
935
|
+
fileToSync.progress = parseInt((100 * count) / total);
|
|
936
|
+
delete fileToSync.message;
|
|
937
|
+
this.redraw();
|
|
938
|
+
}, changeMessage: (message) => {
|
|
939
|
+
fileToSync.message = message;
|
|
940
|
+
this.redraw();
|
|
941
|
+
} }) : false;
|
|
905
942
|
}
|
|
906
943
|
uploadFile(fileToSync) {
|
|
907
944
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -941,11 +978,12 @@ class FileComponent extends Field_1.default {
|
|
|
941
978
|
catch (response) {
|
|
942
979
|
fileToSync.status = 'error';
|
|
943
980
|
delete fileToSync.progress;
|
|
944
|
-
fileToSync.message =
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
981
|
+
fileToSync.message =
|
|
982
|
+
typeof response === 'string'
|
|
983
|
+
? response
|
|
984
|
+
: response.type === 'abort'
|
|
985
|
+
? this.t('Request was aborted')
|
|
986
|
+
: response.toString();
|
|
949
987
|
this.emit('fileUploadingEnd');
|
|
950
988
|
this.emit('fileUploadError', {
|
|
951
989
|
fileToSync,
|
|
@@ -969,24 +1007,29 @@ class FileComponent extends Field_1.default {
|
|
|
969
1007
|
this.fileDropHidden = true;
|
|
970
1008
|
this.redraw();
|
|
971
1009
|
try {
|
|
972
|
-
const [filesToDelete = [], filesToUpload = []] = yield Promise.all([
|
|
1010
|
+
const [filesToDelete = [], filesToUpload = [],] = yield Promise.all([
|
|
1011
|
+
this.delete(),
|
|
1012
|
+
this.upload(),
|
|
1013
|
+
]);
|
|
973
1014
|
this.filesToSync.filesToDelete = filesToDelete
|
|
974
|
-
.filter(file => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'error'; })
|
|
975
|
-
.map(file => file.fileToSync);
|
|
1015
|
+
.filter((file) => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'error'; })
|
|
1016
|
+
.map((file) => file.fileToSync);
|
|
976
1017
|
this.filesToSync.filesToUpload = filesToUpload
|
|
977
|
-
.filter(file => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'error'; })
|
|
978
|
-
.map(file => file.fileToSync);
|
|
1018
|
+
.filter((file) => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'error'; })
|
|
1019
|
+
.map((file) => file.fileToSync);
|
|
979
1020
|
if (!this.hasValue()) {
|
|
980
1021
|
this.dataValue = [];
|
|
981
1022
|
}
|
|
982
1023
|
const data = filesToUpload
|
|
983
|
-
.filter(file => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'success'; })
|
|
984
|
-
.map(file => file.fileInfo);
|
|
1024
|
+
.filter((file) => { var _a; return ((_a = file.fileToSync) === null || _a === void 0 ? void 0 : _a.status) === 'success'; })
|
|
1025
|
+
.map((file) => file.fileInfo);
|
|
985
1026
|
this.dataValue.push(...data);
|
|
986
|
-
this.triggerChange(
|
|
1027
|
+
this.triggerChange({
|
|
1028
|
+
modified: true,
|
|
1029
|
+
});
|
|
987
1030
|
return Promise.resolve();
|
|
988
1031
|
}
|
|
989
|
-
catch (
|
|
1032
|
+
catch (ignoreErr) {
|
|
990
1033
|
return Promise.reject();
|
|
991
1034
|
}
|
|
992
1035
|
finally {
|
|
@@ -1006,9 +1049,14 @@ class FileComponent extends Field_1.default {
|
|
|
1006
1049
|
if (this.component.privateDownload) {
|
|
1007
1050
|
fileInfo.private = true;
|
|
1008
1051
|
}
|
|
1009
|
-
fileService
|
|
1052
|
+
fileService
|
|
1053
|
+
.downloadFile(fileInfo, options)
|
|
1054
|
+
.then((file) => {
|
|
1010
1055
|
if (file) {
|
|
1011
|
-
if ([
|
|
1056
|
+
if ([
|
|
1057
|
+
'base64',
|
|
1058
|
+
'indexeddb',
|
|
1059
|
+
].includes(file.storage)) {
|
|
1012
1060
|
(0, downloadjs_1.default)(file.url, file.originalName || file.name, file.type);
|
|
1013
1061
|
}
|
|
1014
1062
|
else {
|
|
@@ -1037,9 +1085,7 @@ class FileComponent extends Field_1.default {
|
|
|
1037
1085
|
return Promise.resolve();
|
|
1038
1086
|
}
|
|
1039
1087
|
yield this.syncFiles();
|
|
1040
|
-
return this.shouldSyncFiles
|
|
1041
|
-
? Promise.reject('Synchronization is failed')
|
|
1042
|
-
: Promise.resolve();
|
|
1088
|
+
return this.shouldSyncFiles ? Promise.reject('Synchronization is failed') : Promise.resolve();
|
|
1043
1089
|
}
|
|
1044
1090
|
catch (error) {
|
|
1045
1091
|
return Promise.reject(error.message);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = [
|
|
4
4
|
{
|
|
5
5
|
key: 'placeholder',
|
|
6
|
-
ignore: true
|
|
6
|
+
ignore: true,
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
9
|
type: 'hidden',
|
|
@@ -15,11 +15,15 @@ exports.default = [
|
|
|
15
15
|
json: {
|
|
16
16
|
in: [
|
|
17
17
|
{
|
|
18
|
-
var: 'data.storage'
|
|
18
|
+
var: 'data.storage',
|
|
19
19
|
},
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
's3',
|
|
22
|
+
'azure',
|
|
23
|
+
'googledrive',
|
|
24
|
+
],
|
|
21
25
|
],
|
|
22
|
-
}
|
|
23
|
-
}
|
|
26
|
+
},
|
|
27
|
+
},
|
|
24
28
|
},
|
|
25
29
|
];
|