@eui/components 15.0.0-next.6 → 15.0.0-next.7
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/docs/js/menu-wc.js +6 -182
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/typealiases.html +2 -2
- package/docs/miscellaneous/variables.html +56 -56
- package/docs/modules/EuiAllModule.html +22 -256
- package/docs/modules/EuiAppModule.html +23 -257
- package/docs/modules/EuiLayoutModule.html +22 -256
- package/esm2020/eui-autocomplete/eui-autocomplete.module.mjs +1 -1
- package/esm2020/legacy/ux-dropdown-button/ux-dropdown-button.component.mjs +1 -9
- package/eui-autocomplete/eui-autocomplete.module.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2015/eui-components-legacy-ux-dropdown-button.mjs +0 -8
- package/fesm2015/eui-components-legacy-ux-dropdown-button.mjs.map +1 -1
- package/fesm2020/eui-components-eui-autocomplete.mjs.map +1 -1
- package/fesm2020/eui-components-legacy-ux-dropdown-button.mjs +0 -8
- package/fesm2020/eui-components-legacy-ux-dropdown-button.mjs.map +1 -1
- package/legacy/ux-dropdown-button/ux-dropdown-button.component.d.ts +5 -7
- package/legacy/ux-dropdown-button/ux-dropdown-button.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { EuiChipTooltip } from '@eui/components/eui-chip';\n\nexport class EuiAutoCompleteItem {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' );\n sizeClass: ('euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL');\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n tooltip?: EuiChipTooltip;\n metadata?: any;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy, ElementRef, ViewChild, OnChanges, ChangeDetectorRef, Output,\n EventEmitter, SimpleChanges, QueryList, AfterViewInit, TemplateRef, ContentChildren, HostBinding, Self, Optional, DoCheck } from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable, Subscription } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip } from '@eui/components/eui-chip';\nimport { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\n\n@Component({\n templateUrl: './eui-autocomplete.component.html',\n selector: 'eui-autocomplete, input[euiAutocomplete]',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteComponent extends BaseDirective implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: ('ASC' | 'DESC') = 'ASC';\n @Input() itemsSortOrder: ('ASC' | 'DESC') = 'ASC';\n @Input() placeholder = '';\n @Input() matching: ('startWith' | 'contains') = 'contains';\n @Input() chipsPosition: ('top' | 'bottom' | 'inside') = 'top';\n @Input() panelWidth: string | number;\n @Input() classList: string;\n @Input() groupBy: string;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /** @deprecated This will be removed in next version of eui */\n @Output() closed = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() opened = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() selectionChanged = new EventEmitter<EuiAutoCompleteItem[]>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemAdded = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemRemoved = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() inputChanged = new EventEmitter<string>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragStarted = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragReleased = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDropped = new EventEmitter<EuiChipDragDrop>();\n // euiInputText does not send event when the the field is cleared\n @Output() clear = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-autocomplete'),\n ].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('autocompleteInput', { read: ElementRef }) autocompleteInput: ElementRef<HTMLInputElement>;\n @ViewChild('autocompleteInputTrigger', { read: MatAutocompleteTrigger }) autocompleteInputTrigger: MatAutocompleteTrigger;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild('chipList') chipList: EuiChipListComponent;\n\n public autocompleteOptionTemplate: TemplateRef<ElementRef>;\n public autocompleteOptGroupTemplate: TemplateRef<ElementRef>;\n public separatorKeysCodes: number[] = [ENTER, COMMA];\n public autocompleteControl = new FormControl();\n public autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]> = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\n\n @Input()\n get hasChips(): boolean { return this._hasChips; }\n set hasChips(value: BooleanInput) { this._hasChips = coerceBooleanProperty(value); }\n private _hasChips = false;\n\n @Input()\n get async(): boolean { return this._async; }\n set async(value: BooleanInput) { this._async = coerceBooleanProperty(value); }\n private _async = false;\n\n @Input()\n get addOnBlur(): boolean { return this._addOnBlur; }\n set addOnBlur(value: BooleanInput) { this._addOnBlur = coerceBooleanProperty(value); }\n private _addOnBlur = false;\n\n @Input()\n get isFreeValueAllowed(): boolean { return this._isFreeValueAllowed; }\n set isFreeValueAllowed(value: BooleanInput) { this._isFreeValueAllowed = coerceBooleanProperty(value); }\n private _isFreeValueAllowed = true;\n\n @Input()\n get isDuplicateValueAllowed(): boolean { return this._isDuplicateValueAllowed; }\n set isDuplicateValueAllowed(value: BooleanInput) { this._isDuplicateValueAllowed = coerceBooleanProperty(value); }\n private _isDuplicateValueAllowed = false;\n\n @Input()\n get isLoading(): boolean { return this._isLoading; }\n set isLoading(value: BooleanInput) { this._isLoading = coerceBooleanProperty(value); }\n private _isLoading = false;\n\n @Input()\n get isChipsRemovable(): boolean { return this._isChipsRemovable; }\n set isChipsRemovable(value: BooleanInput) { this._isChipsRemovable = coerceBooleanProperty(value); }\n private _isChipsRemovable = true;\n\n @Input()\n get maxVisibleChipsCount(): number { return this._maxVisibleChipsCount; }\n set maxVisibleChipsCount(value: NumberInput) { this._maxVisibleChipsCount = coerceNumberProperty(value); }\n private _maxVisibleChipsCount = null;\n\n @Input()\n get chipsLabelTruncateCount(): number { return this._chipsLabelTruncateCount; }\n set chipsLabelTruncateCount(value: NumberInput) { this._chipsLabelTruncateCount = coerceNumberProperty(value); }\n private _chipsLabelTruncateCount = null;\n\n @Input()\n get isMaxVisibleChipsOpened(): boolean { return this._isMaxVisibleChipsOpened; }\n set isMaxVisibleChipsOpened(value: BooleanInput) { this._isMaxVisibleChipsOpened = coerceBooleanProperty(value); }\n private _isMaxVisibleChipsOpened = false;\n\n @Input()\n get readonly(): boolean { return this._readonly; }\n set readonly(value: BooleanInput) { this._readonly = coerceBooleanProperty(value); }\n private _readonly = false;\n\n @Input()\n get isChipsSorted(): boolean { return this._isChipsSorted; }\n set isChipsSorted(value: BooleanInput) { this._isChipsSorted = coerceBooleanProperty(value); }\n private _isChipsSorted = false;\n\n @Input()\n get isItemsSorted(): boolean { return this._isItemsSorted; }\n set isItemsSorted(value: BooleanInput) { this._isItemsSorted = coerceBooleanProperty(value); }\n private _isItemsSorted = false;\n\n @Input()\n get isChipsDragAndDrop(): boolean { return this._isChipsDragAndDrop; }\n set isChipsDragAndDrop(value: BooleanInput) { this._isChipsDragAndDrop = coerceBooleanProperty(value); }\n private _isChipsDragAndDrop = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nbClick = 0;\n private ignoreOpenCloseEvents = false;\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private fieldValue = null;\n private scrollDispatcherSubscription = new Subscription();\n\n constructor(private cd: ChangeDetectorRef, @Self() @Optional() private control: NgControl, private scrollDispatcher: ScrollDispatcher) {\n super();\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.autocompleteOptions.next(this._filter(''));\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteOptions.next(this._filter(start));\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n // TODO: Refactor ngDoCheck when euiInput Text will refactor this hooks\n ngDoCheck(): void {\n if (this.control) {\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n this.control.invalid ? this.autocompleteControl.setErrors({ invalid: true }) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n\n if (this.hasChips) {\n this.chips = this.mapAsChip();\n this.cd.detectChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public addOnBlurHandler(event: FocusEvent): void {\n if (this.addOnBlur) {\n const target: HTMLElement = event.relatedTarget as HTMLElement;\n if (!target || target.tagName !== 'MAT-OPTION') {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n }\n }\n\n public addOnEnterHandler(): void {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n\n public add(newValue: string): void {\n if (this.isFreeValueAllowed) {\n if ((newValue || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed ? this.autocompleteDataSelected.find((selectedItem) =>\n selectedItem.label.toString().trim() === newValue.trim()) : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.chips = this.mapAsChip();\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.autocompleteInputTrigger.closePanel();\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n }\n }\n }\n }\n\n public onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected.push(value);\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n } else {\n this.autocompleteDataSelected = value;\n this.autocompleteInput.nativeElement.value = value.label;\n this.autocompleteControl.setValue(value.label, { emitEvent: false });\n }\n\n if (this.hasChips) {\n this.autocompleteOptions.next(this._filter(''));\n }\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(value);\n this.itemAdd.emit(value);\n }\n\n public onChipRemove(e: { chips: EuiChip[], removed: EuiChip | { chip: EuiChip, event: Event} }): void {\n\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) =>\n e.removed instanceof EuiChip ? data.euiInternalId === e.removed.euiInternalId :\n data.euiInternalId === e.removed.chip.euiInternalId);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) =>\n e.removed instanceof EuiChip ? data.euiInternalId !== e.removed.euiInternalId :\n data.euiInternalId !== e.removed.chip.euiInternalId);\n\n if (!this.isDuplicateValueAllowed) {\n this.autocompleteOptions.next(\n this.isItemsSorted ? this.orderItems(this._filter(''), this.itemsSortOrder) as EuiAutoCompleteItem[] : this._filter('')\n );\n }\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemoved.emit(autocompleteDataRemoved);\n this.itemRemove.emit(autocompleteDataRemoved);\n if (!(e.removed instanceof EuiChip) && e.removed.event instanceof KeyboardEvent &&\n (<KeyboardEvent>e.removed.event).code === 'Backspace' && this.chipList.euiChipItems.length > 1) {\n this.chipList.euiChipItems.get(this.chipList.euiChipItems.length - 2).nativeElement\n .querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public onClick(): void {\n if (!this.readonly) {\n if (this.nbClick > 0) {\n this.matAutocomplete.isOpen ? this.autocompleteInputTrigger.closePanel() : this.autocompleteInputTrigger.openPanel();\n }\n this.nbClick += 1;\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public resetNbClick(e: FocusEvent): void {\n if (!e.relatedTarget || e.relatedTarget['className'].indexOf('mat-option') === -1) {\n this.nbClick = 0;\n }\n\n this.onTouch();\n }\n\n public onFocusOut(): void {\n this.onTouch();\n }\n\n public trackByFn(index: number, item: EuiAutoCompleteItem): number {\n return index;\n }\n\n public onClose(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n }\n\n public onOpen(): void {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(this.autocompleteInput).subscribe((event: CdkScrollable) => {\n if (event) {\n if (!this.isVisible(this.autocompleteInput, event.getElementRef().nativeElement)) {\n this.autocompleteInputTrigger.closePanel();\n }\n }\n });\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\n }\n }\n\n isVisible(origin: ElementRef, scrollableParent: HTMLElement): boolean {\n const originY = origin.nativeElement.getBoundingClientRect().y;\n const originHeight = origin.nativeElement.getBoundingClientRect().height;\n const scrollableParentY = scrollableParent.getBoundingClientRect().y;\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height;\n\n return originY - scrollableParentY > 0 && originY + originHeight < scrollableParentY + scrollableParentHeight;\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? value as EuiAutoCompleteItem[] : [];\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n\n this.autocompleteOptions.next(this._filter(''));\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n this.fieldValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.autocompleteOptions.next(this._filter(this.fieldValue));\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n public onChipDropped(e: any): void {\n this.autocompleteDataSelected = e.chips.map((c: any) => {\n const found = this.autocompleteDataSelected.find(a => a.id === c.id);\n return found ? found : new EuiAutoCompleteItem({ ...c.data, euiInternalId: c.euiInternalId });\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDropped.emit(e);\n this.chipDrop.emit(e);\n }\n\n public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear(): void {\n this.clear.next(undefined);\n }\n\n public onChipListFocus(): void {\n this.autocompleteInputTrigger.closePanel();\n }\n\n public onKeyDownBackspace(): void {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' &&\n this.chipList.euiChipItems.length > 0) {\n this.onChipListFocus();\n this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n private inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n\n this.chips = this.mapAsChip();\n\n // value is null when chips is added, testing value prevent having two valuechanges triggered\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((data) => data && data.label && value && typeof value === 'string' ?\n data.label.toLowerCase().trim() === value.toLowerCase().trim() :\n false);\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange(new EuiAutoCompleteItem({ label: value })) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n }\n\n this.inputChanged.emit(value as string);\n this.inputChange.emit(value as string);\n\n if (!this.async) {\n const filterValue = typeof value === 'string' || !value ? value : value.label;\n this.autocompleteOptions.next(this.isItemsSorted ?\n this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[] :\n this._filter(filterValue as string));\n }\n }\n\n private onChange: any = () => {};\n\n private onTouch: any = () => {};\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem = !this.isDuplicateValueAllowed && Array.isArray(this.autocompleteDataSelected) ?\n this.autocompleteDataSelected.find((selectedItem: EuiAutoCompleteItem) => {\n if (item.id) {\n return selectedItem.id === item.id;\n } else {\n return selectedItem.label.toLowerCase() === item.label.toLowerCase();\n }\n }) :\n false;\n\n if (!foundItem) {\n if (str) {\n if (this.matching === 'contains' && item.label.toLowerCase().indexOf(str.toString().toLowerCase()) !== -1) {\n filteredItems.push(item);\n }\n if (this.matching === 'startWith' && item.label.toLowerCase().substr(0, str.toString().length) === str.toLowerCase()) {\n filteredItems.push(item);\n }\n } else {\n filteredItems.push(item);\n }\n }\n });\n\n return this.isItemsSorted ? this.orderItems(filteredItems, this.itemsSortOrder) as EuiAutoCompleteItem[] : filteredItems;\n }\n\n private mapAsChip(): EuiChip[] {\n const chips = this.autocompleteDataSelected.map((selected) => new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: selected.tooltip,\n iconClass: selected.iconClass,\n }));\n\n return this.isChipsSorted ? this.orderItems(chips, this.chipsSortOrder) as EuiChip[] : chips;\n }\n\n private generateId(): string {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n private orderItems(tab: EuiAutoCompleteItem[] | EuiChip[], sortOrder: ('ASC' | 'DESC')): EuiAutoCompleteItem[] | EuiChip[] {\n tab.sort((a: EuiAutoCompleteItem | EuiChip, b: EuiAutoCompleteItem | EuiChip) => {\n\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(): void {\n this.distinctOptionGroups = this.autocompleteData.map((item) => this.groupBy.split('.').reduce((prev, curr) => prev ? prev[curr] : null, item || self));\n\n this.distinctOptionGroups = this.distinctOptionGroups\n .filter((n, i) => this.distinctOptionGroups.indexOf(n) === i)\n .sort((a: string, b: string) => a > b ? 1 : -1);\n\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((autocompleteOptions) => {\n let groupedItems: EuiAutoCompleteItem[];\n this.distinctOptionGroups.forEach((group) => {\n groupedItems = autocompleteOptions.filter((item) => {\n const f = this.groupBy.split('.').reduce((prev, curr) => prev ? prev[curr] : null, item || self);\n\n return f === group;\n });\n\n if (this.isItemsSorted) {\n groupedItems = this.orderItems(groupedItems, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n this.groupedItems = {\n ...this.groupedItems,\n [group]: of(groupedItems),\n } as { [id: string]: Observable<EuiAutoCompleteItem[]> };\n });\n });\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"groupedItem.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"autocompleteOption.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n ],\n exports: [\n EuiAutocompleteComponent,\n ],\n})\nexport class EuiAutocompleteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-autocomplete.mjs","sources":["../../eui-autocomplete/models/eui-autocomplete-item.model.ts","../../eui-autocomplete/eui-autocomplete.component.ts","../../eui-autocomplete/eui-autocomplete.component.html","../../eui-autocomplete/eui-autocomplete.module.ts","../../eui-autocomplete/eui-components-eui-autocomplete.ts"],"sourcesContent":["import { EuiChipTooltip } from '@eui/components/eui-chip';\n\nexport class EuiAutoCompleteItem {\n id: string | number;\n euiInternalId: string;\n label: string;\n typeClass: ('primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' );\n sizeClass: ('euiSizeS' | 'euiSizeM' | 'euiSizeL' | 'euiSizeXL' | 'euiSize2XL');\n iconClass: string;\n isRemovable: boolean;\n isOutline: boolean;\n isRounded: boolean;\n dragAndDropSource: string;\n tooltip?: EuiChipTooltip;\n metadata?: any;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation, OnInit, OnDestroy, ElementRef, ViewChild, OnChanges, ChangeDetectorRef, Output,\n EventEmitter, SimpleChanges, QueryList, AfterViewInit, TemplateRef, ContentChildren, HostBinding, Self, Optional, DoCheck } from '@angular/core';\nimport { FormControl, ControlValueAccessor, NgControl } from '@angular/forms';\nimport { coerceBooleanProperty, coerceNumberProperty, BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { skip, startWith, takeUntil } from 'rxjs/operators';\nimport { Subject, BehaviorSubject, of, Observable, Subscription } from 'rxjs';\nimport { MatAutocomplete, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiChip } from '@eui/components/eui-chip';\nimport { EuiChipDragDrop, EuiChipListComponent } from '@eui/components/eui-chip-list';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiAutoCompleteItem } from './models/eui-autocomplete-item.model';\n\n@Component({\n templateUrl: './eui-autocomplete.component.html',\n selector: 'eui-autocomplete, input[euiAutocomplete]',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiAutocompleteComponent extends BaseDirective implements OnInit, OnDestroy, ControlValueAccessor, OnChanges, AfterViewInit, DoCheck {\n @Input() toggleLinkMoreLabel: string = null;\n @Input() toggleLinkLessLabel: string = null;\n @Input() autocompleteData: EuiAutoCompleteItem[] = [];\n @Input() autocompleteDataSelected: EuiAutoCompleteItem[] = [];\n @Input() chipsSortOrder: ('ASC' | 'DESC') = 'ASC';\n @Input() itemsSortOrder: ('ASC' | 'DESC') = 'ASC';\n @Input() placeholder = '';\n @Input() matching: ('startWith' | 'contains') = 'contains';\n @Input() chipsPosition: ('top' | 'bottom' | 'inside') = 'top';\n @Input() panelWidth: string | number;\n @Input() classList: string;\n @Input() groupBy: string;\n @Input() dragAndDropSourceName: string;\n @Input() dragAndDropConnectedTo: string[] = [];\n\n /** @deprecated This will be removed in next version of eui */\n @Output() closed = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() opened = new EventEmitter();\n /** @deprecated This will be removed in next version of eui */\n @Output() selectionChanged = new EventEmitter<EuiAutoCompleteItem[]>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemAdded = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() itemRemoved = new EventEmitter<EuiAutoCompleteItem>();\n /** @deprecated This will be removed in next version of eui */\n @Output() inputChanged = new EventEmitter<string>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragStarted = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDragReleased = new EventEmitter<EuiChipDragDrop>();\n /** @deprecated This will be removed in next version of eui */\n @Output() chipDropped = new EventEmitter<EuiChipDragDrop>();\n // euiInputText does not send event when the the field is cleared\n @Output() clear = new EventEmitter();\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() open = new EventEmitter();\n @Output() selectionChange = new EventEmitter<EuiAutoCompleteItem[]>();\n @Output() itemAdd = new EventEmitter<EuiAutoCompleteItem>();\n @Output() itemRemove = new EventEmitter<EuiAutoCompleteItem>();\n @Output() inputChange = new EventEmitter<string>();\n @Output() chipDragStart = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDragRelease = new EventEmitter<EuiChipDragDrop>();\n @Output() chipDrop = new EventEmitter<EuiChipDragDrop>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-autocomplete'),\n ].join(' ').trim();\n }\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('autocompleteInput', { read: ElementRef }) autocompleteInput: ElementRef<HTMLInputElement>;\n @ViewChild('autocompleteInputTrigger', { read: MatAutocompleteTrigger }) autocompleteInputTrigger: MatAutocompleteTrigger;\n @ViewChild('auto') matAutocomplete: MatAutocomplete;\n @ViewChild('chipList') chipList: EuiChipListComponent;\n\n public autocompleteOptionTemplate: TemplateRef<ElementRef>;\n public autocompleteOptGroupTemplate: TemplateRef<ElementRef>;\n public separatorKeysCodes: number[] = [ENTER, COMMA];\n public autocompleteControl = new FormControl();\n public autocompleteOptions: BehaviorSubject<EuiAutoCompleteItem[]> = new BehaviorSubject<EuiAutoCompleteItem[]>(this.autocompleteData);\n public chips: EuiChip[] = [];\n public distinctOptionGroups: string[];\n public groupedItems: { [id: string]: Observable<EuiAutoCompleteItem[]> };\n public autocompleteId = `eui-autocomplete-${uniqueId()}`;\n public isDisabled = false;\n\n @Input()\n get hasChips(): boolean { return this._hasChips; }\n set hasChips(value: BooleanInput) { this._hasChips = coerceBooleanProperty(value); }\n private _hasChips = false;\n\n @Input()\n get async(): boolean { return this._async; }\n set async(value: BooleanInput) { this._async = coerceBooleanProperty(value); }\n private _async = false;\n\n @Input()\n get addOnBlur(): boolean { return this._addOnBlur; }\n set addOnBlur(value: BooleanInput) { this._addOnBlur = coerceBooleanProperty(value); }\n private _addOnBlur = false;\n\n @Input()\n get isFreeValueAllowed(): boolean { return this._isFreeValueAllowed; }\n set isFreeValueAllowed(value: BooleanInput) { this._isFreeValueAllowed = coerceBooleanProperty(value); }\n private _isFreeValueAllowed = true;\n\n @Input()\n get isDuplicateValueAllowed(): boolean { return this._isDuplicateValueAllowed; }\n set isDuplicateValueAllowed(value: BooleanInput) { this._isDuplicateValueAllowed = coerceBooleanProperty(value); }\n private _isDuplicateValueAllowed = false;\n\n @Input()\n get isLoading(): boolean { return this._isLoading; }\n set isLoading(value: BooleanInput) { this._isLoading = coerceBooleanProperty(value); }\n private _isLoading = false;\n\n @Input()\n get isChipsRemovable(): boolean { return this._isChipsRemovable; }\n set isChipsRemovable(value: BooleanInput) { this._isChipsRemovable = coerceBooleanProperty(value); }\n private _isChipsRemovable = true;\n\n @Input()\n get maxVisibleChipsCount(): number { return this._maxVisibleChipsCount; }\n set maxVisibleChipsCount(value: NumberInput) { this._maxVisibleChipsCount = coerceNumberProperty(value); }\n private _maxVisibleChipsCount = null;\n\n @Input()\n get chipsLabelTruncateCount(): number { return this._chipsLabelTruncateCount; }\n set chipsLabelTruncateCount(value: NumberInput) { this._chipsLabelTruncateCount = coerceNumberProperty(value); }\n private _chipsLabelTruncateCount = null;\n\n @Input()\n get isMaxVisibleChipsOpened(): boolean { return this._isMaxVisibleChipsOpened; }\n set isMaxVisibleChipsOpened(value: BooleanInput) { this._isMaxVisibleChipsOpened = coerceBooleanProperty(value); }\n private _isMaxVisibleChipsOpened = false;\n\n @Input()\n get readonly(): boolean { return this._readonly; }\n set readonly(value: BooleanInput) { this._readonly = coerceBooleanProperty(value); }\n private _readonly = false;\n\n @Input()\n get isChipsSorted(): boolean { return this._isChipsSorted; }\n set isChipsSorted(value: BooleanInput) { this._isChipsSorted = coerceBooleanProperty(value); }\n private _isChipsSorted = false;\n\n @Input()\n get isItemsSorted(): boolean { return this._isItemsSorted; }\n set isItemsSorted(value: BooleanInput) { this._isItemsSorted = coerceBooleanProperty(value); }\n private _isItemsSorted = false;\n\n @Input()\n get isChipsDragAndDrop(): boolean { return this._isChipsDragAndDrop; }\n set isChipsDragAndDrop(value: BooleanInput) { this._isChipsDragAndDrop = coerceBooleanProperty(value); }\n private _isChipsDragAndDrop = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private nbClick = 0;\n private ignoreOpenCloseEvents = false;\n private value: EuiAutoCompleteItem | EuiAutoCompleteItem[] = null;\n private fieldValue = null;\n private scrollDispatcherSubscription = new Subscription();\n\n constructor(private cd: ChangeDetectorRef, @Self() @Optional() private control: NgControl, private scrollDispatcher: ScrollDispatcher) {\n super();\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.autocompleteData) {\n this.autocompleteOptions.next(this._filter(''));\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n if (c && c.autocompleteDataSelected && this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n\n ngOnInit(): void {\n const start = Array.isArray(this.value) ? null : this.value?.label;\n this.autocompleteOptions.next(this._filter(start));\n this.autocompleteControl.valueChanges.pipe(takeUntil(this.destroy$), startWith(start), skip(1)).subscribe((value) => {\n this.fieldValue = value;\n this.inputValueHandler(value);\n });\n\n if (this.groupBy) {\n this.groupingHandler();\n }\n }\n\n // TODO: Refactor ngDoCheck when euiInput Text will refactor this hooks\n ngDoCheck(): void {\n if (this.control) {\n this.control.touched ? this.autocompleteControl.markAsTouched() : this.autocompleteControl.markAsUntouched();\n this.control.invalid ? this.autocompleteControl.setErrors({ invalid: true }) : this.autocompleteControl.setErrors(null);\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'dropdownOption') {\n this.autocompleteOptionTemplate = item.template;\n }\n if (item.getType() === 'dropdownOptGroup') {\n this.autocompleteOptGroupTemplate = item.template;\n }\n });\n\n if (this.hasChips) {\n this.chips = this.mapAsChip();\n this.cd.detectChanges();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public addOnBlurHandler(event: FocusEvent): void {\n if (this.addOnBlur) {\n const target: HTMLElement = event.relatedTarget as HTMLElement;\n if (!target || target.tagName !== 'MAT-OPTION') {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n }\n }\n\n public addOnEnterHandler(): void {\n const newValue = this.autocompleteInput.nativeElement.value;\n this.add(newValue);\n }\n\n public add(newValue: string): void {\n if (this.isFreeValueAllowed) {\n if ((newValue || '').trim()) {\n const foundItem = !this.isDuplicateValueAllowed ? this.autocompleteDataSelected.find((selectedItem) =>\n selectedItem.label.toString().trim() === newValue.trim()) : false;\n\n if (!foundItem) {\n this.autocompleteDataSelected.push(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.chips = this.mapAsChip();\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n this.autocompleteInputTrigger.closePanel();\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n this.itemAdd.emit(new EuiAutoCompleteItem({ label: newValue.trim() }));\n }\n }\n }\n }\n\n public onOptionSelected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected.push(value);\n this.autocompleteInput.nativeElement.value = '';\n this.autocompleteControl.setValue(null);\n } else {\n this.autocompleteDataSelected = value;\n this.autocompleteInput.nativeElement.value = value.label;\n this.autocompleteControl.setValue(value.label, { emitEvent: false });\n }\n\n if (this.hasChips) {\n this.autocompleteOptions.next(this._filter(''));\n }\n\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemAdded.emit(value);\n this.itemAdd.emit(value);\n }\n\n public onChipRemove(e: { chips: EuiChip[], removed: EuiChip | { chip: EuiChip, event: Event} }): void {\n\n const autocompleteDataRemoved = this.autocompleteDataSelected.find((data) =>\n e.removed instanceof EuiChip ? data.euiInternalId === e.removed.euiInternalId :\n data.euiInternalId === e.removed.chip.euiInternalId);\n\n this.autocompleteDataSelected = this.autocompleteDataSelected.filter((data) =>\n e.removed instanceof EuiChip ? data.euiInternalId !== e.removed.euiInternalId :\n data.euiInternalId !== e.removed.chip.euiInternalId);\n\n if (!this.isDuplicateValueAllowed) {\n this.autocompleteOptions.next(\n this.isItemsSorted ? this.orderItems(this._filter(''), this.itemsSortOrder) as EuiAutoCompleteItem[] : this._filter('')\n );\n }\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n this.itemRemoved.emit(autocompleteDataRemoved);\n this.itemRemove.emit(autocompleteDataRemoved);\n if (!(e.removed instanceof EuiChip) && e.removed.event instanceof KeyboardEvent &&\n (<KeyboardEvent>e.removed.event).code === 'Backspace' && this.chipList.euiChipItems.length > 1) {\n this.chipList.euiChipItems.get(this.chipList.euiChipItems.length - 2).nativeElement\n .querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public onClick(): void {\n if (!this.readonly) {\n if (this.nbClick > 0) {\n this.matAutocomplete.isOpen ? this.autocompleteInputTrigger.closePanel() : this.autocompleteInputTrigger.openPanel();\n }\n this.nbClick += 1;\n }\n }\n\n /** @deprecated This will be removed in eUI-14 */\n public resetNbClick(e: FocusEvent): void {\n if (!e.relatedTarget || e.relatedTarget['className'].indexOf('mat-option') === -1) {\n this.nbClick = 0;\n }\n\n this.onTouch();\n }\n\n public onFocusOut(): void {\n this.onTouch();\n }\n\n public trackByFn(index: number, item: EuiAutoCompleteItem): number {\n return index;\n }\n\n public onClose(): void {\n this.scrollDispatcherSubscription.unsubscribe();\n if (!this.ignoreOpenCloseEvents) {\n this.closed.emit();\n this.close.emit();\n }\n }\n\n public onOpen(): void {\n this.scrollDispatcherSubscription = this.scrollDispatcher.ancestorScrolled(this.autocompleteInput).subscribe((event: CdkScrollable) => {\n if (event) {\n if (!this.isVisible(this.autocompleteInput, event.getElementRef().nativeElement)) {\n this.autocompleteInputTrigger.closePanel();\n }\n }\n });\n if (!this.ignoreOpenCloseEvents) {\n this.opened.emit();\n this.open.emit();\n }\n }\n\n isVisible(origin: ElementRef, scrollableParent: HTMLElement): boolean {\n const originY = origin.nativeElement.getBoundingClientRect().y;\n const originHeight = origin.nativeElement.getBoundingClientRect().height;\n const scrollableParentY = scrollableParent.getBoundingClientRect().y;\n const scrollableParentHeight = scrollableParent.getBoundingClientRect().height;\n\n return originY - scrollableParentY > 0 && originY + originHeight < scrollableParentY + scrollableParentHeight;\n }\n\n public writeValue(value: EuiAutoCompleteItem | EuiAutoCompleteItem[]): void {\n this.value = value;\n\n if (this.hasChips) {\n this.autocompleteDataSelected = value ? value as EuiAutoCompleteItem[] : [];\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n this.chips = [...this.mapAsChip()];\n this.autocompleteControl.patchValue(null, { emitEvent: false });\n\n this.autocompleteOptions.next(this._filter(''));\n } else {\n this.autocompleteControl.patchValue(value ? (value as EuiAutoCompleteItem).label : null, { emitEvent: false });\n this.fieldValue = value ? (value as EuiAutoCompleteItem).label : null;\n this.autocompleteOptions.next(this._filter(this.fieldValue));\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n isDisabled ? this.autocompleteControl.disable() : this.autocompleteControl.enable();\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n\n public onChipDropped(e: any): void {\n this.autocompleteDataSelected = e.chips.map((c: any) => {\n const found = this.autocompleteDataSelected.find(a => a.id === c.id);\n return found ? found : new EuiAutoCompleteItem({ ...c.data, euiInternalId: c.euiInternalId });\n });\n\n this.chips = this.mapAsChip();\n this.autocompleteOptions.next(this._filter(''));\n\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n this.selectionChanged.emit(this.autocompleteDataSelected);\n this.selectionChange.emit(this.autocompleteDataSelected);\n\n this.chipDropped.emit(e);\n this.chipDrop.emit(e);\n }\n\n public onChipDragStarted(e: any): void {\n this.chipDragStarted.emit(e);\n this.chipDragStart.emit(e);\n }\n\n public onChipDragReleased(e: any): void {\n this.chipDragReleased.emit(e);\n this.chipDragRelease.emit(e);\n }\n\n public onClear(): void {\n this.clear.next(undefined);\n }\n\n public onChipListFocus(): void {\n this.autocompleteInputTrigger.closePanel();\n }\n\n public onKeyDownBackspace(): void {\n if (this.chipsPosition === 'inside' && this.autocompleteInput.nativeElement.value === '' &&\n this.chipList.euiChipItems.length > 0) {\n this.onChipListFocus();\n this.chipList.euiChipItems.last.nativeElement.querySelector('.eui-chip__remove-icon').focus();\n }\n }\n\n private inputValueHandler(value: string | EuiAutoCompleteItem): void {\n if (this.hasChips) {\n this.autocompleteDataSelected = this.autocompleteDataSelected.map((selected) =>\n new EuiAutoCompleteItem(Object.assign({}, selected, { euiInternalId: this.generateId() })));\n\n this.chips = this.mapAsChip();\n\n // value is null when chips is added, testing value prevent having two valuechanges triggered\n if (!value) {\n this.onChange(this.autocompleteDataSelected.length > 0 ? this.autocompleteDataSelected : null);\n }\n } else {\n if (typeof value === 'string') {\n const foundItem = this.autocompleteData.find((data) => data && data.label && value && typeof value === 'string' ?\n data.label.toLowerCase().trim() === value.toLowerCase().trim() :\n false);\n\n if (foundItem) {\n this.onChange(foundItem);\n } else {\n value ? this.onChange(new EuiAutoCompleteItem({ label: value })) : this.onChange(null);\n }\n } else {\n this.onChange(value === undefined ? null : value);\n if (!value) {\n this.autocompleteOptions.next(this._filter(''));\n }\n }\n }\n\n this.inputChanged.emit(value as string);\n this.inputChange.emit(value as string);\n\n if (!this.async) {\n const filterValue = typeof value === 'string' || !value ? value : value.label;\n this.autocompleteOptions.next(this.isItemsSorted ?\n this.orderItems(this._filter(filterValue as string), this.itemsSortOrder) as EuiAutoCompleteItem[] :\n this._filter(filterValue as string));\n }\n }\n\n private onChange: any = () => {};\n\n private onTouch: any = () => {};\n\n private _filter(str: string): EuiAutoCompleteItem[] {\n const filteredItems: EuiAutoCompleteItem[] = [];\n this.autocompleteData.forEach((item: EuiAutoCompleteItem) => {\n const foundItem = !this.isDuplicateValueAllowed && Array.isArray(this.autocompleteDataSelected) ?\n this.autocompleteDataSelected.find((selectedItem: EuiAutoCompleteItem) => {\n if (item.id) {\n return selectedItem.id === item.id;\n } else {\n return selectedItem.label.toLowerCase() === item.label.toLowerCase();\n }\n }) :\n false;\n\n if (!foundItem) {\n if (str) {\n if (this.matching === 'contains' && item.label.toLowerCase().indexOf(str.toString().toLowerCase()) !== -1) {\n filteredItems.push(item);\n }\n if (this.matching === 'startWith' && item.label.toLowerCase().substr(0, str.toString().length) === str.toLowerCase()) {\n filteredItems.push(item);\n }\n } else {\n filteredItems.push(item);\n }\n }\n });\n\n return this.isItemsSorted ? this.orderItems(filteredItems, this.itemsSortOrder) as EuiAutoCompleteItem[] : filteredItems;\n }\n\n private mapAsChip(): EuiChip[] {\n const chips = this.autocompleteDataSelected.map((selected) => new EuiChip({\n id: selected.id,\n euiInternalId: selected.euiInternalId,\n label: selected.label,\n typeClass: selected.typeClass,\n isOutline: selected.isOutline,\n isRounded: selected.isRounded,\n sizeClass: selected.sizeClass,\n isRemovable: selected.isRemovable,\n tooltipMessage: selected.tooltip?.tooltipMessage,\n tooltip: selected.tooltip,\n iconClass: selected.iconClass,\n }));\n\n return this.isChipsSorted ? this.orderItems(chips, this.chipsSortOrder) as EuiChip[] : chips;\n }\n\n private generateId(): string {\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n private orderItems(tab: EuiAutoCompleteItem[] | EuiChip[], sortOrder: ('ASC' | 'DESC')): EuiAutoCompleteItem[] | EuiChip[] {\n tab.sort((a: EuiAutoCompleteItem | EuiChip, b: EuiAutoCompleteItem | EuiChip) => {\n\n const aObj = a.label.toLowerCase();\n const bObj = b.label.toLowerCase();\n\n if (sortOrder === 'ASC') {\n if (aObj < bObj) {\n return -1;\n }\n if (aObj > bObj) {\n return 1;\n }\n return 0;\n } else {\n if (aObj > bObj) {\n return -1;\n }\n if (aObj < bObj) {\n return 1;\n }\n return 0;\n }\n });\n\n return tab;\n }\n\n private groupingHandler(): void {\n this.distinctOptionGroups = this.autocompleteData.map((item) => this.groupBy.split('.').reduce((prev, curr) => prev ? prev[curr] : null, item || self));\n\n this.distinctOptionGroups = this.distinctOptionGroups\n .filter((n, i) => this.distinctOptionGroups.indexOf(n) === i)\n .sort((a: string, b: string) => a > b ? 1 : -1);\n\n this.autocompleteOptions.pipe(takeUntil(this.destroy$)).subscribe((autocompleteOptions) => {\n let groupedItems: EuiAutoCompleteItem[];\n this.distinctOptionGroups.forEach((group) => {\n groupedItems = autocompleteOptions.filter((item) => {\n const f = this.groupBy.split('.').reduce((prev, curr) => prev ? prev[curr] : null, item || self);\n\n return f === group;\n });\n\n if (this.isItemsSorted) {\n groupedItems = this.orderItems(groupedItems, this.itemsSortOrder) as EuiAutoCompleteItem[];\n }\n\n this.groupedItems = {\n ...this.groupedItems,\n [group]: of(groupedItems),\n } as { [id: string]: Observable<EuiAutoCompleteItem[]> };\n });\n });\n }\n}\n","<div class=\"eui-autocomplete__container\" matAutocompleteOrigin #origin=\"matAutocompleteOrigin\">\n <div class=\"eui-autocomplete__wrapper eui-autocomplete__wrapper--{{ chipsPosition }}\">\n\n <ng-template [ngIf]=\"chipsPosition === 'bottom'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"hasChips\">\n <eui-chip-list\n #chipList\n [chips]=\"chips\"\n [isChipsDragAndDrop]=\"isChipsDragAndDrop\"\n [isChipsRemovable]=\"isChipsRemovable && !readonly\"\n [isChipsSorted]=\"isChipsSorted\"\n [chipsSortOrder]=\"chipsSortOrder\"\n [maxVisibleChipsCount]=\"maxVisibleChipsCount\"\n [isMaxVisibleChipsOpened]=\"isMaxVisibleChipsOpened\"\n [toggleLinkMoreLabel]=\"toggleLinkMoreLabel\"\n [toggleLinkLessLabel]=\"toggleLinkLessLabel\"\n [chipsLabelTruncateCount]=\"chipsLabelTruncateCount\"\n [dragAndDropSourceName]=\"dragAndDropSourceName\"\n [dragAndDropConnectedTo]=\"dragAndDropConnectedTo\"\n (chipDropped)=\"onChipDropped($event)\"\n (chipDragStarted)=\"onChipDragStarted($event)\"\n (chipDragReleased)=\"onChipDragReleased($event)\"\n (chipRemove)=\"onChipRemove($event)\"\n (chiplistFocus)=\"onChipListFocus()\">\n <euiChipListAppendContent>\n <ng-template [ngIf]=\"chipsPosition === 'inside'\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n </euiChipListAppendContent>\n </eui-chip-list>\n </ng-container>\n\n <ng-template [ngIf]=\"chipsPosition === 'top' || !hasChips\">\n <ng-container *ngTemplateOutlet=\"field\"></ng-container>\n </ng-template>\n\n <ng-template #field>\n <span class=\"eui-autocomplete__field-wrapper\">\n <ng-container *ngIf=\"!hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n <ng-container *ngIf=\"hasChips\">\n <input\n [euiClearable]=\"!readonly && !isLoading && !isDisabled\"\n [euiLoading]=\"isLoading\"\n euiInputText\n #autocompleteInput\n #autocompleteInputTrigger\n placeholder=\"{{ placeholder }}\"\n [matAutocompleteDisabled]=\"readonly\"\n [formControl]=\"autocompleteControl\"\n [matAutocomplete]=\"auto\"\n [matAutocompleteConnectedTo]=\"chipsPosition === 'inside' ? origin : null\"\n [readonly]=\"readonly\"\n [attr.aria-label]=\"placeholder ? placeholder : 'Autocomplete Input Field'\"\n (clear)=\"onClear()\"\n (focusout)=\"onFocusOut(); addOnBlurHandler($event)\"\n (keydown.enter)=\"addOnEnterHandler()\"\n (keydown.backspace)=\"onKeyDownBackspace()\"\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-haspopup=\"true\"\n aria-controls=\"autocompleteId\">\n </ng-container>\n\n <mat-autocomplete\n [id]=\"autocompleteId\"\n #auto=\"matAutocomplete\"\n [panelWidth]=\"panelWidth\"\n [class]=\"classList\"\n (closed)=\"onClose()\"\n (opened)=\"onOpen()\"\n (optionSelected)=\"onOptionSelected($event)\">\n <ng-container *ngIf=\"groupBy\">\n <ng-container *ngFor=\"let distinctOptionGroup of distinctOptionGroups\">\n <mat-optgroup\n [class.eui-autocomplete__optgroup--custom]=\"autocompleteOptGroupTemplate\"\n *ngIf=\"(groupedItems[distinctOptionGroup] | async).length > 0\"\n [label]=\"distinctOptionGroup\">\n <ng-container *ngIf=\"autocompleteOptGroupTemplate\">\n <div class=\"eui-autocomplete__optgroup--custom-optgroup-wrapper\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptGroupTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { label: distinctOptionGroup } }\"></ng-template>\n </div>\n </ng-container>\n <mat-option\n *ngFor=\"let groupedItem of groupedItems[distinctOptionGroup] | async; trackBy: trackByFn\"\n [class]=\"groupedItem.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + groupedItem.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"groupedItem\">\n <span *ngIf=\"groupedItem.iconClass\" class=\"{{ groupedItem.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ groupedItem.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: groupedItem }\"></ng-template>\n </ng-container>\n </mat-option>\n </mat-optgroup>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupBy\">\n <mat-option\n *ngFor=\"let autocompleteOption of autocompleteOptions | async; trackBy: trackByFn\"\n [class]=\"autocompleteOption.typeClass ? 'mat-option eui-autocomplete__option eui-autocomplete__option--' + autocompleteOption.typeClass : 'mat-option eui-autocomplete__option'\"\n [class.eui-autocomplete__option--custom]=\"autocompleteOptionTemplate\"\n [value]=\"autocompleteOption\">\n <span *ngIf=\"autocompleteOption.iconClass\" class=\"{{ autocompleteOption.iconClass }}\"></span>\n <ng-container *ngIf=\"!autocompleteOptionTemplate\">\n {{ autocompleteOption.label }}\n </ng-container>\n <ng-container *ngIf=\"autocompleteOptionTemplate\">\n <ng-template [ngTemplateOutlet]=\"autocompleteOptionTemplate\" [ngTemplateOutletContext]=\"{ $implicit: autocompleteOption }\"></ng-template>\n </ng-container>\n </mat-option>\n </ng-container>\n </mat-autocomplete>\n </span>\n </ng-template>\n\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { EuiChipListModule } from '@eui/components/eui-chip-list';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiAutocompleteComponent } from './eui-autocomplete.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n EuiChipListModule,\n EuiChipModule,\n EuiIconModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiAutocompleteComponent,\n ],\n exports: [\n EuiAutocompleteComponent,\n ],\n})\nexport class EuiAutocompleteModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,8 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { EventEmitter, Component, Input, Output, ViewChild, NgModule, forwardRef, ElementRef, ViewEncapsulation, ContentChild } from '@angular/core';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
6
|
import * as i2 from '@angular/material/menu';
|
|
8
7
|
import { MatMenu, MatMenuModule } from '@angular/material/menu';
|
|
9
|
-
import { MatInputModule } from '@angular/material/input';
|
|
10
8
|
import { ObserversModule } from '@angular/cdk/observers';
|
|
11
9
|
import * as i3 from '@ngx-translate/core';
|
|
12
10
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -355,17 +353,13 @@ class UxDropdownButtonComponentModule {
|
|
|
355
353
|
/** @nocollapse */ UxDropdownButtonComponentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: UxDropdownButtonComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
356
354
|
/** @nocollapse */ UxDropdownButtonComponentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0-next.4", ngImport: i0, type: UxDropdownButtonComponentModule, declarations: [UxDropdownButtonComponent], imports: [CommonModule,
|
|
357
355
|
UxDropdownButtonItemComponentModule,
|
|
358
|
-
MatButtonModule,
|
|
359
356
|
MatMenuModule,
|
|
360
|
-
MatInputModule,
|
|
361
357
|
UxButtonComponentModule,
|
|
362
358
|
TranslateModule,
|
|
363
359
|
ObserversModule], exports: [UxDropdownButtonComponent] });
|
|
364
360
|
/** @nocollapse */ UxDropdownButtonComponentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: UxDropdownButtonComponentModule, imports: [CommonModule,
|
|
365
361
|
UxDropdownButtonItemComponentModule,
|
|
366
|
-
MatButtonModule,
|
|
367
362
|
MatMenuModule,
|
|
368
|
-
MatInputModule,
|
|
369
363
|
UxButtonComponentModule,
|
|
370
364
|
TranslateModule,
|
|
371
365
|
ObserversModule] });
|
|
@@ -375,9 +369,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
|
|
|
375
369
|
imports: [
|
|
376
370
|
CommonModule,
|
|
377
371
|
UxDropdownButtonItemComponentModule,
|
|
378
|
-
MatButtonModule,
|
|
379
372
|
MatMenuModule,
|
|
380
|
-
MatInputModule,
|
|
381
373
|
UxButtonComponentModule,
|
|
382
374
|
TranslateModule,
|
|
383
375
|
ObserversModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-legacy-ux-dropdown-button.mjs","sources":["../../legacy/ux-dropdown-button/ux-dropdown-button-item.component.ts","../../legacy/ux-dropdown-button/ux-dropdown-button-item.component.html","../../legacy/ux-dropdown-button/ux-dropdown-button.component.ts","../../legacy/ux-dropdown-button/ux-dropdown-button.component.html","../../legacy/ux-dropdown-button/eui-components-legacy-ux-dropdown-button.ts"],"sourcesContent":["import { Component, Input, NgModule, Output, EventEmitter, AfterContentInit, ViewChild, ElementRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenu, MatMenuModule } from '@angular/material/menu';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UxLink } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'ux-dropdown-button-item',\n templateUrl: './ux-dropdown-button-item.component.html',\n})\nexport class UxDropdownButtonItemComponent implements AfterContentInit {\n\n @Input() links: UxLink[];\n @Input() link: UxLink;\n @Input() id: string;\n @Input() label: string;\n @Input() iconClass: string;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled: boolean = false;\n @Input() e2eAttr: string = 'ux-dropdown-button-item';\n @Input()\n get hasChildren(): boolean { return this._hasChildren; }\n set hasChildren(value: BooleanInput) { this._hasChildren = coerceBooleanProperty(value); }\n private _hasChildren: boolean = false;\n @Input()\n get hasNestedContent(): boolean { return this._hasNestedContent; }\n set hasNestedContent(value: BooleanInput) { this._hasNestedContent = coerceBooleanProperty(value); }\n private _hasNestedContent: boolean = false;\n\n @Output() linkSelected: EventEmitter<any> = new EventEmitter<any>();\n\n stateClass: string;\n\n @ViewChild('childMenu', { static: true, read: MatMenu }) public childMenu: MatMenu;\n\n ngAfterContentInit() {\n if (this.link) {\n this.id = this.link.id;\n this.label = this.link.label;\n this.iconClass = this.link.iconClass;\n this.isDisabled = this.link.disabled;\n }\n }\n\n onClick(link?: UxLink) {\n if (this.link) {\n this.linkSelected.emit(this.link);\n }\n if (link && !link.disabled && link.command) {\n link.command();\n }\n }\n\n trackByFn(index: number, item: UxLink) {\n return item.id;\n }\n}\n\n@NgModule({\n imports: [CommonModule, MatMenuModule, TranslateModule],\n exports: [UxDropdownButtonItemComponent],\n declarations: [UxDropdownButtonItemComponent]\n})\nexport class UxDropdownButtonItemComponentModule {\n}\n","<div *ngIf=\"!hasChildren\">\n <button *ngIf=\"!isDisabled && !hasNestedContent\" mat-menu-item class=\"ux-dropdown-button-item\"\n (click)=\"onClick()\"\n [attr.data-e2e]=\"e2eAttr\">\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </button>\n\n <button *ngIf=\"isDisabled && !hasNestedContent\" mat-menu-item class=\"ux-dropdown-button-item\" disabled [attr.data-e2e]=\"e2eAttr\">\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </button>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"iconClass\">\n <span class=\"ux-dropdown-button-item__icon eui-icon-fw {{iconClass}}\"></span>\n <span>{{ label }}</span>\n </ng-container>\n <ng-container *ngIf=\"!iconClass\">\n {{ label }}\n </ng-container>\n </ng-template>\n</div>\n\n<ng-template [ngIf]=\"hasNestedContent\">\n <button mat-menu-item [matMenuTriggerFor]=\"childMenu\">\n <span> {{ label }} </span>\n </button>\n</ng-template>\n\n<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <span *ngFor=\"let link of links; trackBy: trackByFn\">\n <!-- Handle branch node menu items -->\n <span *ngIf=\"link.children && link.children.length > 0\">\n <button mat-menu-item [matMenuTriggerFor]=\"menu.childMenu\" [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\" (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\" class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n <ux-dropdown-button-item #menu\n [hasChildren]=\"true\"\n [links]=\"link.children\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n <!-- Handle leaf node menu items -->\n <span *ngIf=\"!link.children || link.children.length === 0\">\n <button mat-menu-item [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\" (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\"\n class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n </span>\n </span>\n <ng-template [ngIf]=\"!links\">\n <ng-content></ng-content>\n </ng-template>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule, MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { MatInputModule } from '@angular/material/input';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UxLink } from '@eui/core';\n\nimport { UxDropdownButtonItemComponentModule } from './ux-dropdown-button-item.component';\nimport { UxButtonComponentModule } from '@eui/components/legacy/ux-button';\nimport { UxTreeComponent } from '@eui/components/legacy/ux-tree';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\n\nexport const UX_DROPDOWN_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => UxDropdownButtonComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n};\n\n@Component({\n selector: 'ux-dropdown-button',\n templateUrl: './ux-dropdown-button.component.html',\n providers: [UX_DROPDOWN_BUTTON_VALUE_ACCESSOR],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class UxDropdownButtonComponent implements AfterContentInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() styleClass: string;\n @Input() label: string;\n @Input() iconClass: string;\n @Input() links: UxLink[];\n @Input() activeLink: UxLink;\n @Input() typeClass: string = 'secondary';\n @Input() dropdownMinHeight: string = 'auto';\n @Input() dropdownMaxHeight: string = 'auto';\n @Input() width: string = '10rem';\n @Input() buttonLabelAlignment: ('left' | 'center' | 'right') = 'center';\n @Input() e2eAttr: string = 'ux-dropdown-button';\n @Input() menu: MatMenu;\n @Input() id: string;\n\n temp: string;\n @Output() linkSelected: EventEmitter<UxLink> = new EventEmitter<UxLink>();\n @ContentChild(UxTreeComponent) uxTree: UxTreeComponent;\n @ViewChild('mainMenu') matMenu: MatMenu;\n @ViewChild('menuTrigger') matMenuTrigger: MatMenuTrigger;\n @ViewChild('buttonref', { read: ElementRef }) buttonref: ElementRef;\n\n isIconButton: boolean = false;\n isFlatButton: boolean = false;\n buttonStyleClass: string = 'ux-dropdown-button';\n\n @Input()\n get isUpdateLabelFromSelectedItem(): boolean { return this._isUpdateLabelFromSelectedItem; }\n set isUpdateLabelFromSelectedItem(value: BooleanInput) { this._isUpdateLabelFromSelectedItem = coerceBooleanProperty(value); }\n private _isUpdateLabelFromSelectedItem: boolean = false;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled: boolean = false;\n @Input()\n get isSmall(): boolean { return this._isSmall; }\n set isSmall(value: BooleanInput) { this._isSmall = coerceBooleanProperty(value); }\n private _isSmall: boolean = false;\n @Input()\n get isLarge(): boolean { return this._isLarge; }\n set isLarge(value: BooleanInput) { this._isLarge = coerceBooleanProperty(value); }\n private _isLarge: boolean = false;\n @Input()\n get isSplitButtonToggle(): boolean { return this._isSplitButtonToggle; }\n set isSplitButtonToggle(value: BooleanInput) { this._isSplitButtonToggle = coerceBooleanProperty(value); }\n private _isSplitButtonToggle: boolean = false;\n @Input()\n get isDropDownRightAligned(): boolean { return this._isDropDownRightAligned; }\n set isDropDownRightAligned(value: BooleanInput) { this._isDropDownRightAligned = coerceBooleanProperty(value); }\n private _isDropDownRightAligned: boolean = false;\n @Input()\n get isLinkToggle(): boolean { return this._isLinkToggle; }\n set isLinkToggle(value: BooleanInput) { this._isLinkToggle = coerceBooleanProperty(value); }\n private _isLinkToggle: boolean = false;\n @Input()\n get isOutline(): boolean { return this._isOutline; }\n set isOutline(value: BooleanInput) { this._isOutline = coerceBooleanProperty(value); }\n private _isOutline: boolean = false;\n @Input()\n get isShowDropdownToggle(): boolean { return this._isShowDropdownToggle; }\n set isShowDropdownToggle(value: BooleanInput) { this._isShowDropdownToggle = coerceBooleanProperty(value); }\n private _isShowDropdownToggle: boolean = true;\n @Input()\n get hasItems(): boolean { return this._hasItems; }\n set hasItems(value: BooleanInput) { this._hasItems = coerceBooleanProperty(value); }\n private _hasItems: boolean = false;\n @Input()\n get isSecondary(): boolean { return this._isSecondary; }\n set isSecondary(value: BooleanInput) { this._isSecondary = coerceBooleanProperty(value); }\n private _isSecondary: boolean = false;\n @Input()\n get isBlock(): boolean { return this._isBlock; }\n set isBlock(value: BooleanInput) { this._isBlock = coerceBooleanProperty(value); }\n private _isBlock: boolean = false;\n\n private onChange: (_: any) => void = noop;\n private onTouched: (_: any) => void = noop;\n private selectedLink: UxLink = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngOnChanges(): void {\n this.temp = this.label;\n }\n\n ngAfterContentInit(): void {\n if (!this.label && !this.iconClass && !this.isSplitButtonToggle) {\n this.iconClass = 'eui-icon eui-icon-bars';\n this.isIconButton = true;\n }\n if (!this.label) {\n this.isIconButton = true;\n }\n if (this.iconClass && !this.label && !this.isSplitButtonToggle) {\n this.isFlatButton = true;\n }\n\n if (this.styleClass) {\n this.buttonStyleClass += ' ' + this.styleClass;\n }\n\n if (this.isShowDropdownToggle && !this.iconClass) {\n this.buttonStyleClass += ' ux-dropdown-toggle';\n }\n\n this.buttonStyleClass += ' eui-u-text-' + this.buttonLabelAlignment; // TODO v15 remove usage of utility in cmp - prefer mixin through style\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n selectDropdownItem(link: UxLink): void {\n if (!link.disabled) {\n\n if (link && link.command) {\n link.command();\n }\n\n if (link.urlExternal) {\n window.open(link.urlExternal, link.urlExternalTarget);\n }\n\n if (this.isUpdateLabelFromSelectedItem && link) {\n this.label = link.label;\n }\n\n if (this.isUpdateLabelFromSelectedItem) {\n this.links.forEach((lnk) => {\n lnk.active = false;\n });\n\n link.active = true;\n }\n }\n\n this.onChange(link);\n this.linkSelected.emit(link);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.matMenuTrigger.closeMenu();\n this.buttonref.nativeElement.firstElementChild.focus();\n }\n\n if (event.key === 'Tab') {\n // Find first and last focusable element\n let firstFocusableEl;\n if (this.uxTree.treeNodes.first.node.hasChildren) {\n firstFocusableEl = document.querySelectorAll('li.ux-tree__node div ux-button button')[0];\n } else {\n firstFocusableEl = document.querySelectorAll('li.ux-tree__node div span input')[0];\n }\n\n let lastFocusableEl;\n if (this.uxTree.isMultiselect) {\n lastFocusableEl = <HTMLElement>Array.from(document.querySelectorAll('li.ux-tree__node div span input')).reverse()[0];\n } else {\n lastFocusableEl = <HTMLElement>Array.from(document.querySelectorAll('li.ux-tree__node div ux-button button')).reverse()[0];\n }\n // Trap Focus\n if (event.shiftKey && document.activeElement === firstFocusableEl) {\n event.preventDefault();\n lastFocusableEl.focus();\n } else if (!event.shiftKey && document.activeElement === lastFocusableEl) {\n event.preventDefault();\n (firstFocusableEl as HTMLElement).focus();\n }\n }\n\n event.stopPropagation();\n }\n\n onButtonKeyDown(event: KeyboardEvent, menuTrigger?: MatMenuTrigger): void {\n if ( event.key === 'Enter' && this.uxTree) {\n menuTrigger?.menuOpened.pipe(takeUntil(this.destroy$)).subscribe( () => {\n // Focus first element\n if (this.uxTree.treeNodes.first.node.hasChildren) {\n const firstButtonElement = document.querySelectorAll('li.ux-tree__node div ux-button button')[0];\n (firstButtonElement as HTMLElement).focus();\n } else {\n const firstInputElement = document.querySelectorAll('li.ux-tree__node div span input')[0];\n (firstInputElement as HTMLElement).focus();\n }\n });\n }\n }\n\n onTriggerClick(menuTrigger?: MatMenuTrigger): void {\n menuTrigger?.menuOpened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.uxTree?.virtualScrolling?.scrollToIndex(0.1);\n });\n }\n\n writeValue(value: any): void {\n this.selectedLink = value || null;\n this.isUpdateLabelFromSelectedItem = true;\n\n if (value && value.label) {\n this.label = value.label;\n } else {\n this.label = this.temp;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onClick(link?: UxLink): void {\n if (link && !link.disabled && link.command) {\n link.command();\n }\n }\n\n trackByFn(index: number, item: UxLink): string {\n return item.id;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n UxDropdownButtonItemComponentModule,\n MatButtonModule,\n MatMenuModule,\n MatInputModule,\n UxButtonComponentModule,\n TranslateModule,\n ObserversModule,\n ],\n exports: [UxDropdownButtonComponent],\n declarations: [UxDropdownButtonComponent]\n})\nexport class UxDropdownButtonComponentModule {\n}\n","<ux-button *ngIf=\"!isLinkToggle\"\n [matMenuTriggerFor]=\"menu? menu: mainMenu\"\n #buttonref\n #menuTrigger=\"matMenuTrigger\"\n (keydown)=\"onButtonKeyDown($event, menuTrigger)\"\n (click)=\"onTriggerClick(menuTrigger)\"\n [isSecondary]=\"isSecondary\"\n [isOutline]=\"isOutline\"\n [isSmall]=\"isSmall\"\n [isLarge]=\"isLarge\"\n typeClass=\"{{typeClass}}\"\n [styleClass]=\"buttonStyleClass\"\n [isDisabled]=\"isDisabled\"\n [isFlat]=\"isFlatButton\"\n [isBlock]=\"isBlock\"\n [attr.data-e2e]=\"e2eAttr\">\n <span *ngIf=\"label\">{{ label }}</span>\n <span *ngIf=\"iconClass\" class=\"ux-button__icon eui-icon-fw {{iconClass}}\" [class.ms-2]=\"label\"></span>\n</ux-button>\n\n<a *ngIf=\"isLinkToggle\" [class.ux-dropdown-toggle]=\"isShowDropdownToggle\" [matMenuTriggerFor]=\"mainMenu\">\n <span class=\"ux-button__icon eui-icon-fw {{iconClass}}\"></span>\n <span *ngIf=\"label\">{{ label }}</span>\n</a>\n\n<mat-menu #mainMenu=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <span *ngFor=\"let link of links; trackBy: trackByFn\">\n <span *ngIf=\"link.children && link.children.length > 0\">\n <button mat-menu-item [matMenuTriggerFor]=\"menu.childMenu\"\n [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\"\n (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\"\n class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n <ux-dropdown-button-item #menu\n [hasChildren]=\"true\"\n [links]=\"link.children\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n <span *ngIf=\"!link.children || link.children.length === 0\">\n <ux-dropdown-button-item [link]=\"link\"\n (linkSelected)=\"selectDropdownItem($event)\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n </span>\n <ng-container *ngIf=\"!links || links.length === 0\">\n <div class=\"ux-dropdown-button__content\"\n [style.max-height]=\"dropdownMaxHeight\"\n [style.min-height]=\"dropdownMinHeight\"\n [style.min-width]=\"width\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n</mat-menu>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.UxDropdownButtonItemComponent","i3","i5"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-legacy-ux-dropdown-button.mjs","sources":["../../legacy/ux-dropdown-button/ux-dropdown-button-item.component.ts","../../legacy/ux-dropdown-button/ux-dropdown-button-item.component.html","../../legacy/ux-dropdown-button/ux-dropdown-button.component.ts","../../legacy/ux-dropdown-button/ux-dropdown-button.component.html","../../legacy/ux-dropdown-button/eui-components-legacy-ux-dropdown-button.ts"],"sourcesContent":["import { Component, Input, NgModule, Output, EventEmitter, AfterContentInit, ViewChild, ElementRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatMenu, MatMenuModule } from '@angular/material/menu';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UxLink } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'ux-dropdown-button-item',\n templateUrl: './ux-dropdown-button-item.component.html',\n})\nexport class UxDropdownButtonItemComponent implements AfterContentInit {\n\n @Input() links: UxLink[];\n @Input() link: UxLink;\n @Input() id: string;\n @Input() label: string;\n @Input() iconClass: string;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled: boolean = false;\n @Input() e2eAttr: string = 'ux-dropdown-button-item';\n @Input()\n get hasChildren(): boolean { return this._hasChildren; }\n set hasChildren(value: BooleanInput) { this._hasChildren = coerceBooleanProperty(value); }\n private _hasChildren: boolean = false;\n @Input()\n get hasNestedContent(): boolean { return this._hasNestedContent; }\n set hasNestedContent(value: BooleanInput) { this._hasNestedContent = coerceBooleanProperty(value); }\n private _hasNestedContent: boolean = false;\n\n @Output() linkSelected: EventEmitter<any> = new EventEmitter<any>();\n\n stateClass: string;\n\n @ViewChild('childMenu', { static: true, read: MatMenu }) public childMenu: MatMenu;\n\n ngAfterContentInit() {\n if (this.link) {\n this.id = this.link.id;\n this.label = this.link.label;\n this.iconClass = this.link.iconClass;\n this.isDisabled = this.link.disabled;\n }\n }\n\n onClick(link?: UxLink) {\n if (this.link) {\n this.linkSelected.emit(this.link);\n }\n if (link && !link.disabled && link.command) {\n link.command();\n }\n }\n\n trackByFn(index: number, item: UxLink) {\n return item.id;\n }\n}\n\n@NgModule({\n imports: [CommonModule, MatMenuModule, TranslateModule],\n exports: [UxDropdownButtonItemComponent],\n declarations: [UxDropdownButtonItemComponent]\n})\nexport class UxDropdownButtonItemComponentModule {\n}\n","<div *ngIf=\"!hasChildren\">\n <button *ngIf=\"!isDisabled && !hasNestedContent\" mat-menu-item class=\"ux-dropdown-button-item\"\n (click)=\"onClick()\"\n [attr.data-e2e]=\"e2eAttr\">\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </button>\n\n <button *ngIf=\"isDisabled && !hasNestedContent\" mat-menu-item class=\"ux-dropdown-button-item\" disabled [attr.data-e2e]=\"e2eAttr\">\n <ng-container *ngTemplateOutlet=\"buttonContent\"></ng-container>\n </button>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"iconClass\">\n <span class=\"ux-dropdown-button-item__icon eui-icon-fw {{iconClass}}\"></span>\n <span>{{ label }}</span>\n </ng-container>\n <ng-container *ngIf=\"!iconClass\">\n {{ label }}\n </ng-container>\n </ng-template>\n</div>\n\n<ng-template [ngIf]=\"hasNestedContent\">\n <button mat-menu-item [matMenuTriggerFor]=\"childMenu\">\n <span> {{ label }} </span>\n </button>\n</ng-template>\n\n<mat-menu #childMenu=\"matMenu\" [overlapTrigger]=\"false\">\n <span *ngFor=\"let link of links; trackBy: trackByFn\">\n <!-- Handle branch node menu items -->\n <span *ngIf=\"link.children && link.children.length > 0\">\n <button mat-menu-item [matMenuTriggerFor]=\"menu.childMenu\" [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\" (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\" class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n <ux-dropdown-button-item #menu\n [hasChildren]=\"true\"\n [links]=\"link.children\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n <!-- Handle leaf node menu items -->\n <span *ngIf=\"!link.children || link.children.length === 0\">\n <button mat-menu-item [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\" (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\"\n class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n </span>\n </span>\n <ng-template [ngIf]=\"!links\">\n <ng-content></ng-content>\n </ng-template>\n</mat-menu>\n","import { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgModule,\n OnChanges,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { MatMenuModule, MatMenu, MatMenuTrigger } from '@angular/material/menu';\nimport { ObserversModule } from '@angular/cdk/observers';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { UxLink } from '@eui/core';\n\nimport { UxDropdownButtonItemComponentModule } from './ux-dropdown-button-item.component';\nimport { UxButtonComponentModule } from '@eui/components/legacy/ux-button';\nimport { UxTreeComponent } from '@eui/components/legacy/ux-tree';\nimport { Subject } from 'rxjs/internal/Subject';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { takeUntil } from 'rxjs/operators';\n\nexport const UX_DROPDOWN_BUTTON_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => UxDropdownButtonComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n};\n\n@Component({\n selector: 'ux-dropdown-button',\n templateUrl: './ux-dropdown-button.component.html',\n providers: [UX_DROPDOWN_BUTTON_VALUE_ACCESSOR],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class UxDropdownButtonComponent implements AfterContentInit, ControlValueAccessor, OnChanges, OnDestroy {\n @Input() styleClass: string;\n @Input() label: string;\n @Input() iconClass: string;\n @Input() links: UxLink[];\n @Input() activeLink: UxLink;\n @Input() typeClass: string = 'secondary';\n @Input() dropdownMinHeight: string = 'auto';\n @Input() dropdownMaxHeight: string = 'auto';\n @Input() width: string = '10rem';\n @Input() buttonLabelAlignment: ('left' | 'center' | 'right') = 'center';\n @Input() e2eAttr: string = 'ux-dropdown-button';\n @Input() menu: MatMenu;\n @Input() id: string;\n\n temp: string;\n @Output() linkSelected: EventEmitter<UxLink> = new EventEmitter<UxLink>();\n @ContentChild(UxTreeComponent) uxTree: UxTreeComponent;\n @ViewChild('mainMenu') matMenu: MatMenu;\n @ViewChild('menuTrigger') matMenuTrigger: MatMenuTrigger;\n @ViewChild('buttonref', { read: ElementRef }) buttonref: ElementRef;\n\n isIconButton: boolean = false;\n isFlatButton: boolean = false;\n buttonStyleClass: string = 'ux-dropdown-button';\n\n @Input()\n get isUpdateLabelFromSelectedItem(): boolean { return this._isUpdateLabelFromSelectedItem; }\n set isUpdateLabelFromSelectedItem(value: BooleanInput) { this._isUpdateLabelFromSelectedItem = coerceBooleanProperty(value); }\n private _isUpdateLabelFromSelectedItem: boolean = false;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled: boolean = false;\n @Input()\n get isSmall(): boolean { return this._isSmall; }\n set isSmall(value: BooleanInput) { this._isSmall = coerceBooleanProperty(value); }\n private _isSmall: boolean = false;\n @Input()\n get isLarge(): boolean { return this._isLarge; }\n set isLarge(value: BooleanInput) { this._isLarge = coerceBooleanProperty(value); }\n private _isLarge: boolean = false;\n @Input()\n get isSplitButtonToggle(): boolean { return this._isSplitButtonToggle; }\n set isSplitButtonToggle(value: BooleanInput) { this._isSplitButtonToggle = coerceBooleanProperty(value); }\n private _isSplitButtonToggle: boolean = false;\n @Input()\n get isDropDownRightAligned(): boolean { return this._isDropDownRightAligned; }\n set isDropDownRightAligned(value: BooleanInput) { this._isDropDownRightAligned = coerceBooleanProperty(value); }\n private _isDropDownRightAligned: boolean = false;\n @Input()\n get isLinkToggle(): boolean { return this._isLinkToggle; }\n set isLinkToggle(value: BooleanInput) { this._isLinkToggle = coerceBooleanProperty(value); }\n private _isLinkToggle: boolean = false;\n @Input()\n get isOutline(): boolean { return this._isOutline; }\n set isOutline(value: BooleanInput) { this._isOutline = coerceBooleanProperty(value); }\n private _isOutline: boolean = false;\n @Input()\n get isShowDropdownToggle(): boolean { return this._isShowDropdownToggle; }\n set isShowDropdownToggle(value: BooleanInput) { this._isShowDropdownToggle = coerceBooleanProperty(value); }\n private _isShowDropdownToggle: boolean = true;\n @Input()\n get hasItems(): boolean { return this._hasItems; }\n set hasItems(value: BooleanInput) { this._hasItems = coerceBooleanProperty(value); }\n private _hasItems: boolean = false;\n @Input()\n get isSecondary(): boolean { return this._isSecondary; }\n set isSecondary(value: BooleanInput) { this._isSecondary = coerceBooleanProperty(value); }\n private _isSecondary: boolean = false;\n @Input()\n get isBlock(): boolean { return this._isBlock; }\n set isBlock(value: BooleanInput) { this._isBlock = coerceBooleanProperty(value); }\n private _isBlock: boolean = false;\n\n private onChange: (_: any) => void = noop;\n private onTouched: (_: any) => void = noop;\n private selectedLink: UxLink = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngOnChanges(): void {\n this.temp = this.label;\n }\n\n ngAfterContentInit(): void {\n if (!this.label && !this.iconClass && !this.isSplitButtonToggle) {\n this.iconClass = 'eui-icon eui-icon-bars';\n this.isIconButton = true;\n }\n if (!this.label) {\n this.isIconButton = true;\n }\n if (this.iconClass && !this.label && !this.isSplitButtonToggle) {\n this.isFlatButton = true;\n }\n\n if (this.styleClass) {\n this.buttonStyleClass += ' ' + this.styleClass;\n }\n\n if (this.isShowDropdownToggle && !this.iconClass) {\n this.buttonStyleClass += ' ux-dropdown-toggle';\n }\n\n this.buttonStyleClass += ' eui-u-text-' + this.buttonLabelAlignment; // TODO v15 remove usage of utility in cmp - prefer mixin through style\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n selectDropdownItem(link: UxLink): void {\n if (!link.disabled) {\n\n if (link && link.command) {\n link.command();\n }\n\n if (link.urlExternal) {\n window.open(link.urlExternal, link.urlExternalTarget);\n }\n\n if (this.isUpdateLabelFromSelectedItem && link) {\n this.label = link.label;\n }\n\n if (this.isUpdateLabelFromSelectedItem) {\n this.links.forEach((lnk) => {\n lnk.active = false;\n });\n\n link.active = true;\n }\n }\n\n this.onChange(link);\n this.linkSelected.emit(link);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.matMenuTrigger.closeMenu();\n this.buttonref.nativeElement.firstElementChild.focus();\n }\n\n if (event.key === 'Tab') {\n // Find first and last focusable element\n let firstFocusableEl;\n if (this.uxTree.treeNodes.first.node.hasChildren) {\n firstFocusableEl = document.querySelectorAll('li.ux-tree__node div ux-button button')[0];\n } else {\n firstFocusableEl = document.querySelectorAll('li.ux-tree__node div span input')[0];\n }\n\n let lastFocusableEl;\n if (this.uxTree.isMultiselect) {\n lastFocusableEl = <HTMLElement>Array.from(document.querySelectorAll('li.ux-tree__node div span input')).reverse()[0];\n } else {\n lastFocusableEl = <HTMLElement>Array.from(document.querySelectorAll('li.ux-tree__node div ux-button button')).reverse()[0];\n }\n // Trap Focus\n if (event.shiftKey && document.activeElement === firstFocusableEl) {\n event.preventDefault();\n lastFocusableEl.focus();\n } else if (!event.shiftKey && document.activeElement === lastFocusableEl) {\n event.preventDefault();\n (firstFocusableEl as HTMLElement).focus();\n }\n }\n\n event.stopPropagation();\n }\n\n onButtonKeyDown(event: KeyboardEvent, menuTrigger?: MatMenuTrigger): void {\n if ( event.key === 'Enter' && this.uxTree) {\n menuTrigger?.menuOpened.pipe(takeUntil(this.destroy$)).subscribe( () => {\n // Focus first element\n if (this.uxTree.treeNodes.first.node.hasChildren) {\n const firstButtonElement = document.querySelectorAll('li.ux-tree__node div ux-button button')[0];\n (firstButtonElement as HTMLElement).focus();\n } else {\n const firstInputElement = document.querySelectorAll('li.ux-tree__node div span input')[0];\n (firstInputElement as HTMLElement).focus();\n }\n });\n }\n }\n\n onTriggerClick(menuTrigger?: MatMenuTrigger): void {\n menuTrigger?.menuOpened.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.uxTree?.virtualScrolling?.scrollToIndex(0.1);\n });\n }\n\n writeValue(value: any): void {\n this.selectedLink = value || null;\n this.isUpdateLabelFromSelectedItem = true;\n\n if (value && value.label) {\n this.label = value.label;\n } else {\n this.label = this.temp;\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onClick(link?: UxLink): void {\n if (link && !link.disabled && link.command) {\n link.command();\n }\n }\n\n trackByFn(index: number, item: UxLink): string {\n return item.id;\n }\n}\n\n@NgModule({\n imports: [\n CommonModule,\n UxDropdownButtonItemComponentModule,\n MatMenuModule,\n UxButtonComponentModule,\n TranslateModule,\n ObserversModule,\n ],\n exports: [UxDropdownButtonComponent],\n declarations: [UxDropdownButtonComponent]\n})\nexport class UxDropdownButtonComponentModule {\n}\n","<ux-button *ngIf=\"!isLinkToggle\"\n [matMenuTriggerFor]=\"menu? menu: mainMenu\"\n #buttonref\n #menuTrigger=\"matMenuTrigger\"\n (keydown)=\"onButtonKeyDown($event, menuTrigger)\"\n (click)=\"onTriggerClick(menuTrigger)\"\n [isSecondary]=\"isSecondary\"\n [isOutline]=\"isOutline\"\n [isSmall]=\"isSmall\"\n [isLarge]=\"isLarge\"\n typeClass=\"{{typeClass}}\"\n [styleClass]=\"buttonStyleClass\"\n [isDisabled]=\"isDisabled\"\n [isFlat]=\"isFlatButton\"\n [isBlock]=\"isBlock\"\n [attr.data-e2e]=\"e2eAttr\">\n <span *ngIf=\"label\">{{ label }}</span>\n <span *ngIf=\"iconClass\" class=\"ux-button__icon eui-icon-fw {{iconClass}}\" [class.ms-2]=\"label\"></span>\n</ux-button>\n\n<a *ngIf=\"isLinkToggle\" [class.ux-dropdown-toggle]=\"isShowDropdownToggle\" [matMenuTriggerFor]=\"mainMenu\">\n <span class=\"ux-button__icon eui-icon-fw {{iconClass}}\"></span>\n <span *ngIf=\"label\">{{ label }}</span>\n</a>\n\n<mat-menu #mainMenu=\"matMenu\" [xPosition]=\"isDropDownRightAligned ? 'before' : 'after'\">\n <span *ngFor=\"let link of links; trackBy: trackByFn\">\n <span *ngIf=\"link.children && link.children.length > 0\">\n <button mat-menu-item [matMenuTriggerFor]=\"menu.childMenu\"\n [class.eui-u-disabled]=\"link.disabled\"\n [attr.disabled]=\"link.disabled ? 'disabled' : null\"\n (click)=\"onClick(link)\">\n <span *ngIf=\"link.iconClass\"\n class=\"ux-dropdown-button-item__icon eui-icon-fw {{ link.iconClass }}\"></span>\n <span>{{ link.label | translate }}</span>\n </button>\n <ux-dropdown-button-item #menu\n [hasChildren]=\"true\"\n [links]=\"link.children\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n <span *ngIf=\"!link.children || link.children.length === 0\">\n <ux-dropdown-button-item [link]=\"link\"\n (linkSelected)=\"selectDropdownItem($event)\"\n [e2eAttr]=\"link.e2eAttr\">\n </ux-dropdown-button-item>\n </span>\n </span>\n <ng-container *ngIf=\"!links || links.length === 0\">\n <div class=\"ux-dropdown-button__content\"\n [style.max-height]=\"dropdownMaxHeight\"\n [style.min-height]=\"dropdownMinHeight\"\n [style.min-width]=\"width\"\n [id]=\"id\"\n (keydown)=\"onKeyDown($event)\">\n <ng-content></ng-content>\n </div>\n </ng-container>\n</mat-menu>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.UxDropdownButtonItemComponent","i3","i5"],"mappings":"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"}
|