@formio/js 5.0.0-rc.19 → 5.0.0-rc.21
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/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
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
declare class Component extends Element {
|
|
6
6
|
static schema(...sources: any[]): any;
|
|
7
|
+
/**
|
|
8
|
+
* Return the simple condition settings as part of the component.
|
|
9
|
+
*
|
|
10
|
+
* @return {Object}
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
static get conditionOperatorsSettings(): Object;
|
|
14
|
+
/**
|
|
15
|
+
* Return the array of possible types of component value absed on its schema.
|
|
16
|
+
*
|
|
17
|
+
* @param schema
|
|
18
|
+
* @return {Array}
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
static savedValueTypes(schema: any): any[];
|
|
7
22
|
/**
|
|
8
23
|
* Provides a table view for this component. Override if you wish to do something different than using getView
|
|
9
24
|
* method of your instance.
|
|
@@ -12,6 +27,7 @@ declare class Component extends Element {
|
|
|
12
27
|
* @param options
|
|
13
28
|
*/
|
|
14
29
|
static tableView(value: any, options: any): void;
|
|
30
|
+
static get serverConditionSettings(): Object;
|
|
15
31
|
/**
|
|
16
32
|
* Initialize a new Component.
|
|
17
33
|
*
|
|
@@ -151,7 +167,7 @@ declare class Component extends Element {
|
|
|
151
167
|
set data(arg: any);
|
|
152
168
|
get data(): any;
|
|
153
169
|
mergeSchema(component?: {}): any;
|
|
154
|
-
get ready():
|
|
170
|
+
get ready(): Promise<Component>;
|
|
155
171
|
get isPDFReadOnlyMode(): any;
|
|
156
172
|
get labelInfo(): {
|
|
157
173
|
hidden: any;
|
|
@@ -293,12 +309,12 @@ declare class Component extends Element {
|
|
|
293
309
|
loadRefs(element: any, refs: any): void;
|
|
294
310
|
setOpenModalElement(template: any): void;
|
|
295
311
|
getModalPreviewTemplate(): any;
|
|
296
|
-
build(element: any):
|
|
312
|
+
build(element: any): Promise<void>;
|
|
297
313
|
get hasModalSaveButton(): boolean;
|
|
298
314
|
render(children?: string, topLevel?: boolean): any;
|
|
299
315
|
attachTooltips(toolTipsRefs: any): void;
|
|
300
316
|
createComponentModal(element: any, modalShouldBeOpened: any, currentValue: any): ComponentModal;
|
|
301
|
-
attach(element: any):
|
|
317
|
+
attach(element: any): Promise<void>;
|
|
302
318
|
componentModal: any;
|
|
303
319
|
restoreFocus(): void;
|
|
304
320
|
addShortcut(element: any, shortcut: any): void;
|
|
@@ -402,8 +418,8 @@ declare class Component extends Element {
|
|
|
402
418
|
errorMessage(type: any): any;
|
|
403
419
|
setContent(element: any, content: any, forceSanitize: any, sanitizeOptions: any): boolean;
|
|
404
420
|
restoreCaretPosition(): void;
|
|
405
|
-
redraw():
|
|
406
|
-
rebuild():
|
|
421
|
+
redraw(): Promise<void>;
|
|
422
|
+
rebuild(): Promise<void>;
|
|
407
423
|
hasClass(element: any, className: any): boolean | undefined;
|
|
408
424
|
addClass(element: any, className: any): Component | undefined;
|
|
409
425
|
removeClass(element: any, className: any): Component | undefined;
|
|
@@ -694,7 +710,7 @@ declare class Component extends Element {
|
|
|
694
710
|
*/
|
|
695
711
|
checkComponentValidity(data: any, dirty: any, row: any, options?: {}): boolean;
|
|
696
712
|
checkValidity(data: any, dirty: any, row: any, silentCheck: any): boolean;
|
|
697
|
-
checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any):
|
|
713
|
+
checkAsyncValidity(data: any, dirty: any, row: any, silentCheck: any): Promise<boolean>;
|
|
698
714
|
/**
|
|
699
715
|
* Check the conditions, calculations, and validity of a single component and triggers an update if
|
|
700
716
|
* something changed.
|
|
@@ -728,8 +744,8 @@ declare class Component extends Element {
|
|
|
728
744
|
*/
|
|
729
745
|
isValueHidden(): boolean | any;
|
|
730
746
|
shouldSkipValidation(data: any, dirty: any, row: any): boolean;
|
|
731
|
-
whenReady():
|
|
732
|
-
get dataReady():
|
|
747
|
+
whenReady(): Promise<void>;
|
|
748
|
+
get dataReady(): Promise<void>;
|
|
733
749
|
/**
|
|
734
750
|
* Prints out the value of this component as a string value.
|
|
735
751
|
*/
|
|
@@ -28,7 +28,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
/* globals Quill, ClassicEditor, CKEDITOR */
|
|
30
30
|
const vanilla_text_mask_1 = require("@formio/vanilla-text-mask");
|
|
31
|
-
const native_promise_only_1 = __importDefault(require("native-promise-only"));
|
|
32
31
|
const tippy_js_1 = __importDefault(require("tippy.js"));
|
|
33
32
|
const lodash_1 = __importDefault(require("lodash"));
|
|
34
33
|
const ismobilejs_1 = __importDefault(require("ismobilejs"));
|
|
@@ -201,6 +200,31 @@ class Component extends Element_1.default {
|
|
|
201
200
|
static get Validator() {
|
|
202
201
|
return Validator_1.default;
|
|
203
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Return the simple condition settings as part of the component.
|
|
205
|
+
*
|
|
206
|
+
* @return {Object}
|
|
207
|
+
*
|
|
208
|
+
*/
|
|
209
|
+
static get conditionOperatorsSettings() {
|
|
210
|
+
return {
|
|
211
|
+
operators: ['isEqual', 'isNotEqual', 'isEmpty', 'isNotEmpty'],
|
|
212
|
+
valueComponent() {
|
|
213
|
+
return { type: 'textfield' };
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Return the array of possible types of component value absed on its schema.
|
|
219
|
+
*
|
|
220
|
+
* @param schema
|
|
221
|
+
* @return {Array}
|
|
222
|
+
*
|
|
223
|
+
*/
|
|
224
|
+
static savedValueTypes(schema) {
|
|
225
|
+
schema = schema || {};
|
|
226
|
+
return FormioUtils.getComponentSavedTypes(schema) || [FormioUtils.componentValueTypes.any];
|
|
227
|
+
}
|
|
204
228
|
/**
|
|
205
229
|
* Provides a table view for this component. Override if you wish to do something different than using getView
|
|
206
230
|
* method of your instance.
|
|
@@ -437,7 +461,7 @@ class Component extends Element_1.default {
|
|
|
437
461
|
}
|
|
438
462
|
// Allow componets to notify when ready.
|
|
439
463
|
get ready() {
|
|
440
|
-
return
|
|
464
|
+
return Promise.resolve(this);
|
|
441
465
|
}
|
|
442
466
|
get isPDFReadOnlyMode() {
|
|
443
467
|
return this.parent &&
|
|
@@ -926,7 +950,7 @@ class Component extends Element_1.default {
|
|
|
926
950
|
* @return {*}
|
|
927
951
|
*/
|
|
928
952
|
beforePage() {
|
|
929
|
-
return
|
|
953
|
+
return Promise.resolve(true);
|
|
930
954
|
}
|
|
931
955
|
beforeNext() {
|
|
932
956
|
return this.beforePage(true);
|
|
@@ -938,7 +962,7 @@ class Component extends Element_1.default {
|
|
|
938
962
|
* @return {*}
|
|
939
963
|
*/
|
|
940
964
|
beforeSubmit() {
|
|
941
|
-
return
|
|
965
|
+
return Promise.resolve(true);
|
|
942
966
|
}
|
|
943
967
|
/**
|
|
944
968
|
* Return the submission timezone.
|
|
@@ -1089,7 +1113,7 @@ class Component extends Element_1.default {
|
|
|
1089
1113
|
}
|
|
1090
1114
|
this.restoreFocus();
|
|
1091
1115
|
this.addons.forEach((addon) => addon.attach(element));
|
|
1092
|
-
return
|
|
1116
|
+
return Promise.resolve();
|
|
1093
1117
|
}
|
|
1094
1118
|
restoreFocus() {
|
|
1095
1119
|
var _a, _b, _c;
|
|
@@ -1404,6 +1428,9 @@ class Component extends Element_1.default {
|
|
|
1404
1428
|
});
|
|
1405
1429
|
return customCSS;
|
|
1406
1430
|
}
|
|
1431
|
+
static get serverConditionSettings() {
|
|
1432
|
+
return Component.conditionOperatorsSettings;
|
|
1433
|
+
}
|
|
1407
1434
|
get isMobile() {
|
|
1408
1435
|
return (0, ismobilejs_1.default)();
|
|
1409
1436
|
}
|
|
@@ -1534,7 +1561,7 @@ class Component extends Element_1.default {
|
|
|
1534
1561
|
// Don't bother if we have not built yet.
|
|
1535
1562
|
if (!this.element || !this.element.parentNode || this.optimizeRedraw) {
|
|
1536
1563
|
// Return a non-resolving promise.
|
|
1537
|
-
return
|
|
1564
|
+
return Promise.resolve();
|
|
1538
1565
|
}
|
|
1539
1566
|
this.detach();
|
|
1540
1567
|
this.emit('redraw');
|
|
@@ -1965,12 +1992,12 @@ class Component extends Element_1.default {
|
|
|
1965
1992
|
return Formio_1.Formio.requireLibrary('ckeditor', isIEBrowser ? 'CKEDITOR' : 'ClassicEditor', lodash_1.default.get(this.options, 'editors.ckeditor.src', `${Formio_1.Formio.cdn.ckeditor}/ckeditor.js`), true)
|
|
1966
1993
|
.then(() => {
|
|
1967
1994
|
if (!element.parentNode) {
|
|
1968
|
-
return
|
|
1995
|
+
return Promise.reject();
|
|
1969
1996
|
}
|
|
1970
1997
|
if (isIEBrowser) {
|
|
1971
1998
|
const editor = CKEDITOR.replace(element);
|
|
1972
1999
|
editor.on('change', () => onChange(editor.getData()));
|
|
1973
|
-
return
|
|
2000
|
+
return Promise.resolve(editor);
|
|
1974
2001
|
}
|
|
1975
2002
|
else {
|
|
1976
2003
|
return ClassicEditor.create(element, settings).then(editor => {
|
|
@@ -1994,7 +2021,7 @@ class Component extends Element_1.default {
|
|
|
1994
2021
|
return Formio_1.Formio.requireLibrary('quill-table', 'Quill', `${Formio_1.Formio.cdn.baseUrl}/quill/quill-table.js`, true)
|
|
1995
2022
|
.then(() => {
|
|
1996
2023
|
if (!element.parentNode) {
|
|
1997
|
-
return
|
|
2024
|
+
return Promise.reject();
|
|
1998
2025
|
}
|
|
1999
2026
|
this.quill = new Quill(element, isIEBrowser ? Object.assign(Object.assign({}, settings), { modules: {} }) : settings);
|
|
2000
2027
|
/** This block of code adds the [source] capabilities. See https://codepen.io/anon/pen/ZyEjrQ **/
|
|
@@ -2445,6 +2472,9 @@ class Component extends Element_1.default {
|
|
|
2445
2472
|
const dataValue = this.dataValue;
|
|
2446
2473
|
// Calculate the new value.
|
|
2447
2474
|
let calculatedValue = this.doValueCalculation(dataValue, data, row, flags);
|
|
2475
|
+
if (this.options.readOnly && dataValue && !calculatedValue) {
|
|
2476
|
+
return false;
|
|
2477
|
+
}
|
|
2448
2478
|
if (lodash_1.default.isNil(calculatedValue)) {
|
|
2449
2479
|
calculatedValue = this.emptyValue;
|
|
2450
2480
|
}
|
|
@@ -2595,7 +2625,7 @@ class Component extends Element_1.default {
|
|
|
2595
2625
|
const { async = false, silentCheck = false } = options;
|
|
2596
2626
|
if (this.shouldSkipValidation(data, dirty, row)) {
|
|
2597
2627
|
this.setCustomValidity('');
|
|
2598
|
-
return async ?
|
|
2628
|
+
return async ? Promise.resolve(true) : true;
|
|
2599
2629
|
}
|
|
2600
2630
|
const check = Validator_1.default.checkComponent(this, data, row, true, async);
|
|
2601
2631
|
let validations = check;
|
|
@@ -2614,7 +2644,7 @@ class Component extends Element_1.default {
|
|
|
2614
2644
|
return isValid;
|
|
2615
2645
|
}
|
|
2616
2646
|
checkAsyncValidity(data, dirty, row, silentCheck) {
|
|
2617
|
-
return
|
|
2647
|
+
return Promise.resolve(this.checkComponentValidity(data, dirty, row, { async: true, silentCheck }));
|
|
2618
2648
|
}
|
|
2619
2649
|
/**
|
|
2620
2650
|
* Check the conditions, calculations, and validity of a single component and triggers an update if
|
|
@@ -2855,7 +2885,7 @@ class Component extends Element_1.default {
|
|
|
2855
2885
|
return this.dataReady;
|
|
2856
2886
|
}
|
|
2857
2887
|
get dataReady() {
|
|
2858
|
-
return
|
|
2888
|
+
return Promise.resolve();
|
|
2859
2889
|
}
|
|
2860
2890
|
/**
|
|
2861
2891
|
* Prints out the value of this component as a string value.
|
|
@@ -3093,7 +3123,7 @@ Component.externalLibraries = {};
|
|
|
3093
3123
|
Component.requireLibrary = function (name, property, src, polling) {
|
|
3094
3124
|
if (!Component.externalLibraries.hasOwnProperty(name)) {
|
|
3095
3125
|
Component.externalLibraries[name] = {};
|
|
3096
|
-
Component.externalLibraries[name].ready = new
|
|
3126
|
+
Component.externalLibraries[name].ready = new Promise((resolve, reject) => {
|
|
3097
3127
|
Component.externalLibraries[name].resolve = resolve;
|
|
3098
3128
|
Component.externalLibraries[name].reject = reject;
|
|
3099
3129
|
});
|
|
@@ -3166,5 +3196,5 @@ Component.libraryReady = function (name) {
|
|
|
3166
3196
|
Component.externalLibraries[name].ready) {
|
|
3167
3197
|
return Component.externalLibraries[name].ready;
|
|
3168
3198
|
}
|
|
3169
|
-
return
|
|
3199
|
+
return Promise.reject(`${name} library was not required.`);
|
|
3170
3200
|
};
|
|
@@ -31,7 +31,7 @@ export default class Input extends Multivalue {
|
|
|
31
31
|
parseValue(value: any): any;
|
|
32
32
|
formatValue(value: any): any;
|
|
33
33
|
getWidget(index: any): any;
|
|
34
|
-
attachElement(element: any, index: any):
|
|
34
|
+
attachElement(element: any, index: any): Promise<void>;
|
|
35
35
|
/**
|
|
36
36
|
* Creates an instance of a widget for this component.
|
|
37
37
|
*
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Multivalue_1 = __importDefault(require("../multivalue/Multivalue"));
|
|
7
7
|
const utils_1 = require("../../../utils/utils");
|
|
8
8
|
const widgets_1 = __importDefault(require("../../../widgets"));
|
|
9
|
-
const native_promise_only_1 = __importDefault(require("native-promise-only"));
|
|
10
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
10
|
class Input extends Multivalue_1.default {
|
|
12
11
|
constructor(component, options, data) {
|
|
@@ -218,7 +217,7 @@ class Input extends Multivalue_1.default {
|
|
|
218
217
|
element.widget.destroy();
|
|
219
218
|
}
|
|
220
219
|
// Attach the widget.
|
|
221
|
-
let promise =
|
|
220
|
+
let promise = Promise.resolve();
|
|
222
221
|
element.widget = this.createWidget(index);
|
|
223
222
|
if (element.widget) {
|
|
224
223
|
promise = element.widget.attach(element);
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export default class ListComponent extends Field {
|
|
2
2
|
get isSelectURL(): boolean;
|
|
3
|
+
get selectData(): any;
|
|
4
|
+
get shouldLoad(): any;
|
|
5
|
+
getTemplateKeys(): void;
|
|
6
|
+
templateKeys: any[] | undefined;
|
|
3
7
|
get requestHeaders(): any;
|
|
4
8
|
setItems(): void;
|
|
5
9
|
updateCustomItems(): void;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Field_1 = __importDefault(require("../field/Field"));
|
|
7
7
|
const Formio_1 = require("../../../Formio");
|
|
8
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const native_promise_only_1 = __importDefault(require("native-promise-only"));
|
|
10
9
|
class ListComponent extends Field_1.default {
|
|
11
10
|
static schema(...extend) {
|
|
12
11
|
return Field_1.default.schema({
|
|
@@ -22,6 +21,46 @@ class ListComponent extends Field_1.default {
|
|
|
22
21
|
get isSelectURL() {
|
|
23
22
|
return this.component.dataSrc === 'url';
|
|
24
23
|
}
|
|
24
|
+
get selectData() {
|
|
25
|
+
const selectData = lodash_1.default.get(this.root, 'submission.metadata.selectData', {});
|
|
26
|
+
return lodash_1.default.get(selectData, this.path);
|
|
27
|
+
}
|
|
28
|
+
get shouldLoad() {
|
|
29
|
+
if (this.loadingError) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
// Live forms should always load.
|
|
33
|
+
if (!this.options.readOnly) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
// If there are template keys, then we need to see if we have the data.
|
|
37
|
+
if (this.templateKeys && this.templateKeys.length) {
|
|
38
|
+
// See if we already have the data we need.
|
|
39
|
+
const dataValue = this.dataValue;
|
|
40
|
+
const selectData = this.selectData;
|
|
41
|
+
return this.templateKeys.reduce((shouldLoad, key) => {
|
|
42
|
+
const hasValue = lodash_1.default.has(dataValue, key) ||
|
|
43
|
+
(lodash_1.default.isArray(selectData) ? selectData.every((data) => lodash_1.default.has(data, key)) : lodash_1.default.has(selectData, key));
|
|
44
|
+
return shouldLoad || !hasValue;
|
|
45
|
+
}, false);
|
|
46
|
+
}
|
|
47
|
+
// Return that we should load.
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
getTemplateKeys() {
|
|
51
|
+
this.templateKeys = [];
|
|
52
|
+
if (this.options.readOnly && this.component.template) {
|
|
53
|
+
const keys = this.component.template.match(/({{\s*(.*?)\s*}})/g);
|
|
54
|
+
if (keys) {
|
|
55
|
+
keys.forEach((key) => {
|
|
56
|
+
const propKey = key.match(/{{\s*item\.(.*?)\s*}}/);
|
|
57
|
+
if (propKey && propKey.length > 1) {
|
|
58
|
+
this.templateKeys.push(propKey[1]);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
25
64
|
get requestHeaders() {
|
|
26
65
|
// Create the headers object.
|
|
27
66
|
const headers = new Formio_1.Formio.Headers();
|
|
@@ -63,17 +102,15 @@ class ListComponent extends Field_1.default {
|
|
|
63
102
|
return template;
|
|
64
103
|
}
|
|
65
104
|
itemTemplate(data, value) {
|
|
66
|
-
var _a;
|
|
67
105
|
if (lodash_1.default.isEmpty(data)) {
|
|
68
106
|
return '';
|
|
69
107
|
}
|
|
70
108
|
const template = this.sanitize(this.getOptionTemplate(data, value), this.shouldSanitizeValue);
|
|
71
109
|
if (template) {
|
|
72
110
|
const label = template.replace(/<\/?[^>]+(>|$)/g, '');
|
|
73
|
-
|
|
74
|
-
if (!label || (hasTranslator && !this.t(label, { _userInput: true })))
|
|
111
|
+
if (!label)
|
|
75
112
|
return;
|
|
76
|
-
return
|
|
113
|
+
return template.replace(label, this.t(label, { _userInput: true }));
|
|
77
114
|
}
|
|
78
115
|
else {
|
|
79
116
|
return this.sanitize(JSON.stringify(data), this.shouldSanitizeValue);
|
|
@@ -192,7 +229,7 @@ class ListComponent extends Field_1.default {
|
|
|
192
229
|
const db = event.target.result;
|
|
193
230
|
const transaction = db.transaction(this.component.indexeddb.table, 'readwrite');
|
|
194
231
|
const objectStore = transaction.objectStore(this.component.indexeddb.table);
|
|
195
|
-
new
|
|
232
|
+
new Promise((resolve) => {
|
|
196
233
|
const responseItems = [];
|
|
197
234
|
objectStore.getAll().onsuccess = (event) => {
|
|
198
235
|
event.target.result.forEach((item) => {
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Field_1 = __importDefault(require("../field/Field"));
|
|
7
|
-
const native_promise_only_1 = __importDefault(require("native-promise-only"));
|
|
8
7
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
8
|
class Multivalue extends Field_1.default {
|
|
10
9
|
get dataValue() {
|
|
@@ -78,7 +77,7 @@ class Multivalue extends Field_1.default {
|
|
|
78
77
|
promises.push(this.attachElement.call(this, element, index));
|
|
79
78
|
});
|
|
80
79
|
if (!this.component.multiple) {
|
|
81
|
-
return
|
|
80
|
+
return Promise.all(promises);
|
|
82
81
|
}
|
|
83
82
|
this.refs.removeRow.forEach((removeButton, index) => {
|
|
84
83
|
this.addEventListener(removeButton, 'click', (event) => {
|
|
@@ -94,7 +93,7 @@ class Multivalue extends Field_1.default {
|
|
|
94
93
|
});
|
|
95
94
|
});
|
|
96
95
|
return superAttach.then(() => {
|
|
97
|
-
return
|
|
96
|
+
return Promise.all(promises);
|
|
98
97
|
});
|
|
99
98
|
}
|
|
100
99
|
detach() {
|
|
@@ -187,7 +186,14 @@ class Multivalue extends Field_1.default {
|
|
|
187
186
|
saveCaretPosition(element, index) {
|
|
188
187
|
var _a, _b;
|
|
189
188
|
if (((_b = (_a = this.root) === null || _a === void 0 ? void 0 : _a.focusedComponent) === null || _b === void 0 ? void 0 : _b.path) === this.path) {
|
|
190
|
-
|
|
189
|
+
try {
|
|
190
|
+
this.root.currentSelection = { selection: [element.selectionStart, element.selectionEnd], index };
|
|
191
|
+
}
|
|
192
|
+
catch (e) {
|
|
193
|
+
if (!(e instanceof DOMException)) {
|
|
194
|
+
console.debug(e);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
191
197
|
}
|
|
192
198
|
}
|
|
193
199
|
onSelectMaskHandler(event) {
|
|
@@ -4,7 +4,8 @@ export default class NestedComponent extends Field {
|
|
|
4
4
|
_collapsed: boolean;
|
|
5
5
|
set collapsed(arg: boolean);
|
|
6
6
|
get collapsed(): boolean;
|
|
7
|
-
collapse(value: any):
|
|
7
|
+
collapse(value: any): Promise<void>;
|
|
8
|
+
get ready(): Promise<any[]>;
|
|
8
9
|
set rowIndex(arg: any);
|
|
9
10
|
get rowIndex(): any;
|
|
10
11
|
_rowIndex: any;
|
|
@@ -78,8 +79,9 @@ export default class NestedComponent extends Field {
|
|
|
78
79
|
addComponent(component: Object, data: Object, before: HTMLElement, noAdd: any): Component;
|
|
79
80
|
beforeFocus(): void;
|
|
80
81
|
renderComponents(components: any): any;
|
|
82
|
+
attach(element: any): Promise<[void, void]>;
|
|
81
83
|
attachComponentsLogic(components: any): void;
|
|
82
|
-
attachComponents(element: any, components: any, container: any): any
|
|
84
|
+
attachComponents(element: any, components: any, container: any): Promise<any>;
|
|
83
85
|
/**
|
|
84
86
|
* Remove a component from the components array.
|
|
85
87
|
*
|
|
@@ -123,6 +125,7 @@ export default class NestedComponent extends Field {
|
|
|
123
125
|
get isPristine(): any;
|
|
124
126
|
destroyComponents(all?: boolean): void;
|
|
125
127
|
get errors(): any;
|
|
128
|
+
get dataReady(): Promise<any[]>;
|
|
126
129
|
setNestedValue(component: any, value: any, flags?: {}): any;
|
|
127
130
|
setValue(value: any, flags?: {}): any;
|
|
128
131
|
get lazyLoad(): any;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
7
|
const Field_1 = __importDefault(require("../field/Field"));
|
|
8
8
|
const Components_1 = __importDefault(require("../../Components"));
|
|
9
|
-
const native_promise_only_1 = __importDefault(require("native-promise-only"));
|
|
10
9
|
const utils_1 = require("../../../utils/utils");
|
|
11
10
|
class NestedComponent extends Field_1.default {
|
|
12
11
|
static schema(...extend) {
|
|
@@ -100,7 +99,7 @@ class NestedComponent extends Field_1.default {
|
|
|
100
99
|
return super.parentDisabled;
|
|
101
100
|
}
|
|
102
101
|
get ready() {
|
|
103
|
-
return
|
|
102
|
+
return Promise.all(this.getComponents().map(component => component.ready));
|
|
104
103
|
}
|
|
105
104
|
get currentForm() {
|
|
106
105
|
return super.currentForm;
|
|
@@ -405,7 +404,7 @@ class NestedComponent extends Field_1.default {
|
|
|
405
404
|
collapsed: this.collapsed,
|
|
406
405
|
[this.nestedKey]: 'single',
|
|
407
406
|
});
|
|
408
|
-
let childPromise =
|
|
407
|
+
let childPromise = Promise.resolve();
|
|
409
408
|
if (this.refs[this.nestedKey]) {
|
|
410
409
|
childPromise = this.attachComponents(this.refs[this.nestedKey]);
|
|
411
410
|
}
|
|
@@ -423,7 +422,7 @@ class NestedComponent extends Field_1.default {
|
|
|
423
422
|
}
|
|
424
423
|
});
|
|
425
424
|
}
|
|
426
|
-
return
|
|
425
|
+
return Promise.all([
|
|
427
426
|
superPromise,
|
|
428
427
|
childPromise,
|
|
429
428
|
]);
|
|
@@ -443,7 +442,7 @@ class NestedComponent extends Field_1.default {
|
|
|
443
442
|
element = this.hook('attachComponents', element, components, container, this);
|
|
444
443
|
if (!element) {
|
|
445
444
|
// Return a non-resolving promise.
|
|
446
|
-
return (new
|
|
445
|
+
return (new Promise(() => { }));
|
|
447
446
|
}
|
|
448
447
|
let index = 0;
|
|
449
448
|
const promises = [];
|
|
@@ -453,7 +452,7 @@ class NestedComponent extends Field_1.default {
|
|
|
453
452
|
index++;
|
|
454
453
|
}
|
|
455
454
|
});
|
|
456
|
-
return
|
|
455
|
+
return Promise.all(promises);
|
|
457
456
|
}
|
|
458
457
|
/**
|
|
459
458
|
* Remove a component from the components array.
|
|
@@ -564,7 +563,7 @@ class NestedComponent extends Field_1.default {
|
|
|
564
563
|
* @return {*}
|
|
565
564
|
*/
|
|
566
565
|
beforePage(next) {
|
|
567
|
-
return
|
|
566
|
+
return Promise.all(this.getComponents().map((comp) => comp.beforePage(next)));
|
|
568
567
|
}
|
|
569
568
|
/**
|
|
570
569
|
* Allow components to hook into the submission to provide their own async data.
|
|
@@ -572,7 +571,7 @@ class NestedComponent extends Field_1.default {
|
|
|
572
571
|
* @return {*}
|
|
573
572
|
*/
|
|
574
573
|
beforeSubmit() {
|
|
575
|
-
return
|
|
574
|
+
return Promise.all(this.getComponents().map((comp) => comp.beforeSubmit()));
|
|
576
575
|
}
|
|
577
576
|
calculateValue(data, flags, row) {
|
|
578
577
|
// Do not iterate into children and calculateValues if this nested component is conditionally hidden.
|
|
@@ -603,7 +602,7 @@ class NestedComponent extends Field_1.default {
|
|
|
603
602
|
return this.ready.then(() => {
|
|
604
603
|
const promises = [super.checkAsyncValidity(data, dirty, row, silentCheck)];
|
|
605
604
|
this.eachComponent((component) => promises.push(component.checkAsyncValidity(data, dirty, row, silentCheck)));
|
|
606
|
-
return
|
|
605
|
+
return Promise.all(promises).then((results) => results.reduce((valid, result) => (valid && result), true));
|
|
607
606
|
});
|
|
608
607
|
}
|
|
609
608
|
setPristine(pristine) {
|
|
@@ -652,7 +651,7 @@ class NestedComponent extends Field_1.default {
|
|
|
652
651
|
this.setPristine(true);
|
|
653
652
|
}
|
|
654
653
|
get dataReady() {
|
|
655
|
-
return
|
|
654
|
+
return Promise.all(this.getComponents().map((component) => component.dataReady));
|
|
656
655
|
}
|
|
657
656
|
setNestedValue(component, value, flags = {}) {
|
|
658
657
|
component._data = this.componentContext(component);
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const utils_1 = require("../../../utils/utils");
|
|
7
8
|
const Component_1 = __importDefault(require("../component/Component"));
|
|
8
9
|
const NestedDataComponent_1 = __importDefault(require("../nesteddata/NestedDataComponent"));
|
|
9
10
|
class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
@@ -12,6 +13,9 @@ class NestedArrayComponent extends NestedDataComponent_1.default {
|
|
|
12
13
|
disableAddingRemovingRows: false
|
|
13
14
|
}, ...extend);
|
|
14
15
|
}
|
|
16
|
+
static savedValueTypes() {
|
|
17
|
+
return [utils_1.componentValueTypes.array];
|
|
18
|
+
}
|
|
15
19
|
componentContext(component) {
|
|
16
20
|
return this.iteratableRows[component.rowIndex].data;
|
|
17
21
|
}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const Component_1 = __importDefault(require("../component/Component"));
|
|
7
7
|
const NestedComponent_1 = __importDefault(require("../nested/NestedComponent"));
|
|
8
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const utils_1 = require("../../../utils/utils");
|
|
9
10
|
class NestedDataComponent extends NestedComponent_1.default {
|
|
10
11
|
hasChanged(newValue, oldValue) {
|
|
11
12
|
// If we do not have a value and are getting set to anything other than undefined or null, then we changed.
|
|
@@ -16,6 +17,9 @@ class NestedDataComponent extends NestedComponent_1.default {
|
|
|
16
17
|
}
|
|
17
18
|
return !lodash_1.default.isEqual(newValue, oldValue);
|
|
18
19
|
}
|
|
20
|
+
static savedValueTypes(schema) {
|
|
21
|
+
return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.object];
|
|
22
|
+
}
|
|
19
23
|
get allowData() {
|
|
20
24
|
return true;
|
|
21
25
|
}
|
|
@@ -3,6 +3,14 @@ export namespace AddressComponentMode {
|
|
|
3
3
|
const Manual: string;
|
|
4
4
|
}
|
|
5
5
|
export default class AddressComponent extends ContainerComponent {
|
|
6
|
+
static get builderInfo(): {
|
|
7
|
+
title: string;
|
|
8
|
+
group: string;
|
|
9
|
+
icon: string;
|
|
10
|
+
documentation: string;
|
|
11
|
+
weight: number;
|
|
12
|
+
schema: any;
|
|
13
|
+
};
|
|
6
14
|
static get modeSwitcherRef(): string;
|
|
7
15
|
static get removeValueIconRef(): string;
|
|
8
16
|
static get searchInputRef(): string;
|
|
@@ -11,6 +11,7 @@ const GoogleAddressProvider_1 = require("../../providers/address/GoogleAddressPr
|
|
|
11
11
|
const Field_1 = __importDefault(require("../_classes/field/Field"));
|
|
12
12
|
const NestedComponent_1 = __importDefault(require("../_classes/nested/NestedComponent"));
|
|
13
13
|
const Container_1 = __importDefault(require("../container/Container"));
|
|
14
|
+
const utils_1 = require("../../utils/utils");
|
|
14
15
|
exports.AddressComponentMode = {
|
|
15
16
|
Autocomplete: 'autocomplete',
|
|
16
17
|
Manual: 'manual',
|
|
@@ -82,6 +83,10 @@ class AddressComponent extends Container_1.default {
|
|
|
82
83
|
],
|
|
83
84
|
}, ...extend);
|
|
84
85
|
}
|
|
86
|
+
static savedValueTypes(schema) {
|
|
87
|
+
schema = schema || {};
|
|
88
|
+
return (0, utils_1.getComponentSavedTypes)(schema) || [utils_1.componentValueTypes.object];
|
|
89
|
+
}
|
|
85
90
|
static get builderInfo() {
|
|
86
91
|
return {
|
|
87
92
|
title: 'Address',
|