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