@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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import EditFormUtils from './utils';
|
|
2
2
|
import { Evaluator } from '../../../../utils/Evaluator';
|
|
3
|
+
/* eslint-disable quotes, max-len */
|
|
3
4
|
export default [
|
|
4
5
|
{
|
|
5
6
|
weight: 10,
|
|
@@ -7,7 +8,7 @@ export default [
|
|
|
7
8
|
label: 'Required',
|
|
8
9
|
tooltip: 'A required field must be filled in before the form can be submitted.',
|
|
9
10
|
key: 'validate.required',
|
|
10
|
-
input: true
|
|
11
|
+
input: true
|
|
11
12
|
},
|
|
12
13
|
{
|
|
13
14
|
weight: 100,
|
|
@@ -15,7 +16,7 @@ export default [
|
|
|
15
16
|
label: 'Unique',
|
|
16
17
|
tooltip: 'Makes sure the data submitted for this field is unique, and has not been submitted before.',
|
|
17
18
|
key: 'unique',
|
|
18
|
-
input: true
|
|
19
|
+
input: true
|
|
19
20
|
},
|
|
20
21
|
{
|
|
21
22
|
weight: 100,
|
|
@@ -23,7 +24,7 @@ export default [
|
|
|
23
24
|
label: 'Validate When Hidden',
|
|
24
25
|
tooltip: 'Validates the component when it is hidden/conditionally hidden. Vaildation errors are displayed in the error alert on the form submission. Use caution when enabling this setting, as it can cause a hidden component to be invalid with no way for the form user to correct it.',
|
|
25
26
|
key: 'validateWhenHidden',
|
|
26
|
-
input: true
|
|
27
|
+
input: true
|
|
27
28
|
},
|
|
28
29
|
{
|
|
29
30
|
weight: 0,
|
|
@@ -37,9 +38,9 @@ export default [
|
|
|
37
38
|
data: {
|
|
38
39
|
values: [
|
|
39
40
|
{ label: 'Change', value: 'change' },
|
|
40
|
-
{ label: 'Blur', value: 'blur' }
|
|
41
|
-
]
|
|
42
|
-
}
|
|
41
|
+
{ label: 'Blur', value: 'blur' }
|
|
42
|
+
]
|
|
43
|
+
}
|
|
43
44
|
},
|
|
44
45
|
{
|
|
45
46
|
weight: 190,
|
|
@@ -48,7 +49,7 @@ export default [
|
|
|
48
49
|
key: 'errorLabel',
|
|
49
50
|
label: 'Error Label',
|
|
50
51
|
placeholder: 'Error Label',
|
|
51
|
-
tooltip: 'The label for this field when an error occurs.'
|
|
52
|
+
tooltip: 'The label for this field when an error occurs.'
|
|
52
53
|
},
|
|
53
54
|
{
|
|
54
55
|
weight: 200,
|
|
@@ -57,7 +58,7 @@ export default [
|
|
|
57
58
|
placeholder: 'Custom Error Message',
|
|
58
59
|
type: 'textfield',
|
|
59
60
|
tooltip: 'Error message displayed if any error occurred.',
|
|
60
|
-
input: true
|
|
61
|
+
input: true
|
|
61
62
|
},
|
|
62
63
|
{
|
|
63
64
|
type: 'panel',
|
|
@@ -79,7 +80,7 @@ export default [
|
|
|
79
80
|
editor: 'ace',
|
|
80
81
|
hideLabel: true,
|
|
81
82
|
as: 'javascript',
|
|
82
|
-
input: true
|
|
83
|
+
input: true
|
|
83
84
|
},
|
|
84
85
|
{
|
|
85
86
|
type: 'htmlelement',
|
|
@@ -90,7 +91,7 @@ export default [
|
|
|
90
91
|
<p>You must assign the <strong>valid</strong> variable as either <strong>true</strong> or an error message if validation fails.</p>
|
|
91
92
|
<h5>Example:</h5>
|
|
92
93
|
<pre>valid = (input === 'Joe') ? true : 'Your name must be "Joe"';</pre>
|
|
93
|
-
</small
|
|
94
|
+
</small>`
|
|
94
95
|
},
|
|
95
96
|
{
|
|
96
97
|
type: 'well',
|
|
@@ -102,11 +103,11 @@ export default [
|
|
|
102
103
|
tooltip: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
|
|
103
104
|
description: 'Check this if you wish to perform the validation ONLY on the server side. This keeps your validation logic private and secret.',
|
|
104
105
|
key: 'validate.customPrivate',
|
|
105
|
-
input: true
|
|
106
|
-
}
|
|
107
|
-
]
|
|
108
|
-
}
|
|
109
|
-
]
|
|
106
|
+
input: true
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
]
|
|
110
111
|
},
|
|
111
112
|
{
|
|
112
113
|
type: 'panel',
|
|
@@ -119,22 +120,17 @@ export default [
|
|
|
119
120
|
{
|
|
120
121
|
type: 'htmlelement',
|
|
121
122
|
tag: 'div',
|
|
123
|
+
/* eslint-disable prefer-template */
|
|
122
124
|
content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
|
|
123
125
|
'<h5>Example:</h5>' +
|
|
124
|
-
'<pre>' +
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
},
|
|
133
|
-
true,
|
|
134
|
-
"Your name must be 'Bob'!",
|
|
135
|
-
],
|
|
136
|
-
}, null, 2) +
|
|
137
|
-
'</pre>',
|
|
126
|
+
'<pre>' + JSON.stringify({
|
|
127
|
+
"if": [
|
|
128
|
+
{ "===": [{ "var": "input" }, "Bob"] },
|
|
129
|
+
true,
|
|
130
|
+
"Your name must be 'Bob'!"
|
|
131
|
+
]
|
|
132
|
+
}, null, 2) + '</pre>'
|
|
133
|
+
/* eslint-enable prefer-template */
|
|
138
134
|
},
|
|
139
135
|
{
|
|
140
136
|
type: 'textarea',
|
|
@@ -143,9 +139,9 @@ export default [
|
|
|
143
139
|
rows: 5,
|
|
144
140
|
editor: 'ace',
|
|
145
141
|
as: 'json',
|
|
146
|
-
input: true
|
|
147
|
-
}
|
|
148
|
-
]
|
|
142
|
+
input: true
|
|
143
|
+
}
|
|
144
|
+
]
|
|
149
145
|
},
|
|
150
146
|
{
|
|
151
147
|
type: 'panel',
|
|
@@ -162,7 +158,7 @@ export default [
|
|
|
162
158
|
rows: 5,
|
|
163
159
|
editor: 'ace',
|
|
164
160
|
as: 'json',
|
|
165
|
-
input: true
|
|
161
|
+
input: true
|
|
166
162
|
},
|
|
167
163
|
{
|
|
168
164
|
type: 'htmlelement',
|
|
@@ -208,8 +204,9 @@ export default [
|
|
|
208
204
|
<li><code>{<span/>{ m<span/>axYear }}</code></li>
|
|
209
205
|
<li><code>{<span/>{ r<span/>egex }}</code></li>
|
|
210
206
|
</ul>
|
|
211
|
-
|
|
212
|
-
}
|
|
213
|
-
]
|
|
214
|
-
}
|
|
207
|
+
`
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
}
|
|
215
211
|
];
|
|
212
|
+
/* eslint-enable quotes, max-len */
|
|
@@ -37,6 +37,7 @@ const EditFormUtils = {
|
|
|
37
37
|
return {
|
|
38
38
|
type: 'htmlelement',
|
|
39
39
|
tag: 'div',
|
|
40
|
+
/* eslint-disable prefer-template */
|
|
40
41
|
content: '<p>The following variables are available in all scripts.</p>' +
|
|
41
42
|
'<table class="table table-bordered table-condensed table-striped">' +
|
|
42
43
|
additional +
|
|
@@ -51,7 +52,8 @@ const EditFormUtils = {
|
|
|
51
52
|
'<tr><th>_</th><td>An instance of <a href="https://lodash.com/docs/" target="_blank" rel="noopener noreferrer">Lodash</a>.</td></tr>' +
|
|
52
53
|
'<tr><th>utils</th><td>An instance of the <a href="https://help.form.io/developers/javascript-development/javascript-utilities" target="_blank" rel="noopener noreferrer">FormioUtils</a> object.</td></tr>' +
|
|
53
54
|
'<tr><th>util</th><td>An alias for "utils".</td></tr>' +
|
|
54
|
-
'</table><br/>'
|
|
55
|
+
'</table><br/>'
|
|
56
|
+
/* eslint-enable prefer-template */
|
|
55
57
|
};
|
|
56
58
|
},
|
|
57
59
|
javaScriptValue(title, property, propertyJSON, weight, exampleHTML, exampleJSON, additionalParams = '', excludeJSONLogic) {
|
|
@@ -75,14 +77,14 @@ const EditFormUtils = {
|
|
|
75
77
|
editor: 'ace',
|
|
76
78
|
hideLabel: true,
|
|
77
79
|
as: 'javascript',
|
|
78
|
-
input: true
|
|
80
|
+
input: true
|
|
79
81
|
},
|
|
80
82
|
{
|
|
81
83
|
type: 'htmlelement',
|
|
82
84
|
tag: 'div',
|
|
83
|
-
content: `<p>Enter custom javascript code.</p>${exampleHTML}
|
|
84
|
-
}
|
|
85
|
-
]
|
|
85
|
+
content: `<p>Enter custom javascript code.</p>${exampleHTML}`
|
|
86
|
+
}
|
|
87
|
+
]
|
|
86
88
|
},
|
|
87
89
|
{
|
|
88
90
|
type: 'panel',
|
|
@@ -94,9 +96,11 @@ const EditFormUtils = {
|
|
|
94
96
|
{
|
|
95
97
|
type: 'htmlelement',
|
|
96
98
|
tag: 'div',
|
|
99
|
+
/* eslint-disable prefer-template */
|
|
97
100
|
content: '<p>Execute custom logic using <a href="http://jsonlogic.com/" target="_blank" rel="noopener noreferrer">JSONLogic</a>.</p>' +
|
|
98
101
|
'<p>Full <a href="https://lodash.com/docs" target="_blank" rel="noopener noreferrer">Lodash</a> support is provided using an "_" before each operation, such as <code>{"_sum": {var: "data.a"}}</code></p>' +
|
|
99
|
-
exampleJSON
|
|
102
|
+
exampleJSON
|
|
103
|
+
/* eslint-enable prefer-template */
|
|
100
104
|
},
|
|
101
105
|
{
|
|
102
106
|
type: 'textarea',
|
|
@@ -105,10 +109,10 @@ const EditFormUtils = {
|
|
|
105
109
|
editor: 'ace',
|
|
106
110
|
hideLabel: true,
|
|
107
111
|
as: 'json',
|
|
108
|
-
input: true
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
}
|
|
112
|
+
input: true
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
112
116
|
];
|
|
113
117
|
if (excludeJSONLogic) {
|
|
114
118
|
components.splice(2, 1);
|
|
@@ -121,8 +125,8 @@ const EditFormUtils = {
|
|
|
121
125
|
collapsed: true,
|
|
122
126
|
key: `${property}Panel`,
|
|
123
127
|
weight: weight,
|
|
124
|
-
components
|
|
128
|
+
components
|
|
125
129
|
};
|
|
126
|
-
}
|
|
130
|
+
}
|
|
127
131
|
};
|
|
128
132
|
export default EditFormUtils;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import { fastCloneDeep } from '../../../utils
|
|
2
|
+
import { fastCloneDeep } from '../../../utils';
|
|
3
3
|
export default class ComponentModal {
|
|
4
4
|
static render(component, data, topLevel) {
|
|
5
5
|
const children = component.renderTemplate('component', data, topLevel);
|
|
@@ -97,7 +97,7 @@ export default class ComponentModal {
|
|
|
97
97
|
setOpenEventListener() {
|
|
98
98
|
this.component.removeEventListener(this.refs.openModal, 'click', this.openModalListener);
|
|
99
99
|
this.component.loadRefs(this.refs.openModalWrapper ?? this.element, {
|
|
100
|
-
openModal: 'single',
|
|
100
|
+
'openModal': 'single',
|
|
101
101
|
});
|
|
102
102
|
this.component.addEventListener(this.refs.openModal, 'click', this.openModalListener);
|
|
103
103
|
}
|
|
@@ -16,7 +16,7 @@ export default class Field extends Component {
|
|
|
16
16
|
return super.render(this.renderTemplate('field', {
|
|
17
17
|
...this.getLabelInfo(this.options.condensedMode),
|
|
18
18
|
labelMarkup: this.renderTemplate('label'),
|
|
19
|
-
element: element
|
|
19
|
+
element: element
|
|
20
20
|
}, 'align'));
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
@@ -34,13 +34,7 @@ export default class Field extends Component {
|
|
|
34
34
|
saveCaretPosition(element, index) {
|
|
35
35
|
if (this.root?.focusedComponent?.path === this.path) {
|
|
36
36
|
try {
|
|
37
|
-
this.root.currentSelection = {
|
|
38
|
-
selection: [
|
|
39
|
-
element.selectionStart,
|
|
40
|
-
element.selectionEnd,
|
|
41
|
-
],
|
|
42
|
-
index,
|
|
43
|
-
};
|
|
37
|
+
this.root.currentSelection = { selection: [element.selectionStart, element.selectionEnd], index };
|
|
44
38
|
}
|
|
45
39
|
catch (e) {
|
|
46
40
|
if (!(e instanceof DOMException)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Multivalue from '../multivalue/Multivalue';
|
|
2
|
-
import { convertStringToHTMLElement } from '../../../utils
|
|
3
|
-
import Widgets from '../../../widgets
|
|
2
|
+
import { convertStringToHTMLElement } from '../../../utils';
|
|
3
|
+
import Widgets from '../../../widgets';
|
|
4
4
|
import _ from 'lodash';
|
|
5
5
|
export default class Input extends Multivalue {
|
|
6
6
|
constructor(component, options, data) {
|
|
@@ -10,8 +10,8 @@ export default class Input extends Multivalue {
|
|
|
10
10
|
static schema(...extend) {
|
|
11
11
|
return Multivalue.schema({
|
|
12
12
|
widget: {
|
|
13
|
-
type: 'input'
|
|
14
|
-
}
|
|
13
|
+
type: 'input'
|
|
14
|
+
}
|
|
15
15
|
}, ...extend);
|
|
16
16
|
}
|
|
17
17
|
get inputInfo() {
|
|
@@ -19,11 +19,9 @@ export default class Input extends Multivalue {
|
|
|
19
19
|
name: this.options.name,
|
|
20
20
|
type: this.component.inputType || 'text',
|
|
21
21
|
class: 'form-control',
|
|
22
|
-
lang: this.options.language
|
|
22
|
+
lang: this.options.language
|
|
23
23
|
};
|
|
24
|
-
if (this.options.attachMode === 'builder' ||
|
|
25
|
-
this.options.building ||
|
|
26
|
-
_.get(this.root, 'form.settings.disableAutocomplete')) {
|
|
24
|
+
if (this.options.attachMode === 'builder' || this.options.building || _.get(this.root, 'form.settings.disableAutocomplete')) {
|
|
27
25
|
attr.autocomplete = this.autocompleteDisableAttrName;
|
|
28
26
|
}
|
|
29
27
|
if (this.component.inputMode) {
|
|
@@ -47,24 +45,22 @@ export default class Input extends Multivalue {
|
|
|
47
45
|
type: 'input',
|
|
48
46
|
changeEvent: 'input',
|
|
49
47
|
content: '',
|
|
50
|
-
attr
|
|
48
|
+
attr
|
|
51
49
|
};
|
|
52
50
|
}
|
|
53
51
|
get autocompleteDisableAttrName() {
|
|
54
52
|
return 'off';
|
|
55
53
|
}
|
|
56
54
|
get maskOptions() {
|
|
57
|
-
return _.map(this.component.inputMasks,
|
|
55
|
+
return _.map(this.component.inputMasks, mask => {
|
|
58
56
|
return {
|
|
59
57
|
label: mask.label,
|
|
60
|
-
value: mask.label
|
|
58
|
+
value: mask.label
|
|
61
59
|
};
|
|
62
60
|
});
|
|
63
61
|
}
|
|
64
62
|
get isMultipleMasksField() {
|
|
65
|
-
return
|
|
66
|
-
!!this.component.inputMasks &&
|
|
67
|
-
!!this.component.inputMasks.length);
|
|
63
|
+
return this.component.allowMultipleMasks && !!this.component.inputMasks && !!this.component.inputMasks.length;
|
|
68
64
|
}
|
|
69
65
|
getMaskByName(maskName) {
|
|
70
66
|
const inputMask = _.find(this.component.inputMasks, (inputMask) => {
|
|
@@ -77,7 +73,8 @@ export default class Input extends Multivalue {
|
|
|
77
73
|
return super.setInputMask(input, mask, !this.component.placeholder);
|
|
78
74
|
}
|
|
79
75
|
getMaskOptions() {
|
|
80
|
-
return this.component.inputMasks
|
|
76
|
+
return this.component.inputMasks
|
|
77
|
+
.map(mask => ({
|
|
81
78
|
label: mask.label,
|
|
82
79
|
value: mask.label,
|
|
83
80
|
}));
|
|
@@ -100,7 +97,7 @@ export default class Input extends Multivalue {
|
|
|
100
97
|
// After font-awesome would be updated to v5.x, "clock-o" should be replaced with "clock"
|
|
101
98
|
className: this.iconClass(this.component.enableDate || this.component.widget.enableDate ? 'calendar' : 'clock-o'),
|
|
102
99
|
styles: '',
|
|
103
|
-
content: ''
|
|
100
|
+
content: ''
|
|
104
101
|
}).trim();
|
|
105
102
|
if (this.component.prefix !== calendarIcon) {
|
|
106
103
|
// converting string to HTML markup to render correctly DateTime component in portal.form.io
|
|
@@ -116,7 +113,8 @@ export default class Input extends Multivalue {
|
|
|
116
113
|
}
|
|
117
114
|
const info = this.inputInfo;
|
|
118
115
|
info.attr = info.attr || {};
|
|
119
|
-
info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value)))
|
|
116
|
+
info.attr.value = this.getValueAsString(this.formatValue(this.parseValue(value)))
|
|
117
|
+
.replace(/"/g, '"');
|
|
120
118
|
const valueMask = this.component.inputMask;
|
|
121
119
|
const displayMask = this.component.displayMask;
|
|
122
120
|
const hasDifferentDisplayAndSaveFormats = valueMask && displayMask && valueMask !== displayMask;
|
|
@@ -136,7 +134,7 @@ export default class Input extends Multivalue {
|
|
|
136
134
|
input: info,
|
|
137
135
|
value: this.formatValue(this.parseValue(value)),
|
|
138
136
|
hasValueMaskInput: hasDifferentDisplayAndSaveFormats,
|
|
139
|
-
index
|
|
137
|
+
index
|
|
140
138
|
}, this.isHtmlRenderMode() ? 'html' : null);
|
|
141
139
|
}
|
|
142
140
|
setCounter(type, element, count, max) {
|
|
@@ -150,13 +148,13 @@ export default class Input extends Multivalue {
|
|
|
150
148
|
}
|
|
151
149
|
this.setContent(element, this.t(`typeRemaining`, {
|
|
152
150
|
remaining: remaining,
|
|
153
|
-
type: type
|
|
151
|
+
type: type
|
|
154
152
|
}));
|
|
155
153
|
}
|
|
156
154
|
else {
|
|
157
155
|
this.setContent(element, this.t(`typeCount`, {
|
|
158
156
|
count: count,
|
|
159
|
-
type: type
|
|
157
|
+
type: type
|
|
160
158
|
}));
|
|
161
159
|
}
|
|
162
160
|
}
|
|
@@ -199,7 +197,7 @@ export default class Input extends Multivalue {
|
|
|
199
197
|
charcount: 'multiple',
|
|
200
198
|
wordcount: 'multiple',
|
|
201
199
|
prefix: 'multiple',
|
|
202
|
-
suffix: 'multiple'
|
|
200
|
+
suffix: 'multiple'
|
|
203
201
|
});
|
|
204
202
|
return super.attach(element);
|
|
205
203
|
}
|
|
@@ -252,11 +250,9 @@ export default class Input extends Multivalue {
|
|
|
252
250
|
return null;
|
|
253
251
|
}
|
|
254
252
|
// Get the widget settings.
|
|
255
|
-
const settings = typeof this.component.widget === 'string'
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
}
|
|
259
|
-
: this.component.widget;
|
|
253
|
+
const settings = (typeof this.component.widget === 'string') ? {
|
|
254
|
+
type: this.component.widget
|
|
255
|
+
} : this.component.widget;
|
|
260
256
|
if (this.root?.shadowRoot) {
|
|
261
257
|
settings.shadowRoot = this.root?.shadowRoot;
|
|
262
258
|
}
|
|
@@ -267,7 +263,7 @@ export default class Input extends Multivalue {
|
|
|
267
263
|
// Create the widget.
|
|
268
264
|
const widget = new Widgets[settings.type](settings, this.component, this, index);
|
|
269
265
|
widget.on('update', () => this.updateValue(this.getValue(), {
|
|
270
|
-
modified: true
|
|
266
|
+
modified: true
|
|
271
267
|
}, index), true);
|
|
272
268
|
widget.on('redraw', () => this.redraw(), true);
|
|
273
269
|
return widget;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Field from '../field/Field';
|
|
2
2
|
import { Formio } from '../../../Formio';
|
|
3
3
|
import _ from 'lodash';
|
|
4
|
-
import { getItemTemplateKeys } from '../../../utils
|
|
4
|
+
import { getItemTemplateKeys } from '../../../utils';
|
|
5
5
|
export default class ListComponent extends Field {
|
|
6
6
|
static schema(...extend) {
|
|
7
7
|
return Field.schema({
|
|
@@ -10,7 +10,7 @@ export default class ListComponent extends Field {
|
|
|
10
10
|
ignoreCache: false,
|
|
11
11
|
template: '<span>{{ item.label }}</span>',
|
|
12
12
|
validate: {
|
|
13
|
-
onlyAvailableItems: false
|
|
13
|
+
onlyAvailableItems: false
|
|
14
14
|
},
|
|
15
15
|
}, ...extend);
|
|
16
16
|
}
|
|
@@ -24,7 +24,9 @@ export default class ListComponent extends Field {
|
|
|
24
24
|
get dataReady() {
|
|
25
25
|
// If the root submission has been set, and we are still not attached, then assume
|
|
26
26
|
// that our data is ready.
|
|
27
|
-
if ((this.root &&
|
|
27
|
+
if ((this.root &&
|
|
28
|
+
this.root.submissionSet &&
|
|
29
|
+
!this.attached) || !this.visible) {
|
|
28
30
|
return Promise.resolve();
|
|
29
31
|
}
|
|
30
32
|
return this.itemsLoaded;
|
|
@@ -44,9 +46,7 @@ export default class ListComponent extends Field {
|
|
|
44
46
|
const selectData = this.selectData;
|
|
45
47
|
return this.templateKeys.reduce((shouldLoad, key) => {
|
|
46
48
|
const hasValue = _.has(dataValue, key) ||
|
|
47
|
-
(_.isArray(selectData)
|
|
48
|
-
? selectData.every((data) => _.has(data, key))
|
|
49
|
-
: _.has(selectData, key));
|
|
49
|
+
(_.isArray(selectData) ? selectData.every((data) => _.has(data, key)) : _.has(selectData, key));
|
|
50
50
|
return shouldLoad || !hasValue;
|
|
51
51
|
}, false);
|
|
52
52
|
}
|
|
@@ -55,7 +55,9 @@ export default class ListComponent extends Field {
|
|
|
55
55
|
}
|
|
56
56
|
getTemplateKeys() {
|
|
57
57
|
const template = this.component.template;
|
|
58
|
-
this.templateKeys = this.options.readOnly && template
|
|
58
|
+
this.templateKeys = this.options.readOnly && template
|
|
59
|
+
? getItemTemplateKeys(template)
|
|
60
|
+
: [];
|
|
59
61
|
}
|
|
60
62
|
get requestHeaders() {
|
|
61
63
|
// Create the headers object.
|
|
@@ -85,7 +87,7 @@ export default class ListComponent extends Field {
|
|
|
85
87
|
}
|
|
86
88
|
const options = {
|
|
87
89
|
noeval: true,
|
|
88
|
-
data: {}
|
|
90
|
+
data: {}
|
|
89
91
|
};
|
|
90
92
|
const template = this.sanitize(this.component.template
|
|
91
93
|
? this.interpolate(this.component.template, { item: data }, options)
|
|
@@ -133,6 +135,7 @@ export default class ListComponent extends Field {
|
|
|
133
135
|
});
|
|
134
136
|
console.warn(`Unable to load resources for ${this.key}`);
|
|
135
137
|
}
|
|
138
|
+
/* eslint-disable max-statements */
|
|
136
139
|
updateItems(searchInput, forceUpdate) {
|
|
137
140
|
if (!this.component.data) {
|
|
138
141
|
console.warn(`Select component ${this.key} does not have data configuration.`);
|
|
@@ -160,15 +163,13 @@ export default class ListComponent extends Field {
|
|
|
160
163
|
this.itemsLoadedResolve();
|
|
161
164
|
return;
|
|
162
165
|
}
|
|
163
|
-
let resourceUrl = this.options.formio
|
|
164
|
-
|
|
165
|
-
: `${Formio.getProjectUrl()}/form`;
|
|
166
|
-
resourceUrl += `/${this.component.data.resource}/submission`;
|
|
166
|
+
let resourceUrl = this.options.formio ? this.options.formio.formsUrl : `${Formio.getProjectUrl()}/form`;
|
|
167
|
+
resourceUrl += (`/${this.component.data.resource}/submission`);
|
|
167
168
|
if (forceUpdate || this.additionalResourcesAvailable || !this.serverCount) {
|
|
168
169
|
try {
|
|
169
170
|
this.loadItems(resourceUrl, searchInput, this.requestHeaders);
|
|
170
171
|
}
|
|
171
|
-
catch (
|
|
172
|
+
catch (err) {
|
|
172
173
|
console.warn(`Unable to load resources for ${this.key}`);
|
|
173
174
|
}
|
|
174
175
|
}
|
|
@@ -178,10 +179,7 @@ export default class ListComponent extends Field {
|
|
|
178
179
|
break;
|
|
179
180
|
}
|
|
180
181
|
case 'url': {
|
|
181
|
-
if (!forceUpdate &&
|
|
182
|
-
!this.active &&
|
|
183
|
-
!this.calculatedValue &&
|
|
184
|
-
this.component.type === 'select') {
|
|
182
|
+
if (!forceUpdate && !this.active && !this.calculatedValue && this.component.type === 'select') {
|
|
185
183
|
// If we are lazyLoading, wait until activated.
|
|
186
184
|
this.itemsLoadedResolve();
|
|
187
185
|
return;
|
|
@@ -192,9 +190,7 @@ export default class ListComponent extends Field {
|
|
|
192
190
|
let body;
|
|
193
191
|
if (url.startsWith('/')) {
|
|
194
192
|
// if URL starts with '/project', we should use base URL to avoid issues with URL formed like <base_url>/<project_name>/project/<project_id>/...
|
|
195
|
-
const baseUrl = url.startsWith('/project')
|
|
196
|
-
? Formio.getBaseUrl()
|
|
197
|
-
: Formio.getProjectUrl() || Formio.getBaseUrl();
|
|
193
|
+
const baseUrl = url.startsWith('/project') ? Formio.getBaseUrl() : Formio.getProjectUrl() || Formio.getBaseUrl();
|
|
198
194
|
url = baseUrl + url;
|
|
199
195
|
}
|
|
200
196
|
if (!this.component.data.method) {
|
|
@@ -220,17 +216,12 @@ export default class ListComponent extends Field {
|
|
|
220
216
|
if (!window.indexedDB) {
|
|
221
217
|
window.alert("Your browser doesn't support current version of indexedDB");
|
|
222
218
|
}
|
|
223
|
-
if (this.component.indexeddb &&
|
|
224
|
-
this.component.indexeddb.database &&
|
|
225
|
-
this.component.indexeddb.table) {
|
|
219
|
+
if (this.component.indexeddb && this.component.indexeddb.database && this.component.indexeddb.table) {
|
|
226
220
|
const request = window.indexedDB.open(this.component.indexeddb.database);
|
|
227
221
|
request.onupgradeneeded = (event) => {
|
|
228
222
|
if (this.component.customOptions) {
|
|
229
223
|
const db = event.target.result;
|
|
230
|
-
const objectStore = db.createObjectStore(this.component.indexeddb.table, {
|
|
231
|
-
keyPath: 'myKey',
|
|
232
|
-
autoIncrement: true,
|
|
233
|
-
});
|
|
224
|
+
const objectStore = db.createObjectStore(this.component.indexeddb.table, { keyPath: 'myKey', autoIncrement: true });
|
|
234
225
|
objectStore.transaction.oncomplete = () => {
|
|
235
226
|
const transaction = db.transaction(this.component.indexeddb.table, 'readwrite');
|
|
236
227
|
this.component.customOptions.forEach((item) => {
|
|
@@ -18,12 +18,7 @@ export default [
|
|
|
18
18
|
placeholder: 'Data Source URL',
|
|
19
19
|
tooltip: 'A URL that returns a JSON array to use as the data source.',
|
|
20
20
|
conditional: {
|
|
21
|
-
json: {
|
|
22
|
-
'===': [
|
|
23
|
-
{ var: 'data.dataSrc' },
|
|
24
|
-
'url',
|
|
25
|
-
],
|
|
26
|
-
},
|
|
21
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
27
22
|
},
|
|
28
23
|
},
|
|
29
24
|
{
|
|
@@ -48,12 +43,7 @@ export default [
|
|
|
48
43
|
},
|
|
49
44
|
],
|
|
50
45
|
conditional: {
|
|
51
|
-
json: {
|
|
52
|
-
'===': [
|
|
53
|
-
{ var: 'data.dataSrc' },
|
|
54
|
-
'url',
|
|
55
|
-
],
|
|
56
|
-
},
|
|
46
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
57
47
|
},
|
|
58
48
|
},
|
|
59
49
|
{
|
|
@@ -73,7 +63,7 @@ export default [
|
|
|
73
63
|
[
|
|
74
64
|
'json',
|
|
75
65
|
'url',
|
|
76
|
-
'custom'
|
|
66
|
+
'custom'
|
|
77
67
|
],
|
|
78
68
|
],
|
|
79
69
|
},
|
|
@@ -107,12 +97,7 @@ export default [
|
|
|
107
97
|
label: 'Formio Authenticate',
|
|
108
98
|
tooltip: 'Check this if you would like to use Formio Authentication with the request.',
|
|
109
99
|
conditional: {
|
|
110
|
-
json: {
|
|
111
|
-
'===': [
|
|
112
|
-
{ var: 'data.dataSrc' },
|
|
113
|
-
'url',
|
|
114
|
-
],
|
|
115
|
-
},
|
|
100
|
+
json: { '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
116
101
|
},
|
|
117
102
|
},
|
|
118
103
|
{
|
|
@@ -121,24 +106,12 @@ export default [
|
|
|
121
106
|
weight: 29,
|
|
122
107
|
key: 'ignoreCache',
|
|
123
108
|
label: 'Disables Storing Request Result in the Cache',
|
|
124
|
-
tooltip:
|
|
109
|
+
tooltip: 'Check it if you don\'t want the requests and its results to be stored in the cache. By default, it is stored and if the Select tries to make the request to the same URL with the same paremetrs, the cached data will be returned. It allows to increase performance, but if the remote source\'s data is changing quite often and you always need to keep it up-to-date, uncheck this option.',
|
|
125
110
|
conditional: {
|
|
126
|
-
json: {
|
|
127
|
-
|
|
128
|
-
{
|
|
129
|
-
|
|
130
|
-
{ var: 'data.dataSrc' },
|
|
131
|
-
'url',
|
|
132
|
-
],
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
'===': [
|
|
136
|
-
{ var: 'data.dataSrc' },
|
|
137
|
-
'resource',
|
|
138
|
-
],
|
|
139
|
-
},
|
|
140
|
-
],
|
|
141
|
-
},
|
|
111
|
+
json: { 'or': [
|
|
112
|
+
{ '===': [{ var: 'data.dataSrc' }, 'url'] },
|
|
113
|
+
{ '===': [{ var: 'data.dataSrc' }, 'resource'] },
|
|
114
|
+
] },
|
|
142
115
|
},
|
|
143
116
|
},
|
|
144
117
|
];
|