@vgip/meta-ui 1.6.9 → 1.7.2
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/{esm2020 → esm2022}/lib/common/metaAutofocus.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaIcons.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaModel.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaNormalizer.mjs +16 -1
- package/{esm2020 → esm2022}/lib/common/metaStripHtml.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldAbstract.mjs +5 -5
- package/esm2022/lib/fieldBoolean/index.mjs +56 -0
- package/{esm2020 → esm2022}/lib/fieldComposite/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldDatetime/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/fieldHidden/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldInput/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/fieldList/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldRadio/index.mjs +5 -5
- package/esm2022/lib/fieldReference/index.mjs +825 -0
- package/esm2022/lib/fieldRichtext/index.mjs +95 -0
- package/esm2022/lib/fieldSelect/index.mjs +490 -0
- package/esm2022/lib/fieldText/index.mjs +65 -0
- package/{esm2020 → esm2022}/lib/fieldUnknown/index.mjs +4 -4
- package/esm2022/lib/index.mjs +163 -0
- package/{esm2020 → esm2022}/lib/layout/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/metaField/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/refDialog/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resource/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resourceCard/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaContext/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaMsg/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaReference/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaResource/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaResource/metaHttpClient.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaTracker/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/resourceDrafts/index.mjs +4 -4
- package/{fesm2020/vgip-meta-ui-fieldAbstract-17f26446.mjs → fesm2022/vgip-meta-ui-fieldAbstract-ce47588e.mjs} +5 -5
- package/fesm2022/vgip-meta-ui-fieldAbstract-ce47588e.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-6e77c362.mjs → fesm2022/vgip-meta-ui-index-1467556e.mjs} +4 -4
- package/{fesm2020/vgip-meta-ui-index-6e77c362.mjs.map → fesm2022/vgip-meta-ui-index-1467556e.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-5509b1d2.mjs +68 -0
- package/fesm2022/vgip-meta-ui-index-5509b1d2.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-5d664781.mjs +858 -0
- package/fesm2022/vgip-meta-ui-index-5d664781.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-b428f3c0.mjs → fesm2022/vgip-meta-ui-index-617c4bac.mjs} +43 -28
- package/fesm2022/vgip-meta-ui-index-617c4bac.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-6dcb4942.mjs +24 -0
- package/{fesm2015/vgip-meta-ui-index-5a12f79d.mjs.map → fesm2022/vgip-meta-ui-index-6dcb4942.mjs.map} +1 -1
- package/{fesm2015/vgip-meta-ui-index-8c0d0972.mjs → fesm2022/vgip-meta-ui-index-78d7b9be.mjs} +7 -7
- package/fesm2022/vgip-meta-ui-index-78d7b9be.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-85109066.mjs +97 -0
- package/fesm2022/vgip-meta-ui-index-85109066.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-fda3d1e2.mjs → fesm2022/vgip-meta-ui-index-86211382.mjs} +7 -8
- package/{fesm2020/vgip-meta-ui-index-39177940.mjs.map → fesm2022/vgip-meta-ui-index-86211382.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-adb42356.mjs +95 -0
- package/fesm2022/vgip-meta-ui-index-adb42356.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-db9a2218.mjs → fesm2022/vgip-meta-ui-index-cb0d4f82.mjs} +5 -5
- package/{fesm2015/vgip-meta-ui-index-db9a2218.mjs.map → fesm2022/vgip-meta-ui-index-cb0d4f82.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-cfb67422.mjs +497 -0
- package/fesm2022/vgip-meta-ui-index-cfb67422.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-8f956c8f.mjs → fesm2022/vgip-meta-ui-index-eba0dd05.mjs} +8 -8
- package/fesm2022/vgip-meta-ui-index-eba0dd05.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-eef5fc0f.mjs +61 -0
- package/fesm2022/vgip-meta-ui-index-eef5fc0f.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-dae4cc15.mjs → fesm2022/vgip-meta-ui-index-f0fa2cbd.mjs} +6 -6
- package/{fesm2020/vgip-meta-ui-index-dae4cc15.mjs.map → fesm2022/vgip-meta-ui-index-f0fa2cbd.mjs.map} +1 -1
- package/{fesm2020/vgip-meta-ui-index-b0cee687.mjs → fesm2022/vgip-meta-ui-index-f5e42e1d.mjs} +20 -20
- package/{fesm2020/vgip-meta-ui-index-b0cee687.mjs.map → fesm2022/vgip-meta-ui-index-f5e42e1d.mjs.map} +1 -1
- package/{fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs → fesm2022/vgip-meta-ui-metaModel.pipe-3487ede2.mjs} +4 -4
- package/{fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map → fesm2022/vgip-meta-ui-metaModel.pipe-3487ede2.mjs.map} +1 -1
- package/{fesm2020 → fesm2022}/vgip-meta-ui.mjs +96 -91
- package/{fesm2015 → fesm2022}/vgip-meta-ui.mjs.map +1 -1
- package/lib/common/metaAutofocus.directive.d.ts +1 -1
- package/lib/fieldBoolean/index.d.ts +1 -1
- package/lib/fieldComposite/index.d.ts +1 -1
- package/lib/fieldRadio/index.d.ts +1 -1
- package/lib/fieldRichtext/index.d.ts +6 -8
- package/lib/fieldText/index.d.ts +1 -1
- package/lib/layout/index.d.ts +1 -1
- package/lib/metaField/index.d.ts +1 -1
- package/lib/resource/index.d.ts +1 -1
- package/lib/resourceCard/index.d.ts +1 -1
- package/package.json +8 -14
- package/esm2020/lib/fieldBoolean/index.mjs +0 -56
- package/esm2020/lib/fieldReference/index.mjs +0 -825
- package/esm2020/lib/fieldRichtext/index.mjs +0 -85
- package/esm2020/lib/fieldSelect/index.mjs +0 -488
- package/esm2020/lib/fieldText/index.mjs +0 -65
- package/esm2020/lib/index.mjs +0 -158
- package/fesm2015/vgip-meta-ui-fieldAbstract-17f26446.mjs +0 -397
- package/fesm2015/vgip-meta-ui-fieldAbstract-17f26446.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-0fc1c4a5.mjs +0 -68
- package/fesm2015/vgip-meta-ui-index-0fc1c4a5.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-5a12f79d.mjs +0 -24
- package/fesm2015/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-89b8d1d4.mjs +0 -858
- package/fesm2015/vgip-meta-ui-index-89b8d1d4.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8a2f9dbf.mjs +0 -151
- package/fesm2015/vgip-meta-ui-index-8a2f9dbf.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8c0d0972.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8f956c8f.mjs +0 -460
- package/fesm2015/vgip-meta-ui-index-8f956c8f.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-91a02c0f.mjs +0 -95
- package/fesm2015/vgip-meta-ui-index-91a02c0f.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-9af6e01b.mjs +0 -88
- package/fesm2015/vgip-meta-ui-index-9af6e01b.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-9ca39230.mjs +0 -1900
- package/fesm2015/vgip-meta-ui-index-9ca39230.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-a276b206.mjs +0 -61
- package/fesm2015/vgip-meta-ui-index-a276b206.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-b79a6173.mjs +0 -72
- package/fesm2015/vgip-meta-ui-index-b79a6173.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-db9a2218.mjs +0 -23
- package/fesm2015/vgip-meta-ui-index-e4e3a171.mjs +0 -496
- package/fesm2015/vgip-meta-ui-index-e4e3a171.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-fda3d1e2.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui.mjs +0 -525
- package/fesm2020/vgip-meta-ui-fieldAbstract-17f26446.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-0fc1c4a5.mjs +0 -68
- package/fesm2020/vgip-meta-ui-index-0fc1c4a5.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-39177940.mjs +0 -74
- package/fesm2020/vgip-meta-ui-index-5a12f79d.mjs +0 -24
- package/fesm2020/vgip-meta-ui-index-5a12f79d.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-6e77c362.mjs +0 -130
- package/fesm2020/vgip-meta-ui-index-8c0d0972.mjs +0 -368
- package/fesm2020/vgip-meta-ui-index-8c0d0972.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-8f956c8f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-91a02c0f.mjs +0 -95
- package/fesm2020/vgip-meta-ui-index-91a02c0f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-9af6e01b.mjs +0 -88
- package/fesm2020/vgip-meta-ui-index-9af6e01b.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-a276b206.mjs +0 -61
- package/fesm2020/vgip-meta-ui-index-a276b206.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-ad59c1c4.mjs +0 -495
- package/fesm2020/vgip-meta-ui-index-ad59c1c4.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-b428f3c0.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-db9a2218.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-e5f4755f.mjs +0 -858
- package/fesm2020/vgip-meta-ui-index-e5f4755f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/number.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/radio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/reference.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/richtext.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/string.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/text.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/colorThemes.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/indexedDbStore/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/relativeTimeBuilder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/resourceCardLabel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/smartProp.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/templateBuilder.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/vgip-meta-ui.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vgip-meta-ui-index-cfb67422.mjs","sources":["../../../projects/meta-ui/src/lib/fieldSelect/index.ts","../../../projects/meta-ui/src/lib/fieldSelect/view.html"],"sourcesContent":["import { Component, OnInit, ViewContainerRef } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\nimport { ControlContainer, NgForm } from '@angular/forms';\nimport { MetaReferenceService } from '../services/metaReference';\nimport { MetaResourceService, IMetaResourceConfig } from '../services/metaResource';\nimport { MetaRefDialog } from '../refDialog';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldSelect extends FieldAbstract implements OnInit {\n multiple: boolean;\n input: HTMLInputElement;\n dropdown: HTMLElement;\n dropdownScrollContainer: HTMLElement;\n showText: string;\n activeSuggestionIndex: number;\n value: any;\n isCreatable = false;\n asyncOptions: Array<any>;\n searching: boolean;\n filteredOptions: Array<any>;\n searchInputText: '';\n searchInput: HTMLInputElement;\n\n constructor(\n private referenceService: MetaReferenceService,\n private metaResource: MetaResourceService,\n private viewContainerRef: ViewContainerRef\n ) {\n super();\n }\n\n get options() {\n return this.filteredOptions || this.asyncOptions || this.meta.options || this.meta.picklist || [];\n }\n\n get groupedOptions() {\n return this.options.reduce((r, { group }) => {\n if (!r.some(o => o.group === group)) {\n r.push({ group, groupItem: this.options.filter(v => v.group === group) });\n }\n return r;\n }, []);\n }\n\n get resourceService() {\n if (!this.metaResourceService) {\n const metaResourceConfig: IMetaResourceConfig = {\n integrationCode: this.integrationCode,\n resourceType: this.resourceType\n };\n this.metaResourceService = this.metaResource.new(metaResourceConfig);\n }\n return this.metaResourceService;\n }\n\n get optionsBackup() {\n return this.asyncOptions || this.meta.options || this.meta.picklist || [];\n }\n\n static setup(instance, parent, meta) { }\n\n ngOnInit() {\n // console.log('parent', this.parent);\n this.validationAttributes = ['required'];\n this.multiple = (this.meta.type === 'multipicklist') || this.meta.multiple;\n const origValue = this.parent[this.meta.name];\n if (this.meta.reference) {\n this.isCreatable = true;\n }\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (this.multiple) {\n if (value && value instanceof Array === false) {\n for (const o of this.options) {\n if ((value.id || value) === (o.id || o.value || o.name || 0)) {\n this.model = [o];\n this.value = [this.modelToValue(o, this.meta.valueType)];\n break;\n }\n }\n }\n if (!value || value.length) {\n const values = (value instanceof Array) ? value : (value || '').split(';'); // should not handle incorrect values\n this.value = [];\n this.model = [];\n for (const v of values) {\n if (v) {\n for (const o of this.options) {\n if ((v.id || v) === (o.id || o.value || o.name || 0)) {\n this.model.push(o);\n this.value.push(this.modelToValue(o, this.meta.valueType));\n break;\n }\n }\n }\n }\n if (!this.model.length && !this.isPersistedParent) {\n delete this.model;\n delete this.value;\n delete this.showText;\n } else {\n this.showText = (this.model || []).map((o) => o.label || o).join(', ');\n }\n }\n } else {\n if (value) {\n for (const o of this.options) {\n if ((value.id || value) === (o.id || o.value || o.name || o)) {\n this.model = o;\n this.value = this.modelToValue(o, this.meta.valueType);\n this.showText = o.label || o;\n break;\n }\n }\n } else {\n delete this.model;\n delete this.value;\n delete this.showText;\n }\n }\n this.onSubjectChange(this.model);\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: this.sendToServer,\n configurable: true\n });\n\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n\n if (this.default && !this.model) {\n setTimeout(() => {\n this.parent[this.meta.name] = this.default.id || this.default;\n }, 0);\n }\n\n if (typeof (this.meta.enabled) !== undefined) {\n if (typeof (this.meta.enabled) === 'object') {\n for (const par of Object.keys(this.meta.enabled)) {\n const parValue = this.parent[par];\n if (parValue) {\n // logic for specific values, this works only for true\n } else {\n this.logicalDisabled = true;\n this.clear();\n }\n this.parentChangeSubject.subscribe((value) => {\n if (value && value.hasOwnProperty(par)) {\n this.logicalDisabled = !value[par];\n if (this.logicalDisabled) {\n this.clear();\n } else {\n this.filterOptions();\n }\n }\n });\n }\n this.filterOptions();\n }\n }\n\n if (this.meta.search) {\n const searchParams = this.meta.search.params;\n if (searchParams) {\n for (const par of Object.keys(searchParams)) {\n const parValue = this.parent[searchParams[par]];\n if (parValue) {\n const params = {};\n params[par] = parValue;\n this.searchOptions(params);\n }\n this.parentChangeSubject.subscribe((value) => {\n if (value && value.hasOwnProperty(searchParams[par])) {\n this.searchOptions(value);\n }\n });\n }\n }\n }\n }\n\n onActivated(ev) {\n // ev.preventDefault();\n // ev.stopPropagation();\n this.input = ev.srcElement;\n if (!this.dropdown) {\n this.dropdown = ev.srcElement.parentNode.parentNode.parentNode;\n this.searchInput = this.dropdown.querySelector('.vgip-search_input');\n }\n this.showDropdown();\n }\n\n detectSearchBlock(element) {\n return this.elementRef.nativeElement.querySelector('.Vlt-search_wrap').contains(element);\n }\n\n onBlur(ev) {\n let internalControl = false;\n if (ev.relatedTarget) {\n\n if (!this.detectSearchBlock(ev.relatedTarget) && !this.elementRef.nativeElement.contains(ev.relatedTarget)) {\n this.dismissDropdown();\n } else {\n internalControl = true;\n }\n }\n if (this.keyListenerActive && !internalControl) {\n this.input.removeEventListener('keydown', this.keydown);\n if (this.searchInput) {\n this.searchInput.removeEventListener('keydown', this.keydown);\n }\n setTimeout(() => {\n if (!this.keyListenerActive) {\n document.removeEventListener('click', this.clickout);\n }\n }, 400);\n delete this.keyListenerActive;\n }\n this.onLeave.emit(ev);\n }\n\n onOptionSelect(ev, option) {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.focus();\n if (this.multiple) {\n if (!this.model) {\n this.model = [];\n }\n const optionIndex = this.model.indexOf(option);\n if (optionIndex === -1) {\n this.model.push(option);\n } else {\n this.model.splice(optionIndex, 1);\n if (!this.model.length) {\n delete this.model;\n }\n }\n this.onModelChange(this.model);\n if (this.model) {\n this.showText = (this.model || []).map((o) => o.label || o).join(', ');\n } else {\n delete this.showText;\n }\n } else {\n this.dismissDropdown();\n if (typeof option !== 'undefined') {\n this.model = option;\n this.onModelChange(option);\n this.showText = option.label || (option.id === '' ? '--empty--' : option);\n if (typeof (option) === 'object' && !option.id && option.id !== '') {\n delete this.showText;\n }\n }\n }\n }\n\n clear(ev?) {\n delete this.model;\n this.onModelChange(this.model);\n delete this.showText;\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n return false;\n }\n }\n\n openResource(ev) {\n const refDialogComponent = this.viewContainerRef.createComponent(MetaRefDialog);\n this.referenceService.openDialog(\n refDialogComponent, this.metaResource, this.integrationCode, this.meta.reference, null\n ).subscribe((result: any) => {\n if (result) {\n const existingOptions = (this.meta.options || []).find((o) => (o.id === result.id && o.type === result.type));\n if (existingOptions) {\n existingOptions.label = result.label;\n } else {\n if (!this.meta.options) {\n this.meta.options = [];\n }\n this.meta.options.unshift(result);\n }\n this.onOptionSelect(ev, result);\n }\n });\n }\n\n showDropdown() {\n this.dropdown.classList.add('Vlt-dropdown--expanded');\n if (!this.keyListenerActive) {\n if (this.searchInput) {\n this.searchInput.focus(); // Focus directly on search input first visit\n this.searchInput.addEventListener('keydown', this.keydown);\n }\n this.input.addEventListener('keydown', this.keydown);\n setTimeout(() => {\n document.addEventListener('click', this.clickout);\n }, 200);\n this.keyListenerActive = true;\n if (this.options && this.model) {\n for (let suggestionIndex = 0; suggestionIndex < this.options.length; suggestionIndex++) {\n if (this.model === this.options[suggestionIndex]) {\n this.activeSuggestionIndex = suggestionIndex;\n }\n }\n }\n }\n this.ensureDropdownIsVisible();\n }\n\n dismissDropdown(event?) {\n if (event) {\n this.focus();\n }\n if (this.dropdown) {\n this.dropdown.classList.remove('Vlt-dropdown--expanded');\n }\n if (this.searchInput) {\n this.clearSearchField();\n }\n delete this.activeSuggestionIndex;\n }\n\n onSearchChange() {\n const search = new RegExp(this.searchInputText, 'gi');\n if (this.searchInputText === '') {\n this.filteredOptions = [...this.optionsBackup];\n } else {\n this.filteredOptions = this.optionsBackup.filter(option => (option.label || option.id || option.name || option).match(search));\n }\n }\n\n clearSearchField() {\n this.searchInputText = '';\n this.onSearchChange();\n }\n\n private ensureDropdownIsVisible() {\n setTimeout(() => {\n const holder = this.dropdown.closest('.Vlt-card__content');\n if (holder) {\n const el = this.elementRef.nativeElement.querySelector('.Vlt-dropdown__panel');\n const elRect = el.getBoundingClientRect();\n const holderRect = holder.getBoundingClientRect();\n if (holderRect.top + holderRect.height < elRect.top + elRect.height) {\n el.scrollIntoView({ block: 'end' });\n }\n }\n }, 400);\n }\n\n private ensureDropdownOptionIsVisible() {\n if (!this.dropdownScrollContainer) {\n this.dropdownScrollContainer = this.dropdown.querySelector('.Vlt-dropdown__scroll');\n }\n if (this.dropdownScrollContainer && typeof (this.activeSuggestionIndex) === 'number') {\n const scrollTop = 44 * this.activeSuggestionIndex;\n const scrollBottom = 44 * (this.activeSuggestionIndex - 7);\n if (scrollTop < this.dropdownScrollContainer.scrollTop) {\n this.dropdownScrollContainer.scrollTop = scrollTop;\n } else if (scrollBottom > this.dropdownScrollContainer.scrollTop) {\n this.dropdownScrollContainer.scrollTop = scrollBottom;\n }\n }\n }\n\n private filterOptions() {\n this.asyncOptions = [];\n if (!this.logicalDisabled) {\n for (const o of this.meta.options) {\n if (o.for) {\n for (const par of Object.keys(o.for)) {\n const parValue = this.parent[par];\n if (o.for[par].indexOf(parValue) !== -1) {\n this.asyncOptions.push(o);\n }\n }\n } else {\n this.asyncOptions.push(o);\n }\n }\n }\n // remove current selection if not one of the filtered options\n if (this.model && this.asyncOptions.indexOf(this.model) === -1) {\n delete this.model;\n delete this.value;\n delete this.showText;\n delete this.parent[this.meta.name];\n }\n }\n\n private clickout = (event) => {\n if (\n event.target.className === 'Vlt-dropdown__link' && this.elementRef.nativeElement.contains(event.target)\n ) {\n this.focus();\n } else if (\n event.target !== this.input &&\n !event.target.classList.contains('Vlt-dropdown__block') &&\n !this.detectSearchBlock(event.target)\n ) {\n this.dismissDropdown();\n } else if (this.detectSearchBlock(event.target)) {\n event.target.focus();\n } else {\n this.focus();\n }\n };\n\n private keydown = (event) => {\n switch (event.key) {\n case 'ArrowDown': {\n this.showDropdown();\n if (typeof (this.activeSuggestionIndex) === 'undefined') {\n this.activeSuggestionIndex = 0;\n } else {\n this.activeSuggestionIndex++;\n if (this.activeSuggestionIndex >= this.options.length) {\n this.activeSuggestionIndex = 0;\n }\n }\n this.ensureDropdownOptionIsVisible();\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n case 'ArrowUp': {\n this.showDropdown();\n if (typeof (this.activeSuggestionIndex) === 'undefined') {\n this.activeSuggestionIndex = this.options.length - 1;\n } else {\n this.activeSuggestionIndex--;\n if (this.activeSuggestionIndex < 0) {\n this.activeSuggestionIndex = this.options.length - 1;\n }\n }\n this.ensureDropdownOptionIsVisible();\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n case 'Enter':\n case 'Space':\n case ' ': {\n if (typeof (this.activeSuggestionIndex) !== 'undefined') {\n event.preventDefault();\n event.stopPropagation();\n this.onOptionSelect(event, this.options[this.activeSuggestionIndex]);\n if (!this.multiple) {\n delete this.activeSuggestionIndex;\n }\n }\n break;\n }\n case 'Escape': {\n event.preventDefault();\n event.stopPropagation();\n this.dismissDropdown();\n break;\n }\n case 'Backspace': {\n if (!this.dropdown.classList.contains('Vlt-dropdown--expanded')) {\n event.preventDefault();\n event.stopPropagation();\n this.clear();\n }\n break;\n }\n }\n };\n\n private searchOptions(params?) {\n let searchUrl = `/fields/${this.meta.name}/search`;\n if (this.meta.search) {\n if (this.meta.search.url) {\n searchUrl = this.meta.search.url;\n }\n const searchParams = this.meta.search.params;\n if (searchParams) {\n for (const par of Object.keys(searchParams)) {\n const val = this.parent[searchParams[par]];\n if (val) {\n searchUrl += `${searchUrl.indexOf('?') === -1 ? '?' : '&'}${par}=${val.id || val}`;\n }\n }\n }\n }\n this.searching = true;\n this.resourceService.getByPath(searchUrl).subscribe((options) => {\n this.asyncOptions = options;\n let validValue = false;\n if (this.value) {\n for (const o of options) {\n if ((o.id || o) === (this.value.id || this.value)) {\n validValue = true;\n }\n }\n if (!validValue) {\n this.clear();\n }\n }\n delete this.searching;\n });\n }\n\n}\n","<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{showText}}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\"\n [ngClass]=\"{ 'Vlt-form__element--big': !meta.small ,'has-value': f.value, active: keyListenerActive, 'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (ft | metaModel ).touched), 'no-x': meta.noX }\">\n <div class=\"Vlt-composite Vlt-dropdown Vlt-input\" style='display: block;'\n [ngClass]=\"{ 'has-append-button': isCreatable && !disabled }\">\n <div class=\"Vlt-select\">\n <label class='wrapper'>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span\n *ngIf='validations.required && options.length' class='Vlt-red'>*</span></label>\n <input class='main' [required]='validations.required && !!options.length' readonly [ngModel]='showText'\n #ft='ngModel' [ngModelOptions]=\"{standalone: true}\" type=\"text\"\n [placeholder]=\"meta.placeholder || ' '\" (click)='onActivated($event)' (focus)='onActivated($event)'\n (blur)='onBlur($event)' [ngClass]=\"{ 'standalone': meta.standalone }\"\n [disabled]='disabled' [attr.aria-label]='meta.label' />\n </label>\n <select class='model' [required]='validations.required && !!options.length' style='display: none;'\n [(ngModel)]='model' [ngModelOptions]=\"{standalone: meta.standalone}\"\n (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name'></select>\n <div *ngIf='searching' class='search-progress'>\n <div class=\"container\">\n <div class=\"bar Vlt-bg-purple\"></div>\n </div>\n </div>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && !meta.noX && !disabled' class=\"Vlt-composite__append--icon\"\n (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg>\n <use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\" />\n </svg>\n </div>\n </div>\n </div>\n </div>\n <div class='Vlt-dropdown__panel'>\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 15px;'>\n Select ({{options.length}})\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block Vlt-search_wrap\">\n <div *ngIf=\"optionsBackup.length > 12\" class=\"Vlt-composite\">\n <div class=\"Vlt-composite__prepend Vlt-composite__prepend--icon\"\n style=\"top: 0; padding-top: 15px;\">\n <div class=\"Vlt-composite__icon\">\n <svg class='Vlt-grey'>\n <use xlink:href=\"volta/volta-icons.svg#Vlt-icon-search\"></use>\n </svg>\n </div>\n </div>\n <div class=\"Vlt-input\">\n <input type=\"text\" class=\"vgip-search_input\" [(ngModel)]=\"searchInputText\" placeholder=\"Search\" (input)=\"onSearchChange()\" (blur)='onBlur($event)' [ngModelOptions]=\"{standalone: true}\">\n </div>\n <div class=\"Vlt-composite__append--icon\"\n style=\"top: 2px;\" (click)=\"clearSearchField()\" [hidden]=\"searchInputText === ''\">\n <div class=\"Vlt-composite__icon\">\n <svg class='Vlt-icon Vlt-icon--small'>\n <use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/>\n </svg>\n </div>\n </div>\n </div>\n </div>\n <div *ngIf='dropdown' class='Vlt-dropdown__scroll'>\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': activeSuggestionIndex === i }\"\n (click)='onOptionSelect($event, option)' *ngFor='let option of options; let i = index'\n class=\"Vlt-dropdown__link\">\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(option) !== -1' />\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{option.label || (option.id === '' ? '--empty--' : option)}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>{{option.label || (option.id === '' ?\n '--empty--' : option)}}</div>\n </div>\n <!-- No Option Found -->\n <div class=\"Vlt-dropdown__link\" *ngIf=\"options.length === 0\">\n <div style='padding: 12px 20px;'>No Option Found</div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\"\n style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button'\n class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\"\n style='margin-right: 8px;'>Clear all</button>\n <button (click)='dismissDropdown($event)' type='button'\n class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n <!-- <span *ngIf='isCreatable'>\n <button type='button' (click)='openResource($event)' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--icon Vlt-btn--large\" style='margin-left: 12px;'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>\n </button>\n </span> -->\n <div *ngIf='isCreatable && !disabled' class=\"Vlt-composite__append\">\n <button (focus)='onActivated($event)' (blur)='onBlur($event)' type='button' (click)='openResource($event)'\n class=\"Vlt-btn Vlt-btn--white Vlt-btn--icon add-button\" aria-label='Add new'>\n <svg>\n <use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\" />\n </svg>\n </button>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((ft | metaModel).touched && keyListenerActive))'\n class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n"],"names":["i1.MetaReferenceService","i2.MetaResourceService","i3","i4","i5.MetaModelPipe"],"mappings":"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"}
|
package/{fesm2020/vgip-meta-ui-index-8f956c8f.mjs → fesm2022/vgip-meta-ui-index-eba0dd05.mjs}
RENAMED
|
@@ -2,11 +2,11 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/forms';
|
|
4
4
|
import { ControlContainer, NgForm } from '@angular/forms';
|
|
5
|
-
import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-
|
|
6
|
-
import { t as templateBuilder, M as MetaContextService } from './vgip-meta-ui-index-
|
|
5
|
+
import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-ce47588e.mjs';
|
|
6
|
+
import { t as templateBuilder, M as MetaContextService } from './vgip-meta-ui-index-1467556e.mjs';
|
|
7
7
|
import { r as relativeTimeBuilder } from './vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs';
|
|
8
8
|
import * as i1 from '@angular/common';
|
|
9
|
-
import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-
|
|
9
|
+
import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-3487ede2.mjs';
|
|
10
10
|
import 'rxjs';
|
|
11
11
|
import 'rxjs/operators';
|
|
12
12
|
|
|
@@ -448,13 +448,13 @@ class FieldInput extends FieldAbstract {
|
|
|
448
448
|
}
|
|
449
449
|
}
|
|
450
450
|
}
|
|
451
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldInput, deps: [{ token: MetaContextService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
452
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldInput, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>{{model}}</div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element Vlt-form__element--big\" [ngClass]=\"{'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched), 'multiple': multiple, 'has-value': f.value, active: keyListenerActive }\">\n <div *ngIf='multiple' class='items-container'>\n <div *ngIf='model' class='badges-container keep-focus' (click)='focus()'>\n <div *ngFor='let item of model' class=\"Vlt-badge Vlt-badge--app Vlt-badge--large keep-focus\">\n {{item}}\n <button class=\"Vlt-badge__dismiss keep-focus\" (click)='remove($event, item)'></button>\n </div>\n </div>\n </div>\n <div class=\"Vlt-input Vlt-dropdown\" style='display: block;'>\n <label class='wrapper'>\n <input class='main model' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [required]='validations.required' [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [step]='validations.step' [disabled]='disabled' [readonly]=\"readonly\" [(ngModel)]='model' (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name' [type]=\"multiple ? 'hidden' : (meta.subtype || 'text')\" placeholder=\" \" (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <input *ngIf='multiple' class='main' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [(ngModel)]='addText' [ngModelOptions]=\"{ standalone: true }\" [type]=\"meta.subtype || 'text'\" [disabled]='disabled' [readonly]='readonly' placeholder=\"+Add\" (keydown.enter)='onAdd($event)' (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span> <span class='Vlt-black' *ngIf='model && multiple'>({{model.length}})</span></label>\n </label>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && showClear' class=\"Vlt-composite__append--icon\" (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div>\n </div>\n <!-- <div *ngIf=\"!meta.subtype || meta.subtype == 'text'\" class=\"Vlt-composite__append Vlt-composite__append--icon\" style='bottom: 7px; right: 10px; padding: 3px; width: initial; height: initial; cursor: pointer;'>\n <div *ngIf=\"!meta.type || meta.type === 'string'\" class=\"Vlt-composite__icon\" (click)='textToSpeech()'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-microphone\"/></svg>\n </div>\n </div> -->\n <div *ngIf=\"suggestions.length\" class=\"Vlt-dropdown__panel\">\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area suggestions\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 13px;'>\n Suggestions\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='dropdown' class=\"Vlt-dropdown__scroll\">\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': (activeSuggestionIndex === i) }\" (click)='onSuggestionSelect($event, suggestion)' *ngFor='let suggestion of suggestions; let i = index' class=\"Vlt-dropdown__link\" style='padding: 0;'>\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label [title]='suggestion.label || suggestion'>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(suggestion) !== -1'/>\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{suggestion.label || suggestion}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>\n {{suggestion.label || suggestion}}\n </div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\" style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\">Clear all</button>\n <button (click)='dismissDropdown($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched && keyListenerActive))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.minlength\">Must be longer than {{validations.minlength}} characters. </span>\n <span *ngIf=\"f.errors.maxlength\">Must be lest than {{validations.maxlength}} characters. </span>\n <span *ngIf=\"f.errors.pattern\">{{ validations.pattern.text || \"Should match '\"+validations.pattern+\"' pattern.\" }}. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element--big .Vlt-input input{padding-right:40px;text-overflow:ellipsis}@media screen and (-webkit-min-device-pixel-ratio: 0){.Vlt-form__element--big .Vlt-input input{line-height:20px}}.Vlt-form__element--big .Vlt-input input:disabled{cursor:not-allowed}.Vlt-form__element--big:hover .items-container,.Vlt-form__element--big:hover .main,.Vlt-form__element--big:hover input,.Vlt-form__element--big.active .items-container,.Vlt-form__element--big.active .main,.Vlt-form__element--big.active input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .Vlt-composite.Vlt-dropdown{margin-top:3px}.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) input,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .items-container{background-color:var(--vgip-meta-input-bg-color);border:1px solid var(--vgip-meta-input-border-color);border-bottom:0;border-top-left-radius:6px;border-top-right-radius:6px}.Vlt-form__element--big.multiple .items-container.creatable{margin-right:62px}.Vlt-form__element--big.multiple .items-container .badges-container{overflow:auto;max-height:140px;padding:6px 4px 0 6px}.Vlt-form__element--big.multiple .items-container .badges-container .Vlt-badge{margin-bottom:3px;margin-left:0;margin-right:3px;overflow:hidden;max-width:100%}.Vlt-form__element--big.multiple:not(.has-value) .items-container{border:0}.Vlt-form__element--big.multiple.has-value .main,.Vlt-form__element--big.multiple.has-value input{border-top:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.Vlt-form__element--big.Vlt-form__element--error .items-container,.Vlt-form__element--big.Vlt-form__element--error .main,.Vlt-form__element--big.Vlt-form__element--error input{border-color:#f25a6b;background:var(--vgip-meta-input-bg-color)}label.Vlt-truncate{padding-right:42px}.Vlt-dropdown__panel{width:100%}.Vlt-dropdown__panel .Vlt-dropdown__link--selected{background:rgba(44,45,48,.05)}.Vlt-dropdown__panel label{margin-top:0;padding:12px 20px;top:0;left:0;pointer-events:initial;position:initial;color:initial;font-size:inherit;transition:none;cursor:pointer}.Vlt-dropdown__panel label input{height:0}.Vlt-composite__append.right-actions{position:absolute;top:5px;right:10px;cursor:pointer}.Vlt-composite__append.right-actions .Vlt-composite__append--icon{width:36px;outline:none;position:initial;display:inline-block}.Vlt-composite__append.right-actions .Vlt-composite__append--icon svg{height:14px;width:14px}.Vlt-composite__append.right-actions .Vlt-composite__append--icon:hover svg,.Vlt-composite__append.right-actions .Vlt-composite__append--icon:focus svg{fill:var(--vgip-meta-input-accent-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
451
453
|
}
|
|
452
|
-
|
|
453
|
-
FieldInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FieldInput, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>{{model}}</div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element Vlt-form__element--big\" [ngClass]=\"{'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched), 'multiple': multiple, 'has-value': f.value, active: keyListenerActive }\">\n <div *ngIf='multiple' class='items-container'>\n <div *ngIf='model' class='badges-container keep-focus' (click)='focus()'>\n <div *ngFor='let item of model' class=\"Vlt-badge Vlt-badge--app Vlt-badge--large keep-focus\">\n {{item}}\n <button class=\"Vlt-badge__dismiss keep-focus\" (click)='remove($event, item)'></button>\n </div>\n </div>\n </div>\n <div class=\"Vlt-input Vlt-dropdown\" style='display: block;'>\n <label class='wrapper'>\n <input class='main model' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [required]='validations.required' [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [step]='validations.step' [disabled]='disabled' [readonly]=\"readonly\" [(ngModel)]='model' (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name' [type]=\"multiple ? 'hidden' : (meta.subtype || 'text')\" placeholder=\" \" (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <input *ngIf='multiple' class='main' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [(ngModel)]='addText' [ngModelOptions]=\"{ standalone: true }\" [type]=\"meta.subtype || 'text'\" [disabled]='disabled' [readonly]='readonly' placeholder=\"+Add\" (keydown.enter)='onAdd($event)' (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span> <span class='Vlt-black' *ngIf='model && multiple'>({{model.length}})</span></label>\n </label>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && showClear' class=\"Vlt-composite__append--icon\" (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div>\n </div>\n <!-- <div *ngIf=\"!meta.subtype || meta.subtype == 'text'\" class=\"Vlt-composite__append Vlt-composite__append--icon\" style='bottom: 7px; right: 10px; padding: 3px; width: initial; height: initial; cursor: pointer;'>\n <div *ngIf=\"!meta.type || meta.type === 'string'\" class=\"Vlt-composite__icon\" (click)='textToSpeech()'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-microphone\"/></svg>\n </div>\n </div> -->\n <div *ngIf=\"suggestions.length\" class=\"Vlt-dropdown__panel\">\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area suggestions\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 13px;'>\n Suggestions\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='dropdown' class=\"Vlt-dropdown__scroll\">\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': (activeSuggestionIndex === i) }\" (click)='onSuggestionSelect($event, suggestion)' *ngFor='let suggestion of suggestions; let i = index' class=\"Vlt-dropdown__link\" style='padding: 0;'>\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label [title]='suggestion.label || suggestion'>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(suggestion) !== -1'/>\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{suggestion.label || suggestion}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>\n {{suggestion.label || suggestion}}\n </div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\" style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\">Clear all</button>\n <button (click)='dismissDropdown($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched && keyListenerActive))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.minlength\">Must be longer than {{validations.minlength}} characters. </span>\n <span *ngIf=\"f.errors.maxlength\">Must be lest than {{validations.maxlength}} characters. </span>\n <span *ngIf=\"f.errors.pattern\">{{ validations.pattern.text || \"Should match '\"+validations.pattern+\"' pattern.\" }}. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element--big .Vlt-input input{padding-right:40px;text-overflow:ellipsis}@media screen and (-webkit-min-device-pixel-ratio: 0){.Vlt-form__element--big .Vlt-input input{line-height:20px}}.Vlt-form__element--big .Vlt-input input:disabled{cursor:not-allowed}.Vlt-form__element--big:hover .items-container,.Vlt-form__element--big:hover .main,.Vlt-form__element--big:hover input,.Vlt-form__element--big.active .items-container,.Vlt-form__element--big.active .main,.Vlt-form__element--big.active input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .Vlt-composite.Vlt-dropdown{margin-top:3px}.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) input,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .items-container{background-color:var(--vgip-meta-input-bg-color);border:1px solid var(--vgip-meta-input-border-color);border-bottom:0;border-top-left-radius:6px;border-top-right-radius:6px}.Vlt-form__element--big.multiple .items-container.creatable{margin-right:62px}.Vlt-form__element--big.multiple .items-container .badges-container{overflow:auto;max-height:140px;padding:6px 4px 0 6px}.Vlt-form__element--big.multiple .items-container .badges-container .Vlt-badge{margin-bottom:3px;margin-left:0;margin-right:3px;overflow:hidden;max-width:100%}.Vlt-form__element--big.multiple:not(.has-value) .items-container{border:0}.Vlt-form__element--big.multiple.has-value .main,.Vlt-form__element--big.multiple.has-value input{border-top:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.Vlt-form__element--big.Vlt-form__element--error .items-container,.Vlt-form__element--big.Vlt-form__element--error .main,.Vlt-form__element--big.Vlt-form__element--error input{border-color:#f25a6b;background:var(--vgip-meta-input-bg-color)}label.Vlt-truncate{padding-right:42px}.Vlt-dropdown__panel{width:100%}.Vlt-dropdown__panel .Vlt-dropdown__link--selected{background:rgba(44,45,48,.05)}.Vlt-dropdown__panel label{margin-top:0;padding:12px 20px;top:0;left:0;pointer-events:initial;position:initial;color:initial;font-size:inherit;transition:none;cursor:pointer}.Vlt-dropdown__panel label input{height:0}.Vlt-composite__append.right-actions{position:absolute;top:5px;right:10px;cursor:pointer}.Vlt-composite__append.right-actions .Vlt-composite__append--icon{width:36px;outline:none;position:initial;display:inline-block}.Vlt-composite__append.right-actions .Vlt-composite__append--icon svg{height:14px;width:14px}.Vlt-composite__append.right-actions .Vlt-composite__append--icon:hover svg,.Vlt-composite__append.right-actions .Vlt-composite__append--icon:focus svg{fill:var(--vgip-meta-input-accent-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
|
|
454
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FieldInput, decorators: [{
|
|
454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldInput, decorators: [{
|
|
455
455
|
type: Component,
|
|
456
|
-
args: [{ viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>{{model}}</div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element Vlt-form__element--big\" [ngClass]=\"{'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched), 'multiple': multiple, 'has-value': f.value, active: keyListenerActive }\">\n <div *ngIf='multiple' class='items-container'>\n <div *ngIf='model' class='badges-container keep-focus' (click)='focus()'>\n <div *ngFor='let item of model' class=\"Vlt-badge Vlt-badge--app Vlt-badge--large keep-focus\">\n {{item}}\n <button class=\"Vlt-badge__dismiss keep-focus\" (click)='remove($event, item)'></button>\n </div>\n </div>\n </div>\n <div class=\"Vlt-input Vlt-dropdown\" style='display: block;'>\n <label class='wrapper'>\n <input class='main model' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [required]='validations.required' [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [step]='validations.step' [disabled]='disabled' [readonly]=\"readonly\" [(ngModel)]='model' (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name' [type]=\"multiple ? 'hidden' : (meta.subtype || 'text')\" placeholder=\" \" (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <input *ngIf='multiple' class='main' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [(ngModel)]='addText' [ngModelOptions]=\"{ standalone: true }\" [type]=\"meta.subtype || 'text'\" [disabled]='disabled' [readonly]='readonly' placeholder=\"+Add\" (keydown.enter)='onAdd($event)' (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span> <span class='Vlt-black' *ngIf='model && multiple'>({{model.length}})</span></label>\n </label>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && showClear' class=\"Vlt-composite__append--icon\" (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div>\n </div>\n <!-- <div *ngIf=\"!meta.subtype || meta.subtype == 'text'\" class=\"Vlt-composite__append Vlt-composite__append--icon\" style='bottom: 7px; right: 10px; padding: 3px; width: initial; height: initial; cursor: pointer;'>\n <div *ngIf=\"!meta.type || meta.type === 'string'\" class=\"Vlt-composite__icon\" (click)='textToSpeech()'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-microphone\"/></svg>\n </div>\n </div> -->\n <div *ngIf=\"suggestions.length\" class=\"Vlt-dropdown__panel\">\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area suggestions\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 13px;'>\n Suggestions\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='dropdown' class=\"Vlt-dropdown__scroll\">\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': (activeSuggestionIndex === i) }\" (click)='onSuggestionSelect($event, suggestion)' *ngFor='let suggestion of suggestions; let i = index' class=\"Vlt-dropdown__link\" style='padding: 0;'>\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label [title]='suggestion.label || suggestion'>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(suggestion) !== -1'/>\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{suggestion.label || suggestion}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>\n {{suggestion.label || suggestion}}\n </div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\" style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\">Clear all</button>\n <button (click)='dismissDropdown($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched && keyListenerActive))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.minlength\">Must be longer than {{validations.minlength}} characters. </span>\n <span *ngIf=\"f.errors.maxlength\">Must be lest than {{validations.maxlength}} characters. </span>\n <span *ngIf=\"f.errors.pattern\">{{ validations.pattern.text || \"Should match '\"+validations.pattern+\"' pattern.\" }}. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element--big .Vlt-input input{padding-right:40px;text-overflow:ellipsis}@media screen and (-webkit-min-device-pixel-ratio: 0){.Vlt-form__element--big .Vlt-input input{line-height:20px}}.Vlt-form__element--big .Vlt-input input:disabled{cursor:not-allowed}.Vlt-form__element--big:hover .items-container,.Vlt-form__element--big:hover .main,.Vlt-form__element--big:hover input,.Vlt-form__element--big.active .items-container,.Vlt-form__element--big.active .main,.Vlt-form__element--big.active input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .Vlt-composite.Vlt-dropdown{margin-top:3px}.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) input,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .items-container{background-color:var(--vgip-meta-input-bg-color);border:1px solid var(--vgip-meta-input-border-color);border-bottom:0;border-top-left-radius:6px;border-top-right-radius:6px}.Vlt-form__element--big.multiple .items-container.creatable{margin-right:62px}.Vlt-form__element--big.multiple .items-container .badges-container{overflow:auto;max-height:140px;padding:6px 4px 0 6px}.Vlt-form__element--big.multiple .items-container .badges-container .Vlt-badge{margin-bottom:3px;margin-left:0;margin-right:3px;overflow:hidden;max-width:100%}.Vlt-form__element--big.multiple:not(.has-value) .items-container{border:0}.Vlt-form__element--big.multiple.has-value .main,.Vlt-form__element--big.multiple.has-value input{border-top:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.Vlt-form__element--big.Vlt-form__element--error .items-container,.Vlt-form__element--big.Vlt-form__element--error .main,.Vlt-form__element--big.Vlt-form__element--error input{border-color:#f25a6b;background:var(--vgip-meta-input-bg-color)}label.Vlt-truncate{padding-right:42px}.Vlt-dropdown__panel{width:100%}.Vlt-dropdown__panel .Vlt-dropdown__link--selected{background:rgba(44,45,48,.05)}.Vlt-dropdown__panel label{margin-top:0;padding:12px 20px;top:0;left:0;pointer-events:initial;position:initial;color:initial;font-size:inherit;transition:none;cursor:pointer}.Vlt-dropdown__panel label input{height:0}.Vlt-composite__append.right-actions{position:absolute;top:5px;right:10px;cursor:pointer}.Vlt-composite__append.right-actions .Vlt-composite__append--icon{width:36px;outline:none;position:initial;display:inline-block}.Vlt-composite__append.right-actions .Vlt-composite__append--icon svg{height:14px;width:14px}.Vlt-composite__append.right-actions .Vlt-composite__append--icon:hover svg,.Vlt-composite__append.right-actions .Vlt-composite__append--icon:focus svg{fill:var(--vgip-meta-input-accent-color)}\n"] }]
|
|
456
|
+
args: [{ viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>{{model}}</div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element Vlt-form__element--big\" [ngClass]=\"{'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched), 'multiple': multiple, 'has-value': f.value, active: keyListenerActive }\">\n <div *ngIf='multiple' class='items-container'>\n <div *ngIf='model' class='badges-container keep-focus' (click)='focus()'>\n <div *ngFor='let item of model' class=\"Vlt-badge Vlt-badge--app Vlt-badge--large keep-focus\">\n {{item}}\n <button class=\"Vlt-badge__dismiss keep-focus\" (click)='remove($event, item)'></button>\n </div>\n </div>\n </div>\n <div class=\"Vlt-input Vlt-dropdown\" style='display: block;'>\n <label class='wrapper'>\n <input class='main model' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [required]='validations.required' [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [step]='validations.step' [disabled]='disabled' [readonly]=\"readonly\" [(ngModel)]='model' (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name' [type]=\"multiple ? 'hidden' : (meta.subtype || 'text')\" placeholder=\" \" (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <input *ngIf='multiple' class='main' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [(ngModel)]='addText' [ngModelOptions]=\"{ standalone: true }\" [type]=\"meta.subtype || 'text'\" [disabled]='disabled' [readonly]='readonly' placeholder=\"+Add\" (keydown.enter)='onAdd($event)' (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span> <span class='Vlt-black' *ngIf='model && multiple'>({{model.length}})</span></label>\n </label>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && showClear' class=\"Vlt-composite__append--icon\" (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div>\n </div>\n <!-- <div *ngIf=\"!meta.subtype || meta.subtype == 'text'\" class=\"Vlt-composite__append Vlt-composite__append--icon\" style='bottom: 7px; right: 10px; padding: 3px; width: initial; height: initial; cursor: pointer;'>\n <div *ngIf=\"!meta.type || meta.type === 'string'\" class=\"Vlt-composite__icon\" (click)='textToSpeech()'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-microphone\"/></svg>\n </div>\n </div> -->\n <div *ngIf=\"suggestions.length\" class=\"Vlt-dropdown__panel\">\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area suggestions\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 13px;'>\n Suggestions\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='dropdown' class=\"Vlt-dropdown__scroll\">\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': (activeSuggestionIndex === i) }\" (click)='onSuggestionSelect($event, suggestion)' *ngFor='let suggestion of suggestions; let i = index' class=\"Vlt-dropdown__link\" style='padding: 0;'>\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label [title]='suggestion.label || suggestion'>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(suggestion) !== -1'/>\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{suggestion.label || suggestion}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>\n {{suggestion.label || suggestion}}\n </div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\" style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\">Clear all</button>\n <button (click)='dismissDropdown($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched && keyListenerActive))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.minlength\">Must be longer than {{validations.minlength}} characters. </span>\n <span *ngIf=\"f.errors.maxlength\">Must be lest than {{validations.maxlength}} characters. </span>\n <span *ngIf=\"f.errors.pattern\">{{ validations.pattern.text || \"Should match '\"+validations.pattern+\"' pattern.\" }}. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-form__element--big .Vlt-input input{padding-right:40px;text-overflow:ellipsis}@media screen and (-webkit-min-device-pixel-ratio: 0){.Vlt-form__element--big .Vlt-input input{line-height:20px}}.Vlt-form__element--big .Vlt-input input:disabled{cursor:not-allowed}.Vlt-form__element--big:hover .items-container,.Vlt-form__element--big:hover .main,.Vlt-form__element--big:hover input,.Vlt-form__element--big.active .items-container,.Vlt-form__element--big.active .main,.Vlt-form__element--big.active input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .Vlt-composite.Vlt-dropdown{margin-top:3px}.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple:hover:not(.Vlt-form__element--error) input,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .items-container,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) .main,.Vlt-form__element--big.multiple.active:not(.Vlt-form__element--error) input{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-form__element--big.multiple .items-container{background-color:var(--vgip-meta-input-bg-color);border:1px solid var(--vgip-meta-input-border-color);border-bottom:0;border-top-left-radius:6px;border-top-right-radius:6px}.Vlt-form__element--big.multiple .items-container.creatable{margin-right:62px}.Vlt-form__element--big.multiple .items-container .badges-container{overflow:auto;max-height:140px;padding:6px 4px 0 6px}.Vlt-form__element--big.multiple .items-container .badges-container .Vlt-badge{margin-bottom:3px;margin-left:0;margin-right:3px;overflow:hidden;max-width:100%}.Vlt-form__element--big.multiple:not(.has-value) .items-container{border:0}.Vlt-form__element--big.multiple.has-value .main,.Vlt-form__element--big.multiple.has-value input{border-top:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.Vlt-form__element--big.Vlt-form__element--error .items-container,.Vlt-form__element--big.Vlt-form__element--error .main,.Vlt-form__element--big.Vlt-form__element--error input{border-color:#f25a6b;background:var(--vgip-meta-input-bg-color)}label.Vlt-truncate{padding-right:42px}.Vlt-dropdown__panel{width:100%}.Vlt-dropdown__panel .Vlt-dropdown__link--selected{background:rgba(44,45,48,.05)}.Vlt-dropdown__panel label{margin-top:0;padding:12px 20px;top:0;left:0;pointer-events:initial;position:initial;color:initial;font-size:inherit;transition:none;cursor:pointer}.Vlt-dropdown__panel label input{height:0}.Vlt-composite__append.right-actions{position:absolute;top:5px;right:10px;cursor:pointer}.Vlt-composite__append.right-actions .Vlt-composite__append--icon{width:36px;outline:none;position:initial;display:inline-block}.Vlt-composite__append.right-actions .Vlt-composite__append--icon svg{height:14px;width:14px}.Vlt-composite__append.right-actions .Vlt-composite__append--icon:hover svg,.Vlt-composite__append.right-actions .Vlt-composite__append--icon:focus svg{fill:var(--vgip-meta-input-accent-color)}\n"] }]
|
|
457
457
|
}], ctorParameters: function () { return [{ type: MetaContextService }]; } });
|
|
458
458
|
|
|
459
459
|
export { FieldInput };
|
|
460
|
-
//# sourceMappingURL=vgip-meta-ui-index-
|
|
460
|
+
//# sourceMappingURL=vgip-meta-ui-index-eba0dd05.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vgip-meta-ui-index-eba0dd05.mjs","sources":["../../../projects/meta-ui/src/lib/fieldInput/index.ts","../../../projects/meta-ui/src/lib/fieldInput/view.html"],"sourcesContent":["/*\n * @Author: Alexander.Vangelov@vonage.com\n * @Date: 2019-09-19 17:35:09\n * @Last Modified by: Alexander.Vangelov@vonage.com\n * @Last Modified time: 2020-05-12 17:45:46\n */\n\nimport { Component, OnInit } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\nimport { FieldAbstract } from '../fieldAbstract';\n// import { IMetaFieldInut } from '../definitions/fields/IMetaFieldInput';\nimport { templateBuilder } from '../common/utils/templateBuilder';\nimport { relativeTimeBuilder } from '../common/utils/relativeTimeBuilder';\nimport { MetaContextService } from '../services/metaContext';\n\n// import { MetaValidations } from '../common/decorators/metaValidations.decorator';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldInput extends FieldAbstract implements OnInit {\n input: any;\n dropdown: any;\n activeSuggestionIndex: number;\n value: any;\n multiple: boolean;\n addText;\n showClear: boolean;\n asyncSuggestions: Array<any>;\n\n constructor( private metaContext: MetaContextService ) {\n super();\n }\n\n get suggestions() {\n return this.asyncSuggestions || this.meta.suggestions || [];\n }\n\n ngOnInit() {\n this.multiple = (this.meta.type === 'multistring') || this.meta.multiple;\n // console.log('FieldInput init', this.meta.name);\n this.validationAttributes = ['pattern', 'required', 'minlength', 'maxlength', 'min', 'max', 'step'];\n if (this.meta.picklist) { // just for test! all metadata should be transformed to v3 protocol\n this.meta.suggestions = (this.meta.picklist || []).map((s) => s.label);\n }\n if (this.meta.type === 'number') {\n if (this.meta.subtype === 'float' && !this.meta.step) {\n this.meta.step = '0.01';\n }\n this.meta.subtype = 'number';\n }\n if (['date', 'time', 'datetime'].indexOf(this.meta.type) !== -1) {\n this.meta.subtype = this.meta.type;\n if (this.meta.type === 'datetime') {\n this.meta.subtype = 'datetime-local';\n }\n delete this.multiple; // no multiple support for timestamps\n }\n this.showClear = !this.multiple && [\n '', 'string', 'url', 'email', 'password', 'tel', 'date', 'datetime-local', 'time'\n ].indexOf(this.meta.subtype || '') !== -1;\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (this.multiple) {\n if (typeof(value) !== 'undefined') {\n const values = (value instanceof Array) ? value : [value];\n this.model = [];\n for (let v of values) {\n if (!this.model) {\n this.model = [];\n }\n if (typeof (v) === 'object' && v !== null) {\n v = v.id || v.value;\n }\n this.model.push(v);\n }\n this.value = this.model;\n }\n } else {\n if (typeof(value) !== 'undefined'\n && !(value === null && ((typeof(this.meta.type) === 'undefined') || ['string', 'number'].indexOf(this.meta.type) !== -1))\n ) {\n if (this.meta.type === 'number' && typeof(value) === 'string') {\n value = parseInt(value, 10);\n } else if (typeof (value) === 'object' && value !== null) {\n value = value.id || value.value;\n }\n if (['datetime', 'date', 'datetime-local'].indexOf(this.meta.subtype || this.meta.type) !== -1 && value) {\n try {\n let date: Date;\n if ((typeof (value) === 'number')) {\n date = new Date(parseInt(value as any, 10));\n if ('date' === (this.meta.type || this.meta.subtype)) {\n date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000));\n }\n } else {\n if ('date' === (this.meta.subtype || this.meta.type)) {\n date = new Date(Date.parse(value));\n } else {\n date = new Date(Date.parse(`${value}Z`) + (new Date().getTimezoneOffset() * 60000));\n }\n }\n if (typeof (value) === 'number') {\n switch (this.meta.subtype || this.meta.type) {\n case 'datetime-local':\n case 'datetime': {\n this.model = `${date.getFullYear()}-${('00' + (date.getMonth() + 1)).slice(-2)}-${('00' + date.getDate()).slice(-2)}`;\n this.model += `T${('00' + date.getHours()).slice(-2)}:${('00' + date.getMinutes()).slice(-2)}`;\n break;\n }\n case 'date': {\n this.model = date.toISOString().split('T')[0];\n break;\n }\n }\n }\n if (this.meta.valueType === 'string') {\n if ((this.meta.subtype || this.meta.type) === 'date') {\n this.value = date.toISOString().split('T')[0];\n } else {\n this.value = date.toISOString();\n }\n } else {\n if ((this.meta.subtype || this.meta.type) === 'date') {\n date.setFullYear(date.getUTCFullYear());\n date.setMonth(date.getUTCMonth());\n date.setDate(date.getUTCDate());\n date.setMinutes(0);\n date.setHours(0);\n date.setSeconds(0);\n date.setMilliseconds(0);\n this.value = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).getTime();\n } else {\n this.value = date.getTime();\n }\n }\n } catch (e) {\n console.error('Date parse error', e.message, `\"${value}\"`, `(${typeof (value)})`);\n }\n } else if ('time' === (this.meta.subtype || this.meta.type)) {\n try {\n let date: Date;\n if (typeof (value) === 'number') {\n date = new Date(parseInt(value as any, 10));\n if (value < 86400000) {\n date = new Date(date.getTime() + (date.getTimezoneOffset() * 60000));\n }\n } else {\n date = new Date(\n Date.parse(new Date().toISOString().replace(/T.*Z/, `T${value}Z`)) + (new Date().getTimezoneOffset() * 60000)\n );\n }\n this.model = date.toTimeString().split(' ')[0];\n date.setFullYear(1970);\n date.setMonth(0);\n date.setDate(1);\n date.setMilliseconds(0);\n this.value = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).getTime();\n } catch (e) {\n console.error('Date parse error', e.message, `\"${value}\"`, `(${typeof (value)})`);\n }\n } else {\n if (!value && (typeof(this.prevModel) === 'string') && this.isPersistedParent) {\n value = '';\n }\n this.model = value;\n this.value = value;\n }\n } else {\n delete this.model;\n delete this.value;\n }\n }\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: this.sendToServer,\n configurable: true\n });\n if (typeof(origValue) !== 'undefined') {\n this.parent[this.meta.name] = origValue;\n }\n const d = this.meta.default || this.meta.defaultValue;\n if (d && typeof(this.model) === 'undefined') {\n if (this.multiple) {\n this.parent[this.meta.name] = [];\n if (d.length) {\n for (const dv of this.default) { // TODO ???\n const defaultValueItem = (typeof (dv) === 'string' || dv === null) ? dv : (dv.id || dv.value);\n if (defaultValueItem || defaultValueItem === 0) {\n this.parent[this.meta.name].push(defaultValueItem);\n }\n }\n }\n } else {\n const defaultValue = (typeof (d) === 'string') ? d : (d.id || d.value);\n if (defaultValue || defaultValue === 0) {\n if (/^(date|time)/.test(this.meta.subtype) && typeof(defaultValue) === 'string') {\n this.parent[this.meta.name] = relativeTimeBuilder(this.meta.subtype, defaultValue, this.validations.step);\n } else {\n if (this.meta.type === 'string' && defaultValue) {\n this.parent[this.meta.name] = templateBuilder(this.metaContext, defaultValue);\n } else {\n this.parent[this.meta.name] = defaultValue;\n }\n }\n }\n }\n }\n }\n\n onActivated(ev) {\n this.input = ev.srcElement;\n if (!this.dropdown) {\n this.dropdown = ev.srcElement.parentNode.parentNode;\n }\n this.showDropdown();\n }\n\n clear(ev?) {\n delete this.model;\n delete this.activeSuggestionIndex;\n delete this.asyncSuggestions;\n this.onModelChange(this.model);\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n this.focus();\n return false;\n }\n }\n\n onBlur(ev) {\n let internalControl = false;\n if (ev.relatedTarget) {\n if (!this.elementRef.nativeElement.contains(ev.relatedTarget)) {\n this.dismissDropdown();\n } else {\n internalControl = true;\n }\n }\n if (this.keyListenerActive && !internalControl) {\n this.input.removeEventListener('keydown', this.keydown);\n setTimeout(() => {\n if (!this.keyListenerActive) {\n document.removeEventListener('click', this.clickout);\n }\n }, 400);\n delete this.keyListenerActive;\n }\n }\n\n onAdd(ev) {\n console.log('onAdd', this.addText);\n if (this.addText) {\n if ((this.model || []).indexOf(this.addText) === -1) {\n this.onSuggestionSelect(ev, this.addText);\n if (!this.meta.suggestions) {\n this.meta.suggestions = [];\n }\n this.meta.suggestions.unshift(this.addText);\n } else {\n ev.preventDefault();\n ev.stopPropagation();\n this.focus();\n }\n delete this.addText;\n }\n }\n\n remove(ev, item) {\n ev.preventDefault();\n ev.stopPropagation();\n const optionIndex = this.model.indexOf(item);\n if (optionIndex !== -1) {\n this.model.splice(optionIndex, 1);\n if (!this.model.length) {\n delete this.model;\n delete this.value;\n }\n this.onModelChange(this.model);\n }\n }\n\n onSuggestionSelect(ev, suggestion) {\n if (!suggestion) {\n return;\n }\n ev.preventDefault();\n ev.stopPropagation();\n this.focus();\n let suggestionValue = suggestion.id || suggestion.value || suggestion;\n if (typeof(suggestionValue) === 'string') {\n if (/^(date|time)/.test(this.meta.subtype)) {\n suggestionValue = relativeTimeBuilder(this.meta.subtype, suggestionValue, this.validations.step);\n } else if (this.meta.type === 'string') {\n suggestionValue = templateBuilder(this.metaContext, suggestionValue);\n } else {\n suggestionValue = suggestion;\n }\n }\n if (this.multiple) {\n if (!this.model) {\n this.model = [];\n }\n let existingItemIndex = this.model.indexOf(suggestionValue);\n if (existingItemIndex === -1) {\n this.model.push(suggestionValue);\n } else {\n this.model.splice(existingItemIndex, 1);\n existingItemIndex = undefined;\n }\n this.onModelChange(this.model);\n } else {\n this.dismissDropdown();\n this.model = suggestionValue;\n this.onModelChange(suggestionValue);\n this.activeSuggestionIndex = this.suggestions.indexOf(suggestion);\n }\n }\n\n textToSpeech() { }\n\n dismissDropdown(event?) {\n if (event) {\n this.focus();\n }\n if (this.dropdown) {\n this.dropdown.classList.remove('Vlt-dropdown--expanded');\n }\n }\n\n private ensureDropdownIsVisible() {\n setTimeout(() => {\n const holder = this.dropdown.closest('.Vlt-card__content');\n const el = this.elementRef.nativeElement.querySelector('.Vlt-dropdown__panel');\n if (el) {\n const elRect = el.getBoundingClientRect();\n const holderRect = holder.getBoundingClientRect();\n if (holderRect.top + holderRect.height < elRect.top + elRect.height) {\n el.scrollIntoView({ block: 'end' });\n }\n }\n }, 400);\n }\n\n private showDropdown() {\n if (this.meta.suggestions && this.meta.suggestions.length) {\n this.dropdown.classList.add('Vlt-dropdown--expanded');\n this.ensureDropdownIsVisible();\n }\n if (!this.keyListenerActive) {\n this.input.addEventListener('keydown', this.keydown);\n setTimeout(() => {\n document.addEventListener('click', this.clickout);\n }, 200);\n this.keyListenerActive = true;\n }\n if (typeof(this.activeSuggestionIndex) === 'undefined') {\n if (this.model && this.suggestions.length) {\n for (let suggestionIndex = 0; suggestionIndex < this.suggestions.length; suggestionIndex++) {\n if (this.model === this.suggestions[suggestionIndex]) {\n this.activeSuggestionIndex = suggestionIndex;\n return;\n }\n }\n delete this.activeSuggestionIndex;\n }\n }\n }\n\n private clickout = (event) => {\n if (event.target.className === 'Vlt-dropdown__link' && this.elementRef.nativeElement.contains(event.target)) {\n this.focus();\n // this.dismissDropdown();\n // this.parent[this.meta.name] = event.target.textContent;\n\n } else if (event.target !== this.input && event.target.className !== 'Vlt-dropdown__title') {\n this.dismissDropdown();\n } else {\n this.focus();\n }\n };\n\n private keydown = (event) => {\n switch (event.key) {\n case 'ArrowDown': {\n if (['datetime', 'time', 'date', 'datetime-local'].indexOf(this.meta.subtype || this.meta.type) !== -1) {\n break;\n }\n this.showDropdown();\n event.preventDefault();\n if (typeof (this.activeSuggestionIndex) === 'undefined') {\n this.activeSuggestionIndex = 0;\n } else {\n this.activeSuggestionIndex++;\n if (this.activeSuggestionIndex >= this.suggestions.length) {\n this.activeSuggestionIndex = 0;\n }\n }\n break;\n }\n case 'ArrowUp': {\n if (['datetime', 'time', 'date', 'datetime-local'].indexOf(this.meta.subtype || this.meta.type) !== -1) {\n break;\n }\n this.showDropdown();\n event.preventDefault();\n if (typeof (this.activeSuggestionIndex) === 'undefined') {\n this.activeSuggestionIndex = this.suggestions.length - 1;\n } else {\n this.activeSuggestionIndex--;\n if (this.activeSuggestionIndex < 0) {\n this.activeSuggestionIndex = this.suggestions.length - 1;\n }\n }\n break;\n }\n case 'Space':\n case 'Enter': {\n if (typeof (this.activeSuggestionIndex) !== 'undefined') {\n event.preventDefault();\n event.stopPropagation();\n this.onSuggestionSelect(event, this.suggestions[this.activeSuggestionIndex]);\n delete this.activeSuggestionIndex;\n }\n break;\n }\n case 'Escape': {\n event.preventDefault();\n event.stopPropagation();\n this.dismissDropdown();\n break;\n }\n default: {\n setTimeout(() => {\n if (!this.model) {\n delete this.activeSuggestionIndex;\n delete this.asyncSuggestions;\n } else if (typeof(this.model) === 'string') {\n this.asyncSuggestions = (this.meta.suggestions || []).filter((s) => {\n const suggestionText = (s.id || s.value || s || '').toLowerCase();\n return suggestionText.indexOf(this.model.toLowerCase()) !== -1;\n });\n }\n });\n }\n }\n };\n\n}\n","<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>{{model}}</div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element Vlt-form__element--big\" [ngClass]=\"{'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched), 'multiple': multiple, 'has-value': f.value, active: keyListenerActive }\">\n <div *ngIf='multiple' class='items-container'>\n <div *ngIf='model' class='badges-container keep-focus' (click)='focus()'>\n <div *ngFor='let item of model' class=\"Vlt-badge Vlt-badge--app Vlt-badge--large keep-focus\">\n {{item}}\n <button class=\"Vlt-badge__dismiss keep-focus\" (click)='remove($event, item)'></button>\n </div>\n </div>\n </div>\n <div class=\"Vlt-input Vlt-dropdown\" style='display: block;'>\n <label class='wrapper'>\n <input class='main model' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [required]='validations.required' [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [step]='validations.step' [disabled]='disabled' [readonly]=\"readonly\" [(ngModel)]='model' (ngModelChange)=\"onModelChange($event)\" #f='ngModel' [name]='name' [type]=\"multiple ? 'hidden' : (meta.subtype || 'text')\" placeholder=\" \" (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <input *ngIf='multiple' class='main' [pattern]=\"validations.pattern ? validations.pattern.value || validations.pattern : null\" [minlength]='validations.minlength' [maxlength]='validations.maxlength' [min]='validations.min' [max]='validations.max' [(ngModel)]='addText' [ngModelOptions]=\"{ standalone: true }\" [type]=\"meta.subtype || 'text'\" [disabled]='disabled' [readonly]='readonly' placeholder=\"+Add\" (keydown.enter)='onAdd($event)' (click)='onActivated($event)' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <label class='Vlt-truncate'>{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span> <span class='Vlt-black' *ngIf='model && multiple'>({{model.length}})</span></label>\n </label>\n <div class='Vlt-composite__append right-actions'>\n <div *ngIf='model && showClear' class=\"Vlt-composite__append--icon\" (click)='clear($event)'>\n <div class=\"Vlt-composite__icon\">\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div>\n </div>\n <!-- <div *ngIf=\"!meta.subtype || meta.subtype == 'text'\" class=\"Vlt-composite__append Vlt-composite__append--icon\" style='bottom: 7px; right: 10px; padding: 3px; width: initial; height: initial; cursor: pointer;'>\n <div *ngIf=\"!meta.type || meta.type === 'string'\" class=\"Vlt-composite__icon\" (click)='textToSpeech()'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-microphone\"/></svg>\n </div>\n </div> -->\n <div *ngIf=\"suggestions.length\" class=\"Vlt-dropdown__panel\">\n <div class=\"Vlt-dropdown__panel__content Vlt-dropdown__panel__content--scroll-area suggestions\">\n <!-- <div class=\"Vlt-dropdown__title\" style='padding-left: 13px;'>\n Suggestions\n <div class=\"Vlt-dropdown__close Vlt-white\" (click)='dismissDropdown($event)'>\n <svg class='Vlt-icon Vlt-icon--small'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-cross\"/></svg>\n </div>\n </div> -->\n <div class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='dropdown' class=\"Vlt-dropdown__scroll\">\n <div [ngClass]=\"{ 'Vlt-dropdown__link--selected': (activeSuggestionIndex === i) }\" (click)='onSuggestionSelect($event, suggestion)' *ngFor='let suggestion of suggestions; let i = index' class=\"Vlt-dropdown__link\" style='padding: 0;'>\n <div *ngIf='multiple' class=\"Vlt-checkbox\" style='width: 100%;'>\n <label [title]='suggestion.label || suggestion'>\n <span class=\"Vlt-checkbox__button\">\n <input type=\"checkbox\" [checked]='model && model.indexOf(suggestion) !== -1'/>\n <span class=\"Vlt-checkbox__icon\"></span>\n </span>\n {{suggestion.label || suggestion}}\n </label>\n </div>\n <div *ngIf='!multiple' style='padding: 12px 20px;'>\n {{suggestion.label || suggestion}}\n </div>\n </div>\n </div>\n <div *ngIf='!multiple' class=\"Vlt-dropdown__block\"></div>\n <div *ngIf='multiple' class=\"Vlt-dropdown__block Vlt-dropdown__block--nowrap\" style='padding: 8px 16px 16px;'>\n <button (click)='clear($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small Vlt-btn--outline\">Clear all</button>\n <button (click)='dismissDropdown($event)' type='button' class=\"Vlt-btn Vlt-btn--secondary Vlt-btn--app Vlt-btn--small\">Done</button>\n </div>\n </div>\n </div>\n </div>\n <small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched && keyListenerActive))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required. </span>\n <span *ngIf=\"f.errors.minlength\">Must be longer than {{validations.minlength}} characters. </span>\n <span *ngIf=\"f.errors.maxlength\">Must be lest than {{validations.maxlength}} characters. </span>\n <span *ngIf=\"f.errors.pattern\">{{ validations.pattern.text || \"Should match '\"+validations.pattern+\"' pattern.\" }}. </span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n"],"names":["i1.MetaContextService","i2","i3","i4.MetaModelPipe"],"mappings":";;;;;;;;;;;;AAAA;;;;;AAKG;AAWH;AAOM,MAAO,UAAW,SAAQ,aAAa,CAAA;AAU3C,IAAA,WAAA,CAAqB,WAA+B,EAAA;AAClD,QAAA,KAAK,EAAE,CAAC;QADW,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;AAsV5C,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAK,KAAI;YAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,oBAAoB,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC3G,IAAI,CAAC,KAAK,EAAE,CAAC;;;AAId,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,qBAAqB,EAAE;gBAC1F,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,aAAA;AACH,SAAC,CAAC;AAEM,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,KAAK,KAAI;YAC1B,QAAQ,KAAK,CAAC,GAAG;gBACf,KAAK,WAAW,EAAE;oBAChB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;wBACtG,MAAM;AACP,qBAAA;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,WAAW,EAAE;AACvD,wBAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AAChC,qBAAA;AAAM,yBAAA;wBACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC7B,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACzD,4BAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;AAChC,yBAAA;AACF,qBAAA;oBACD,MAAM;AACP,iBAAA;gBACD,KAAK,SAAS,EAAE;oBACd,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;wBACtG,MAAM;AACP,qBAAA;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,WAAW,EAAE;wBACvD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,qBAAA;AAAM,yBAAA;wBACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;AAC7B,wBAAA,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC,EAAE;4BAClC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1D,yBAAA;AACF,qBAAA;oBACD,MAAM;AACP,iBAAA;AACD,gBAAA,KAAK,OAAO,CAAC;gBACb,KAAK,OAAO,EAAE;oBACZ,IAAI,QAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,WAAW,EAAE;wBACvD,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,wBAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;wBAC7E,OAAO,IAAI,CAAC,qBAAqB,CAAC;AACnC,qBAAA;oBACD,MAAM;AACP,iBAAA;gBACD,KAAK,QAAQ,EAAE;oBACb,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;oBACvB,MAAM;AACP,iBAAA;AACD,gBAAA,SAAS;oBACP,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;4BACf,OAAO,IAAI,CAAC,qBAAqB,CAAC;4BAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAC9B,yBAAA;6BAAM,IAAI,QAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE;AAC1C,4BAAA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,KAAI;AACjE,gCAAA,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;AAClE,gCAAA,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,6BAAC,CAAC,CAAC;AACJ,yBAAA;AACH,qBAAC,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AACH,SAAC,CAAC;KAjaD;AAED,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;KAC7D;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAEzE,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACpG,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/B,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACpD,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACzB,aAAA;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;AAC9B,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACnC,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;AACtC,aAAA;AACD,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC;AACtB,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI;AACjC,YAAA,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;AAClF,SAAA,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAA,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AACjD,YAAA,GAAG,EAAE,CAAC,KAAK,KAAI;gBACb,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,oBAAA,IAAI,QAAO,KAAK,CAAC,KAAK,WAAW,EAAE;AACjC,wBAAA,MAAM,MAAM,GAAG,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1D,wBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,wBAAA,KAAK,IAAI,CAAC,IAAI,MAAM,EAAE;AACpB,4BAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,gCAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,6BAAA;4BACD,IAAI,QAAQ,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;gCACzC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;AACrB,6BAAA;AACD,4BAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,qBAAA;AACF,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,QAAO,KAAK,CAAC,KAAK,WAAW;AAC5B,2BAAA,EAAE,KAAK,KAAK,IAAI,KAAK,CAAC,QAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,WAAW,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACzH;AACA,wBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAO,KAAK,CAAC,KAAK,QAAQ,EAAE;AAC7D,4BAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7B,yBAAA;6BAAM,IAAI,QAAQ,KAAK,CAAC,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;4BACxD,KAAK,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC;AACjC,yBAAA;wBACD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,EAAE;4BACvG,IAAI;AACF,gCAAA,IAAI,IAAU,CAAC;gCACf,KAAK,QAAQ,KAAK,CAAC,KAAK,QAAQ,GAAG;oCACjC,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,oCAAA,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACpD,wCAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,qCAAA;AACF,iCAAA;AAAM,qCAAA;AACL,oCAAA,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wCACpD,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,qCAAA;AAAM,yCAAA;wCACL,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAG,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACrF,qCAAA;AACF,iCAAA;AACD,gCAAA,IAAI,QAAQ,KAAK,CAAC,KAAK,QAAQ,EAAE;oCAC/B,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI;AACzC,wCAAA,KAAK,gBAAgB,CAAC;wCACtB,KAAK,UAAU,EAAE;AACf,4CAAA,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,EAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtH,4CAAA,IAAI,CAAC,KAAK,IAAI,CAAA,CAAA,EAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4CAC/F,MAAM;AACP,yCAAA;wCACD,KAAK,MAAM,EAAE;AACX,4CAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4CAC9C,MAAM;AACP,yCAAA;AACF,qCAAA;AACF,iCAAA;AACD,gCAAA,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AACpC,oCAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,MAAM,EAAE;AACpD,wCAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,qCAAA;AAAM,yCAAA;AACL,wCAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACjC,qCAAA;AACF,iCAAA;AAAM,qCAAA;AACL,oCAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,MAAM,EAAE;wCACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;wCACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;wCAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAChC,wCAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACnB,wCAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjB,wCAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACnB,wCAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;wCACxB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACtF,qCAAA;AAAM,yCAAA;AACL,wCAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAC7B,qCAAA;AACF,iCAAA;AACF,6BAAA;AAAC,4BAAA,OAAO,CAAC,EAAE;gCACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,KAAK,CAAG,CAAA,CAAA,EAAE,IAAI,QAAQ,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;AACnF,6BAAA;AACF,yBAAA;AAAM,6BAAA,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC3D,IAAI;AACF,gCAAA,IAAI,IAAU,CAAC;AACf,gCAAA,IAAI,QAAQ,KAAK,CAAC,KAAK,QAAQ,EAAE;oCAC/B,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAY,EAAE,EAAE,CAAC,CAAC,CAAC;oCAC5C,IAAI,KAAK,GAAG,QAAQ,EAAE;AACpB,wCAAA,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AACtE,qCAAA;AACF,iCAAA;AAAM,qCAAA;AACL,oCAAA,IAAI,GAAG,IAAI,IAAI,CACb,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAA,CAAA,EAAI,KAAK,CAAG,CAAA,CAAA,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAC9G,CAAC;AACH,iCAAA;AACD,gCAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,gCAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACvB,gCAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjB,gCAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAChB,gCAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gCACxB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACtF,6BAAA;AAAC,4BAAA,OAAO,CAAC,EAAE;gCACV,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAA,CAAA,EAAI,KAAK,CAAG,CAAA,CAAA,EAAE,IAAI,QAAQ,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;AACnF,6BAAA;AACF,yBAAA;AAAM,6BAAA;AACL,4BAAA,IAAI,CAAC,KAAK,KAAK,QAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;gCAC7E,KAAK,GAAG,EAAE,CAAC;AACZ,6BAAA;AACD,4BAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,4BAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACpB,yBAAA;AACF,qBAAA;AAAM,yBAAA;wBACL,OAAO,IAAI,CAAC,KAAK,CAAC;wBAClB,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,qBAAA;AACF,iBAAA;gBACD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;aACvC;AACD,YAAA,GAAG,EAAE,MAAM,IAAI,CAAC,KAAK;YACrB,UAAU,EAAE,IAAI,CAAC,YAAY;AAC7B,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,QAAO,SAAS,CAAC,KAAK,WAAW,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;AACzC,SAAA;AACD,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,IAAI,QAAO,IAAI,CAAC,KAAK,CAAC,KAAK,WAAW,EAAE;YAC3C,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,MAAM,EAAE;oBACZ,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;AAC7B,wBAAA,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAC9F,wBAAA,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,CAAC,EAAE;AAC9C,4BAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACpD,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACvE,gBAAA,IAAI,YAAY,IAAI,YAAY,KAAK,CAAC,EAAE;AACtC,oBAAA,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAO,YAAY,CAAC,KAAK,QAAQ,EAAE;wBAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3G,qBAAA;AAAM,yBAAA;wBACL,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,EAAE;AAC/C,4BAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC/E,yBAAA;AAAM,6BAAA;4BACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;AAC5C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,WAAW,CAAC,EAAE,EAAA;AACZ,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;AACrD,SAAA;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED,IAAA,KAAK,CAAC,EAAG,EAAA;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;QAClB,OAAO,IAAI,CAAC,qBAAqB,CAAC;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAC7B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,EAAE,EAAE;YACN,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,EAAE,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,MAAM,CAAC,EAAE,EAAA;QACP,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,EAAE,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;gBAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,aAAA;AAAM,iBAAA;gBACL,eAAe,GAAG,IAAI,CAAC;AACxB,aAAA;AACF,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,eAAe,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtD,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;YACR,OAAO,IAAI,CAAC,iBAAiB,CAAC;AAC/B,SAAA;KACF;AAED,IAAA,KAAK,CAAC,EAAE,EAAA;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACnD,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC1B,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AAC5B,iBAAA;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,aAAA;AAAM,iBAAA;gBACL,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,EAAE,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,aAAA;YACD,OAAO,IAAI,CAAC,OAAO,CAAC;AACrB,SAAA;KACF;IAED,MAAM,CAAC,EAAE,EAAE,IAAI,EAAA;QACb,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACtB,OAAO,IAAI,CAAC,KAAK,CAAC;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC;AACnB,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;KACF;IAED,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAA;QAC/B,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;AACR,SAAA;QACD,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,eAAe,GAAG,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC;AACtE,QAAA,IAAI,QAAO,eAAe,CAAC,KAAK,QAAQ,EAAE;YACxC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC1C,gBAAA,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClG,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACtC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AACtE,aAAA;AAAM,iBAAA;gBACL,eAAe,GAAG,UAAU,CAAC;AAC9B,aAAA;AACF,SAAA;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,gBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,aAAA;YACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5D,YAAA,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;AAC5B,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAClC,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBACxC,iBAAiB,GAAG,SAAS,CAAC;AAC/B,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnE,SAAA;KACF;AAED,IAAA,YAAY,MAAM;AAElB,IAAA,eAAe,CAAC,KAAM,EAAA;AACpB,QAAA,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,SAAA;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC1D,SAAA;KACF;IAEO,uBAAuB,GAAA;QAC7B,UAAU,CAAC,MAAK;YACd,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC3D,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;AAC/E,YAAA,IAAI,EAAE,EAAE;AACN,gBAAA,MAAM,MAAM,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAC1C,gBAAA,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;AAClD,gBAAA,IAAI,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE;oBACnE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,iBAAA;AACF,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;KACT;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACzD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtD,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAChC,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,UAAU,CAAC,MAAK;gBACd,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD,EAAE,GAAG,CAAC,CAAC;AACR,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;AAC/B,SAAA;QACD,IAAI,QAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,WAAW,EAAE;YACtD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACzC,gBAAA,KAAK,IAAI,eAAe,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE;oBAC1F,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE;AACpD,wBAAA,IAAI,CAAC,qBAAqB,GAAG,eAAe,CAAC;wBAC7C,OAAO;AACR,qBAAA;AACF,iBAAA;gBACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;AACnC,aAAA;AACF,SAAA;KACF;+GA9VU,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,ECvBvB,QAAA,EAAA,cAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,y0LAyEA,EDpDiB,MAAA,EAAA,CAAA,mjGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAA,CAAA,CAAA,EAAA;;4FAExD,UAAU,EAAA,UAAA,EAAA,CAAA;kBALtB,SAAS;oCAGO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAA,QAAA,EAAA,y0LAAA,EAAA,MAAA,EAAA,CAAA,mjGAAA,CAAA,EAAA,CAAA;;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/forms';
|
|
4
|
+
import { ControlContainer, NgForm } from '@angular/forms';
|
|
5
|
+
import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-ce47588e.mjs';
|
|
6
|
+
import * as i1 from '@angular/common';
|
|
7
|
+
import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-3487ede2.mjs';
|
|
8
|
+
import 'rxjs';
|
|
9
|
+
import 'rxjs/operators';
|
|
10
|
+
|
|
11
|
+
/*
|
|
12
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
13
|
+
* @Date: 2019-09-19 17:34:49
|
|
14
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
15
|
+
* @Last Modified time: 2020-03-26 12:57:51
|
|
16
|
+
*/
|
|
17
|
+
// import { tMetaField } from '../../../metaTypes/tMetaField'
|
|
18
|
+
class FieldBoolean extends FieldAbstract {
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
const origValue = this.parent[this.meta.name];
|
|
21
|
+
Object.defineProperty(this.parent, this.meta.name, {
|
|
22
|
+
set: (value) => {
|
|
23
|
+
if (typeof (value) === 'object' && value !== null) {
|
|
24
|
+
value = value.value || value.id || false;
|
|
25
|
+
}
|
|
26
|
+
if (!value && (typeof (this.prevModel) === 'boolean') && this.isPersistedParent) {
|
|
27
|
+
value = false;
|
|
28
|
+
}
|
|
29
|
+
console.log('boolean field setting model', value);
|
|
30
|
+
this.model = (value === true) || (value != null && (['true', '1'].indexOf(value.toString().toLowerCase()) !== -1));
|
|
31
|
+
this.value = this.model;
|
|
32
|
+
this.meta.$optional = this.isOptional;
|
|
33
|
+
},
|
|
34
|
+
get: () => this.value,
|
|
35
|
+
enumerable: this.sendToServer,
|
|
36
|
+
configurable: true
|
|
37
|
+
});
|
|
38
|
+
if (typeof (origValue) !== 'undefined') {
|
|
39
|
+
this.parent[this.meta.name] = origValue;
|
|
40
|
+
}
|
|
41
|
+
if (typeof (this.meta.default) !== 'undefined' && typeof (this.model) === 'undefined' && !(this.meta.default instanceof Array)) {
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
this.onModelChange(this.meta.default);
|
|
44
|
+
}, 0);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
onOptionChange() {
|
|
48
|
+
this.onModelChange(this.model);
|
|
49
|
+
}
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldBoolean, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldBoolean, selector: "ng-component", inputs: { meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model ? '\u2714' : '\u2718'}}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<div class=\"Vlt-switch\" *ngIf=\"meta.subtype === 'switch'\">\n\t\t<label style='vertical-align: middle;'>\n\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t<span class=\"Vlt-switch__slider\"></span>\n\t\t\t<span style='margin-left: 60px; line-height: 30px; white-space: nowrap;'>{{meta.label || meta.name}}</span>\n\t\t</label>\n\t</div>\n\t<div class=\"Vlt-checkbox\" *ngIf=\"meta.subtype !== 'switch'\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-checkbox__button\">\n\t\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t\t<span class=\"Vlt-checkbox__icon\"></span>\n\t\t\t</span>\n\t\t\t{{meta.label || meta.name}}\n\t\t</label>\n\t</div>\n\t<small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-checkbox+.Vlt-form__element__hint{margin-top:4px}.Vlt-checkbox__button input:not(:checked)~.Vlt-checkbox__icon{background-color:var(--vgip-meta-input-bg-color);border-color:var(--vgip-meta-input-border-color)}.Vlt-checkbox__button input:checked~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-checkbox__button input:hover:not(:checked)~.Vlt-checkbox__icon,.Vlt-checkbox__button input:focus:not(:checked)~.Vlt-checkbox__icon,.Vlt-checkbox__button input:active:not(:checked)~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-checkbox__button input:hover:checked~.Vlt-checkbox__icon,.Vlt-checkbox__button input:focus:checked~.Vlt-checkbox__icon,.Vlt-checkbox__button input:active:checked~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-accent-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] }); }
|
|
52
|
+
}
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldBoolean, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model ? '\u2714' : '\u2718'}}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<div class=\"Vlt-switch\" *ngIf=\"meta.subtype === 'switch'\">\n\t\t<label style='vertical-align: middle;'>\n\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t<span class=\"Vlt-switch__slider\"></span>\n\t\t\t<span style='margin-left: 60px; line-height: 30px; white-space: nowrap;'>{{meta.label || meta.name}}</span>\n\t\t</label>\n\t</div>\n\t<div class=\"Vlt-checkbox\" *ngIf=\"meta.subtype !== 'switch'\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-checkbox__button\">\n\t\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t\t<span class=\"Vlt-checkbox__icon\"></span>\n\t\t\t</span>\n\t\t\t{{meta.label || meta.name}}\n\t\t</label>\n\t</div>\n\t<small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n", styles: [".Vlt-checkbox+.Vlt-form__element__hint{margin-top:4px}.Vlt-checkbox__button input:not(:checked)~.Vlt-checkbox__icon{background-color:var(--vgip-meta-input-bg-color);border-color:var(--vgip-meta-input-border-color)}.Vlt-checkbox__button input:checked~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-checkbox__button input:hover:not(:checked)~.Vlt-checkbox__icon,.Vlt-checkbox__button input:focus:not(:checked)~.Vlt-checkbox__icon,.Vlt-checkbox__button input:active:not(:checked)~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-checkbox__button input:hover:checked~.Vlt-checkbox__icon,.Vlt-checkbox__button input:focus:checked~.Vlt-checkbox__icon,.Vlt-checkbox__button input:active:checked~.Vlt-checkbox__icon{border-color:var(--vgip-meta-input-accent-color)}\n"] }]
|
|
56
|
+
}], propDecorators: { meta: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
|
|
60
|
+
export { FieldBoolean };
|
|
61
|
+
//# sourceMappingURL=vgip-meta-ui-index-eef5fc0f.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vgip-meta-ui-index-eef5fc0f.mjs","sources":["../../../projects/meta-ui/src/lib/fieldBoolean/index.ts","../../../projects/meta-ui/src/lib/fieldBoolean/view.html"],"sourcesContent":["/*\n * @Author: Alexander.Vangelov@vonage.com\n * @Date: 2019-09-19 17:34:49\n * @Last Modified by: Alexander.Vangelov@vonage.com\n * @Last Modified time: 2020-03-26 12:57:51\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\nimport { FieldAbstract } from '../fieldAbstract';\n// import { tMetaField } from '../../../metaTypes/tMetaField'\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldBoolean extends FieldAbstract implements OnInit {\n @Input() meta: any;\n value: boolean;\n\n ngOnInit() {\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (typeof (value) === 'object' && value !== null) {\n value = value.value || value.id || false;\n }\n if (!value && (typeof(this.prevModel) === 'boolean') && this.isPersistedParent) {\n value = false;\n }\n console.log('boolean field setting model', value);\n this.model = (value === true) || (value != null && (['true', '1'].indexOf(value.toString().toLowerCase()) !== -1));\n this.value = this.model;\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: this.sendToServer,\n configurable: true\n });\n if (typeof(origValue) !== 'undefined') {\n this.parent[this.meta.name] = origValue;\n }\n if (typeof(this.meta.default) !== 'undefined' && typeof(this.model) === 'undefined' && !(this.meta.default instanceof Array)) {\n setTimeout(() => {\n this.onModelChange(this.meta.default);\n }, 0);\n }\n }\n\n onOptionChange() {\n this.onModelChange(this.model);\n }\n}\n","<div class='vgip-meta-field-preview' *ngIf='preview && model'>\n <div class='vgip-meta-field-label' [title]='meta.label || meta.name'>{{meta.label || meta.name}}</div>\n <div class='vgip-meta-field-value __gu'>\n {{ model ? '✔' : '✘'}}\n </div>\n</div>\n<div *ngIf='!preview' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<div class=\"Vlt-switch\" *ngIf=\"meta.subtype === 'switch'\">\n\t\t<label style='vertical-align: middle;'>\n\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t<span class=\"Vlt-switch__slider\"></span>\n\t\t\t<span style='margin-left: 60px; line-height: 30px; white-space: nowrap;'>{{meta.label || meta.name}}</span>\n\t\t</label>\n\t</div>\n\t<div class=\"Vlt-checkbox\" *ngIf=\"meta.subtype !== 'switch'\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-checkbox__button\">\n\t\t\t\t<input class='model' type=\"checkbox\" [(ngModel)]='model' (change)='onOptionChange()' [name]='name'/>\n\t\t\t\t<span class=\"Vlt-checkbox__icon\"></span>\n\t\t\t</span>\n\t\t\t{{meta.label || meta.name}}\n\t\t</label>\n\t</div>\n\t<small *ngIf='f.invalid && ((f | metaModel)._parent.submitted || ((f | metaModel ).touched))' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>\n"],"names":["i3.MetaModelPipe"],"mappings":"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"}
|
package/{fesm2020/vgip-meta-ui-index-dae4cc15.mjs → fesm2022/vgip-meta-ui-index-f0fa2cbd.mjs}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-
|
|
3
|
+
import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-ce47588e.mjs';
|
|
4
4
|
import * as i1 from '@angular/common';
|
|
5
|
-
import { M as MetaField } from './vgip-meta-ui-index-
|
|
5
|
+
import { M as MetaField } from './vgip-meta-ui-index-f5e42e1d.mjs';
|
|
6
6
|
import 'rxjs';
|
|
7
7
|
import 'rxjs/operators';
|
|
8
8
|
|
|
@@ -57,10 +57,10 @@ class FieldComposite extends FieldAbstract {
|
|
|
57
57
|
this.value = this.parent;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldComposite, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.11", type: FieldComposite, selector: "ng-component", inputs: { meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"{ 'Vlt-grid Vlt-grid--narrow': isRow }\">\n <ng-container *ngFor='let field of fields'>\n <div style='margin: 0;' [ngClass]=\"{ 'Vlt-col': isRow, 'Vlt-col--1of3': isRow && fields.length > 3 }\" *ngIf=\"!field.$invisible\">\n <vgip-meta-field *ngIf='!meta.$invisible' [ngClass]=\"{ shown: !field.$invisible}\" [index]='index' [scope]='scope' [meta]='field'\n [parent]='value' [integrationCode]='integrationCode' [resourceType]='resourceType' [preview]='preview'\n theme='inherit'></vgip-meta-field>\n </div>\n </ng-container>\n</div>\n", styles: ["div>vgip-meta-field{display:none}div>vgip-meta-field.shown{display:initial}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetaField, selector: "vgip-meta-field", inputs: ["meta", "parent", "integrationCode", "resourceType", "index", "scope", "preview", "theme"], outputs: ["onChange", "onLeave"] }] }); }
|
|
60
62
|
}
|
|
61
|
-
|
|
62
|
-
FieldComposite.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FieldComposite, selector: "ng-component", inputs: { meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"{ 'Vlt-grid Vlt-grid--narrow': isRow }\">\n <ng-container *ngFor='let field of fields'>\n <div style='margin: 0;' [ngClass]=\"{ 'Vlt-col': isRow, 'Vlt-col--1of3': isRow && fields.length > 3 }\" *ngIf=\"!field.$invisible\">\n <vgip-meta-field *ngIf='!meta.$invisible' [ngClass]=\"{ shown: !field.$invisible}\" [index]='index' [scope]='scope' [meta]='field'\n [parent]='value' [integrationCode]='integrationCode' [resourceType]='resourceType' [preview]='preview'\n theme='inherit'></vgip-meta-field>\n </div>\n </ng-container>\n</div>\n", styles: ["div>vgip-meta-field{display:none}div>vgip-meta-field.shown{display:initial}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MetaField, selector: "vgip-meta-field", inputs: ["meta", "parent", "integrationCode", "resourceType", "index", "scope", "preview", "theme"], outputs: ["onChange", "onLeave"] }] });
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FieldComposite, decorators: [{
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: FieldComposite, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{ template: "<div [ngClass]=\"{ 'Vlt-grid Vlt-grid--narrow': isRow }\">\n <ng-container *ngFor='let field of fields'>\n <div style='margin: 0;' [ngClass]=\"{ 'Vlt-col': isRow, 'Vlt-col--1of3': isRow && fields.length > 3 }\" *ngIf=\"!field.$invisible\">\n <vgip-meta-field *ngIf='!meta.$invisible' [ngClass]=\"{ shown: !field.$invisible}\" [index]='index' [scope]='scope' [meta]='field'\n [parent]='value' [integrationCode]='integrationCode' [resourceType]='resourceType' [preview]='preview'\n theme='inherit'></vgip-meta-field>\n </div>\n </ng-container>\n</div>\n", styles: ["div>vgip-meta-field{display:none}div>vgip-meta-field.shown{display:initial}\n"] }]
|
|
66
66
|
}], propDecorators: { meta: [{
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
|
|
|
68
68
|
}] } });
|
|
69
69
|
|
|
70
70
|
export { FieldComposite };
|
|
71
|
-
//# sourceMappingURL=vgip-meta-ui-index-
|
|
71
|
+
//# sourceMappingURL=vgip-meta-ui-index-f0fa2cbd.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vgip-meta-ui-index-
|
|
1
|
+
{"version":3,"file":"vgip-meta-ui-index-f0fa2cbd.mjs","sources":["../../../projects/meta-ui/src/lib/fieldComposite/index.ts","../../../projects/meta-ui/src/lib/fieldComposite/view.html"],"sourcesContent":["import { Component, Input, OnInit } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n})\nexport class FieldComposite extends FieldAbstract implements OnInit {\n @Input() meta: any;\n value: any;\n\n get isRow() {\n return this.meta.subtype !== 'column';\n }\n\n get fields() {\n return (this.meta.fields || []).map((f) => {\n if (f.type === 'textarea') { // no textareas inside composite (use string)\n delete f.type;\n }\n return f;\n });\n }\n\n ngOnInit() {\n // super.ngOnInit()\n let nestedFieldsRegex: RegExp;\n if (this.meta.name) {\n this.scope += `${this.meta.name}_`;\n this.value = this.parent[this.meta.name] || {};\n nestedFieldsRegex = new RegExp(`^${this.meta.name}\\\\.(.*)`);\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (value) {\n for (const v of Object.keys(value)) {\n this.value[v] = value[v];\n }\n }\n },\n get: () => {\n if (JSON.stringify(this.value) !== '{}') {\n return this.value;\n }\n },\n enumerable: this.sendToServer,\n configurable: true\n });\n for (const f of this.meta.fields) {\n if (this.isRow) {\n if (f.type === 'text') {\n f.type = 'string';\n }\n }\n const nestedFieldMatch = f.name.match(nestedFieldsRegex);\n if (nestedFieldMatch) {\n f.name = nestedFieldMatch[1]; // for VGIS V2 backward compatibility normalize name with dotted syntax\n }\n }\n } else {\n this.value = this.parent;\n }\n }\n\n}\n","<div [ngClass]=\"{ 'Vlt-grid Vlt-grid--narrow': isRow }\">\n <ng-container *ngFor='let field of fields'>\n <div style='margin: 0;' [ngClass]=\"{ 'Vlt-col': isRow, 'Vlt-col--1of3': isRow && fields.length > 3 }\" *ngIf=\"!field.$invisible\">\n <vgip-meta-field *ngIf='!meta.$invisible' [ngClass]=\"{ shown: !field.$invisible}\" [index]='index' [scope]='scope' [meta]='field'\n [parent]='value' [integrationCode]='integrationCode' [resourceType]='resourceType' [preview]='preview'\n theme='inherit'></vgip-meta-field>\n </div>\n </ng-container>\n</div>\n"],"names":["i2.MetaField"],"mappings":"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"}
|