@formio/js 5.2.3 → 5.2.4-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formio.builder.css +161 -50
- package/dist/formio.builder.min.css +1 -1
- package/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.css +158 -49
- package/dist/formio.form.js +152 -108
- package/dist/formio.form.min.css +1 -1
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.css +161 -50
- package/dist/formio.full.js +401 -227
- package/dist/formio.full.min.css +1 -1
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +51 -18
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +47 -14
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/CDN.js +12 -12
- package/lib/cjs/Element.d.ts +3 -2
- package/lib/cjs/Element.js +27 -21
- package/lib/cjs/Embed.js +74 -40
- package/lib/cjs/EventEmitter.js +1 -1
- package/lib/cjs/Form.d.ts +371 -341
- package/lib/cjs/Form.js +153 -39
- package/lib/cjs/FormBuilder.d.ts +3 -3
- package/lib/cjs/FormBuilder.js +2 -3
- package/lib/cjs/Formio.js +26 -23
- package/lib/cjs/InlineEmbed.js +23 -17
- package/lib/cjs/PDF.d.ts +1 -0
- package/lib/cjs/PDF.js +18 -15
- package/lib/cjs/PDFBuilder.js +51 -36
- package/lib/cjs/Webform.d.ts +8 -366
- package/lib/cjs/Webform.js +176 -235
- package/lib/cjs/WebformBuilder.js +217 -144
- package/lib/cjs/Wizard.js +92 -62
- package/lib/cjs/WizardBuilder.js +27 -19
- package/lib/cjs/addons/FormioAddon.js +1 -1
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/cjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/cjs/addons/index.js +3 -3
- package/lib/cjs/components/Components.js +0 -4
- package/lib/cjs/components/_classes/component/Component.form.js +11 -11
- package/lib/cjs/components/_classes/component/Component.js +298 -179
- package/lib/cjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/cjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/cjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/cjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/cjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/cjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/cjs/components/_classes/componentModal/ComponentModal.js +6 -6
- package/lib/cjs/components/_classes/field/Field.js +7 -1
- package/lib/cjs/components/_classes/input/Input.js +30 -26
- package/lib/cjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/cjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/cjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/cjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/cjs/components/_classes/nested/NestedComponent.js +36 -32
- package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +19 -14
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/cjs/components/address/Address.js +52 -45
- package/lib/cjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/cjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/cjs/components/alert/Alert.js +21 -15
- package/lib/cjs/components/button/Button.form.js +1 -1
- package/lib/cjs/components/button/Button.js +50 -27
- package/lib/cjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/cjs/components/checkbox/Checkbox.js +28 -20
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/cjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/cjs/components/columns/Columns.form.js +1 -1
- package/lib/cjs/components/columns/Columns.js +24 -12
- package/lib/cjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/cjs/components/container/Container.form.js +2 -2
- package/lib/cjs/components/container/Container.js +6 -4
- package/lib/cjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/cjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/cjs/components/content/Content.form.js +4 -2
- package/lib/cjs/components/content/Content.js +10 -8
- package/lib/cjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/cjs/components/currency/Currency.form.js +3 -3
- package/lib/cjs/components/currency/Currency.js +19 -10
- package/lib/cjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/cjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/cjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/cjs/components/datagrid/DataGrid.js +89 -38
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/cjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/cjs/components/datamap/DataMap.form.js +2 -2
- package/lib/cjs/components/datamap/DataMap.js +44 -31
- package/lib/cjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/cjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/cjs/components/datetime/DateTime.form.js +5 -5
- package/lib/cjs/components/datetime/DateTime.js +30 -15
- package/lib/cjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/cjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/cjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/cjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/cjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/cjs/components/day/Day.form.js +5 -5
- package/lib/cjs/components/day/Day.js +146 -56
- package/lib/cjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/cjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/cjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/cjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/cjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/cjs/components/editgrid/EditGrid.js +137 -89
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/cjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/cjs/components/email/Email.js +4 -4
- package/lib/cjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/cjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/cjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/cjs/components/fieldset/Fieldset.js +2 -2
- package/lib/cjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/cjs/components/file/File.form.js +4 -4
- package/lib/cjs/components/file/File.js +126 -80
- package/lib/cjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/cjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/cjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/cjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/cjs/components/form/Form.form.js +3 -3
- package/lib/cjs/components/form/Form.js +67 -51
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/cjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/cjs/components/form/editForm/Form.edit.form.js +11 -9
- package/lib/cjs/components/hidden/Hidden.form.js +4 -4
- package/lib/cjs/components/hidden/Hidden.js +2 -2
- package/lib/cjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/cjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/cjs/components/html/HTML.js +23 -17
- package/lib/cjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/cjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/cjs/components/number/Number.form.js +3 -3
- package/lib/cjs/components/number/Number.js +27 -11
- package/lib/cjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/cjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/cjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/cjs/components/panel/Panel.form.js +1 -1
- package/lib/cjs/components/panel/Panel.js +2 -2
- package/lib/cjs/components/panel/editForm/Panel.edit.conditional.js +5 -7
- package/lib/cjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/cjs/components/password/Password.form.js +3 -3
- package/lib/cjs/components/password/Password.js +5 -2
- package/lib/cjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/cjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/cjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/cjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/cjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/cjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/cjs/components/radio/Radio.form.js +3 -3
- package/lib/cjs/components/radio/Radio.js +55 -26
- package/lib/cjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/cjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/cjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/cjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/cjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/cjs/components/select/Select.form.js +3 -3
- package/lib/cjs/components/select/Select.js +235 -129
- package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/cjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/cjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/cjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/cjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/cjs/components/selectboxes/SelectBoxes.js +31 -15
- package/lib/cjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/cjs/components/signature/Signature.form.js +3 -3
- package/lib/cjs/components/signature/Signature.js +25 -15
- package/lib/cjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/cjs/components/survey/Survey.form.js +3 -3
- package/lib/cjs/components/survey/Survey.js +30 -17
- package/lib/cjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/cjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/cjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/cjs/components/table/Table.form.js +1 -1
- package/lib/cjs/components/table/Table.js +7 -5
- package/lib/cjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/cjs/components/tabs/Tabs.form.js +1 -1
- package/lib/cjs/components/tabs/Tabs.js +26 -8
- package/lib/cjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/cjs/components/tags/Tags.form.js +1 -1
- package/lib/cjs/components/tags/Tags.js +28 -12
- package/lib/cjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/cjs/components/textarea/TextArea.form.js +2 -2
- package/lib/cjs/components/textarea/TextArea.js +63 -45
- package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/cjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/cjs/components/textfield/TextField.form.js +3 -3
- package/lib/cjs/components/textfield/TextField.js +32 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/cjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/cjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/cjs/components/time/Time.js +17 -10
- package/lib/cjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/cjs/components/unknown/Unknown.form.js +5 -5
- package/lib/cjs/components/unknown/Unknown.js +2 -2
- package/lib/cjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/cjs/components/url/Url.form.js +3 -3
- package/lib/cjs/components/url/Url.js +2 -2
- package/lib/cjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/cjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/cjs/components/well/Well.form.js +1 -1
- package/lib/cjs/components/well/Well.js +2 -2
- package/lib/cjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/cjs/formio.form.d.ts +2 -1
- package/lib/cjs/formio.form.js +38 -12
- package/lib/cjs/i18n.d.ts +4 -0
- package/lib/cjs/i18n.js +7 -3
- package/lib/cjs/package.json +1 -1
- package/lib/cjs/providers/address/AddressProvider.js +8 -5
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/cjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/cjs/providers/processor/fileProcessor.js +3 -1
- package/lib/cjs/providers/storage/azure.js +5 -2
- package/lib/cjs/providers/storage/dropbox.js +4 -5
- package/lib/cjs/providers/storage/googleDrive.js +3 -4
- package/lib/cjs/providers/storage/index.js +1 -1
- package/lib/cjs/providers/storage/indexeddb.js +16 -6
- package/lib/cjs/providers/storage/s3.js +17 -6
- package/lib/cjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/cjs/providers/storage/url.js +13 -11
- package/lib/cjs/providers/storage/xhr.js +17 -9
- package/lib/cjs/templates/index.js +1 -1
- package/lib/cjs/translations/de.d.ts +80 -0
- package/lib/cjs/translations/de.js +81 -0
- package/lib/cjs/translations/en.d.ts +0 -2
- package/lib/cjs/translations/en.js +7 -9
- package/lib/cjs/utils/ChoicesWrapper.js +2 -2
- package/lib/cjs/utils/builder.js +31 -7
- package/lib/cjs/utils/calendarUtils.js +7 -5
- package/lib/cjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +12 -4
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/cjs/utils/conditionOperators/index.js +1 -1
- package/lib/cjs/utils/formUtils.js +1 -1
- package/lib/cjs/utils/i18n.js +7 -1
- package/lib/cjs/utils/index.d.ts +2 -1
- package/lib/cjs/utils/index.js +2 -2
- package/lib/cjs/utils/utils.d.ts +10 -1
- package/lib/cjs/utils/utils.js +175 -92
- package/lib/cjs/widgets/CalendarWidget.js +66 -49
- package/lib/cjs/widgets/InputWidget.js +6 -4
- package/lib/cjs/widgets/index.js +1 -1
- package/lib/mjs/CDN.js +12 -12
- package/lib/mjs/Element.d.ts +3 -2
- package/lib/mjs/Element.js +27 -21
- package/lib/mjs/Embed.js +76 -42
- package/lib/mjs/EventEmitter.js +1 -1
- package/lib/mjs/Form.d.ts +371 -341
- package/lib/mjs/Form.js +142 -126
- package/lib/mjs/FormBuilder.d.ts +3 -3
- package/lib/mjs/FormBuilder.js +2 -3
- package/lib/mjs/Formio.js +26 -23
- package/lib/mjs/InlineEmbed.js +23 -17
- package/lib/mjs/PDF.d.ts +1 -0
- package/lib/mjs/PDF.js +18 -15
- package/lib/mjs/PDFBuilder.js +51 -36
- package/lib/mjs/Webform.d.ts +8 -366
- package/lib/mjs/Webform.js +183 -250
- package/lib/mjs/WebformBuilder.js +220 -147
- package/lib/mjs/Wizard.js +93 -63
- package/lib/mjs/WizardBuilder.js +27 -19
- package/lib/mjs/addons/FormioAddon.js +1 -1
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.form.js +59 -57
- package/lib/mjs/addons/PasswordStrength/PasswordStrengthAddon.js +24 -16
- package/lib/mjs/addons/index.js +3 -3
- package/lib/mjs/components/Components.js +0 -4
- package/lib/mjs/components/_classes/component/Component.form.js +11 -11
- package/lib/mjs/components/_classes/component/Component.js +303 -184
- package/lib/mjs/components/_classes/component/editForm/Component.edit.addons.js +2 -4
- package/lib/mjs/components/_classes/component/editForm/Component.edit.api.js +5 -5
- package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +9 -11
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.d.ts +37 -0
- package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +39 -25
- package/lib/mjs/components/_classes/component/editForm/Component.edit.display.js +47 -29
- package/lib/mjs/components/_classes/component/editForm/Component.edit.layout.js +9 -9
- package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +5 -7
- package/lib/mjs/components/_classes/component/editForm/Component.edit.validation.js +37 -34
- package/lib/mjs/components/_classes/component/editForm/utils.js +12 -16
- package/lib/mjs/components/_classes/componentModal/ComponentModal.js +2 -2
- package/lib/mjs/components/_classes/field/Field.js +8 -2
- package/lib/mjs/components/_classes/input/Input.js +27 -23
- package/lib/mjs/components/_classes/list/ListComponent.form.js +1 -1
- package/lib/mjs/components/_classes/list/ListComponent.js +27 -18
- package/lib/mjs/components/_classes/list/editForm/ListComponent.edit.data.js +36 -9
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +32 -13
- package/lib/mjs/components/_classes/nested/NestedComponent.form.js +3 -3
- package/lib/mjs/components/_classes/nested/NestedComponent.js +32 -28
- package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +20 -15
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +19 -17
- package/lib/mjs/components/address/Address.js +57 -46
- package/lib/mjs/components/address/editForm/Address.edit.data.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.display.js +2 -2
- package/lib/mjs/components/address/editForm/Address.edit.provider.js +53 -11
- package/lib/mjs/components/alert/Alert.js +22 -16
- package/lib/mjs/components/button/Button.form.js +1 -1
- package/lib/mjs/components/button/Button.js +51 -28
- package/lib/mjs/components/button/editForm/Button.edit.display.js +49 -9
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.form.js +3 -3
- package/lib/mjs/components/checkbox/Checkbox.js +29 -21
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.data.js +1 -1
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.display.js +13 -3
- package/lib/mjs/components/checkbox/editForm/Checkbox.edit.validation.js +2 -2
- package/lib/mjs/components/columns/Columns.form.js +1 -1
- package/lib/mjs/components/columns/Columns.js +24 -12
- package/lib/mjs/components/columns/editForm/Columns.edit.display.js +17 -17
- package/lib/mjs/components/container/Container.form.js +2 -2
- package/lib/mjs/components/container/Container.js +6 -4
- package/lib/mjs/components/container/editForm/Container.edit.data.js +3 -3
- package/lib/mjs/components/container/editForm/Container.edit.display.js +4 -4
- package/lib/mjs/components/content/Content.form.js +4 -2
- package/lib/mjs/components/content/Content.js +10 -8
- package/lib/mjs/components/content/editForm/Content.edit.display.js +10 -10
- package/lib/mjs/components/currency/Currency.form.js +3 -3
- package/lib/mjs/components/currency/Currency.js +19 -10
- package/lib/mjs/components/currency/editForm/Currency.edit.data.js +5 -5
- package/lib/mjs/components/currency/editForm/Currency.edit.display.js +8 -8
- package/lib/mjs/components/datagrid/DataGrid.form.js +3 -3
- package/lib/mjs/components/datagrid/DataGrid.js +90 -39
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.data.js +1 -1
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.display.js +14 -14
- package/lib/mjs/components/datagrid/editForm/DataGrid.edit.validation.js +3 -3
- package/lib/mjs/components/datamap/DataMap.form.js +2 -2
- package/lib/mjs/components/datamap/DataMap.js +44 -31
- package/lib/mjs/components/datamap/editForm/DataMap.edit.data.js +1 -1
- package/lib/mjs/components/datamap/editForm/DataMap.edit.display.js +8 -8
- package/lib/mjs/components/datetime/DateTime.form.js +5 -5
- package/lib/mjs/components/datetime/DateTime.js +31 -16
- package/lib/mjs/components/datetime/editForm/DateTime.edit.data.js +4 -3
- package/lib/mjs/components/datetime/editForm/DateTime.edit.date.js +10 -10
- package/lib/mjs/components/datetime/editForm/DateTime.edit.display.js +22 -17
- package/lib/mjs/components/datetime/editForm/DateTime.edit.time.js +5 -5
- package/lib/mjs/components/datetime/editForm/DateTime.edit.validation.js +3 -3
- package/lib/mjs/components/day/Day.form.js +5 -5
- package/lib/mjs/components/day/Day.js +147 -57
- package/lib/mjs/components/day/editForm/Day.edit.day.js +13 -9
- package/lib/mjs/components/day/editForm/Day.edit.display.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.month.js +12 -8
- package/lib/mjs/components/day/editForm/Day.edit.validation.js +7 -7
- package/lib/mjs/components/day/editForm/Day.edit.year.js +8 -8
- package/lib/mjs/components/editgrid/EditGrid.form.js +2 -2
- package/lib/mjs/components/editgrid/EditGrid.js +138 -90
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.data.js +2 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +7 -2
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.templates.js +16 -16
- package/lib/mjs/components/editgrid/editForm/EditGrid.edit.validation.js +3 -3
- package/lib/mjs/components/email/Email.js +4 -4
- package/lib/mjs/components/email/editForm/Email.edit.display.js +3 -3
- package/lib/mjs/components/email/editForm/Email.edit.validation.js +6 -6
- package/lib/mjs/components/fieldset/Fieldset.form.js +1 -1
- package/lib/mjs/components/fieldset/Fieldset.js +2 -2
- package/lib/mjs/components/fieldset/editForm/Fieldset.edit.display.js +8 -8
- package/lib/mjs/components/file/File.form.js +4 -4
- package/lib/mjs/components/file/File.js +131 -84
- package/lib/mjs/components/file/editForm/File.edit.display.js +9 -5
- package/lib/mjs/components/file/editForm/File.edit.file.d.ts +37 -16
- package/lib/mjs/components/file/editForm/File.edit.file.js +169 -72
- package/lib/mjs/components/file/editForm/File.edit.validation.js +2 -2
- package/lib/mjs/components/form/Form.form.js +3 -3
- package/lib/mjs/components/form/Form.js +67 -51
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -3
- package/lib/mjs/components/form/editForm/Form.edit.display.js +6 -7
- package/lib/mjs/components/form/editForm/Form.edit.form.js +10 -8
- package/lib/mjs/components/hidden/Hidden.form.js +4 -4
- package/lib/mjs/components/hidden/Hidden.js +2 -2
- package/lib/mjs/components/hidden/editForm/Hidden.edit.data.js +3 -3
- package/lib/mjs/components/hidden/editForm/Hidden.edit.display.js +10 -10
- package/lib/mjs/components/html/HTML.js +23 -17
- package/lib/mjs/components/html/editForm/HTML.edit.display.js +17 -17
- package/lib/mjs/components/html/editForm/HTML.edit.logic.js +2 -2
- package/lib/mjs/components/number/Number.form.js +3 -3
- package/lib/mjs/components/number/Number.js +28 -12
- package/lib/mjs/components/number/editForm/Number.edit.data.js +3 -3
- package/lib/mjs/components/number/editForm/Number.edit.display.js +4 -4
- package/lib/mjs/components/number/editForm/Number.edit.validation.js +9 -9
- package/lib/mjs/components/panel/Panel.form.js +1 -1
- package/lib/mjs/components/panel/Panel.js +2 -2
- package/lib/mjs/components/panel/editForm/Panel.edit.conditional.js +6 -8
- package/lib/mjs/components/panel/editForm/Panel.edit.display.js +55 -29
- package/lib/mjs/components/password/Password.form.js +3 -3
- package/lib/mjs/components/password/Password.js +5 -2
- package/lib/mjs/components/password/editForm/Password.edit.data.js +11 -11
- package/lib/mjs/components/password/editForm/Password.edit.display.js +3 -3
- package/lib/mjs/components/password/editForm/Password.edit.validation.js +3 -3
- package/lib/mjs/components/phonenumber/PhoneNumber.form.js +8 -8
- package/lib/mjs/components/phonenumber/PhoneNumber.js +3 -3
- package/lib/mjs/components/phonenumber/editForm/PhoneNumber.edit.validation.js +6 -6
- package/lib/mjs/components/radio/Radio.form.js +3 -3
- package/lib/mjs/components/radio/Radio.js +56 -27
- package/lib/mjs/components/radio/editForm/Radio.edit.data.js +23 -9
- package/lib/mjs/components/radio/editForm/Radio.edit.display.js +6 -6
- package/lib/mjs/components/radio/editForm/Radio.edit.validation.js +2 -2
- package/lib/mjs/components/recaptcha/ReCaptcha.form.js +5 -5
- package/lib/mjs/components/recaptcha/ReCaptcha.js +7 -5
- package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +24 -24
- package/lib/mjs/components/select/Select.form.js +3 -3
- package/lib/mjs/components/select/Select.js +240 -134
- package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +1 -1
- package/lib/mjs/components/select/editForm/Select.edit.data.js +191 -57
- package/lib/mjs/components/select/editForm/Select.edit.display.js +2 -2
- package/lib/mjs/components/select/editForm/Select.edit.validation.js +4 -4
- package/lib/mjs/components/selectboxes/SelectBoxes.form.js +3 -3
- package/lib/mjs/components/selectboxes/SelectBoxes.js +32 -16
- package/lib/mjs/components/selectboxes/editForm/SelectBoxes.edit.validation.js +5 -5
- package/lib/mjs/components/signature/Signature.form.js +3 -3
- package/lib/mjs/components/signature/Signature.js +25 -15
- package/lib/mjs/components/signature/editForm/Signature.edit.display.js +19 -10
- package/lib/mjs/components/survey/Survey.form.js +3 -3
- package/lib/mjs/components/survey/Survey.js +30 -17
- package/lib/mjs/components/survey/editForm/Survey.edit.data.js +23 -11
- package/lib/mjs/components/survey/editForm/Survey.edit.display.js +1 -1
- package/lib/mjs/components/survey/editForm/Survey.edit.validation.js +1 -1
- package/lib/mjs/components/table/Table.form.js +1 -1
- package/lib/mjs/components/table/Table.js +7 -5
- package/lib/mjs/components/table/editForm/Table.edit.display.js +22 -22
- package/lib/mjs/components/tabs/Tabs.form.js +1 -1
- package/lib/mjs/components/tabs/Tabs.js +26 -8
- package/lib/mjs/components/tabs/editForm/Tabs.edit.display.js +21 -17
- package/lib/mjs/components/tags/Tags.form.js +1 -1
- package/lib/mjs/components/tags/Tags.js +28 -12
- package/lib/mjs/components/tags/editForm/Tags.edit.data.js +7 -7
- package/lib/mjs/components/textarea/TextArea.form.js +2 -2
- package/lib/mjs/components/textarea/TextArea.js +75 -51
- package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +96 -72
- package/lib/mjs/components/textarea/editForm/TextArea.edit.validation.js +3 -3
- package/lib/mjs/components/textfield/TextField.form.js +3 -3
- package/lib/mjs/components/textfield/TextField.js +34 -23
- package/lib/mjs/components/textfield/editForm/TextField.edit.data.js +15 -13
- package/lib/mjs/components/textfield/editForm/TextField.edit.display.js +31 -21
- package/lib/mjs/components/textfield/editForm/TextField.edit.validation.js +6 -6
- package/lib/mjs/components/time/Time.js +17 -10
- package/lib/mjs/components/time/editForm/Time.edit.display.js +2 -2
- package/lib/mjs/components/unknown/Unknown.form.js +5 -5
- package/lib/mjs/components/unknown/Unknown.js +2 -2
- package/lib/mjs/components/unknown/editForm/Unknown.edit.display.js +3 -3
- package/lib/mjs/components/url/Url.form.js +3 -3
- package/lib/mjs/components/url/Url.js +2 -2
- package/lib/mjs/components/url/editForm/Url.edit.display.js +3 -3
- package/lib/mjs/components/url/editForm/Url.edit.validation.js +1 -1
- package/lib/mjs/components/well/Well.form.js +1 -1
- package/lib/mjs/components/well/Well.js +2 -2
- package/lib/mjs/components/well/editForm/Well.edit.display.js +10 -10
- package/lib/mjs/formio.form.d.ts +2 -1
- package/lib/mjs/formio.form.js +10 -8
- package/lib/mjs/i18n.d.ts +4 -0
- package/lib/mjs/i18n.js +7 -3
- package/lib/mjs/package.json +1 -1
- package/lib/mjs/providers/address/AddressProvider.js +8 -5
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +3 -3
- package/lib/mjs/providers/address/GoogleAddressProvider.js +24 -13
- package/lib/mjs/providers/processor/fileProcessor.js +3 -1
- package/lib/mjs/providers/storage/azure.js +5 -2
- package/lib/mjs/providers/storage/dropbox.js +4 -5
- package/lib/mjs/providers/storage/googleDrive.js +3 -4
- package/lib/mjs/providers/storage/index.js +1 -1
- package/lib/mjs/providers/storage/indexeddb.js +16 -6
- package/lib/mjs/providers/storage/s3.js +19 -8
- package/lib/mjs/providers/storage/uploadAdapter.js +17 -11
- package/lib/mjs/providers/storage/url.js +13 -11
- package/lib/mjs/providers/storage/xhr.js +17 -9
- package/lib/mjs/templates/index.js +1 -1
- package/lib/mjs/translations/de.d.ts +80 -0
- package/lib/mjs/translations/de.js +79 -0
- package/lib/mjs/translations/en.d.ts +0 -2
- package/lib/mjs/translations/en.js +7 -9
- package/lib/mjs/utils/ChoicesWrapper.js +2 -2
- package/lib/mjs/utils/builder.js +31 -7
- package/lib/mjs/utils/calendarUtils.js +7 -5
- package/lib/mjs/utils/conditionOperators/ConditionOperator.js +1 -1
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +16 -5
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +3 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +10 -6
- package/lib/mjs/utils/conditionOperators/index.js +1 -1
- package/lib/mjs/utils/formUtils.js +2 -2
- package/lib/mjs/utils/i18n.js +7 -1
- package/lib/mjs/utils/index.d.ts +2 -1
- package/lib/mjs/utils/index.js +3 -3
- package/lib/mjs/utils/utils.d.ts +10 -1
- package/lib/mjs/utils/utils.js +178 -91
- package/lib/mjs/widgets/CalendarWidget.js +67 -50
- package/lib/mjs/widgets/InputWidget.js +6 -4
- package/lib/mjs/widgets/index.js +1 -1
- package/package.json +3 -3
- package/lib/cjs/pdf.image.d.ts +0 -2
- package/lib/cjs/pdf.image.js +0 -94
- package/lib/cjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/cjs/utils/jsonlogic/operators.js +0 -265
- package/lib/mjs/pdf.image.d.ts +0 -2
- package/lib/mjs/pdf.image.js +0 -94
- package/lib/mjs/utils/jsonlogic/operators.d.ts +0 -1
- package/lib/mjs/utils/jsonlogic/operators.js +0 -262
package/lib/cjs/utils/utils.js
CHANGED
|
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getContextComponents = exports.observeOverload = exports.withSwitch = exports.firstNonNil = exports.unfold = exports.bootstrapVersion = exports.uniqueKey = exports.iterateKey = exports.delay = exports.fieldData = exports.getCurrencyAffixes = exports.getNumberDecimalLimit = exports.getNumberSeparators = exports.matchInputMask = exports.unmaskValue = exports.getInputMask = exports.convertFormatToMask = exports.convertFormatToMoment = exports.convertFormatToFlatpickr = exports.getLocaleDateFormatInfo = exports.formatOffset = exports.formatDate = exports.momentDate = exports.loadZones = exports.shouldLoadZones = exports.zonesLoaded = exports.offsetDate = exports.currentTimezone = exports.isValidDate = exports.getDateSetting = exports.guid = exports.uniqueName = exports.convertStringToHTMLElement = exports.unescapeHTML = exports.removeHTML = exports.setActionProperty = exports.checkTrigger = exports.checkCondition = exports.checkJsonConditional = exports.checkCustomConditional = exports.getComponentActualValue = exports.checkSimpleConditional = exports.checkCalculated = exports.isMongoId = exports.boolValue = exports.getScriptPlugin = exports.getElementRect = exports.getPropertyValue = exports.getRandomComponentId = exports.evaluate = void 0;
|
|
7
|
-
exports.interpolateErrors = exports.getComponentSavedTypes = exports.componentValueTypes = exports.getFocusableElements = exports.isPromise = exports.getDataParentComponent = exports.getComponentPath = exports.getComponentPathWithoutIndicies = exports.getBrowserInfo = exports.getIEBrowserVersion = exports.round = exports.getStringFromComponentPath = exports.isChildOf = exports.getArrayFromComponentPath = exports.isInputComponent = exports.fastCloneDeep = exports.sanitize = exports.translateHTMLTemplate = exports.getContextButtons = void 0;
|
|
8
|
-
/* global jQuery */
|
|
7
|
+
exports.hasEncodedTimezone = exports.interpolateErrors = exports.getComponentSavedTypes = exports.componentValueTypes = exports.getFocusableElements = exports.isPromise = exports.getDataParentComponent = exports.getComponentPath = exports.getComponentPathWithoutIndicies = exports.getBrowserInfo = exports.getIEBrowserVersion = exports.round = exports.getStringFromComponentPath = exports.isChildOf = exports.getArrayFromComponentPath = exports.isInputComponent = exports.fastCloneDeep = exports.sanitize = exports.translateHTMLTemplate = exports.getContextButtons = void 0;
|
|
9
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
9
|
const moment_timezone_1 = __importDefault(require("moment-timezone/moment-timezone"));
|
|
11
10
|
const jstimezonedetect_1 = __importDefault(require("jstimezonedetect"));
|
|
@@ -58,7 +57,7 @@ function getElementRect(element) {
|
|
|
58
57
|
x: getPropertyValue(style, 'left'),
|
|
59
58
|
y: getPropertyValue(style, 'top'),
|
|
60
59
|
width: getPropertyValue(style, 'width'),
|
|
61
|
-
height: getPropertyValue(style, 'height')
|
|
60
|
+
height: getPropertyValue(style, 'height'),
|
|
62
61
|
};
|
|
63
62
|
}
|
|
64
63
|
exports.getElementRect = getElementRect;
|
|
@@ -69,8 +68,13 @@ exports.getElementRect = getElementRect;
|
|
|
69
68
|
*/
|
|
70
69
|
function getScriptPlugin(property) {
|
|
71
70
|
const obj = window[property];
|
|
72
|
-
if (typeof HTMLElement === 'object'
|
|
73
|
-
|
|
71
|
+
if (typeof HTMLElement === 'object'
|
|
72
|
+
? obj instanceof HTMLElement //DOM2
|
|
73
|
+
: obj &&
|
|
74
|
+
typeof obj === 'object' &&
|
|
75
|
+
true &&
|
|
76
|
+
obj.nodeType === 1 &&
|
|
77
|
+
typeof obj.nodeName === 'string') {
|
|
74
78
|
return undefined;
|
|
75
79
|
}
|
|
76
80
|
return obj;
|
|
@@ -86,7 +90,7 @@ function boolValue(value) {
|
|
|
86
90
|
return value;
|
|
87
91
|
}
|
|
88
92
|
else if (lodash_1.default.isString(value)) {
|
|
89
|
-
return
|
|
93
|
+
return value.toLowerCase() === 'true';
|
|
90
94
|
}
|
|
91
95
|
else {
|
|
92
96
|
return !!value;
|
|
@@ -116,7 +120,7 @@ function checkCalculated(component, submission, rowData) {
|
|
|
116
120
|
data: submission ? submission.data : rowData,
|
|
117
121
|
row: rowData,
|
|
118
122
|
util: this,
|
|
119
|
-
component
|
|
123
|
+
component,
|
|
120
124
|
}, 'value'));
|
|
121
125
|
}
|
|
122
126
|
}
|
|
@@ -143,10 +147,10 @@ function getConditionalPathsRecursive(conditionPaths, data) {
|
|
|
143
147
|
const currentLocalIndex = localIndex;
|
|
144
148
|
const currentData = lodash_1.default.get(data, currentPath);
|
|
145
149
|
if (Array.isArray(currentData) && currentData.filter(Boolean).length > 0) {
|
|
146
|
-
if (currentData.some(element => typeof element !== 'object')) {
|
|
150
|
+
if (currentData.some((element) => typeof element !== 'object')) {
|
|
147
151
|
return;
|
|
148
152
|
}
|
|
149
|
-
const hasInnerDataArray = currentData.find(x => Array.isArray(x[conditionPaths[currentLocalIndex]]));
|
|
153
|
+
const hasInnerDataArray = currentData.find((x) => Array.isArray(x[conditionPaths[currentLocalIndex]]));
|
|
150
154
|
if (hasInnerDataArray) {
|
|
151
155
|
currentData.forEach((_, indexOutside) => {
|
|
152
156
|
const innerCompDataPath = `${currentPath}[${indexOutside}].${conditionPaths[currentLocalIndex]}`;
|
|
@@ -202,13 +206,21 @@ function checkSimpleConditional(component, condition, row, data, instance) {
|
|
|
202
206
|
return true;
|
|
203
207
|
}
|
|
204
208
|
const conditionsResult = lodash_1.default.map(conditions, (cond) => {
|
|
205
|
-
var _a, _b;
|
|
206
209
|
const { value: comparedValue, operator, component: conditionComponentPath } = cond;
|
|
207
210
|
if (!conditionComponentPath) {
|
|
208
211
|
return true;
|
|
209
212
|
}
|
|
210
213
|
const splittedConditionPath = conditionComponentPath.split('.');
|
|
211
|
-
const
|
|
214
|
+
const checkParentTypeInTree = (instance, componentType) => {
|
|
215
|
+
if (!(instance === null || instance === void 0 ? void 0 : instance.parent)) {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
return ((instance === null || instance === void 0 ? void 0 : instance.parent.type) === componentType ||
|
|
219
|
+
checkParentTypeInTree(instance.parent, componentType));
|
|
220
|
+
};
|
|
221
|
+
const conditionalPaths = checkParentTypeInTree(instance, 'datagrid') || checkParentTypeInTree(instance, 'editgrid')
|
|
222
|
+
? []
|
|
223
|
+
: getConditionalPathsRecursive(splittedConditionPath, data);
|
|
212
224
|
if (conditionalPaths.length > 0) {
|
|
213
225
|
return conditionalPaths.map((path) => {
|
|
214
226
|
const value = getComponentActualValue(path, data, row);
|
|
@@ -222,17 +234,23 @@ function checkSimpleConditional(component, condition, row, data, instance) {
|
|
|
222
234
|
const value = getComponentActualValue(conditionComponentPath, data, row);
|
|
223
235
|
const СonditionOperator = conditionOperators_1.default[operator];
|
|
224
236
|
return СonditionOperator
|
|
225
|
-
? new СonditionOperator().getResult({
|
|
237
|
+
? new СonditionOperator().getResult({
|
|
238
|
+
value,
|
|
239
|
+
comparedValue,
|
|
240
|
+
instance,
|
|
241
|
+
component,
|
|
242
|
+
path: conditionComponentPath,
|
|
243
|
+
})
|
|
226
244
|
: true;
|
|
227
245
|
}
|
|
228
246
|
});
|
|
229
247
|
let result = false;
|
|
230
248
|
switch (conjunction) {
|
|
231
249
|
case 'any':
|
|
232
|
-
result = lodash_1.default.some(conditionsResult.flat(), res => !!res);
|
|
250
|
+
result = lodash_1.default.some(conditionsResult.flat(), (res) => !!res);
|
|
233
251
|
break;
|
|
234
252
|
default:
|
|
235
|
-
result = lodash_1.default.every(conditionsResult.flat(), res => !!res);
|
|
253
|
+
result = lodash_1.default.every(conditionsResult.flat(), (res) => !!res);
|
|
236
254
|
}
|
|
237
255
|
return (0, core_1.convertShowToBoolean)(show) ? result : !result;
|
|
238
256
|
}
|
|
@@ -276,9 +294,9 @@ function checkCustomConditional(component, custom, row, data, form, variable, on
|
|
|
276
294
|
if (typeof custom === 'string') {
|
|
277
295
|
custom = `var ${variable} = true; ${custom}; return ${variable};`;
|
|
278
296
|
}
|
|
279
|
-
const value =
|
|
280
|
-
instance.evaluate(custom, { row, data, form })
|
|
281
|
-
evaluate(custom, { row, data, form });
|
|
297
|
+
const value = instance && instance.evaluate
|
|
298
|
+
? instance.evaluate(custom, { row, data, form })
|
|
299
|
+
: evaluate(custom, { row, data, form });
|
|
282
300
|
if (value === null) {
|
|
283
301
|
return onError;
|
|
284
302
|
}
|
|
@@ -327,10 +345,10 @@ function getRow(component, row, instance, conditional) {
|
|
|
327
345
|
}
|
|
328
346
|
const dataParent = getDataParentComponent(instance);
|
|
329
347
|
if (dataParent) {
|
|
330
|
-
const parentPath = (_a = dataParent.paths) === null || _a === void 0 ? void 0 : _a.
|
|
348
|
+
const parentPath = (_a = dataParent.paths) === null || _a === void 0 ? void 0 : _a.localPath;
|
|
331
349
|
const isTriggerCondtionComponentPath = condition.when || !condition.conditions
|
|
332
350
|
? (_b = condition.when) === null || _b === void 0 ? void 0 : _b.startsWith((_c = dataParent.paths) === null || _c === void 0 ? void 0 : _c.localPath)
|
|
333
|
-
: lodash_1.default.some(condition.conditions, cond => { var _a; return cond.component.startsWith((_a = dataParent.paths) === null || _a === void 0 ? void 0 : _a.localPath); });
|
|
351
|
+
: lodash_1.default.some(condition.conditions, (cond) => { var _a; return cond.component.startsWith((_a = dataParent.paths) === null || _a === void 0 ? void 0 : _a.localPath); });
|
|
334
352
|
if (isTriggerCondtionComponentPath) {
|
|
335
353
|
const newRow = {};
|
|
336
354
|
lodash_1.default.set(newRow, parentPath, row);
|
|
@@ -353,7 +371,9 @@ function checkCondition(component, row, data, form, instance) {
|
|
|
353
371
|
if (customConditional) {
|
|
354
372
|
return checkCustomConditional(component, customConditional, row, data, form, 'show', true, instance);
|
|
355
373
|
}
|
|
356
|
-
else if (conditional &&
|
|
374
|
+
else if (conditional &&
|
|
375
|
+
(conditional.when ||
|
|
376
|
+
lodash_1.default.some(conditional.conditions || [], (condition) => condition.component && condition.operator))) {
|
|
357
377
|
row = getRow(component, row, instance);
|
|
358
378
|
return checkSimpleConditional(component, conditional, row, data, instance);
|
|
359
379
|
}
|
|
@@ -422,7 +442,7 @@ function setActionProperty(component, action, result, row, data, instance) {
|
|
|
422
442
|
};
|
|
423
443
|
const textValue = action.property.component ? action[action.property.component] : action.text;
|
|
424
444
|
const currentValue = lodash_1.default.get(component, property, '');
|
|
425
|
-
const newValue =
|
|
445
|
+
const newValue = instance && instance.interpolate
|
|
426
446
|
? instance.interpolate(textValue, evalData)
|
|
427
447
|
: Evaluator_1.Evaluator.interpolate(textValue, evalData);
|
|
428
448
|
if (newValue !== currentValue) {
|
|
@@ -484,14 +504,12 @@ function uniqueName(name, template, evalContext) {
|
|
|
484
504
|
}
|
|
485
505
|
const parts = name.split('.');
|
|
486
506
|
let fileName = parts.slice(0, parts.length - 1).join('.');
|
|
487
|
-
const extension = parts.length > 1
|
|
488
|
-
? `.${lodash_1.default.last(parts)}`
|
|
489
|
-
: '';
|
|
507
|
+
const extension = parts.length > 1 ? `.${lodash_1.default.last(parts)}` : '';
|
|
490
508
|
//allow only 100 characters from original name to avoid issues with filename length restrictions
|
|
491
509
|
fileName = fileName.substr(0, 100);
|
|
492
510
|
evalContext = Object.assign(evalContext || {}, {
|
|
493
511
|
fileName,
|
|
494
|
-
guid: guid()
|
|
512
|
+
guid: guid(),
|
|
495
513
|
});
|
|
496
514
|
//only letters, numbers, dots, dashes, underscores and spaces are allowed. Anything else will be replaced with dash
|
|
497
515
|
const uniqueName = `${Evaluator_1.Evaluator.interpolate(template, evalContext)}${extension}`.replace(/[^0-9a-zA-Z.\-_ ]/g, '-');
|
|
@@ -504,10 +522,8 @@ exports.uniqueName = uniqueName;
|
|
|
504
522
|
*/
|
|
505
523
|
function guid() {
|
|
506
524
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
507
|
-
const r = Math.random() * 16 | 0;
|
|
508
|
-
const v = c === 'x'
|
|
509
|
-
? r
|
|
510
|
-
: (r & 0x3 | 0x8);
|
|
525
|
+
const r = (Math.random() * 16) | 0;
|
|
526
|
+
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
511
527
|
return v.toString(16);
|
|
512
528
|
});
|
|
513
529
|
}
|
|
@@ -527,13 +543,13 @@ function getDateSetting(date) {
|
|
|
527
543
|
else if (typeof date.toDate === 'function') {
|
|
528
544
|
return date.isValid() ? date.toDate() : null;
|
|
529
545
|
}
|
|
530
|
-
let dateSetting =
|
|
546
|
+
let dateSetting = typeof date !== 'string' || date.indexOf('moment(') === -1 ? (0, moment_timezone_1.default)(date) : null;
|
|
531
547
|
if (dateSetting && dateSetting.isValid()) {
|
|
532
548
|
return dateSetting.toDate();
|
|
533
549
|
}
|
|
534
550
|
dateSetting = null;
|
|
535
551
|
try {
|
|
536
|
-
const value =
|
|
552
|
+
const value = evaluate(`value=${date};`, { moment: moment_timezone_1.default }, 'value');
|
|
537
553
|
if (typeof value === 'string') {
|
|
538
554
|
dateSetting = (0, moment_timezone_1.default)(value);
|
|
539
555
|
}
|
|
@@ -544,7 +560,7 @@ function getDateSetting(date) {
|
|
|
544
560
|
dateSetting = (0, moment_timezone_1.default)(value);
|
|
545
561
|
}
|
|
546
562
|
}
|
|
547
|
-
catch (
|
|
563
|
+
catch (ignoreErr) {
|
|
548
564
|
return null;
|
|
549
565
|
}
|
|
550
566
|
if (!dateSetting) {
|
|
@@ -587,14 +603,14 @@ exports.currentTimezone = currentTimezone;
|
|
|
587
603
|
function offsetDate(date, timezone) {
|
|
588
604
|
if (timezone === 'UTC') {
|
|
589
605
|
return {
|
|
590
|
-
date: new Date(date.getTime() +
|
|
591
|
-
abbr: 'UTC'
|
|
606
|
+
date: new Date(date.getTime() + date.getTimezoneOffset() * 60000),
|
|
607
|
+
abbr: 'UTC',
|
|
592
608
|
};
|
|
593
609
|
}
|
|
594
610
|
const dateMoment = (0, moment_timezone_1.default)(date).tz(timezone);
|
|
595
611
|
return {
|
|
596
|
-
date: new Date(date.getTime() + (
|
|
597
|
-
abbr: dateMoment.format('z')
|
|
612
|
+
date: new Date(date.getTime() + (dateMoment.utcOffset() + date.getTimezoneOffset()) * 60000),
|
|
613
|
+
abbr: dateMoment.format('z'),
|
|
598
614
|
};
|
|
599
615
|
}
|
|
600
616
|
exports.offsetDate = offsetDate;
|
|
@@ -632,8 +648,7 @@ function loadZones(url, timezone) {
|
|
|
632
648
|
if (moment_timezone_1.default.zonesPromise) {
|
|
633
649
|
return moment_timezone_1.default.zonesPromise;
|
|
634
650
|
}
|
|
635
|
-
return moment_timezone_1.default.zonesPromise = fetch(url)
|
|
636
|
-
.then(resp => resp.json().then(zones => {
|
|
651
|
+
return (moment_timezone_1.default.zonesPromise = fetch(url).then((resp) => resp.json().then((zones) => {
|
|
637
652
|
moment_timezone_1.default.tz.load(zones);
|
|
638
653
|
moment_timezone_1.default.zonesLoaded = true;
|
|
639
654
|
// Trigger a global event that the timezones have finished loading.
|
|
@@ -642,7 +657,7 @@ function loadZones(url, timezone) {
|
|
|
642
657
|
event.initEvent('zonesLoaded', true, true);
|
|
643
658
|
document.body.dispatchEvent(event);
|
|
644
659
|
}
|
|
645
|
-
}));
|
|
660
|
+
})));
|
|
646
661
|
}
|
|
647
662
|
exports.loadZones = loadZones;
|
|
648
663
|
/**
|
|
@@ -661,7 +676,8 @@ function momentDate(value, format, timezone, options) {
|
|
|
661
676
|
if (timezone === 'UTC') {
|
|
662
677
|
timezone = 'Etc/UTC';
|
|
663
678
|
}
|
|
664
|
-
if ((timezone !== currentTimezone() || (format && format.match(/\s(z$|z\s)/))) &&
|
|
679
|
+
if ((timezone !== currentTimezone() || (format && format.match(/\s(z$|z\s)/))) &&
|
|
680
|
+
(moment_timezone_1.default.zonesLoaded || (options === null || options === void 0 ? void 0 : options.email))) {
|
|
665
681
|
return momentDate.tz(timezone);
|
|
666
682
|
}
|
|
667
683
|
return momentDate;
|
|
@@ -753,7 +769,7 @@ exports.getLocaleDateFormatInfo = getLocaleDateFormatInfo;
|
|
|
753
769
|
* @returns {string} - The converted format.
|
|
754
770
|
*/
|
|
755
771
|
function convertFormatToFlatpickr(format) {
|
|
756
|
-
return format
|
|
772
|
+
return (format
|
|
757
773
|
// Remove the Z timezone offset, not supported by flatpickr.
|
|
758
774
|
.replace(/Z/g, '')
|
|
759
775
|
// Year conversion.
|
|
@@ -776,7 +792,7 @@ function convertFormatToFlatpickr(format) {
|
|
|
776
792
|
.replace('hh', 'G')
|
|
777
793
|
.replace('mm', 'i')
|
|
778
794
|
.replace('ss', 'S')
|
|
779
|
-
.replace(/a/g, 'K');
|
|
795
|
+
.replace(/a/g, 'K'));
|
|
780
796
|
}
|
|
781
797
|
exports.convertFormatToFlatpickr = convertFormatToFlatpickr;
|
|
782
798
|
/**
|
|
@@ -785,7 +801,7 @@ exports.convertFormatToFlatpickr = convertFormatToFlatpickr;
|
|
|
785
801
|
* @returns {string} - The converted format.
|
|
786
802
|
*/
|
|
787
803
|
function convertFormatToMoment(format) {
|
|
788
|
-
return format
|
|
804
|
+
return (format
|
|
789
805
|
// Year conversion.
|
|
790
806
|
.replace(/y/g, 'Y')
|
|
791
807
|
// Day in month.
|
|
@@ -795,7 +811,7 @@ function convertFormatToMoment(format) {
|
|
|
795
811
|
// AM/PM marker
|
|
796
812
|
.replace(/a/g, 'A')
|
|
797
813
|
// Unix Timestamp
|
|
798
|
-
.replace(/U/g, 'X');
|
|
814
|
+
.replace(/U/g, 'X'));
|
|
799
815
|
}
|
|
800
816
|
exports.convertFormatToMoment = convertFormatToMoment;
|
|
801
817
|
/**
|
|
@@ -804,7 +820,7 @@ exports.convertFormatToMoment = convertFormatToMoment;
|
|
|
804
820
|
* @returns {string} - The converted format.
|
|
805
821
|
*/
|
|
806
822
|
function convertFormatToMask(format) {
|
|
807
|
-
return format
|
|
823
|
+
return (format
|
|
808
824
|
// Long month replacement.
|
|
809
825
|
.replace(/M{4}/g, 'MM')
|
|
810
826
|
// Initial short month conversion.
|
|
@@ -816,7 +832,7 @@ function convertFormatToMask(format) {
|
|
|
816
832
|
// Year conversion.
|
|
817
833
|
.replace(/[ydhmswHMG]/g, '9')
|
|
818
834
|
// AM/PM conversion.
|
|
819
|
-
.replace(/a/g, 'AA');
|
|
835
|
+
.replace(/a/g, 'AA'));
|
|
820
836
|
}
|
|
821
837
|
exports.convertFormatToMask = convertFormatToMask;
|
|
822
838
|
/**
|
|
@@ -902,7 +918,7 @@ function matchInputMask(value, inputMask) {
|
|
|
902
918
|
for (let i = 0; i < inputMask.length; i++) {
|
|
903
919
|
const char = value[i] || '';
|
|
904
920
|
const charPart = inputMask[i];
|
|
905
|
-
if (!(lodash_1.default.isRegExp(charPart) && charPart.test(char) || charPart === char)) {
|
|
921
|
+
if (!((lodash_1.default.isRegExp(charPart) && charPart.test(char)) || charPart === char)) {
|
|
906
922
|
return false;
|
|
907
923
|
}
|
|
908
924
|
}
|
|
@@ -920,12 +936,12 @@ function getNumberSeparators(lang = 'en') {
|
|
|
920
936
|
if (!delimeters) {
|
|
921
937
|
return {
|
|
922
938
|
delimiter: ',',
|
|
923
|
-
decimalSeparator: '.'
|
|
939
|
+
decimalSeparator: '.',
|
|
924
940
|
};
|
|
925
941
|
}
|
|
926
942
|
return {
|
|
927
|
-
delimiter:
|
|
928
|
-
decimalSeparator:
|
|
943
|
+
delimiter: delimeters.length > 1 ? delimeters[1] : ',',
|
|
944
|
+
decimalSeparator: delimeters.length > 2 ? delimeters[2] : '.',
|
|
929
945
|
};
|
|
930
946
|
}
|
|
931
947
|
exports.getNumberSeparators = getNumberSeparators;
|
|
@@ -960,23 +976,26 @@ exports.getNumberDecimalLimit = getNumberDecimalLimit;
|
|
|
960
976
|
* @param {string} arg0.lang - The language code to use.
|
|
961
977
|
* @returns {{prefix: string, suffix: string}} - The currency affixes.
|
|
962
978
|
*/
|
|
963
|
-
function getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang
|
|
979
|
+
function getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang }) {
|
|
964
980
|
// Get the prefix and suffix from the localized string.
|
|
965
981
|
let regex = `(.*)?${(100).toLocaleString(lang)}`;
|
|
966
982
|
if (decimalLimit) {
|
|
967
983
|
regex += `${decimalSeparator === '.' ? '\\.' : decimalSeparator}${(0).toLocaleString(lang)}{${decimalLimit}}`;
|
|
968
984
|
}
|
|
969
985
|
regex += '(.*)?';
|
|
970
|
-
const parts = (100)
|
|
986
|
+
const parts = (100)
|
|
987
|
+
.toLocaleString(lang, {
|
|
971
988
|
style: 'currency',
|
|
972
989
|
currency: currency ? currency : 'USD',
|
|
973
990
|
useGrouping: true,
|
|
974
991
|
maximumFractionDigits: decimalLimit || 0,
|
|
975
|
-
minimumFractionDigits: decimalLimit || 0
|
|
976
|
-
})
|
|
992
|
+
minimumFractionDigits: decimalLimit || 0,
|
|
993
|
+
})
|
|
994
|
+
.replace('.', decimalSeparator)
|
|
995
|
+
.match(new RegExp(regex));
|
|
977
996
|
return {
|
|
978
997
|
prefix: (parts === null || parts === void 0 ? void 0 : parts[1]) || '',
|
|
979
|
-
suffix: (parts === null || parts === void 0 ? void 0 : parts[2]) || ''
|
|
998
|
+
suffix: (parts === null || parts === void 0 ? void 0 : parts[2]) || '',
|
|
980
999
|
};
|
|
981
1000
|
}
|
|
982
1001
|
exports.getCurrencyAffixes = getCurrencyAffixes;
|
|
@@ -1009,7 +1028,9 @@ function fieldData(data, component) {
|
|
|
1009
1028
|
}
|
|
1010
1029
|
// Convert old single field data in submissions to multiple
|
|
1011
1030
|
if (key === parts[parts.length - 1] && component.multiple && !Array.isArray(value[key])) {
|
|
1012
|
-
value[key] = [
|
|
1031
|
+
value[key] = [
|
|
1032
|
+
value[key],
|
|
1033
|
+
];
|
|
1013
1034
|
}
|
|
1014
1035
|
// Set the value of this key.
|
|
1015
1036
|
value = value[key];
|
|
@@ -1019,7 +1040,9 @@ function fieldData(data, component) {
|
|
|
1019
1040
|
else {
|
|
1020
1041
|
// Convert old single field data in submissions to multiple
|
|
1021
1042
|
if (component.multiple && !Array.isArray(data[component.key])) {
|
|
1022
|
-
data[component.key] = [
|
|
1043
|
+
data[component.key] = [
|
|
1044
|
+
data[component.key],
|
|
1045
|
+
];
|
|
1023
1046
|
}
|
|
1024
1047
|
// Fix for checkbox type radio submission values in tableView
|
|
1025
1048
|
if (component.type === 'checkbox' && component.inputType === 'radio') {
|
|
@@ -1097,9 +1120,6 @@ function bootstrapVersion(options) {
|
|
|
1097
1120
|
if (options.bootstrap) {
|
|
1098
1121
|
return options.bootstrap;
|
|
1099
1122
|
}
|
|
1100
|
-
if ((typeof jQuery === 'function') && (typeof jQuery().collapse === 'function')) {
|
|
1101
|
-
return parseInt(jQuery.fn.collapse.Constructor.VERSION.split('.')[0], 10);
|
|
1102
|
-
}
|
|
1103
1123
|
if (window.bootstrap && window.bootstrap.Collapse) {
|
|
1104
1124
|
return parseInt(window.bootstrap.Collapse.VERSION.split('.')[0], 10);
|
|
1105
1125
|
}
|
|
@@ -1126,7 +1146,7 @@ exports.unfold = unfold;
|
|
|
1126
1146
|
*/
|
|
1127
1147
|
exports.firstNonNil = lodash_1.default.flow([
|
|
1128
1148
|
lodash_1.default.partialRight(lodash_1.default.map, unfold),
|
|
1129
|
-
lodash_1.default.partialRight(lodash_1.default.find, v => !lodash_1.default.isUndefined(v))
|
|
1149
|
+
lodash_1.default.partialRight(lodash_1.default.find, (v) => !lodash_1.default.isUndefined(v)),
|
|
1130
1150
|
]);
|
|
1131
1151
|
/**
|
|
1132
1152
|
* Create enclosed state. Returns functions to getting and cycling between states.
|
|
@@ -1152,7 +1172,10 @@ function withSwitch(a, b) {
|
|
|
1152
1172
|
state = next;
|
|
1153
1173
|
next = prev;
|
|
1154
1174
|
}
|
|
1155
|
-
return [
|
|
1175
|
+
return [
|
|
1176
|
+
get,
|
|
1177
|
+
toggle,
|
|
1178
|
+
];
|
|
1156
1179
|
}
|
|
1157
1180
|
exports.withSwitch = withSwitch;
|
|
1158
1181
|
/**
|
|
@@ -1167,7 +1190,7 @@ function observeOverload(callback, options = {}) {
|
|
|
1167
1190
|
const { limit = 50, delay = 500 } = options;
|
|
1168
1191
|
let callCount = 0;
|
|
1169
1192
|
let timeoutID = 0;
|
|
1170
|
-
const reset = () => callCount = 0;
|
|
1193
|
+
const reset = () => (callCount = 0);
|
|
1171
1194
|
return () => {
|
|
1172
1195
|
if (timeoutID !== 0) {
|
|
1173
1196
|
clearTimeout(timeoutID);
|
|
@@ -1194,7 +1217,9 @@ function getContextComponents(context, excludeNested, excludedTypes = []) {
|
|
|
1194
1217
|
const values = [];
|
|
1195
1218
|
context.utils.eachComponent(context.instance.options.editForm.components, (component, path) => {
|
|
1196
1219
|
const addToContextComponents = excludeNested ? !component.tree : true;
|
|
1197
|
-
if (component.key !== context.data.key &&
|
|
1220
|
+
if (component.key !== context.data.key &&
|
|
1221
|
+
addToContextComponents &&
|
|
1222
|
+
!lodash_1.default.includes(excludedTypes, component.type)) {
|
|
1198
1223
|
values.push({
|
|
1199
1224
|
label: `${component.label || component.key} (${path})`,
|
|
1200
1225
|
value: path,
|
|
@@ -1223,7 +1248,21 @@ function getContextButtons(context) {
|
|
|
1223
1248
|
}
|
|
1224
1249
|
exports.getContextButtons = getContextButtons;
|
|
1225
1250
|
// Tags that could be in text, that should be ommited or handled in a special way
|
|
1226
|
-
const inTextTags = [
|
|
1251
|
+
const inTextTags = [
|
|
1252
|
+
'#text',
|
|
1253
|
+
'A',
|
|
1254
|
+
'B',
|
|
1255
|
+
'EM',
|
|
1256
|
+
'I',
|
|
1257
|
+
'SMALL',
|
|
1258
|
+
'STRONG',
|
|
1259
|
+
'SUB',
|
|
1260
|
+
'SUP',
|
|
1261
|
+
'INS',
|
|
1262
|
+
'DEL',
|
|
1263
|
+
'MARK',
|
|
1264
|
+
'CODE',
|
|
1265
|
+
];
|
|
1227
1266
|
/**
|
|
1228
1267
|
* Helper function for 'translateHTMLTemplate'. Translates text value of the passed html element.
|
|
1229
1268
|
* @param {HTMLElement} elem - The element to translate.
|
|
@@ -1234,7 +1273,10 @@ function translateElemValue(elem, translate) {
|
|
|
1234
1273
|
if (!elem.innerText) {
|
|
1235
1274
|
return elem.innerHTML;
|
|
1236
1275
|
}
|
|
1237
|
-
const elemValue = elem.innerText
|
|
1276
|
+
const elemValue = elem.innerText
|
|
1277
|
+
.replace(Evaluator_1.Evaluator.templateSettings.interpolate, '')
|
|
1278
|
+
.replace(/\s\s+/g, ' ')
|
|
1279
|
+
.trim();
|
|
1238
1280
|
const translatedValue = translate(elemValue);
|
|
1239
1281
|
if (elemValue !== translatedValue) {
|
|
1240
1282
|
const links = elem.innerHTML.match(/<a[^>]*>(.*?)<\/a>/g);
|
|
@@ -1242,7 +1284,7 @@ function translateElemValue(elem, translate) {
|
|
|
1242
1284
|
if (links.length === 1 && links[0].length === elem.innerHTML.length) {
|
|
1243
1285
|
return elem.innerHTML.replace(elemValue, translatedValue);
|
|
1244
1286
|
}
|
|
1245
|
-
const translatedLinks = links.map(link => {
|
|
1287
|
+
const translatedLinks = links.map((link) => {
|
|
1246
1288
|
const linkElem = document.createElement('a');
|
|
1247
1289
|
linkElem.innerHTML = link;
|
|
1248
1290
|
return translateElemValue(linkElem, translate);
|
|
@@ -1264,14 +1306,16 @@ function translateElemValue(elem, translate) {
|
|
|
1264
1306
|
* @returns {void}
|
|
1265
1307
|
*/
|
|
1266
1308
|
function translateDeepTag(tag, translate) {
|
|
1267
|
-
const children = tag.children.length && [
|
|
1268
|
-
|
|
1269
|
-
|
|
1309
|
+
const children = tag.children.length && [
|
|
1310
|
+
...tag.children,
|
|
1311
|
+
];
|
|
1312
|
+
const shouldTranslateEntireContent = children &&
|
|
1313
|
+
children.every((child) => child.children.length === 0 && inTextTags.some((tag) => child.nodeName === tag));
|
|
1270
1314
|
if (!children || shouldTranslateEntireContent) {
|
|
1271
1315
|
tag.innerHTML = translateElemValue(tag, translate);
|
|
1272
1316
|
}
|
|
1273
1317
|
else {
|
|
1274
|
-
children.forEach(child => translateDeepTag(child, translate));
|
|
1318
|
+
children.forEach((child) => translateDeepTag(child, translate));
|
|
1275
1319
|
}
|
|
1276
1320
|
}
|
|
1277
1321
|
/**
|
|
@@ -1306,40 +1350,55 @@ function sanitize(string, options) {
|
|
|
1306
1350
|
}
|
|
1307
1351
|
// Dompurify configuration
|
|
1308
1352
|
const sanitizeOptions = {
|
|
1309
|
-
ADD_ATTR: [
|
|
1310
|
-
|
|
1353
|
+
ADD_ATTR: [
|
|
1354
|
+
'ref',
|
|
1355
|
+
'target',
|
|
1356
|
+
],
|
|
1357
|
+
USE_PROFILES: { html: true },
|
|
1311
1358
|
};
|
|
1312
1359
|
// Use profiles
|
|
1313
1360
|
if (options.sanitizeConfig && options.sanitizeConfig.useProfiles) {
|
|
1314
|
-
Object.keys(options.sanitizeConfig.useProfiles).forEach(key => {
|
|
1361
|
+
Object.keys(options.sanitizeConfig.useProfiles).forEach((key) => {
|
|
1315
1362
|
sanitizeOptions.USE_PROFILES[key] = options.sanitizeConfig.useProfiles[key];
|
|
1316
1363
|
});
|
|
1317
1364
|
}
|
|
1318
1365
|
// Add attrs
|
|
1319
|
-
if (options.sanitizeConfig &&
|
|
1366
|
+
if (options.sanitizeConfig &&
|
|
1367
|
+
Array.isArray(options.sanitizeConfig.addAttr) &&
|
|
1368
|
+
options.sanitizeConfig.addAttr.length > 0) {
|
|
1320
1369
|
options.sanitizeConfig.addAttr.forEach((attr) => {
|
|
1321
1370
|
sanitizeOptions.ADD_ATTR.push(attr);
|
|
1322
1371
|
});
|
|
1323
1372
|
}
|
|
1324
1373
|
// Add tags
|
|
1325
|
-
if (options.sanitizeConfig &&
|
|
1374
|
+
if (options.sanitizeConfig &&
|
|
1375
|
+
Array.isArray(options.sanitizeConfig.addTags) &&
|
|
1376
|
+
options.sanitizeConfig.addTags.length > 0) {
|
|
1326
1377
|
sanitizeOptions.ADD_TAGS = options.sanitizeConfig.addTags;
|
|
1327
1378
|
}
|
|
1328
1379
|
// Allow tags
|
|
1329
|
-
if (options.sanitizeConfig &&
|
|
1380
|
+
if (options.sanitizeConfig &&
|
|
1381
|
+
Array.isArray(options.sanitizeConfig.allowedTags) &&
|
|
1382
|
+
options.sanitizeConfig.allowedTags.length > 0) {
|
|
1330
1383
|
sanitizeOptions.ALLOWED_TAGS = options.sanitizeConfig.allowedTags;
|
|
1331
1384
|
}
|
|
1332
1385
|
// Allow attributes
|
|
1333
|
-
if (options.sanitizeConfig &&
|
|
1386
|
+
if (options.sanitizeConfig &&
|
|
1387
|
+
Array.isArray(options.sanitizeConfig.allowedAttrs) &&
|
|
1388
|
+
options.sanitizeConfig.allowedAttrs.length > 0) {
|
|
1334
1389
|
sanitizeOptions.ALLOWED_ATTR = options.sanitizeConfig.allowedAttrs;
|
|
1335
1390
|
}
|
|
1336
1391
|
// Allowd URI Regex
|
|
1337
1392
|
if (options.sanitizeConfig && options.sanitizeConfig.allowedUriRegex) {
|
|
1338
1393
|
const allowedUriRegex = options.sanitizeConfig.allowedUriRegex;
|
|
1339
|
-
sanitizeOptions.ALLOWED_URI_REGEXP = lodash_1.default.isString(allowedUriRegex)
|
|
1394
|
+
sanitizeOptions.ALLOWED_URI_REGEXP = lodash_1.default.isString(allowedUriRegex)
|
|
1395
|
+
? new RegExp(allowedUriRegex)
|
|
1396
|
+
: allowedUriRegex;
|
|
1340
1397
|
}
|
|
1341
1398
|
// Allow to extend the existing array of elements that are safe for URI-like values
|
|
1342
|
-
if (options.sanitizeConfig &&
|
|
1399
|
+
if (options.sanitizeConfig &&
|
|
1400
|
+
Array.isArray(options.sanitizeConfig.addUriSafeAttr) &&
|
|
1401
|
+
options.sanitizeConfig.addUriSafeAttr.length > 0) {
|
|
1343
1402
|
sanitizeOptions.ADD_URI_SAFE_ATTR = options.sanitizeConfig.addUriSafeAttr;
|
|
1344
1403
|
}
|
|
1345
1404
|
return dompurify_1.default.sanitize(string, sanitizeOptions);
|
|
@@ -1387,15 +1446,18 @@ exports.isInputComponent = isInputComponent;
|
|
|
1387
1446
|
function getArrayFromComponentPath(pathStr) {
|
|
1388
1447
|
if (!pathStr || !lodash_1.default.isString(pathStr)) {
|
|
1389
1448
|
if (!lodash_1.default.isArray(pathStr)) {
|
|
1390
|
-
return [
|
|
1449
|
+
return [
|
|
1450
|
+
pathStr,
|
|
1451
|
+
];
|
|
1391
1452
|
}
|
|
1392
1453
|
return pathStr;
|
|
1393
1454
|
}
|
|
1394
|
-
return pathStr
|
|
1455
|
+
return pathStr
|
|
1456
|
+
.replace(/[[\]]/g, '.')
|
|
1395
1457
|
.replace(/\.\./g, '.')
|
|
1396
1458
|
.replace(/(^\.)|(\.$)/g, '')
|
|
1397
1459
|
.split('.')
|
|
1398
|
-
.map(part => lodash_1.default.defaultTo(lodash_1.default.toNumber(part), part));
|
|
1460
|
+
.map((part) => lodash_1.default.defaultTo(lodash_1.default.toNumber(part), part));
|
|
1399
1461
|
}
|
|
1400
1462
|
exports.getArrayFromComponentPath = getArrayFromComponentPath;
|
|
1401
1463
|
/**
|
|
@@ -1478,12 +1540,12 @@ function getBrowserInfo() {
|
|
|
1478
1540
|
/(webkit)[ /]([\w.]+)/.exec(ua) ||
|
|
1479
1541
|
/(opera)(?:.*version|)[ /]([\w.]+)/.exec(ua) ||
|
|
1480
1542
|
/(msie) ([\w.]+)/.exec(ua) ||
|
|
1481
|
-
ua.indexOf('trident') >= 0 && /(rv)(?::| )([\w.]+)/.exec(ua) ||
|
|
1482
|
-
ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
|
1543
|
+
(ua.indexOf('trident') >= 0 && /(rv)(?::| )([\w.]+)/.exec(ua)) ||
|
|
1544
|
+
(ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)) ||
|
|
1483
1545
|
[];
|
|
1484
1546
|
const matched = {
|
|
1485
1547
|
browser: match[5] || match[3] || match[1] || '',
|
|
1486
|
-
version: match[4] || match[2] || '0'
|
|
1548
|
+
version: match[4] || match[2] || '0',
|
|
1487
1549
|
};
|
|
1488
1550
|
if (matched.browser) {
|
|
1489
1551
|
browser[matched.browser] = true;
|
|
@@ -1550,10 +1612,10 @@ exports.getDataParentComponent = getDataParentComponent;
|
|
|
1550
1612
|
* @returns {boolean} - TRUE if the value is a promise; FALSE otherwise
|
|
1551
1613
|
*/
|
|
1552
1614
|
function isPromise(value) {
|
|
1553
|
-
return value
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1615
|
+
return (value &&
|
|
1616
|
+
value.then &&
|
|
1617
|
+
typeof value.then === 'function' &&
|
|
1618
|
+
Object.prototype.toString.call(value) === '[object Promise]');
|
|
1557
1619
|
}
|
|
1558
1620
|
exports.isPromise = isPromise;
|
|
1559
1621
|
/**
|
|
@@ -1587,7 +1649,9 @@ function getComponentSavedTypes(fullSchema) {
|
|
|
1587
1649
|
return [];
|
|
1588
1650
|
}
|
|
1589
1651
|
if (schema.multiple) {
|
|
1590
|
-
return [
|
|
1652
|
+
return [
|
|
1653
|
+
exports.componentValueTypes.array,
|
|
1654
|
+
];
|
|
1591
1655
|
}
|
|
1592
1656
|
return null;
|
|
1593
1657
|
}
|
|
@@ -1603,8 +1667,27 @@ const interpolateErrors = (component, errors, interpolateFn) => {
|
|
|
1603
1667
|
return errors.map((error) => {
|
|
1604
1668
|
error.component = component;
|
|
1605
1669
|
const { errorKeyOrMessage, context } = error;
|
|
1606
|
-
const toInterpolate = component.errors && component.errors[errorKeyOrMessage]
|
|
1670
|
+
const toInterpolate = component.errors && component.errors[errorKeyOrMessage]
|
|
1671
|
+
? component.errors[errorKeyOrMessage]
|
|
1672
|
+
: errorKeyOrMessage;
|
|
1607
1673
|
return Object.assign(Object.assign({}, error), { message: unescapeHTML(interpolateFn(toInterpolate, context)), context: Object.assign({}, context) });
|
|
1608
1674
|
});
|
|
1609
1675
|
};
|
|
1610
1676
|
exports.interpolateErrors = interpolateErrors;
|
|
1677
|
+
/**
|
|
1678
|
+
* Checks if a string has timezone information encoded in it
|
|
1679
|
+
* Example: 2024-01-01T00:00:00Z -> true
|
|
1680
|
+
* Example: 2024-01-01T00:00:00+03:00 -> true
|
|
1681
|
+
* Example: 2011-05-03T00:00:00 -> false
|
|
1682
|
+
* @param {string} value the string value to check
|
|
1683
|
+
* @returns {boolean} if value has encoded timezone
|
|
1684
|
+
*/
|
|
1685
|
+
function hasEncodedTimezone(value) {
|
|
1686
|
+
if (typeof value !== 'string') {
|
|
1687
|
+
return false;
|
|
1688
|
+
}
|
|
1689
|
+
return (value.substring(value.length - 1) === 'z' ||
|
|
1690
|
+
value.substring(value.length - 1) === 'Z' ||
|
|
1691
|
+
value.match(/[+|-][0-9]{2}:[0-9]{2}$/));
|
|
1692
|
+
}
|
|
1693
|
+
exports.hasEncodedTimezone = hasEncodedTimezone;
|