@formio/js 5.0.0-rc.19 → 5.0.0-rc.21
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/dist/formio.builder.css +14 -22
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.css +1 -40
- package/dist/formio.embed.js +2 -90
- package/dist/formio.embed.min.css +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 +10 -2
- package/dist/formio.form.js +1267 -1103
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +3 -8
- package/dist/formio.full.css +14 -22
- package/dist/formio.full.js +1302 -1127
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +3 -8
- package/dist/formio.js +713 -626
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +2 -7
- package/dist/formio.utils.js +220 -13
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +2 -7
- package/lib/cjs/CDN.d.ts +1 -0
- package/lib/cjs/CDN.js +2 -1
- package/lib/cjs/Element.js +7 -2
- package/lib/cjs/Embed.d.ts +21 -1
- package/lib/cjs/Embed.js +211 -308
- package/lib/cjs/Form.d.ts +9 -6
- package/lib/cjs/Form.js +53 -11
- package/lib/cjs/PDF.d.ts +11 -3
- package/lib/cjs/PDF.js +4 -5
- package/lib/cjs/PDFBuilder.js +2 -3
- package/lib/cjs/Webform.d.ts +10 -13
- package/lib/cjs/Webform.js +46 -125
- package/lib/cjs/WebformBuilder.d.ts +6 -1
- package/lib/cjs/WebformBuilder.js +105 -65
- package/lib/cjs/Wizard.d.ts +8 -5
- package/lib/cjs/Wizard.js +12 -12
- package/lib/cjs/WizardBuilder.d.ts +6 -4
- package/lib/cjs/WizardBuilder.js +20 -3
- package/lib/cjs/addons/FormioAddon.d.ts +1 -1
- package/lib/cjs/addons/FormioAddon.js +1 -2
- package/lib/cjs/components/_classes/component/Component.d.ts +24 -8
- package/lib/cjs/components/_classes/component/Component.js +44 -14
- package/lib/cjs/components/_classes/input/Input.d.ts +1 -1
- package/lib/cjs/components/_classes/input/Input.js +1 -2
- package/lib/cjs/components/_classes/list/ListComponent.d.ts +4 -0
- package/lib/cjs/components/_classes/list/ListComponent.js +43 -6
- package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +1 -0
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +10 -4
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +5 -2
- package/lib/cjs/components/_classes/nested/NestedComponent.js +9 -10
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -0
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +4 -0
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +4 -0
- package/lib/cjs/components/address/Address.d.ts +8 -0
- package/lib/cjs/components/address/Address.js +5 -0
- package/lib/cjs/components/button/Button.d.ts +1 -0
- package/lib/cjs/components/button/Button.js +5 -3
- package/lib/cjs/components/checkbox/Checkbox.d.ts +41 -0
- package/lib/cjs/components/checkbox/Checkbox.js +32 -5
- package/lib/cjs/components/columns/Columns.d.ts +2 -0
- package/lib/cjs/components/columns/Columns.js +4 -0
- package/lib/cjs/components/container/Container.d.ts +1 -0
- package/lib/cjs/components/container/Container.js +4 -0
- package/lib/cjs/components/content/Content.d.ts +2 -0
- package/lib/cjs/components/content/Content.js +4 -2
- package/lib/cjs/components/currency/editForm/Currency.edit.data.d.ts +14 -2
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +4 -0
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +4 -0
- package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -0
- package/lib/cjs/components/datagrid/DataGrid.js +8 -1
- package/lib/cjs/components/datamap/DataMap.d.ts +1 -0
- package/lib/cjs/components/datamap/DataMap.js +4 -0
- package/lib/cjs/components/datetime/DateTime.d.ts +23 -0
- package/lib/cjs/components/datetime/DateTime.js +20 -1
- package/lib/cjs/components/day/Day.d.ts +22 -1
- package/lib/cjs/components/day/Day.js +20 -6
- package/lib/cjs/components/day/fixtures/comp3.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.d.ts +4 -3
- package/lib/cjs/components/editgrid/EditGrid.js +11 -6
- package/lib/cjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +190 -0
- package/lib/cjs/components/editgrid/fixtures/comp-with-custom-default-value.js +227 -0
- package/lib/cjs/components/editgrid/fixtures/comp15.d.ts +54 -0
- package/lib/cjs/components/editgrid/fixtures/comp15.js +51 -0
- package/lib/cjs/components/editgrid/fixtures/index.d.ts +3 -1
- package/lib/cjs/components/editgrid/fixtures/index.js +5 -1
- package/lib/cjs/components/fieldset/Fieldset.d.ts +2 -0
- package/lib/cjs/components/fieldset/Fieldset.js +4 -0
- package/lib/cjs/components/file/File.d.ts +28 -6
- package/lib/cjs/components/file/File.js +40 -15
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +62 -0
- package/lib/cjs/components/file/editForm/File.edit.file.js +29 -2
- package/lib/cjs/components/form/Form.d.ts +4 -0
- package/lib/cjs/components/form/Form.js +12 -10
- package/lib/cjs/components/hidden/Hidden.d.ts +1 -0
- package/lib/cjs/components/hidden/Hidden.js +1 -0
- package/lib/cjs/components/html/HTML.d.ts +2 -0
- package/lib/cjs/components/html/HTML.js +4 -0
- package/lib/cjs/components/number/Number.d.ts +24 -1
- package/lib/cjs/components/number/Number.js +18 -6
- package/lib/cjs/components/panel/Panel.d.ts +1 -0
- package/lib/cjs/components/panel/Panel.js +3 -0
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +9 -0
- package/lib/cjs/components/radio/Radio.d.ts +24 -3
- package/lib/cjs/components/radio/Radio.js +89 -18
- package/lib/cjs/components/recaptcha/ReCaptcha.d.ts +2 -1
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/resource/Resource.d.ts +7 -0
- package/lib/cjs/components/resource/Resource.js +0 -1
- package/lib/cjs/components/resource/editForm/Resource.edit.display.js +1 -1
- package/lib/cjs/components/select/Select.d.ts +25 -5
- package/lib/cjs/components/select/Select.js +51 -51
- package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +37 -0
- package/lib/cjs/components/selectboxes/SelectBoxes.js +60 -25
- package/lib/cjs/components/selectboxes/fixtures/comp4.d.ts +30 -27
- package/lib/cjs/components/selectboxes/fixtures/comp4.js +47 -32
- package/lib/cjs/components/selectboxes/fixtures/comp6.d.ts +14 -0
- package/lib/cjs/components/selectboxes/fixtures/comp6.js +15 -0
- package/lib/cjs/components/selectboxes/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/selectboxes/fixtures/index.js +3 -1
- package/lib/cjs/components/signature/Signature.d.ts +22 -1
- package/lib/cjs/components/signature/Signature.js +16 -3
- package/lib/cjs/components/survey/Survey.d.ts +21 -0
- package/lib/cjs/components/survey/Survey.js +9 -0
- package/lib/cjs/components/table/Table.d.ts +2 -0
- package/lib/cjs/components/table/Table.js +4 -0
- package/lib/cjs/components/tabs/Tabs.d.ts +2 -0
- package/lib/cjs/components/tabs/Tabs.js +4 -0
- package/lib/cjs/components/tags/Tags.d.ts +21 -0
- package/lib/cjs/components/tags/Tags.js +11 -0
- package/lib/cjs/components/textarea/TextArea.d.ts +3 -2
- package/lib/cjs/components/textarea/TextArea.js +4 -5
- package/lib/cjs/components/textarea/fixtures/comp4.d.ts +30 -0
- package/lib/cjs/components/textarea/fixtures/comp4.js +27 -0
- package/lib/cjs/components/textarea/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/textarea/fixtures/index.js +3 -1
- package/lib/cjs/components/textfield/TextField.d.ts +22 -0
- package/lib/cjs/components/textfield/TextField.js +11 -3
- package/lib/cjs/components/time/Time.d.ts +11 -0
- package/lib/cjs/components/time/Time.js +6 -1
- package/lib/cjs/components/tree/Tree.d.ts +5 -4
- package/lib/cjs/components/tree/Tree.form.js +5 -0
- package/lib/cjs/components/tree/Tree.js +8 -9
- package/lib/cjs/components/tree/editForm/Tree.edit.display.d.ts +9 -0
- package/lib/cjs/components/tree/editForm/Tree.edit.display.js +12 -0
- package/lib/cjs/components/well/Well.d.ts +2 -0
- package/lib/cjs/components/well/Well.js +4 -0
- package/lib/cjs/formio.embed.d.ts +2 -1
- package/lib/cjs/formio.embed.js +96 -1
- package/lib/cjs/formio.form.d.ts +4 -3
- package/lib/cjs/formio.form.js +17 -8
- package/lib/cjs/licenses/Licenses.d.ts +7 -0
- package/lib/cjs/licenses/Licenses.js +22 -0
- package/lib/cjs/licenses/index.d.ts +2 -0
- package/lib/cjs/licenses/index.js +7 -0
- package/lib/cjs/providers/Providers.d.ts +31 -11
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +2 -2
- package/lib/cjs/providers/address/GoogleAddressProvider.js +2 -3
- package/lib/cjs/providers/processor/fileProcessor.d.ts +1 -1
- package/lib/cjs/providers/processor/fileProcessor.js +1 -5
- package/lib/cjs/providers/storage/azure.d.ts +10 -1
- package/lib/cjs/providers/storage/azure.js +7 -2
- package/lib/cjs/providers/storage/base64.d.ts +2 -2
- package/lib/cjs/providers/storage/base64.js +2 -6
- package/lib/cjs/providers/storage/dropbox.d.ts +2 -2
- package/lib/cjs/providers/storage/dropbox.js +2 -6
- package/lib/cjs/providers/storage/googleDrive.d.ts +3 -2
- package/lib/cjs/providers/storage/googleDrive.js +6 -6
- package/lib/cjs/providers/storage/indexeddb.d.ts +3 -3
- package/lib/cjs/providers/storage/indexeddb.js +9 -13
- package/lib/cjs/providers/storage/s3.d.ts +11 -1
- package/lib/cjs/providers/storage/s3.js +5 -2
- package/lib/cjs/providers/storage/uploadAdapter.js +1 -5
- package/lib/cjs/providers/storage/url.d.ts +2 -2
- package/lib/cjs/providers/storage/url.js +12 -8
- package/lib/cjs/providers/storage/xhr.d.ts +1 -1
- package/lib/cjs/providers/storage/xhr.js +1 -2
- package/lib/cjs/templates/index.d.ts +226 -1
- package/lib/cjs/utils/Evaluator.js +4 -33
- package/lib/cjs/utils/i18n.d.ts +16 -0
- package/lib/cjs/utils/i18n.js +88 -0
- package/lib/cjs/utils/utils.d.ts +11 -1
- package/lib/cjs/utils/utils.js +29 -10
- package/lib/cjs/validator/Validator.d.ts +30 -2
- package/lib/cjs/validator/Validator.js +32 -9
- package/lib/cjs/validator/rules/Select.js +1 -2
- package/lib/cjs/validator/rules/Unique.d.ts +1 -1
- package/lib/cjs/validator/rules/Unique.js +1 -2
- package/lib/cjs/widgets/CalendarWidget.d.ts +1 -0
- package/lib/cjs/widgets/InputWidget.d.ts +1 -1
- package/lib/cjs/widgets/InputWidget.js +1 -2
- package/lib/mjs/CDN.d.ts +1 -0
- package/lib/mjs/CDN.js +2 -1
- package/lib/mjs/Element.js +6 -2
- package/lib/mjs/Embed.d.ts +21 -1
- package/lib/mjs/Embed.js +208 -319
- package/lib/mjs/Form.d.ts +9 -6
- package/lib/mjs/Form.js +53 -11
- package/lib/mjs/PDF.d.ts +11 -3
- package/lib/mjs/PDF.js +4 -5
- package/lib/mjs/PDFBuilder.js +2 -3
- package/lib/mjs/Webform.d.ts +10 -13
- package/lib/mjs/Webform.js +46 -128
- package/lib/mjs/WebformBuilder.d.ts +6 -1
- package/lib/mjs/WebformBuilder.js +103 -65
- package/lib/mjs/Wizard.d.ts +8 -5
- package/lib/mjs/Wizard.js +12 -12
- package/lib/mjs/WizardBuilder.d.ts +6 -4
- package/lib/mjs/WizardBuilder.js +20 -3
- package/lib/mjs/addons/FormioAddon.d.ts +1 -1
- package/lib/mjs/addons/FormioAddon.js +1 -2
- package/lib/mjs/components/_classes/component/Component.d.ts +24 -8
- package/lib/mjs/components/_classes/component/Component.js +44 -14
- package/lib/mjs/components/_classes/input/Input.d.ts +1 -1
- package/lib/mjs/components/_classes/input/Input.js +1 -2
- package/lib/mjs/components/_classes/list/ListComponent.d.ts +4 -0
- package/lib/mjs/components/_classes/list/ListComponent.js +43 -5
- package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +1 -0
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +10 -4
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +5 -2
- package/lib/mjs/components/_classes/nested/NestedComponent.js +9 -10
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.d.ts +1 -0
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +4 -0
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +4 -0
- package/lib/mjs/components/address/Address.d.ts +8 -0
- package/lib/mjs/components/address/Address.js +5 -0
- package/lib/mjs/components/button/Button.d.ts +1 -0
- package/lib/mjs/components/button/Button.js +6 -4
- package/lib/mjs/components/checkbox/Checkbox.d.ts +41 -0
- package/lib/mjs/components/checkbox/Checkbox.js +36 -5
- package/lib/mjs/components/columns/Columns.d.ts +2 -0
- package/lib/mjs/components/columns/Columns.js +4 -0
- package/lib/mjs/components/container/Container.d.ts +1 -0
- package/lib/mjs/components/container/Container.js +5 -1
- package/lib/mjs/components/content/Content.d.ts +2 -0
- package/lib/mjs/components/content/Content.js +4 -2
- package/lib/mjs/components/currency/editForm/Currency.edit.data.d.ts +14 -2
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +4 -0
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +4 -0
- package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -0
- package/lib/mjs/components/datagrid/DataGrid.js +8 -1
- package/lib/mjs/components/datamap/DataMap.d.ts +1 -0
- package/lib/mjs/components/datamap/DataMap.js +5 -1
- package/lib/mjs/components/datetime/DateTime.d.ts +23 -0
- package/lib/mjs/components/datetime/DateTime.js +27 -1
- package/lib/mjs/components/day/Day.d.ts +22 -1
- package/lib/mjs/components/day/Day.js +24 -7
- package/lib/mjs/components/day/fixtures/comp3.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.d.ts +4 -3
- package/lib/mjs/components/editgrid/EditGrid.js +11 -6
- package/lib/mjs/components/editgrid/fixtures/comp-with-custom-default-value.d.ts +190 -0
- package/lib/mjs/components/editgrid/fixtures/comp-with-custom-default-value.js +225 -0
- package/lib/mjs/components/editgrid/fixtures/comp15.d.ts +54 -0
- package/lib/mjs/components/editgrid/fixtures/comp15.js +49 -0
- package/lib/mjs/components/editgrid/fixtures/index.d.ts +3 -1
- package/lib/mjs/components/editgrid/fixtures/index.js +3 -1
- package/lib/mjs/components/fieldset/Fieldset.d.ts +2 -0
- package/lib/mjs/components/fieldset/Fieldset.js +4 -0
- package/lib/mjs/components/file/File.d.ts +28 -6
- package/lib/mjs/components/file/File.js +44 -16
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +62 -0
- package/lib/mjs/components/file/editForm/File.edit.file.js +29 -2
- package/lib/mjs/components/form/Form.d.ts +4 -0
- package/lib/mjs/components/form/Form.js +13 -11
- package/lib/mjs/components/hidden/Hidden.d.ts +1 -0
- package/lib/mjs/components/hidden/Hidden.js +1 -0
- package/lib/mjs/components/html/HTML.d.ts +2 -0
- package/lib/mjs/components/html/HTML.js +4 -0
- package/lib/mjs/components/number/Number.d.ts +24 -1
- package/lib/mjs/components/number/Number.js +23 -7
- package/lib/mjs/components/panel/Panel.d.ts +1 -0
- package/lib/mjs/components/panel/Panel.js +3 -0
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +9 -0
- package/lib/mjs/components/radio/Radio.d.ts +24 -3
- package/lib/mjs/components/radio/Radio.js +93 -19
- package/lib/mjs/components/recaptcha/ReCaptcha.d.ts +2 -1
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/resource/Resource.d.ts +7 -0
- package/lib/mjs/components/resource/Resource.js +0 -1
- package/lib/mjs/components/resource/editForm/Resource.edit.display.js +1 -1
- package/lib/mjs/components/select/Select.d.ts +25 -5
- package/lib/mjs/components/select/Select.js +55 -52
- package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +37 -0
- package/lib/mjs/components/selectboxes/SelectBoxes.js +63 -25
- package/lib/mjs/components/selectboxes/fixtures/comp4.d.ts +30 -27
- package/lib/mjs/components/selectboxes/fixtures/comp4.js +47 -32
- package/lib/mjs/components/selectboxes/fixtures/comp6.d.ts +14 -0
- package/lib/mjs/components/selectboxes/fixtures/comp6.js +13 -0
- package/lib/mjs/components/selectboxes/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/selectboxes/fixtures/index.js +2 -1
- package/lib/mjs/components/signature/Signature.d.ts +22 -1
- package/lib/mjs/components/signature/Signature.js +19 -3
- package/lib/mjs/components/survey/Survey.d.ts +21 -0
- package/lib/mjs/components/survey/Survey.js +13 -1
- package/lib/mjs/components/table/Table.d.ts +2 -0
- package/lib/mjs/components/table/Table.js +4 -0
- package/lib/mjs/components/tabs/Tabs.d.ts +2 -0
- package/lib/mjs/components/tabs/Tabs.js +4 -0
- package/lib/mjs/components/tags/Tags.d.ts +21 -0
- package/lib/mjs/components/tags/Tags.js +14 -0
- package/lib/mjs/components/textarea/TextArea.d.ts +3 -2
- package/lib/mjs/components/textarea/TextArea.js +4 -5
- package/lib/mjs/components/textarea/fixtures/comp4.d.ts +30 -0
- package/lib/mjs/components/textarea/fixtures/comp4.js +25 -0
- package/lib/mjs/components/textarea/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/textarea/fixtures/index.js +2 -1
- package/lib/mjs/components/textfield/TextField.d.ts +22 -0
- package/lib/mjs/components/textfield/TextField.js +14 -3
- package/lib/mjs/components/time/Time.d.ts +11 -0
- package/lib/mjs/components/time/Time.js +12 -1
- package/lib/mjs/components/tree/Tree.d.ts +5 -4
- package/lib/mjs/components/tree/Tree.form.js +5 -0
- package/lib/mjs/components/tree/Tree.js +8 -9
- package/lib/mjs/components/tree/editForm/Tree.edit.display.d.ts +9 -0
- package/lib/mjs/components/tree/editForm/Tree.edit.display.js +10 -0
- package/lib/mjs/components/well/Well.d.ts +2 -0
- package/lib/mjs/components/well/Well.js +4 -0
- package/lib/mjs/formio.embed.d.ts +2 -1
- package/lib/mjs/formio.embed.js +96 -2
- package/lib/mjs/formio.form.d.ts +4 -3
- package/lib/mjs/formio.form.js +16 -8
- package/lib/mjs/licenses/Licenses.d.ts +7 -0
- package/lib/mjs/licenses/Licenses.js +17 -0
- package/lib/mjs/licenses/index.d.ts +2 -0
- package/lib/mjs/licenses/index.js +2 -0
- package/lib/mjs/providers/Providers.d.ts +31 -11
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +2 -2
- package/lib/mjs/providers/address/GoogleAddressProvider.js +2 -3
- package/lib/mjs/providers/processor/fileProcessor.d.ts +1 -1
- package/lib/mjs/providers/processor/fileProcessor.js +1 -2
- package/lib/mjs/providers/storage/azure.d.ts +10 -1
- package/lib/mjs/providers/storage/azure.js +7 -2
- package/lib/mjs/providers/storage/base64.d.ts +2 -2
- package/lib/mjs/providers/storage/base64.js +2 -3
- package/lib/mjs/providers/storage/dropbox.d.ts +2 -2
- package/lib/mjs/providers/storage/dropbox.js +2 -3
- package/lib/mjs/providers/storage/googleDrive.d.ts +3 -2
- package/lib/mjs/providers/storage/googleDrive.js +6 -3
- package/lib/mjs/providers/storage/indexeddb.d.ts +3 -3
- package/lib/mjs/providers/storage/indexeddb.js +9 -10
- package/lib/mjs/providers/storage/s3.d.ts +11 -1
- package/lib/mjs/providers/storage/s3.js +5 -2
- package/lib/mjs/providers/storage/uploadAdapter.js +1 -2
- package/lib/mjs/providers/storage/url.d.ts +2 -2
- package/lib/mjs/providers/storage/url.js +12 -5
- package/lib/mjs/providers/storage/xhr.d.ts +1 -1
- package/lib/mjs/providers/storage/xhr.js +1 -2
- package/lib/mjs/templates/index.d.ts +226 -1
- package/lib/mjs/utils/Evaluator.js +4 -33
- package/lib/mjs/utils/i18n.d.ts +16 -0
- package/lib/mjs/utils/i18n.js +81 -0
- package/lib/mjs/utils/utils.d.ts +11 -1
- package/lib/mjs/utils/utils.js +27 -9
- package/lib/mjs/validator/Validator.d.ts +30 -2
- package/lib/mjs/validator/Validator.js +31 -9
- package/lib/mjs/validator/rules/Select.js +1 -2
- package/lib/mjs/validator/rules/Unique.d.ts +1 -1
- package/lib/mjs/validator/rules/Unique.js +1 -2
- package/lib/mjs/widgets/CalendarWidget.d.ts +1 -0
- package/lib/mjs/widgets/InputWidget.d.ts +1 -1
- package/lib/mjs/widgets/InputWidget.js +1 -2
- package/package.json +18 -15
- package/types/index.d.ts +1 -0
- package/types/licenses.d.ts +7 -0
- package/types/utils.d.ts +2 -0
@@ -1,12 +1,11 @@
|
|
1
1
|
import Field from '../_classes/field/Field';
|
2
|
-
import { uniqueName } from '../../utils/utils';
|
2
|
+
import { componentValueTypes, getComponentSavedTypes, uniqueName } from '../../utils/utils';
|
3
3
|
import download from 'downloadjs';
|
4
4
|
import _ from 'lodash';
|
5
|
-
import NativePromise from 'native-promise-only';
|
6
5
|
import fileProcessor from '../../providers/processor/fileProcessor';
|
7
6
|
import BMF from 'browser-md5-file';
|
8
7
|
let Camera;
|
9
|
-
let webViewCamera = navigator.camera
|
8
|
+
let webViewCamera = 'undefined' !== typeof window ? navigator.camera : Camera;
|
10
9
|
// canvas.toBlob polyfill.
|
11
10
|
let htmlCanvasElement;
|
12
11
|
if (typeof window !== 'undefined') {
|
@@ -54,6 +53,19 @@ export default class FileComponent extends Field {
|
|
54
53
|
schema: FileComponent.schema(),
|
55
54
|
};
|
56
55
|
}
|
56
|
+
static get serverConditionSettings() {
|
57
|
+
return FileComponent.conditionOperatorsSettings;
|
58
|
+
}
|
59
|
+
static get conditionOperatorsSettings() {
|
60
|
+
return {
|
61
|
+
...super.conditionOperatorsSettings,
|
62
|
+
operators: ['isEmpty', 'isNotEmpty'],
|
63
|
+
};
|
64
|
+
}
|
65
|
+
static savedValueTypes(schema) {
|
66
|
+
schema = schema || {};
|
67
|
+
return getComponentSavedTypes(schema) || [componentValueTypes.object];
|
68
|
+
}
|
57
69
|
init() {
|
58
70
|
super.init();
|
59
71
|
webViewCamera = navigator.camera || Camera;
|
@@ -71,7 +83,7 @@ export default class FileComponent extends Field {
|
|
71
83
|
this.fileDropHidden = false;
|
72
84
|
}
|
73
85
|
get dataReady() {
|
74
|
-
return this.filesReady ||
|
86
|
+
return this.filesReady || Promise.resolve();
|
75
87
|
}
|
76
88
|
get defaultSchema() {
|
77
89
|
return FileComponent.schema();
|
@@ -138,7 +150,7 @@ export default class FileComponent extends Field {
|
|
138
150
|
videoStream.getVideoTracks().forEach((track) => track.stop());
|
139
151
|
}
|
140
152
|
getFrame(videoPlayer) {
|
141
|
-
return new
|
153
|
+
return new Promise((resolve) => {
|
142
154
|
const canvas = document.createElement('canvas');
|
143
155
|
canvas.height = videoPlayer.videoHeight;
|
144
156
|
canvas.width = videoPlayer.videoWidth;
|
@@ -192,7 +204,7 @@ export default class FileComponent extends Field {
|
|
192
204
|
});
|
193
205
|
}
|
194
206
|
browseFiles(attrs = {}) {
|
195
|
-
return new
|
207
|
+
return new Promise((resolve) => {
|
196
208
|
const fileInput = this.ce('input', {
|
197
209
|
type: 'file',
|
198
210
|
style: 'height: 0; width: 0; visibility: hidden;',
|
@@ -237,9 +249,12 @@ export default class FileComponent extends Field {
|
|
237
249
|
if (this.component.multiple) {
|
238
250
|
options.multiple = true;
|
239
251
|
}
|
252
|
+
if (this.component.capture) {
|
253
|
+
options.capture = this.component.capture;
|
254
|
+
}
|
240
255
|
//use "accept" attribute only for desktop devices because of its limited support by mobile browsers
|
256
|
+
const filePattern = this.component.filePattern.trim() || '';
|
241
257
|
if (!this.isMobile.any) {
|
242
|
-
const filePattern = this.component.filePattern.trim() || '';
|
243
258
|
const imagesPattern = 'image/*';
|
244
259
|
if (this.imageUpload && (!filePattern || filePattern === '*')) {
|
245
260
|
options.accept = imagesPattern;
|
@@ -251,11 +266,23 @@ export default class FileComponent extends Field {
|
|
251
266
|
options.accept = filePattern;
|
252
267
|
}
|
253
268
|
}
|
269
|
+
// if input capture is set, we need the "accept" attribute to determine which device to launch
|
270
|
+
else if (this.component.capture) {
|
271
|
+
if (filePattern.includes('video')) {
|
272
|
+
options.accept = 'video/*';
|
273
|
+
}
|
274
|
+
else if (filePattern.includes('audio')) {
|
275
|
+
options.accept = 'audio/*';
|
276
|
+
}
|
277
|
+
else {
|
278
|
+
options.accept = 'image/*';
|
279
|
+
}
|
280
|
+
}
|
254
281
|
return options;
|
255
282
|
}
|
256
283
|
deleteFile(fileInfo) {
|
257
284
|
const { options = {} } = this.component;
|
258
|
-
if (fileInfo && (['url', 'indexeddb'].includes(this.component.storage))) {
|
285
|
+
if (fileInfo && (['url', 'indexeddb', 's3', 'googledrive', 'azure'].includes(this.component.storage))) {
|
259
286
|
const { fileService } = this;
|
260
287
|
if (fileService && typeof fileService.deleteFile === 'function') {
|
261
288
|
fileService.deleteFile(fileInfo, options);
|
@@ -333,8 +360,10 @@ export default class FileComponent extends Field {
|
|
333
360
|
this.refs.fileStatusRemove.forEach((fileStatusRemove, index) => {
|
334
361
|
this.addEventListener(fileStatusRemove, 'click', (event) => {
|
335
362
|
event.preventDefault();
|
336
|
-
|
337
|
-
|
363
|
+
const fileUpload = this.statuses[index];
|
364
|
+
_.pull(this.filesUploading, fileUpload.originalName);
|
365
|
+
if (fileUpload.abort) {
|
366
|
+
fileUpload.abort();
|
338
367
|
}
|
339
368
|
this.statuses.splice(index, 1);
|
340
369
|
this.redraw();
|
@@ -412,7 +441,7 @@ export default class FileComponent extends Field {
|
|
412
441
|
const fileService = this.fileService;
|
413
442
|
if (fileService) {
|
414
443
|
const loadingImages = [];
|
415
|
-
this.filesReady = new
|
444
|
+
this.filesReady = new Promise((resolve, reject) => {
|
416
445
|
this.filesReadyResolve = resolve;
|
417
446
|
this.filesReadyReject = reject;
|
418
447
|
});
|
@@ -420,7 +449,7 @@ export default class FileComponent extends Field {
|
|
420
449
|
loadingImages.push(this.loadImage(this.dataValue[index]).then((url) => (image.src = url)));
|
421
450
|
});
|
422
451
|
if (loadingImages.length) {
|
423
|
-
|
452
|
+
Promise.all(loadingImages).then(() => {
|
424
453
|
this.filesReadyResolve();
|
425
454
|
}).catch(() => this.filesReadyReject());
|
426
455
|
}
|
@@ -540,6 +569,7 @@ export default class FileComponent extends Field {
|
|
540
569
|
const fileName = uniqueName(file.name, this.component.fileNameTemplate, this.evalContext());
|
541
570
|
const escapedFileName = file.name ? file.name.replaceAll('<', '<').replaceAll('>', '>') : file.name;
|
542
571
|
const fileUpload = {
|
572
|
+
abort: () => null,
|
543
573
|
originalName: escapedFileName,
|
544
574
|
name: fileName,
|
545
575
|
size: file.size,
|
@@ -658,7 +688,7 @@ export default class FileComponent extends Field {
|
|
658
688
|
}
|
659
689
|
}
|
660
690
|
}
|
661
|
-
fileUpload.message = this.t('Starting upload
|
691
|
+
fileUpload.message = this.t('Starting upload...');
|
662
692
|
this.redraw();
|
663
693
|
const filePromise = fileService.uploadFile(storage, processedFile || file, fileName, dir,
|
664
694
|
// Progress callback
|
@@ -671,9 +701,7 @@ export default class FileComponent extends Field {
|
|
671
701
|
// Upload start callback
|
672
702
|
() => {
|
673
703
|
this.emit('fileUploadingStart', filePromise);
|
674
|
-
},
|
675
|
-
// Abort upload callback
|
676
|
-
(abort) => this.abortUpload = abort).then((fileInfo) => {
|
704
|
+
}, (abort) => fileUpload.abort = abort).then((fileInfo) => {
|
677
705
|
const index = this.statuses.indexOf(fileUpload);
|
678
706
|
if (index !== -1) {
|
679
707
|
this.statuses.splice(index, 1);
|
@@ -14,6 +14,10 @@ declare const _default: ({
|
|
14
14
|
conditional?: undefined;
|
15
15
|
rows?: undefined;
|
16
16
|
editor?: undefined;
|
17
|
+
optionsLabelPosition?: undefined;
|
18
|
+
inline?: undefined;
|
19
|
+
defaultValue?: undefined;
|
20
|
+
values?: undefined;
|
17
21
|
components?: undefined;
|
18
22
|
} | {
|
19
23
|
type: string;
|
@@ -38,6 +42,10 @@ declare const _default: ({
|
|
38
42
|
data?: undefined;
|
39
43
|
rows?: undefined;
|
40
44
|
editor?: undefined;
|
45
|
+
optionsLabelPosition?: undefined;
|
46
|
+
inline?: undefined;
|
47
|
+
defaultValue?: undefined;
|
48
|
+
values?: undefined;
|
41
49
|
components?: undefined;
|
42
50
|
} | {
|
43
51
|
type: string;
|
@@ -62,6 +70,10 @@ declare const _default: ({
|
|
62
70
|
data?: undefined;
|
63
71
|
rows?: undefined;
|
64
72
|
editor?: undefined;
|
73
|
+
optionsLabelPosition?: undefined;
|
74
|
+
inline?: undefined;
|
75
|
+
defaultValue?: undefined;
|
76
|
+
values?: undefined;
|
65
77
|
components?: undefined;
|
66
78
|
} | {
|
67
79
|
type: string;
|
@@ -86,6 +98,10 @@ declare const _default: ({
|
|
86
98
|
valueProperty?: undefined;
|
87
99
|
dataSrc?: undefined;
|
88
100
|
data?: undefined;
|
101
|
+
optionsLabelPosition?: undefined;
|
102
|
+
inline?: undefined;
|
103
|
+
defaultValue?: undefined;
|
104
|
+
values?: undefined;
|
89
105
|
components?: undefined;
|
90
106
|
} | {
|
91
107
|
type: string;
|
@@ -110,6 +126,10 @@ declare const _default: ({
|
|
110
126
|
data?: undefined;
|
111
127
|
rows?: undefined;
|
112
128
|
editor?: undefined;
|
129
|
+
optionsLabelPosition?: undefined;
|
130
|
+
inline?: undefined;
|
131
|
+
defaultValue?: undefined;
|
132
|
+
values?: undefined;
|
113
133
|
components?: undefined;
|
114
134
|
} | {
|
115
135
|
type: string;
|
@@ -125,6 +145,10 @@ declare const _default: ({
|
|
125
145
|
conditional?: undefined;
|
126
146
|
rows?: undefined;
|
127
147
|
editor?: undefined;
|
148
|
+
optionsLabelPosition?: undefined;
|
149
|
+
inline?: undefined;
|
150
|
+
defaultValue?: undefined;
|
151
|
+
values?: undefined;
|
128
152
|
components?: undefined;
|
129
153
|
} | {
|
130
154
|
type: string;
|
@@ -140,6 +164,10 @@ declare const _default: ({
|
|
140
164
|
conditional?: undefined;
|
141
165
|
rows?: undefined;
|
142
166
|
editor?: undefined;
|
167
|
+
optionsLabelPosition?: undefined;
|
168
|
+
inline?: undefined;
|
169
|
+
defaultValue?: undefined;
|
170
|
+
values?: undefined;
|
143
171
|
components?: undefined;
|
144
172
|
} | {
|
145
173
|
type: string;
|
@@ -164,6 +192,10 @@ declare const _default: ({
|
|
164
192
|
data?: undefined;
|
165
193
|
rows?: undefined;
|
166
194
|
editor?: undefined;
|
195
|
+
optionsLabelPosition?: undefined;
|
196
|
+
inline?: undefined;
|
197
|
+
defaultValue?: undefined;
|
198
|
+
values?: undefined;
|
167
199
|
components?: undefined;
|
168
200
|
} | {
|
169
201
|
type: string;
|
@@ -188,6 +220,32 @@ declare const _default: ({
|
|
188
220
|
data?: undefined;
|
189
221
|
rows?: undefined;
|
190
222
|
editor?: undefined;
|
223
|
+
optionsLabelPosition?: undefined;
|
224
|
+
inline?: undefined;
|
225
|
+
defaultValue?: undefined;
|
226
|
+
values?: undefined;
|
227
|
+
components?: undefined;
|
228
|
+
} | {
|
229
|
+
type: string;
|
230
|
+
input: boolean;
|
231
|
+
key: string;
|
232
|
+
label: string;
|
233
|
+
tooltip: string;
|
234
|
+
optionsLabelPosition: string;
|
235
|
+
inline: boolean;
|
236
|
+
defaultValue: boolean;
|
237
|
+
values: {
|
238
|
+
label: string;
|
239
|
+
value: string;
|
240
|
+
}[];
|
241
|
+
placeholder?: undefined;
|
242
|
+
weight?: undefined;
|
243
|
+
valueProperty?: undefined;
|
244
|
+
dataSrc?: undefined;
|
245
|
+
data?: undefined;
|
246
|
+
conditional?: undefined;
|
247
|
+
rows?: undefined;
|
248
|
+
editor?: undefined;
|
191
249
|
components?: undefined;
|
192
250
|
} | {
|
193
251
|
type: string;
|
@@ -209,5 +267,9 @@ declare const _default: ({
|
|
209
267
|
conditional?: undefined;
|
210
268
|
rows?: undefined;
|
211
269
|
editor?: undefined;
|
270
|
+
optionsLabelPosition?: undefined;
|
271
|
+
inline?: undefined;
|
272
|
+
defaultValue?: undefined;
|
273
|
+
values?: undefined;
|
212
274
|
})[];
|
213
275
|
export default _default;
|
@@ -78,8 +78,11 @@ export default [
|
|
78
78
|
input: true,
|
79
79
|
weight: 15,
|
80
80
|
placeholder: `{
|
81
|
-
|
82
|
-
|
81
|
+
"withCredentials": true,
|
82
|
+
"headers": {
|
83
|
+
"Authorization": "Basic <key>"
|
84
|
+
}
|
85
|
+
}`,
|
83
86
|
conditional: {
|
84
87
|
json: {
|
85
88
|
'===': [{
|
@@ -204,6 +207,30 @@ export default [
|
|
204
207
|
json: { '==': [{ var: 'data.webcam' }, true] }
|
205
208
|
}
|
206
209
|
},
|
210
|
+
{
|
211
|
+
type: 'radio',
|
212
|
+
input: true,
|
213
|
+
key: 'capture',
|
214
|
+
label: 'Enable device capture',
|
215
|
+
tooltip: 'This will allow a mobile device to open the camera or microphone directly in capture mode.',
|
216
|
+
optionsLabelPosition: 'right',
|
217
|
+
inline: true,
|
218
|
+
defaultValue: false,
|
219
|
+
values: [
|
220
|
+
{
|
221
|
+
label: 'Disabled',
|
222
|
+
value: 'false'
|
223
|
+
},
|
224
|
+
{
|
225
|
+
label: 'Environment (rear camera)',
|
226
|
+
value: 'environment'
|
227
|
+
},
|
228
|
+
{
|
229
|
+
label: 'User (front camera)',
|
230
|
+
value: 'user'
|
231
|
+
}
|
232
|
+
]
|
233
|
+
},
|
207
234
|
{
|
208
235
|
type: 'datagrid',
|
209
236
|
input: true,
|
@@ -7,14 +7,17 @@ export default class FormComponent extends Component {
|
|
7
7
|
weight: number;
|
8
8
|
schema: any;
|
9
9
|
};
|
10
|
+
static savedValueTypes(): string[];
|
10
11
|
init(): any;
|
11
12
|
formObj: any;
|
12
13
|
valueChanged: boolean | undefined;
|
13
14
|
subForm: any;
|
14
15
|
formSrc: any;
|
16
|
+
get dataReady(): any;
|
15
17
|
get emptyValue(): {
|
16
18
|
data: {};
|
17
19
|
};
|
20
|
+
get ready(): any;
|
18
21
|
get useOriginalRevision(): any;
|
19
22
|
setFormRevision(rev: any): void;
|
20
23
|
subFormRevision: any;
|
@@ -26,6 +29,7 @@ export default class FormComponent extends Component {
|
|
26
29
|
* Prints out the value of form components as a datagrid value.
|
27
30
|
*/
|
28
31
|
getValueAsString(value: any): any;
|
32
|
+
attach(element: any): Promise<any>;
|
29
33
|
get hasLoadedForm(): any;
|
30
34
|
get isRevisionChanged(): any;
|
31
35
|
subFormReady: any;
|
@@ -2,8 +2,7 @@ import _ from 'lodash';
|
|
2
2
|
import Component from '../_classes/component/Component';
|
3
3
|
import ComponentModal from '../_classes/componentModal/ComponentModal';
|
4
4
|
import EventEmitter from 'eventemitter3';
|
5
|
-
import
|
6
|
-
import { isMongoId, eachComponent, getStringFromComponentPath, getArrayFromComponentPath } from '../../utils/utils';
|
5
|
+
import { isMongoId, eachComponent, getStringFromComponentPath, getArrayFromComponentPath, componentValueTypes } from '../../utils/utils';
|
7
6
|
import { Formio } from '../../Formio';
|
8
7
|
import Form from '../../Form';
|
9
8
|
export default class FormComponent extends Component {
|
@@ -29,6 +28,9 @@ export default class FormComponent extends Component {
|
|
29
28
|
schema: FormComponent.schema()
|
30
29
|
};
|
31
30
|
}
|
31
|
+
static savedValueTypes() {
|
32
|
+
return [componentValueTypes.object];
|
33
|
+
}
|
32
34
|
init() {
|
33
35
|
super.init();
|
34
36
|
this.formObj = {
|
@@ -94,7 +96,7 @@ export default class FormComponent extends Component {
|
|
94
96
|
return this.createSubForm();
|
95
97
|
}
|
96
98
|
get dataReady() {
|
97
|
-
return this.subFormReady ||
|
99
|
+
return this.subFormReady || Promise.resolve();
|
98
100
|
}
|
99
101
|
get defaultValue() {
|
100
102
|
// Not not provide a default value unless the subform is ready so that it will initialize correctly.
|
@@ -107,7 +109,7 @@ export default class FormComponent extends Component {
|
|
107
109
|
return { data: {} };
|
108
110
|
}
|
109
111
|
get ready() {
|
110
|
-
return this.subFormReady ||
|
112
|
+
return this.subFormReady || Promise.resolve();
|
111
113
|
}
|
112
114
|
get useOriginalRevision() {
|
113
115
|
return this.component?.useOriginalRevision && !!this.formObj?.revisions;
|
@@ -381,14 +383,14 @@ export default class FormComponent extends Component {
|
|
381
383
|
*/
|
382
384
|
loadSubForm(fromAttach) {
|
383
385
|
if (this.builderMode || this.isHidden() || (this.isSubFormLazyLoad() && !fromAttach)) {
|
384
|
-
return
|
386
|
+
return Promise.resolve();
|
385
387
|
}
|
386
|
-
if (this.hasLoadedForm && !this.isRevisionChanged
|
388
|
+
if (this.hasLoadedForm && !this.isRevisionChanged) {
|
387
389
|
// Pass config down to sub forms.
|
388
390
|
if (this.root && this.root.form && this.root.form.config && !this.formObj.config) {
|
389
391
|
this.formObj.config = this.root.form.config;
|
390
392
|
}
|
391
|
-
return
|
393
|
+
return Promise.resolve(this.formObj);
|
392
394
|
}
|
393
395
|
else if (this.formSrc) {
|
394
396
|
this.subFormLoading = true;
|
@@ -403,7 +405,7 @@ export default class FormComponent extends Component {
|
|
403
405
|
return null;
|
404
406
|
});
|
405
407
|
}
|
406
|
-
return
|
408
|
+
return Promise.resolve();
|
407
409
|
}
|
408
410
|
get subFormData() {
|
409
411
|
return this.dataValue?.data || {};
|
@@ -465,7 +467,7 @@ export default class FormComponent extends Component {
|
|
465
467
|
return this.subForm.getSubmission();
|
466
468
|
}
|
467
469
|
else {
|
468
|
-
return
|
470
|
+
return Promise.resolve(this.dataValue);
|
469
471
|
}
|
470
472
|
}
|
471
473
|
/**
|
@@ -490,7 +492,7 @@ export default class FormComponent extends Component {
|
|
490
492
|
this.subForm.showAllErrors = true;
|
491
493
|
if (rejectOnError) {
|
492
494
|
this.subForm.onSubmissionError(err);
|
493
|
-
return
|
495
|
+
return Promise.reject(err);
|
494
496
|
}
|
495
497
|
else {
|
496
498
|
return {};
|
@@ -519,7 +521,7 @@ export default class FormComponent extends Component {
|
|
519
521
|
// This submission has already been submitted, so just return the reference data.
|
520
522
|
if (isAlreadySubmitted && !this.subForm?.wizard) {
|
521
523
|
this.dataValue = submission;
|
522
|
-
return
|
524
|
+
return Promise.resolve(this.dataValue);
|
523
525
|
}
|
524
526
|
return this.submitSubForm(false)
|
525
527
|
.then(() => {
|
@@ -5,8 +5,10 @@ export default class HTMLComponent extends Component {
|
|
5
5
|
icon: string;
|
6
6
|
weight: number;
|
7
7
|
documentation: string;
|
8
|
+
showPreview: boolean;
|
8
9
|
schema: any;
|
9
10
|
};
|
11
|
+
static savedValueTypes(): never[];
|
10
12
|
get content(): any;
|
11
13
|
get singleTags(): string[];
|
12
14
|
checkRefreshOn(changed: any): void;
|
@@ -19,9 +19,13 @@ export default class HTMLComponent extends Component {
|
|
19
19
|
icon: 'code',
|
20
20
|
weight: 0,
|
21
21
|
documentation: '/userguide/form-building/layout-components#html-element',
|
22
|
+
showPreview: false,
|
22
23
|
schema: HTMLComponent.schema()
|
23
24
|
};
|
24
25
|
}
|
26
|
+
static savedValueTypes() {
|
27
|
+
return [];
|
28
|
+
}
|
25
29
|
get defaultSchema() {
|
26
30
|
return HTMLComponent.schema();
|
27
31
|
}
|
@@ -7,11 +7,34 @@ export default class NumberComponent extends Input {
|
|
7
7
|
weight: number;
|
8
8
|
schema: any;
|
9
9
|
};
|
10
|
+
static get serverConditionSettings(): {
|
11
|
+
operators: any[];
|
12
|
+
valueComponent(classComp: any): any;
|
13
|
+
constructor: Function;
|
14
|
+
toString(): string;
|
15
|
+
toLocaleString(): string;
|
16
|
+
valueOf(): Object;
|
17
|
+
hasOwnProperty(v: PropertyKey): boolean;
|
18
|
+
isPrototypeOf(v: Object): boolean;
|
19
|
+
propertyIsEnumerable(v: PropertyKey): boolean;
|
20
|
+
};
|
21
|
+
static get conditionOperatorsSettings(): {
|
22
|
+
operators: any[];
|
23
|
+
valueComponent(classComp: any): any;
|
24
|
+
constructor: Function;
|
25
|
+
toString(): string;
|
26
|
+
toLocaleString(): string;
|
27
|
+
valueOf(): Object;
|
28
|
+
hasOwnProperty(v: PropertyKey): boolean;
|
29
|
+
isPrototypeOf(v: Object): boolean;
|
30
|
+
propertyIsEnumerable(v: PropertyKey): boolean;
|
31
|
+
};
|
32
|
+
static savedValueTypes(schema: any): string[];
|
10
33
|
constructor(...args: any[]);
|
11
34
|
validators: string[];
|
12
|
-
decimalSeparator: any;
|
13
35
|
delimiter: any;
|
14
36
|
decimalLimit: any;
|
37
|
+
decimalSeparator: any;
|
15
38
|
numberMask: any;
|
16
39
|
/**
|
17
40
|
* Creates the number mask for normal numbers.
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { maskInput, conformToMask } from '@formio/vanilla-text-mask';
|
2
|
-
import _ from 'lodash';
|
3
1
|
import { createNumberMask } from '@formio/text-mask-addons';
|
2
|
+
import { conformToMask, maskInput } from '@formio/vanilla-text-mask';
|
3
|
+
import _ from 'lodash';
|
4
4
|
import Input from '../_classes/input/Input';
|
5
|
-
import { getNumberSeparators, getNumberDecimalLimit } from '../../utils/utils';
|
5
|
+
import { getNumberSeparators, getNumberDecimalLimit, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
|
6
6
|
export default class NumberComponent extends Input {
|
7
7
|
static schema(...extend) {
|
8
8
|
return Input.schema({
|
@@ -27,13 +27,27 @@ export default class NumberComponent extends Input {
|
|
27
27
|
schema: NumberComponent.schema()
|
28
28
|
};
|
29
29
|
}
|
30
|
+
static get serverConditionSettings() {
|
31
|
+
return NumberComponent.conditionOperatorsSettings;
|
32
|
+
}
|
33
|
+
static get conditionOperatorsSettings() {
|
34
|
+
return {
|
35
|
+
...super.conditionOperatorsSettings,
|
36
|
+
operators: [...super.conditionOperatorsSettings.operators, 'lessThan', 'greaterThan', 'lessThanOrEqual', 'greaterThanOrEqual'],
|
37
|
+
valueComponent(classComp) {
|
38
|
+
return { ...classComp, type: 'number' };
|
39
|
+
}
|
40
|
+
};
|
41
|
+
}
|
42
|
+
static savedValueTypes(schema) {
|
43
|
+
schema = schema || {};
|
44
|
+
return getComponentSavedTypes(schema) || [componentValueTypes.number];
|
45
|
+
}
|
30
46
|
constructor(...args) {
|
31
47
|
super(...args);
|
32
48
|
this.validators = this.validators.concat(['min', 'max']);
|
33
49
|
const separators = getNumberSeparators(this.options.language || navigator.language);
|
34
|
-
|
35
|
-
|| this.options.properties?.decimalSeparator
|
36
|
-
|| separators.decimalSeparator;
|
50
|
+
const requireDecimal = _.get(this.component, 'requireDecimal', false);
|
37
51
|
if (this.component.delimiter) {
|
38
52
|
if (this.options.hasOwnProperty('thousandsSeparator')) {
|
39
53
|
console.warn("Property 'thousandsSeparator' is deprecated. Please use i18n to specify delimiter.");
|
@@ -43,8 +57,10 @@ export default class NumberComponent extends Input {
|
|
43
57
|
else {
|
44
58
|
this.delimiter = '';
|
45
59
|
}
|
46
|
-
const requireDecimal = _.get(this.component, 'requireDecimal', false);
|
47
60
|
this.decimalLimit = getNumberDecimalLimit(this.component, requireDecimal ? 2 : 20);
|
61
|
+
this.decimalSeparator = this.decimalLimit !== 0 ?
|
62
|
+
this.options.decimalSeparator || this.options.properties?.decimalSeparator || separators.decimalSeparator :
|
63
|
+
'';
|
48
64
|
// Currencies to override BrowserLanguage Config. Object key {}
|
49
65
|
if (_.has(this.options, `languageOverride.${this.options.language}`)) {
|
50
66
|
const override = _.get(this.options, `languageOverride.${this.options.language}`);
|
@@ -7,6 +7,25 @@ export default class RadioComponent extends ListComponent {
|
|
7
7
|
documentation: string;
|
8
8
|
schema: any;
|
9
9
|
};
|
10
|
+
static get conditionOperatorsSettings(): {
|
11
|
+
valueComponent(classComp: any): {
|
12
|
+
type: string;
|
13
|
+
dataSrc: string;
|
14
|
+
valueProperty: string;
|
15
|
+
dataType: any;
|
16
|
+
data: {
|
17
|
+
custom(): any;
|
18
|
+
};
|
19
|
+
};
|
20
|
+
constructor: Function;
|
21
|
+
toString(): string;
|
22
|
+
toLocaleString(): string;
|
23
|
+
valueOf(): Object;
|
24
|
+
hasOwnProperty(v: PropertyKey): boolean;
|
25
|
+
isPrototypeOf(v: Object): boolean;
|
26
|
+
propertyIsEnumerable(v: PropertyKey): boolean;
|
27
|
+
};
|
28
|
+
static savedValueTypes(schema: any): any[];
|
10
29
|
constructor(component: any, options: any, data: any);
|
11
30
|
previousValue: any;
|
12
31
|
get inputInfo(): {
|
@@ -23,11 +42,12 @@ export default class RadioComponent extends ListComponent {
|
|
23
42
|
get emptyValue(): string;
|
24
43
|
get isRadio(): boolean;
|
25
44
|
get optionSelectedClass(): string;
|
45
|
+
get listData(): any;
|
26
46
|
templateData: {} | undefined;
|
27
47
|
triggerUpdate: ((...args: any[]) => any) | undefined;
|
28
|
-
itemsLoaded: any;
|
29
|
-
itemsLoadedResolve: any;
|
30
|
-
|
48
|
+
itemsLoaded: Promise<any> | undefined;
|
49
|
+
itemsLoadedResolve: ((value: any) => void) | undefined;
|
50
|
+
optionsLoaded: boolean | undefined;
|
31
51
|
loadedOptions: any[] | undefined;
|
32
52
|
render(): any;
|
33
53
|
detach(element: any): void;
|
@@ -36,6 +56,7 @@ export default class RadioComponent extends ListComponent {
|
|
36
56
|
getValueAsString(value: any): any;
|
37
57
|
setValueAt(index: any, value: any): void;
|
38
58
|
loadItems(url: any, search: any, headers: any, options: any, method: any, body: any): void;
|
59
|
+
loadItemsFromMetadata(): void;
|
39
60
|
setItems(items: any): void;
|
40
61
|
setSelectedClasses(): void;
|
41
62
|
updateValue(value: any, flags: any): boolean;
|