@formio/js 5.2.4-rc.0 → 5.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +50 -161
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +49 -158
- package/dist/formio.form.js +108 -152
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +50 -161
- package/dist/formio.full.js +227 -401
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +18 -51
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +14 -47
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +2 -3
- package/lib/cjs/Element.js +26 -29
- package/lib/cjs/Embed.js +42 -75
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +341 -371
- package/lib/cjs/Form.js +39 -153
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +3 -2
- package/lib/cjs/Formio.js +23 -26
- package/lib/cjs/InlineEmbed.js +17 -23
- package/lib/cjs/PDF.d.ts +0 -1
- package/lib/cjs/PDF.js +15 -18
- package/lib/cjs/PDFBuilder.js +36 -51
- package/lib/cjs/Webform.d.ts +366 -8
- package/lib/cjs/Webform.js +238 -177
- package/lib/cjs/WebformBuilder.js +152 -221
- package/lib/cjs/Wizard.js +65 -95
- package/lib/cjs/WizardBuilder.js +19 -27
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +4 -0
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +198 -309
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
- package/lib/cjs/components/_classes/component/editForm/utils.js +16 -12
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +1 -7
- package/lib/cjs/components/_classes/input/Input.js +26 -30
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +18 -27
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +13 -32
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +75 -67
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +14 -19
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
- package/lib/cjs/components/address/Address.d.ts +0 -1
- package/lib/cjs/components/address/Address.js +52 -57
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +11 -53
- package/lib/cjs/components/alert/Alert.js +15 -21
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +47 -64
- package/lib/cjs/components/button/editForm/Button.edit.display.js +9 -49
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +20 -28
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +12 -24
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +4 -6
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +2 -4
- package/lib/cjs/components/content/Content.js +8 -10
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +10 -19
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +42 -92
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +35 -46
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +15 -30
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +58 -147
- package/lib/cjs/components/day/editForm/Day.edit.day.js +9 -13
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +8 -12
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +96 -142
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +90 -131
- package/lib/cjs/components/file/editForm/File.edit.display.js +5 -9
- package/lib/cjs/components/file/editForm/File.edit.file.js +53 -97
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +58 -68
- package/lib/cjs/components/form/editForm/Form.edit.data.js +3 -1
- package/lib/cjs/components/form/editForm/Form.edit.display.js +7 -6
- package/lib/cjs/components/form/editForm/Form.edit.form.js +9 -11
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +17 -23
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +11 -27
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +7 -5
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +29 -55
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +2 -5
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +32 -58
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +9 -23
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +10 -10
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +140 -235
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +57 -191
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +16 -29
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +17 -26
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +10 -19
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +17 -30
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +11 -23
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -8
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +10 -27
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +12 -28
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +45 -63
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +21 -32
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +13 -15
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +21 -31
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +10 -17
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +1 -2
- package/lib/cjs/formio.form.js +12 -38
- package/lib/cjs/i18n.d.ts +0 -4
- package/lib/cjs/i18n.js +3 -7
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/pdf.image.d.ts +2 -0
- package/lib/cjs/pdf.image.js +94 -0
- package/lib/cjs/providers/address/AddressProvider.js +5 -8
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +13 -24
- package/lib/cjs/providers/processor/fileProcessor.js +1 -3
- package/lib/cjs/providers/storage/azure.js +2 -5
- package/lib/cjs/providers/storage/dropbox.js +5 -4
- package/lib/cjs/providers/storage/googleDrive.js +4 -3
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +6 -16
- package/lib/cjs/providers/storage/s3.js +6 -17
- package/lib/cjs/providers/storage/uploadAdapter.js +11 -17
- package/lib/cjs/providers/storage/url.js +11 -13
- package/lib/cjs/providers/storage/xhr.js +9 -17
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/en.d.ts +2 -0
- package/lib/cjs/translations/en.js +9 -7
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +7 -31
- package/lib/cjs/utils/calendarUtils.js +5 -7
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +4 -12
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -3
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +6 -10
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +1 -7
- package/lib/cjs/utils/index.d.ts +1 -2
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/jsonlogic/operators.d.ts +1 -0
- package/lib/cjs/utils/jsonlogic/operators.js +265 -0
- package/lib/cjs/utils/utils.d.ts +1 -10
- package/lib/cjs/utils/utils.js +92 -175
- package/lib/cjs/widgets/CalendarWidget.js +49 -66
- package/lib/cjs/widgets/InputWidget.js +4 -6
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +2 -3
- package/lib/mjs/Element.js +23 -29
- package/lib/mjs/Embed.js +43 -77
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +341 -371
- package/lib/mjs/Form.js +126 -142
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +3 -2
- package/lib/mjs/Formio.js +23 -26
- package/lib/mjs/InlineEmbed.js +17 -23
- package/lib/mjs/PDF.d.ts +0 -1
- package/lib/mjs/PDF.js +15 -18
- package/lib/mjs/PDFBuilder.js +36 -51
- package/lib/mjs/Webform.d.ts +366 -8
- package/lib/mjs/Webform.js +251 -184
- package/lib/mjs/WebformBuilder.js +151 -224
- package/lib/mjs/Wizard.js +64 -94
- package/lib/mjs/WizardBuilder.js +19 -27
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +57 -59
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +16 -24
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +4 -0
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +194 -313
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +4 -2
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +11 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +0 -37
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +25 -39
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +29 -47
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +7 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +34 -37
- package/lib/mjs/components/_classes/component/editForm/utils.js +16 -12
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +2 -8
- package/lib/mjs/components/_classes/input/Input.js +23 -27
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +18 -27
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +9 -36
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +13 -32
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +33 -41
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +15 -20
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +17 -19
- package/lib/mjs/components/address/Address.d.ts +0 -1
- package/lib/mjs/components/address/Address.js +49 -60
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +11 -53
- package/lib/mjs/components/alert/Alert.js +16 -22
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +42 -65
- package/lib/mjs/components/button/editForm/Button.edit.display.js +9 -49
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +21 -29
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +3 -13
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +12 -24
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +4 -6
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +2 -4
- package/lib/mjs/components/content/Content.js +8 -10
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +10 -19
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +41 -92
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +33 -46
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +16 -31
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +3 -4
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +17 -22
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +58 -148
- package/lib/mjs/components/day/editForm/Day.edit.day.js +9 -13
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +8 -12
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +92 -140
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +2 -7
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +89 -136
- package/lib/mjs/components/file/editForm/File.edit.display.js +5 -9
- package/lib/mjs/components/file/editForm/File.edit.file.js +53 -97
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +55 -68
- package/lib/mjs/components/form/editForm/Form.edit.data.js +3 -1
- package/lib/mjs/components/form/editForm/Form.edit.display.js +7 -6
- package/lib/mjs/components/form/editForm/Form.edit.form.js +8 -10
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +17 -23
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +12 -28
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +8 -6
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +29 -55
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +2 -5
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +30 -59
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +9 -23
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +8 -10
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +145 -240
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +57 -191
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -30
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +16 -26
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +10 -19
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +17 -30
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +11 -23
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +6 -8
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +9 -27
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +17 -21
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +12 -28
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +51 -75
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +72 -96
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +23 -34
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +13 -15
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +21 -31
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +10 -17
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +1 -2
- package/lib/mjs/formio.form.js +8 -10
- package/lib/mjs/i18n.d.ts +0 -4
- package/lib/mjs/i18n.js +3 -7
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/pdf.image.d.ts +2 -0
- package/lib/mjs/pdf.image.js +94 -0
- package/lib/mjs/providers/address/AddressProvider.js +5 -8
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -24
- package/lib/mjs/providers/processor/fileProcessor.js +1 -3
- package/lib/mjs/providers/storage/azure.js +2 -5
- package/lib/mjs/providers/storage/dropbox.js +5 -4
- package/lib/mjs/providers/storage/googleDrive.js +4 -3
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +6 -16
- package/lib/mjs/providers/storage/s3.js +8 -19
- package/lib/mjs/providers/storage/uploadAdapter.js +11 -17
- package/lib/mjs/providers/storage/url.js +11 -13
- package/lib/mjs/providers/storage/xhr.js +9 -17
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/en.d.ts +2 -0
- package/lib/mjs/translations/en.js +9 -7
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +7 -31
- package/lib/mjs/utils/calendarUtils.js +5 -7
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +5 -16
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -3
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +6 -10
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +1 -7
- package/lib/mjs/utils/index.d.ts +1 -2
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/jsonlogic/operators.d.ts +1 -0
- package/lib/mjs/utils/jsonlogic/operators.js +262 -0
- package/lib/mjs/utils/utils.d.ts +1 -10
- package/lib/mjs/utils/utils.js +91 -178
- package/lib/mjs/widgets/CalendarWidget.js +50 -67
- package/lib/mjs/widgets/InputWidget.js +4 -6
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/translations/de.d.ts +0 -80
- package/lib/cjs/translations/de.js +0 -81
- package/lib/mjs/translations/de.d.ts +0 -80
- package/lib/mjs/translations/de.js +0 -79
|
@@ -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 global !== 'undefined') {
|
|
15
|
+
htmlCanvasElement = global.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,11 +23,9 @@ 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([
|
|
27
|
-
arr,
|
|
28
|
-
], { type: type || 'image/png' }));
|
|
26
|
+
callback(new Blob([arr], { type: type || 'image/png' }));
|
|
29
27
|
});
|
|
30
|
-
}
|
|
28
|
+
}
|
|
31
29
|
});
|
|
32
30
|
}
|
|
33
31
|
const createRandomString = () => Math.random().toString(36).substring(2, 15);
|
|
@@ -62,26 +60,19 @@ export default class FileComponent extends Field {
|
|
|
62
60
|
static get conditionOperatorsSettings() {
|
|
63
61
|
return {
|
|
64
62
|
...super.conditionOperatorsSettings,
|
|
65
|
-
operators: [
|
|
66
|
-
'isEmpty',
|
|
67
|
-
'isNotEmpty',
|
|
68
|
-
],
|
|
63
|
+
operators: ['isEmpty', 'isNotEmpty'],
|
|
69
64
|
};
|
|
70
65
|
}
|
|
71
66
|
static savedValueTypes(schema) {
|
|
72
67
|
schema = schema || {};
|
|
73
|
-
return
|
|
74
|
-
componentValueTypes.object,
|
|
75
|
-
]);
|
|
68
|
+
return getComponentSavedTypes(schema) || [componentValueTypes.object];
|
|
76
69
|
}
|
|
77
70
|
init() {
|
|
78
71
|
super.init();
|
|
79
72
|
webViewCamera = navigator.camera || Camera;
|
|
80
|
-
const fileReaderSupported = typeof FileReader !== 'undefined';
|
|
73
|
+
const fileReaderSupported = (typeof FileReader !== 'undefined');
|
|
81
74
|
const formDataSupported = typeof window !== 'undefined' ? Boolean(window.FormData) : false;
|
|
82
|
-
const progressSupported = typeof window !== 'undefined' && window.XMLHttpRequest
|
|
83
|
-
? 'upload' in new XMLHttpRequest()
|
|
84
|
-
: false;
|
|
75
|
+
const progressSupported = (typeof window !== 'undefined' && window.XMLHttpRequest) ? ('upload' in new XMLHttpRequest) : false;
|
|
85
76
|
this.support = {
|
|
86
77
|
filereader: fileReaderSupported,
|
|
87
78
|
formdata: formDataSupported,
|
|
@@ -132,10 +123,10 @@ export default class FileComponent extends Field {
|
|
|
132
123
|
return Array.isArray(value) ? value : [];
|
|
133
124
|
}
|
|
134
125
|
get hasTypes() {
|
|
135
|
-
return
|
|
126
|
+
return this.component.fileTypes &&
|
|
136
127
|
Array.isArray(this.component.fileTypes) &&
|
|
137
128
|
this.component.fileTypes.length !== 0 &&
|
|
138
|
-
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '')
|
|
129
|
+
(this.component.fileTypes[0].label !== '' || this.component.fileTypes[0].value !== '');
|
|
139
130
|
}
|
|
140
131
|
get fileDropHidden() {
|
|
141
132
|
return this._fileBrowseHidden;
|
|
@@ -241,11 +232,10 @@ export default class FileComponent extends Field {
|
|
|
241
232
|
this.redraw();
|
|
242
233
|
return;
|
|
243
234
|
}
|
|
244
|
-
this.getFrame(videoPlayer)
|
|
235
|
+
this.getFrame(videoPlayer)
|
|
236
|
+
.then((frame) => {
|
|
245
237
|
frame.name = `photo-${Date.now()}.png`;
|
|
246
|
-
this.handleFilesToUpload([
|
|
247
|
-
frame,
|
|
248
|
-
]);
|
|
238
|
+
this.handleFilesToUpload([frame]);
|
|
249
239
|
this.cameraMode = false;
|
|
250
240
|
this.redraw();
|
|
251
241
|
});
|
|
@@ -379,7 +369,8 @@ export default class FileComponent extends Field {
|
|
|
379
369
|
if (this.refs.fileBrowse) {
|
|
380
370
|
this.addEventListener(this.refs.fileBrowse, 'click', (event) => {
|
|
381
371
|
event.preventDefault();
|
|
382
|
-
this.browseFiles(this.browseOptions)
|
|
372
|
+
this.browseFiles(this.browseOptions)
|
|
373
|
+
.then((files) => {
|
|
383
374
|
this.handleFilesToUpload(files);
|
|
384
375
|
});
|
|
385
376
|
});
|
|
@@ -412,7 +403,7 @@ export default class FileComponent extends Field {
|
|
|
412
403
|
delete fileInfo.message;
|
|
413
404
|
this.filesToSync.filesToDelete.splice(index, 1);
|
|
414
405
|
this.dataValue.push(fileInfo);
|
|
415
|
-
this.triggerChange();
|
|
406
|
+
this.triggerChange?.();
|
|
416
407
|
this.redraw();
|
|
417
408
|
});
|
|
418
409
|
});
|
|
@@ -424,13 +415,9 @@ export default class FileComponent extends Field {
|
|
|
424
415
|
fileEntry.file((file) => {
|
|
425
416
|
const reader = new FileReader();
|
|
426
417
|
reader.onloadend = (evt) => {
|
|
427
|
-
const blob = new Blob([
|
|
428
|
-
new Uint8Array(evt.target.result),
|
|
429
|
-
], { type: file.type });
|
|
418
|
+
const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
|
|
430
419
|
blob.name = file.name;
|
|
431
|
-
this.handleFilesToUpload([
|
|
432
|
-
blob,
|
|
433
|
-
]);
|
|
420
|
+
this.handleFilesToUpload([blob]);
|
|
434
421
|
};
|
|
435
422
|
reader.readAsArrayBuffer(file);
|
|
436
423
|
});
|
|
@@ -450,13 +437,9 @@ export default class FileComponent extends Field {
|
|
|
450
437
|
fileEntry.file((file) => {
|
|
451
438
|
const reader = new FileReader();
|
|
452
439
|
reader.onloadend = (evt) => {
|
|
453
|
-
const blob = new Blob([
|
|
454
|
-
new Uint8Array(evt.target.result),
|
|
455
|
-
], { type: file.type });
|
|
440
|
+
const blob = new Blob([new Uint8Array(evt.target.result)], { type: file.type });
|
|
456
441
|
blob.name = file.name;
|
|
457
|
-
this.handleFilesToUpload([
|
|
458
|
-
blob,
|
|
459
|
-
]);
|
|
442
|
+
this.handleFilesToUpload([blob]);
|
|
460
443
|
};
|
|
461
444
|
reader.readAsArrayBuffer(file);
|
|
462
445
|
});
|
|
@@ -489,8 +472,7 @@ export default class FileComponent extends Field {
|
|
|
489
472
|
if (!this.dataValue[index]) {
|
|
490
473
|
return;
|
|
491
474
|
}
|
|
492
|
-
this.dataValue[index].fileType =
|
|
493
|
-
this.dataValue[index].fileType || this.component.fileTypes[0].label;
|
|
475
|
+
this.dataValue[index].fileType = this.dataValue[index].fileType || this.component.fileTypes[0].label;
|
|
494
476
|
this.addEventListener(fileType, 'change', (event) => {
|
|
495
477
|
event.preventDefault();
|
|
496
478
|
const fileType = this.component.fileTypes.find((typeObj) => typeObj.value === event.target.value);
|
|
@@ -512,11 +494,9 @@ export default class FileComponent extends Field {
|
|
|
512
494
|
loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
|
|
513
495
|
});
|
|
514
496
|
if (loadingImages.length) {
|
|
515
|
-
Promise.all(loadingImages)
|
|
516
|
-
.then(() => {
|
|
497
|
+
Promise.all(loadingImages).then(() => {
|
|
517
498
|
this.filesReadyResolve();
|
|
518
|
-
})
|
|
519
|
-
.catch(() => this.filesReadyReject());
|
|
499
|
+
}).catch(() => this.filesReadyReject());
|
|
520
500
|
}
|
|
521
501
|
else {
|
|
522
502
|
this.filesReadyResolve();
|
|
@@ -524,9 +504,12 @@ export default class FileComponent extends Field {
|
|
|
524
504
|
}
|
|
525
505
|
return superAttach;
|
|
526
506
|
}
|
|
507
|
+
/* eslint-disable max-len */
|
|
527
508
|
fileSize(a, b, c, d, e) {
|
|
528
|
-
return `${(
|
|
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'}`;
|
|
529
510
|
}
|
|
511
|
+
/* eslint-enable max-len */
|
|
512
|
+
/* eslint-disable max-depth */
|
|
530
513
|
globStringToRegex(str) {
|
|
531
514
|
str = str.replace(/\s/g, '');
|
|
532
515
|
let regexp = '', excludes = [];
|
|
@@ -564,6 +547,7 @@ export default class FileComponent extends Field {
|
|
|
564
547
|
}
|
|
565
548
|
return { regexp, excludes };
|
|
566
549
|
}
|
|
550
|
+
/* eslint-enable max-depth */
|
|
567
551
|
translateScalars(str) {
|
|
568
552
|
if (typeof str === 'string') {
|
|
569
553
|
if (str.search(/kb/i) === str.length - 2) {
|
|
@@ -598,15 +582,13 @@ export default class FileComponent extends Field {
|
|
|
598
582
|
let valid = true;
|
|
599
583
|
if (pattern.regexp && pattern.regexp.length) {
|
|
600
584
|
const regexp = new RegExp(pattern.regexp, 'i');
|
|
601
|
-
valid =
|
|
602
|
-
(!_.isNil(file.
|
|
603
|
-
(!_.isNil(file.name) && regexp.test(file.name));
|
|
585
|
+
valid = (!_.isNil(file.type) && regexp.test(file.type)) ||
|
|
586
|
+
(!_.isNil(file.name) && regexp.test(file.name));
|
|
604
587
|
}
|
|
605
588
|
valid = pattern.excludes.reduce((result, excludePattern) => {
|
|
606
589
|
const exclude = new RegExp(excludePattern, 'i');
|
|
607
|
-
return
|
|
608
|
-
(_.isNil(file.
|
|
609
|
-
(_.isNil(file.name) || exclude.test(file.name)));
|
|
590
|
+
return result && (_.isNil(file.type) || exclude.test(file.type)) &&
|
|
591
|
+
(_.isNil(file.name) || exclude.test(file.name));
|
|
610
592
|
}, valid);
|
|
611
593
|
return valid;
|
|
612
594
|
}
|
|
@@ -617,7 +599,7 @@ export default class FileComponent extends Field {
|
|
|
617
599
|
return file.size - 0.1 <= this.translateScalars(val);
|
|
618
600
|
}
|
|
619
601
|
abortRequest(id) {
|
|
620
|
-
const abortUpload = this.abortUploads.find(
|
|
602
|
+
const abortUpload = this.abortUploads.find(abortUpload => abortUpload.id === id);
|
|
621
603
|
if (abortUpload) {
|
|
622
604
|
abortUpload.abort();
|
|
623
605
|
}
|
|
@@ -627,7 +609,7 @@ export default class FileComponent extends Field {
|
|
|
627
609
|
if (!target.id) {
|
|
628
610
|
return;
|
|
629
611
|
}
|
|
630
|
-
const [action, id
|
|
612
|
+
const [action, id] = target.id.split('-');
|
|
631
613
|
if (!action || !id || !this.actions[action]) {
|
|
632
614
|
return;
|
|
633
615
|
}
|
|
@@ -637,9 +619,7 @@ export default class FileComponent extends Field {
|
|
|
637
619
|
return uniqueName(file.name, this.component.fileNameTemplate, this.evalContext());
|
|
638
620
|
}
|
|
639
621
|
getInitFileToSync(file) {
|
|
640
|
-
const escapedFileName = file.name
|
|
641
|
-
? file.name.replaceAll('<', '<').replaceAll('>', '>')
|
|
642
|
-
: file.name;
|
|
622
|
+
const escapedFileName = file.name ? file.name.replaceAll('<', '<').replaceAll('>', '>') : file.name;
|
|
643
623
|
return {
|
|
644
624
|
id: createRandomString(),
|
|
645
625
|
// Get a unique name for this file to keep file collisions from occurring.
|
|
@@ -657,7 +637,7 @@ export default class FileComponent extends Field {
|
|
|
657
637
|
};
|
|
658
638
|
}
|
|
659
639
|
async handleSubmissionRevisions(file) {
|
|
660
|
-
if (this.root
|
|
640
|
+
if (this.root?.form.submissionRevisions !== 'true') {
|
|
661
641
|
return '';
|
|
662
642
|
}
|
|
663
643
|
const bmf = new BMF();
|
|
@@ -675,8 +655,9 @@ export default class FileComponent extends Field {
|
|
|
675
655
|
}
|
|
676
656
|
validateFileName(file) {
|
|
677
657
|
// Check if file with the same name is being uploaded
|
|
678
|
-
const fileWithSameNameUploading = this.filesToSync.filesToUpload
|
|
679
|
-
|
|
658
|
+
const fileWithSameNameUploading = this.filesToSync.filesToUpload
|
|
659
|
+
.some(fileToSync => fileToSync.file?.name === file.name);
|
|
660
|
+
const fileWithSameNameUploaded = _.some(this.dataValue, fileStatus => fileStatus.originalName === file.name);
|
|
680
661
|
return fileWithSameNameUploaded || fileWithSameNameUploading
|
|
681
662
|
? {
|
|
682
663
|
status: 'error',
|
|
@@ -738,24 +719,16 @@ export default class FileComponent extends Field {
|
|
|
738
719
|
let groupKey = null;
|
|
739
720
|
let groupPermissions = null;
|
|
740
721
|
//Iterate through form components to find group resource if one exists
|
|
741
|
-
this.root
|
|
722
|
+
this.root?.everyComponent((element) => {
|
|
742
723
|
if (element.component?.submissionAccess || element.component?.defaultPermission) {
|
|
743
|
-
groupPermissions = !element.component.submissionAccess
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
]
|
|
750
|
-
: element.component.submissionAccess;
|
|
724
|
+
groupPermissions = !element.component.submissionAccess ? [
|
|
725
|
+
{
|
|
726
|
+
type: element.component.defaultPermission,
|
|
727
|
+
roles: [],
|
|
728
|
+
},
|
|
729
|
+
] : element.component.submissionAccess;
|
|
751
730
|
groupPermissions.forEach((permission) => {
|
|
752
|
-
groupKey = [
|
|
753
|
-
'admin',
|
|
754
|
-
'write',
|
|
755
|
-
'create',
|
|
756
|
-
].includes(permission.type)
|
|
757
|
-
? element.component.key
|
|
758
|
-
: null;
|
|
731
|
+
groupKey = ['admin', 'write', 'create'].includes(permission.type) ? element.component.key : null;
|
|
759
732
|
});
|
|
760
733
|
}
|
|
761
734
|
});
|
|
@@ -763,15 +736,15 @@ export default class FileComponent extends Field {
|
|
|
763
736
|
}
|
|
764
737
|
async triggerFileProcessor(file) {
|
|
765
738
|
let processedFile = null;
|
|
766
|
-
if (this.root
|
|
739
|
+
if (this.root?.options.fileProcessor) {
|
|
767
740
|
try {
|
|
768
741
|
if (this.refs.fileProcessingLoader) {
|
|
769
742
|
this.refs.fileProcessingLoader.style.display = 'block';
|
|
770
743
|
}
|
|
771
|
-
const fileProcessorHandler = fileProcessor(this.fileService, this.root
|
|
744
|
+
const fileProcessorHandler = fileProcessor(this.fileService, this.root?.options.fileProcessor);
|
|
772
745
|
processedFile = await fileProcessorHandler(file, this.component.properties);
|
|
773
746
|
}
|
|
774
|
-
catch (
|
|
747
|
+
catch (err) {
|
|
775
748
|
this.fileDropHidden = false;
|
|
776
749
|
return {
|
|
777
750
|
status: 'error',
|
|
@@ -827,9 +800,7 @@ export default class FileComponent extends Field {
|
|
|
827
800
|
}
|
|
828
801
|
if (this.component.storage && files && files.length) {
|
|
829
802
|
this.fileDropHidden = true;
|
|
830
|
-
return Promise.all([
|
|
831
|
-
...files,
|
|
832
|
-
].map(async (file) => {
|
|
803
|
+
return Promise.all([...files].map(async (file) => {
|
|
833
804
|
await this.prepareFileToUpload(file);
|
|
834
805
|
this.redraw();
|
|
835
806
|
}));
|
|
@@ -852,7 +823,7 @@ export default class FileComponent extends Field {
|
|
|
852
823
|
? this.t('Ready to be removed from storage')
|
|
853
824
|
: this.t('Preparing file to remove'),
|
|
854
825
|
});
|
|
855
|
-
const index = this.dataValue.findIndex(
|
|
826
|
+
const index = this.dataValue.findIndex(file => file.name === fileInfo.name);
|
|
856
827
|
this.splice(index);
|
|
857
828
|
this.redraw();
|
|
858
829
|
}
|
|
@@ -864,14 +835,7 @@ export default class FileComponent extends Field {
|
|
|
864
835
|
}
|
|
865
836
|
async deleteFile(fileInfo) {
|
|
866
837
|
const { options = {} } = this.component;
|
|
867
|
-
if (fileInfo &&
|
|
868
|
-
[
|
|
869
|
-
'url',
|
|
870
|
-
'indexeddb',
|
|
871
|
-
's3',
|
|
872
|
-
'azure',
|
|
873
|
-
'googledrive',
|
|
874
|
-
].includes(this.component.storage)) {
|
|
838
|
+
if (fileInfo && (['url', 'indexeddb', 's3', 'azure', 'googledrive'].includes(this.component.storage))) {
|
|
875
839
|
const { fileService } = this;
|
|
876
840
|
if (fileService && typeof fileService.deleteFile === 'function') {
|
|
877
841
|
return await fileService.deleteFile(fileInfo, options);
|
|
@@ -908,14 +872,14 @@ export default class FileComponent extends Field {
|
|
|
908
872
|
}));
|
|
909
873
|
}
|
|
910
874
|
updateProgress(fileInfo, progressEvent) {
|
|
911
|
-
fileInfo.progress = parseInt(
|
|
875
|
+
fileInfo.progress = parseInt(100.0 * progressEvent.loaded / progressEvent.total);
|
|
912
876
|
if (fileInfo.status !== 'progress') {
|
|
913
877
|
fileInfo.status = 'progress';
|
|
914
878
|
delete fileInfo.message;
|
|
915
879
|
this.redraw();
|
|
916
880
|
}
|
|
917
881
|
else {
|
|
918
|
-
const progress = Array.prototype.find.call(this.refs.progress,
|
|
882
|
+
const progress = Array.prototype.find.call(this.refs.progress, progressElement => progressElement.id === fileInfo.id);
|
|
919
883
|
progress.innerHTML = `<span class="visually-hidden">${fileInfo.progress}% ${this.t('Complete')}</span>`;
|
|
920
884
|
progress.style.width = `${fileInfo.progress}%`;
|
|
921
885
|
progress.ariaValueNow = fileInfo.progress.toString();
|
|
@@ -923,22 +887,20 @@ export default class FileComponent extends Field {
|
|
|
923
887
|
}
|
|
924
888
|
getMultipartOptions(fileToSync) {
|
|
925
889
|
let count = 0;
|
|
926
|
-
return this.component.useMultipartUpload && this.component.multipart
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
}
|
|
941
|
-
: false;
|
|
890
|
+
return this.component.useMultipartUpload && this.component.multipart ? {
|
|
891
|
+
...this.component.multipart,
|
|
892
|
+
progressCallback: (total) => {
|
|
893
|
+
count++;
|
|
894
|
+
fileToSync.status = 'progress';
|
|
895
|
+
fileToSync.progress = parseInt(100 * count / total);
|
|
896
|
+
delete fileToSync.message;
|
|
897
|
+
this.redraw();
|
|
898
|
+
},
|
|
899
|
+
changeMessage: (message) => {
|
|
900
|
+
fileToSync.message = message;
|
|
901
|
+
this.redraw();
|
|
902
|
+
},
|
|
903
|
+
} : false;
|
|
942
904
|
}
|
|
943
905
|
async uploadFile(fileToSync) {
|
|
944
906
|
return await this.fileService.uploadFile(fileToSync.storage, fileToSync.file, fileToSync.name, fileToSync.dir,
|
|
@@ -975,12 +937,11 @@ export default class FileComponent extends Field {
|
|
|
975
937
|
catch (response) {
|
|
976
938
|
fileToSync.status = 'error';
|
|
977
939
|
delete fileToSync.progress;
|
|
978
|
-
fileToSync.message =
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
: response.toString();
|
|
940
|
+
fileToSync.message = typeof response === 'string'
|
|
941
|
+
? response
|
|
942
|
+
: response.type === 'abort'
|
|
943
|
+
? this.t('Request was aborted')
|
|
944
|
+
: response.toString();
|
|
984
945
|
this.emit('fileUploadingEnd');
|
|
985
946
|
this.emit('fileUploadError', {
|
|
986
947
|
fileToSync,
|
|
@@ -1002,29 +963,24 @@ export default class FileComponent extends Field {
|
|
|
1002
963
|
this.fileDropHidden = true;
|
|
1003
964
|
this.redraw();
|
|
1004
965
|
try {
|
|
1005
|
-
const [filesToDelete = [], filesToUpload = []
|
|
1006
|
-
this.delete(),
|
|
1007
|
-
this.upload(),
|
|
1008
|
-
]);
|
|
966
|
+
const [filesToDelete = [], filesToUpload = []] = await Promise.all([this.delete(), this.upload()]);
|
|
1009
967
|
this.filesToSync.filesToDelete = filesToDelete
|
|
1010
|
-
.filter(
|
|
1011
|
-
.map(
|
|
968
|
+
.filter(file => file.fileToSync?.status === 'error')
|
|
969
|
+
.map(file => file.fileToSync);
|
|
1012
970
|
this.filesToSync.filesToUpload = filesToUpload
|
|
1013
|
-
.filter(
|
|
1014
|
-
.map(
|
|
971
|
+
.filter(file => file.fileToSync?.status === 'error')
|
|
972
|
+
.map(file => file.fileToSync);
|
|
1015
973
|
if (!this.hasValue()) {
|
|
1016
974
|
this.dataValue = [];
|
|
1017
975
|
}
|
|
1018
976
|
const data = filesToUpload
|
|
1019
|
-
.filter(
|
|
1020
|
-
.map(
|
|
977
|
+
.filter(file => file.fileToSync?.status === 'success')
|
|
978
|
+
.map(file => file.fileInfo);
|
|
1021
979
|
this.dataValue.push(...data);
|
|
1022
|
-
this.triggerChange(
|
|
1023
|
-
modified: true,
|
|
1024
|
-
});
|
|
980
|
+
this.triggerChange?.();
|
|
1025
981
|
return Promise.resolve();
|
|
1026
982
|
}
|
|
1027
|
-
catch (
|
|
983
|
+
catch (err) {
|
|
1028
984
|
return Promise.reject();
|
|
1029
985
|
}
|
|
1030
986
|
finally {
|
|
@@ -1043,14 +999,9 @@ export default class FileComponent extends Field {
|
|
|
1043
999
|
if (this.component.privateDownload) {
|
|
1044
1000
|
fileInfo.private = true;
|
|
1045
1001
|
}
|
|
1046
|
-
fileService
|
|
1047
|
-
.downloadFile(fileInfo, options)
|
|
1048
|
-
.then((file) => {
|
|
1002
|
+
fileService.downloadFile(fileInfo, options).then((file) => {
|
|
1049
1003
|
if (file) {
|
|
1050
|
-
if ([
|
|
1051
|
-
'base64',
|
|
1052
|
-
'indexeddb',
|
|
1053
|
-
].includes(file.storage)) {
|
|
1004
|
+
if (['base64', 'indexeddb'].includes(file.storage)) {
|
|
1054
1005
|
download(file.url, file.originalName || file.name, file.type);
|
|
1055
1006
|
}
|
|
1056
1007
|
else {
|
|
@@ -1078,7 +1029,9 @@ export default class FileComponent extends Field {
|
|
|
1078
1029
|
return Promise.resolve();
|
|
1079
1030
|
}
|
|
1080
1031
|
await this.syncFiles();
|
|
1081
|
-
return this.shouldSyncFiles
|
|
1032
|
+
return this.shouldSyncFiles
|
|
1033
|
+
? Promise.reject('Synchronization is failed')
|
|
1034
|
+
: Promise.resolve();
|
|
1082
1035
|
}
|
|
1083
1036
|
catch (error) {
|
|
1084
1037
|
return Promise.reject(error.message);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export default [
|
|
2
2
|
{
|
|
3
3
|
key: 'placeholder',
|
|
4
|
-
ignore: true
|
|
4
|
+
ignore: true
|
|
5
5
|
},
|
|
6
6
|
{
|
|
7
7
|
type: 'hidden',
|
|
@@ -13,15 +13,11 @@ export default [
|
|
|
13
13
|
json: {
|
|
14
14
|
in: [
|
|
15
15
|
{
|
|
16
|
-
var: 'data.storage'
|
|
16
|
+
var: 'data.storage'
|
|
17
17
|
},
|
|
18
|
-
[
|
|
19
|
-
's3',
|
|
20
|
-
'azure',
|
|
21
|
-
'googledrive',
|
|
22
|
-
],
|
|
18
|
+
['s3', 'azure', 'googledrive']
|
|
23
19
|
],
|
|
24
|
-
}
|
|
25
|
-
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
26
22
|
},
|
|
27
23
|
];
|