@eui/components 17.3.8-snapshot-1721088786458 → 17.3.8-snapshot-1721261581418
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/components/EuiNotificationsComponent.html +1 -1
- package/docs/dependencies.html +3 -3
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/eui-menu/eui-menu-item.component.mjs +2 -2
- package/esm2022/eui-menu/eui-menu.component.mjs +2 -2
- package/esm2022/eui-tree-list/eui-tree-list.component.mjs +2 -2
- package/esm2022/eui-tree-list/toolbar/toolbar.component.mjs +1 -3
- package/esm2022/layout/eui-notifications/eui-notifications.component.mjs +3 -3
- package/eui-tree-list/toolbar/toolbar.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +4 -4
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-tree-list.mjs +1 -3
- package/fesm2022/eui-components-eui-tree-list.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +2 -2
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/package.json +9 -9
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-menu.mjs","sources":["../../eui-menu/eui-menu-item.component.ts","../../eui-menu/eui-menu-item.component.html","../../eui-menu/eui-menu.component.ts","../../eui-menu/eui-menu.component.html","../../eui-menu/eui-menu.module.ts","../../eui-menu/eui-components-eui-menu.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { consumeEvent } from '@eui/core';\n\nimport { EuiMenuItem } from './models/eui-menu-item.model';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n\n @Input() item: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n\n @Input({ transform: booleanAttribute }) hasIcon: boolean;\n @Input({ transform: booleanAttribute }) hasTooltip: boolean;\n @Input({ transform: booleanAttribute }) isCollapsed: boolean;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials: boolean;\n @Input({ transform: booleanAttribute }) isLabelLowercase: boolean;\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n return this.item.tooltip || this.getTooltipFromItem(this.item);\n }\n return null;\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick($event: MouseEvent): void {\n this.item.actionIcon?.action($event);\n consumeEvent(event);\n }\n\n /**\n * Check if an element is visible in the viewport\n * @param el\n * @param partiallyVisible\n */\n elementIsVisibleInViewport(partiallyVisible = false): boolean {\n const { top, left, bottom, right } = this.elementRef.nativeElement.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n }\n\n /**\n * Scroll the element into view\n * @param properties\n */\n scrollIntoView(properties: unknown): void {\n this.elementRef.nativeElement.scrollIntoView(properties);\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n 'eui-menu-item',\n this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n","<li\n *ngIf=\"isLabelItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item eui-menu-item__category\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <span class=\"eui-menu-item__category-label\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n </span>\n</li>\n\n<li\n *ngIf=\"isUrlItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\">\n <a\n (click)=\"onClick($event)\"\n [tabindex]=\"item.disabled ? '-1' : '0'\"\n [routerLink]=\"item.url ? item.url : null\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-haspopup]=\"item?.children?.length > 0\"\n [attr.aria-disabled]=\"item.disabled\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<li\n *ngIf=\"isLinkItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\">\n <a\n (click)=\"onClick($event)\"\n [tabindex]=\"item.disabled ? '-1' : '0'\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-haspopup]=\"item?.children?.length > 0\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<ng-template #linkContent>\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <eui-icon-svg\n *ngIf=\"item.hasMarker && !hasCollapsedInitials\"\n class=\"eui-menu-item__link-marker eui-menu-item__link-marker--default\"\n fillColor=\"{{ item?.markerTypeClass }}-100\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n\n <span class=\"eui-menu-item__link-label\" [class.eui-menu-item--disabled]=\"item.disabled\" [attr.aria-disabled]=\"item.disabled\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\">\n </eui-icon-svg>\n </span>\n\n <div class=\"eui-menu-item__link-right-content\">\n <eui-chip *ngIf=\"item.tagLabel\" euiSizeXS euiOutline styleClass=\"eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}\" [ariaLabel]=\"item.tagLabel\">\n <span euiLabel class=\"eui-label\">{{ item.tagLabel }}</span>\n </eui-chip>\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></eui-icon-svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n <eui-icon-svg\n *ngIf=\"hasIcon && item.iconSvgName && !item.iconClass\"\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n <span *ngIf=\"hasIcon && item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\">\n </span>\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-bg-color-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n <!-- with SVG icon-->\n <eui-icon-svg\n *ngIf=\"!item.iconClass && item.iconSvgName\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n <eui-icon-svg\n *ngIf=\"!item.iconClass && !item.iconSvgName && !item.hasMarker\"\n class=\"eui-menu-item__category-icon--default\"\n icon=\"eui-ellipse\"\n fillColor=\"grey-75\"\n size=\"xs\">\n </eui-icon-svg>\n\n <!-- with webfont icon (TODO v18: deprecated) -->\n <span *ngIf=\"item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-icon {{item.iconClass}}\">\n </span>\n\n } @else {\n <eui-icon-svg\n *ngIf=\"!item.hasMarker\"\n class=\"eui-menu-item__link-icon--default\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n ViewChildren,\n QueryList,\n ViewChild,\n ElementRef,\n AfterViewInit,\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd, Event as RouterEvent } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { consumeEvent } from '@eui/core';\n\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from './models/eui-menu-item.model';\nimport { Subscription } from 'rxjs';\n\nimport * as uuid from 'uuid';\n\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) protected menuItems: QueryList<EuiMenuItemComponent>;\n @ViewChild('filterInput', { read: ElementRef }) protected filterInput: ElementRef<HTMLInputElement>;\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-menu',\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n /**\n * Expand all items in the menu. Affects only items that have no expanded property set.\n * e.g. items = [{label: test, expanded: true}, {label: test2, expanded: false}, {label: test3}] will expand only test3.\n */\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasLowercaseItems = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n\n if(changes.hasScrollToItem){\n this.hasScrollToItem = changes.hasScrollToItem.currentValue;\n if(this.hasScrollToItem){\n this.scrollToItem(this.router.url);\n }\n }\n\n if(changes.hasFilter){\n this.hasFilter = changes.hasFilter.currentValue;\n if(!this.hasFilter) {\n // iterate through all items and reset the filtered property\n this.items = this.filterMenuItems(this.items, '')\n }\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n // subscription to routes url changes for activating the scrollIntoView\n this.router.events.subscribe((event) => {\n // Handle route change event\n if (event instanceof NavigationEnd) {\n if (this.hasScrollToItem) {\n this.scrollToItem(event.url);\n }\n }\n });\n }\n\n ngAfterViewInit(): void {\n // scrolls to the item that matches the current url\n if(this.hasScrollToItem){\n this.scrollToItem(this.router.url);\n }\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this.items = this.filterMenuItems(this.items, value);\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label?.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n }) || [];\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = item.expanded ?? isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n\n /**\n * Set a random id to an item and its child if they don't have one\n * @param item\n * @private\n */\n private setRandomId(item: EuiMenuItem): EuiMenuItem {\n item.id = item.id || uuid.v4();\n if(item.children){\n item.children = item.children.map((child) => {\n return this.setRandomId(child);\n });\n }\n return item;\n }\n\n /**\n * Check if an element is visible in the viewport\n * @param el\n * @param partiallyVisible\n * @private\n */\n private elementIsVisibleInViewport(el: HTMLElement, partiallyVisible = false): boolean {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n }\n\n /**\n * Scroll to an item if it's not visible in the viewport\n * @param url\n * @private\n */\n private scrollToItem(url: string): void {\n const item = this.findMostRelevantItem(url, this.items);\n if (item) {\n // change the state of that item to expanded if it's not\n this.expandToGivenItem(item);\n setTimeout(_ => {\n const menuItem = this.menuItems?.find((menuItem) => menuItem.item.id === item.id);\n if(menuItem && !menuItem.elementIsVisibleInViewport()){\n menuItem.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n}\n","@if (hasFilter) {\n <div [hidden]=\"isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n #filterInput\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n </div>\n}\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && (item.expanded || (hasFilter && item.filtered && filterInput?.nativeElement?.value.length > 0))\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n EuiIconModule,\n EuiChipModule,\n EuiButtonModule,\n EuiInputTextModule,\n EuiTooltipDirectiveModule,\n ],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i5.EuiMenuItemComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-menu.mjs","sources":["../../eui-menu/eui-menu-item.component.ts","../../eui-menu/eui-menu-item.component.html","../../eui-menu/eui-menu.component.ts","../../eui-menu/eui-menu.component.html","../../eui-menu/eui-menu.module.ts","../../eui-menu/eui-components-eui-menu.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n Output,\n EventEmitter,\n HostListener,\n OnInit,\n booleanAttribute,\n ElementRef,\n} from '@angular/core';\nimport { consumeEvent } from '@eui/core';\n\nimport { EuiMenuItem } from './models/eui-menu-item.model';\n\n@Component({\n selector: 'eui-menu-item',\n templateUrl: './eui-menu-item.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuItemComponent implements OnInit {\n\n @HostBinding('attr.role') role = 'menuitem';\n @HostBinding('attr.aria-label') ariaLabel = '';\n\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n\n @Input() item: EuiMenuItem;\n @Output() expandToggle = new EventEmitter<EuiMenuItem>();\n @Output() itemClick = new EventEmitter<EuiMenuItem>();\n\n expandMenuLabel = 'Expand';\n collapseMenuLabel = 'Collapse';\n\n isUrlItem = false;\n isLinkItem = false;\n isLabelItem = false;\n\n @Input({ transform: booleanAttribute }) hasIcon: boolean;\n @Input({ transform: booleanAttribute }) hasTooltip: boolean;\n @Input({ transform: booleanAttribute }) isCollapsed: boolean;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials: boolean;\n @Input({ transform: booleanAttribute }) isLabelLowercase: boolean;\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.isUrlItem = (this.item.url || this.item.urlExternal || this.item.children || this.item.command) && !this.item.link;\n this.isLabelItem = !this.item.url && !this.item.urlExternal && !this.item.command && !this.item.children && !this.item.link;\n\n this.isLinkItem = !this.isUrlItem && !this.isLabelItem;\n this.ariaLabel = this.getAriaLabel();\n }\n\n @HostListener('click', ['$event'])\n public stopPropagation(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n get menuItemTooltip(): string {\n if (this.hasTooltip && this.isCollapsed) {\n return this.item.tooltip || this.getTooltipFromItem(this.item);\n }\n return null;\n }\n\n public onClick(event: Event): void {\n this.itemClick.emit(this.item);\n consumeEvent(event);\n }\n\n public onExpandToggle(event: Event): void {\n this.expandToggle.emit(this.item);\n consumeEvent(event);\n }\n\n public onActionIconClick($event: MouseEvent): void {\n this.item.actionIcon?.action($event);\n consumeEvent(event);\n }\n\n /**\n * Check if an element is visible in the viewport\n * @param el\n * @param partiallyVisible\n */\n elementIsVisibleInViewport(partiallyVisible = false): boolean {\n const { top, left, bottom, right } = this.elementRef.nativeElement.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n }\n\n /**\n * Scroll the element into view\n * @param properties\n */\n scrollIntoView(properties: unknown): void {\n this.elementRef.nativeElement.scrollIntoView(properties);\n }\n\n private getTooltipFromItem(item: EuiMenuItem): string {\n if (item.tagLabel && item.label) {\n return item.label + ' (' + item.tagLabel + ')';\n } else if (item.label) {\n return item.label;\n } else if (item.tagLabel) {\n return item.tagLabel;\n }\n return null;\n }\n\n private getAriaLabel(): string {\n if (this.item.label) {\n return this.item.label;\n } else if (this.item.tagLabel) {\n return this.item.tagLabel;\n } else if (this.item.actionIcon && this.item.actionIcon.label) {\n return this.item.actionIcon.label;\n } else if (this.item.iconLabel) {\n return this.item.iconLabel;\n }\n return 'Eui menu item';\n }\n\n /**\n * Returns the default eui-menu-item class on the HostBinding function\n * @private\n */\n private getCssClasses(): string {\n return [\n 'eui-menu-item',\n this.isLabelLowercase ? 'eui-menu-item--lowercase': '',\n ].join(' ').trim();\n }\n}\n","<li\n *ngIf=\"isLabelItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n class=\"eui-menu-item eui-menu-item__category\"\n [attr.data-e2e]=\"item.e2eAttr\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-disabled]=\"item.disabled\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <span class=\"eui-menu-item__category-label\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n </span>\n</li>\n\n<li\n *ngIf=\"isUrlItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\">\n <a\n (click)=\"onClick($event)\"\n [tabindex]=\"item.disabled ? '-1' : '0'\"\n [routerLink]=\"item.url ? item.url : null\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-haspopup]=\"item?.children?.length > 0\"\n [attr.aria-disabled]=\"item.disabled\"\n [routerLinkActive]=\"item.url ? 'eui-menu-item__link--active' : ''\"\n [class.eui-menu-item__link--active]=\"item.active\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<li\n *ngIf=\"isLinkItem && item.visible && item.filtered\"\n role=\"none\"\n id=\"{{item.id}}\"\n [attr.data-e2e]=\"item.e2eAttr\"\n class=\"eui-menu-item\"\n [class.eui-menu-item--expanded]=\"item.expanded || item.filtered\">\n <a\n (click)=\"onClick($event)\"\n [tabindex]=\"item.disabled ? '-1' : '0'\"\n class=\"eui-menu-item__link\"\n [class.eui-menu-item--disabled]=\"item.disabled\"\n [attr.aria-haspopup]=\"item?.children?.length > 0\"\n [attr.aria-disabled]=\"item.disabled\"\n [class.eui-menu-item__link--active]=\"item.active\"\n href=\"javascript:void(0)\"\n [euiTooltip]=\"menuItemTooltip\"\n position=\"after\">\n <ng-template *ngTemplateOutlet=\"linkContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n </a>\n\n <ng-template *ngTemplateOutlet=\"content\"></ng-template>\n</li>\n\n<ng-template #linkContent>\n <ng-template *ngTemplateOutlet=\"itemIconContent\" [ngTemplateOutletContext]=\"{ $implicit: item }\"></ng-template>\n\n <eui-icon-svg\n *ngIf=\"item.hasMarker && !hasCollapsedInitials\"\n class=\"eui-menu-item__link-marker eui-menu-item__link-marker--default\"\n fillColor=\"{{ item?.markerTypeClass }}-100\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.markerTypeClass + ' ' + 'marker'\">\n </eui-icon-svg>\n\n <span class=\"eui-menu-item__link-label\" [class.eui-menu-item--disabled]=\"item.disabled\" [attr.aria-disabled]=\"item.disabled\">\n <span class=\"eui-menu-item__label\">{{ item.label }}</span>\n\n <eui-icon-svg\n *ngIf=\"item.urlExternal && item.urlExternalTarget === '_blank'\"\n class=\"eui-menu-item__label-external\"\n icon=\"eui-ecl-external\"\n size=\"2xs\"\n aria-label=\"external link icon\">\n </eui-icon-svg>\n </span>\n\n <div class=\"eui-menu-item__link-right-content\">\n <eui-chip *ngIf=\"item.tagLabel\" euiSizeXS euiOutline styleClass=\"eui-menu-item__link-tag-label eui-chip--{{ item.tagTypeClass }}\" [ariaLabel]=\"item.tagLabel\">\n <span euiLabel class=\"eui-label\">{{ item.tagLabel }}</span>\n </eui-chip>\n\n <button\n *ngIf=\"item.actionIcon\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n type=\"button\"\n class=\"eui-menu-item__link-action-icon\"\n [euiDisabled]=\"item.disabled\"\n [attr.aria-label]=\"item.actionIcon?.label\"\n (click)=\"onActionIconClick($event)\">\n <eui-icon-svg [icon]=\"item.actionIcon?.icon\" [fillColor]=\"item.actionIcon?.color\"></eui-icon-svg>\n </button>\n\n <button\n *ngIf=\"item.children?.length > 0\"\n euiButton\n euiRounded\n euiIconButton\n euiSizeS\n euiBasicButton\n euiSecondary\n type=\"button\"\n [euiDisabled]=\"item.disabled\"\n class=\"eui-menu-item__link-toggle\"\n [attr.aria-label]=\"item.expanded ? collapseMenuLabel : expandMenuLabel\"\n (click)=\"onExpandToggle($event)\">\n <eui-icon-svg *ngIf=\"item.expanded\" icon=\"eui-chevron-up\"></eui-icon-svg>\n <eui-icon-svg *ngIf=\"!item.expanded\" icon=\"eui-chevron-down\"></eui-icon-svg>\n </button>\n </div>\n</ng-template>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemIconContent>\n @if (!isCollapsed) {\n <eui-icon-svg\n *ngIf=\"hasIcon && item.iconSvgName && !item.iconClass\"\n class=\"eui-menu-item__link-icon\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n <span *ngIf=\"hasIcon && item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-menu-item__link-icon eui-icon {{item.iconClass}}\">\n </span>\n } @else {\n @if (hasCollapsedInitials) {\n <span class=\"eui-menu-item__link-initials eui-u-bg-color-{{item.iconTypeClass}}\">\n {{ item.initials }}\n </span>\n } @else {\n @if (hasIcon) {\n <!-- with SVG icon-->\n <eui-icon-svg\n *ngIf=\"!item.iconClass && item.iconSvgName\"\n icon=\"{{ item.iconSvgName }}\"\n fillColor=\"{{ item.iconTypeClass }}\"\n size=\"s\">\n </eui-icon-svg>\n\n <eui-icon-svg\n *ngIf=\"!item.iconClass && !item.iconSvgName && !item.hasMarker\"\n class=\"eui-menu-item__category-icon--default\"\n icon=\"eui-ellipse\"\n fillColor=\"grey-75\"\n size=\"xs\">\n </eui-icon-svg>\n\n <!-- with webfont icon (TODO v18: deprecated) -->\n <span *ngIf=\"item.iconClass && !item.iconSvgName\" [attr.aria-label]=\"item.iconLabel\"\n class=\"eui-icon {{item.iconClass}}\">\n </span>\n\n } @else {\n <eui-icon-svg\n *ngIf=\"!item.hasMarker\"\n class=\"eui-menu-item__link-icon--default\"\n icon=\"eui-ellipse\"\n size=\"xs\"\n [aria-label]=\"item.iconLabel\">\n </eui-icon-svg>\n }\n }\n }\n</ng-template>\n","import {\n Component,\n HostBinding,\n ViewEncapsulation,\n Input,\n OnInit,\n Output,\n EventEmitter,\n OnChanges,\n SimpleChanges,\n HostListener,\n booleanAttribute,\n OnDestroy,\n ViewChildren,\n QueryList,\n ViewChild,\n ElementRef,\n AfterViewInit,\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationEnd, Event as RouterEvent } from '@angular/router';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { consumeEvent } from '@eui/core';\n\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiMenuItem } from './models/eui-menu-item.model';\nimport { Subscription } from 'rxjs';\n\nimport * as uuid from 'uuid';\n\n@Component({\n selector: 'eui-menu',\n templateUrl: './eui-menu.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiMenuComponent implements OnInit, OnChanges, OnDestroy, AfterViewInit {\n @ViewChildren(EuiMenuItemComponent) protected menuItems: QueryList<EuiMenuItemComponent>;\n @ViewChild('filterInput', { read: ElementRef }) protected filterInput: ElementRef<HTMLInputElement>;\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-menu',\n this.isCollapsed ? 'eui-menu--collapsed' : '',\n !this.hasIcons ? 'eui-menu--no-icons' : '',\n this.isFlat ? 'eui-menu--flat': '',\n ].join(' ').trim();\n }\n\n @Input() items: EuiMenuItem[];\n @Input() searchFilterLabel: string;\n @Input() externalLinkLabel: string;\n @Input() fragmentId: string;\n @Input() filterValue = '';\n\n @Input({ transform: booleanAttribute }) isCollapsed = false;\n @Input({ transform: booleanAttribute }) hasCollapsedInitials = false;\n @Input({ transform: booleanAttribute }) hasFilter = false;\n @Input({ transform: booleanAttribute }) hasIcons = false;\n @Input({ transform: booleanAttribute }) hasTooltip = false;\n /**\n * Expand all items in the menu. Affects only items that have no expanded property set.\n * e.g. items = [{label: test, expanded: true}, {label: test2, expanded: false}, {label: test3}] will expand only test3.\n */\n @Input({ transform: booleanAttribute }) expandAllItems = false;\n @Input({ transform: booleanAttribute }) isFlat = false;\n @Input({ transform: booleanAttribute }) hasScrollToItem = false;\n @Input({ transform: booleanAttribute }) hasLowercaseItems = false;\n\n @Output() isClick: EventEmitter<boolean> = new EventEmitter();\n @Output() itemClick: EventEmitter<EuiMenuItem> = new EventEmitter<EuiMenuItem>();\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemsState: any[];\n private subscription: Subscription;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n ) {}\n\n @HostListener('click', ['$event'])\n stopPropagation(event: Event): void {\n event.stopPropagation();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.items) {\n this.items = this.configureItems(this.items);\n // get current url\n const currentUrl = this.router.url;\n // find an item that matches the current url or the most relevant one\n const item = this.findMostRelevantItem(currentUrl, this.items);\n // expand to that item\n if (item) {\n this.expandToGivenItem(item);\n }\n }\n\n // Expand / Collapse All items\n if (changes.expandAllItems) {\n this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);\n }\n\n if (changes.filterValue && this.hasFilter) {\n this.onFilter(changes.filterValue.currentValue ?? '');\n }\n\n // Refresh when interactive collapsed to initials\n if (changes.hasCollapsedInitials) {\n this.hasCollapsedInitials = changes.hasCollapsedInitials.currentValue;\n this.items = this.configureItems(this.items);\n }\n\n if(changes.hasScrollToItem){\n this.hasScrollToItem = changes.hasScrollToItem.currentValue;\n if(this.hasScrollToItem){\n this.scrollToItem(this.router.url);\n }\n }\n\n if(changes.hasFilter){\n this.hasFilter = changes.hasFilter.currentValue;\n if(!this.hasFilter) {\n // iterate through all items and reset the filtered property\n this.items = this.filterMenuItems(this.items, '')\n }\n }\n }\n\n ngOnInit(): void {\n // Labels default values - TODO : translations\n if (!this.searchFilterLabel) {\n this.searchFilterLabel = 'Search filter';\n }\n\n // subscription to routes url changes for activating the scrollIntoView\n this.router.events.subscribe((event) => {\n // Handle route change event\n if (event instanceof NavigationEnd) {\n if (this.hasScrollToItem) {\n this.scrollToItem(event.url);\n }\n }\n });\n }\n\n ngAfterViewInit(): void {\n // scrolls to the item that matches the current url\n if(this.hasScrollToItem){\n this.scrollToItem(this.router.url);\n }\n }\n\n ngOnDestroy():void {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n public onClick(item: EuiMenuItem): void {\n if (!item.disabled) {\n if (item.urlExternal) {\n window.open(item.urlExternal, item.urlExternalTarget);\n } else if (item.url) {\n this.router.navigate([item.url], { relativeTo: this.route, fragment: this.fragmentId });\n } else {\n if (typeof item.command === 'function') {\n item.command();\n } else {\n this.onExpandToggle(item);\n }\n }\n\n if (item.link) {\n this.items = this.items?.map((it) => {\n it.active = false;\n if (it.id === item.id) {\n it.active = true;\n }\n return it;\n });\n }\n }\n\n this.isClick.emit(true);\n this.itemClick.emit(item);\n }\n\n public onExpandToggle(item: EuiMenuItem): void {\n this.onExpandToggled(item, this.items);\n // TODO: investigate why the above is needed. Can it be simply \"item.expanded = !item.expanded;\" ?\n }\n\n public onMenuFilterClick(event: MouseEvent): void {\n consumeEvent(event);\n }\n\n public onFilter(event: Event)\n public onFilter(value: string)\n public onFilter(eventOrValue: Event | string): void {\n const value = eventOrValue instanceof Event\n ? (eventOrValue.target as HTMLInputElement).value\n : eventOrValue;\n this.items = this.filterMenuItems(this.items, value);\n }\n\n /**\n * filter all menu items given a value\n *\n * @param menuItems an array of menu items\n * @param filterValue the value to filter menu items\n * @private\n */\n private filterMenuItems(menuItems: EuiMenuItem[], filterValue: string): EuiMenuItem[] {\n return menuItems?.map((item: EuiMenuItem) => {\n const found = item.label?.toLowerCase().indexOf(filterValue.toLowerCase()) !== -1;\n if (item.children) {\n item.children = this.filterMenuItems(item.children, filterValue);\n item.filtered = item.children.filter((l) => l['filtered'] === true).length > 0;\n } else if (found) {\n item.filtered = found;\n } else {\n item.filtered = false;\n }\n return item;\n }) || [];\n }\n\n /**\n * expand / collapse all items\n *\n * @param isExpanded\n * @param items\n * @private\n */\n private setExpandedToAllItems(isExpanded, items: EuiMenuItem[]): EuiMenuItem[] {\n return items?.map((item) => {\n if (item.children) {\n item.expanded = item.expanded ?? isExpanded;\n item.children = this.setExpandedToAllItems(isExpanded, item.children);\n }\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible });\n });\n }\n\n /**\n * expand / collapse a menu item\n *\n * @param item The item where the \"expand\" had been toggled\n * @param items The items list (used for recursion)\n * @private\n */\n private onExpandToggled(item: EuiMenuItem, items: EuiMenuItem[]): void {\n const itemIdx = items?.indexOf(item);\n if (itemIdx > -1) {\n items[itemIdx].expanded = !items[itemIdx].expanded;\n } else {\n items.forEach((i) => {\n if (i.children) {\n this.onExpandToggled(item, i.children);\n }\n });\n }\n }\n\n /**\n * configure an array of items with visible, filtered and expand (in case of expandAllItems flag enabled) properties\n *\n * @param items An array of EuiMenuItem\n * @param parent the parent item of items if exists\n * @private\n */\n private configureItems(items: EuiMenuItem[], parent?: EuiMenuItem): EuiMenuItem[] {\n return items?.map((item) => {\n // recursion in case there are children\n if (item.children) {\n item.children = this.configureItems(item.children, item);\n // expand all parents with children\n if (this.expandAllItems) {\n item.expanded = true;\n }\n }\n // point to the parent\n if (parent) {\n item.parent = parent;\n }\n\n if (!item.id && this.hasScrollToItem) {\n item.id = uuid.v4();\n }\n\n if (item.label && this.hasCollapsedInitials) {\n const words = item.label.split(' ');\n if (words.length === 1) {\n item.initials = `${item.label.substring(0, 1)}${item.label.substring(1, 1)}`;\n\n } else {\n item.initials = `${words[0].substring(0, 1)}${words[1].substring(0, 1)}`;\n }\n }\n\n return Object.assign(item, { visible: item.visible === undefined ? true : item.visible, filtered: true });\n });\n }\n\n /**\n * Given a URL and a list of items, it will expand the item that matches the URL. If not item matches exactly the url, then it will\n * match the item that is most relevant to that url.\n *\n * @param items\n * @param value\n * @private\n */\n private findMostRelevantItem(url: string, items: EuiMenuItem[], relevantItem?: EuiMenuItem): EuiMenuItem {\n if (!items) {\n return null;\n }\n\n items.forEach((item) => {\n if (item.url && url.indexOf(item.url.substr(1)) > -1) {\n relevantItem = this.getMostRelevantItem(url, relevantItem, item);\n }\n\n if (item.children) {\n relevantItem = this.findMostRelevantItem(url, item.children, relevantItem);\n }\n });\n\n return relevantItem;\n }\n\n /**\n * Given two items with url return the one with the most relevant url that matches given url\n *\n * @param url A URL to be matched with the one of given items\n * @param item1\n * @param item2\n * @private\n */\n private getMostRelevantItem(url: string, item1: EuiMenuItem, item2: EuiMenuItem): EuiMenuItem {\n const remainder1 = url.replace(item1?.url || '', '');\n const remainder2 = url.replace(item2?.url || '', '');\n\n return remainder1.length < remainder2.length ? item1 : item2;\n }\n\n /**\n * Given an item, if there's a parent expand it until you reach the root item\n *\n * @param item Given menu item\n * @private\n */\n private expandToGivenItem(item: EuiMenuItem): void {\n if (item.parent) {\n setTimeout(() => (item.parent.expanded = true));\n this.expandToGivenItem(item.parent);\n }\n }\n\n /**\n * Set a random id to an item and its child if they don't have one\n * @param item\n * @private\n */\n private setRandomId(item: EuiMenuItem): EuiMenuItem {\n item.id = item.id || uuid.v4();\n if(item.children){\n item.children = item.children.map((child) => {\n return this.setRandomId(child);\n });\n }\n return item;\n }\n\n /**\n * Check if an element is visible in the viewport\n * @param el\n * @param partiallyVisible\n * @private\n */\n private elementIsVisibleInViewport(el: HTMLElement, partiallyVisible = false): boolean {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return partiallyVisible\n ? ((top > 0 && top < innerHeight) ||\n (bottom > 0 && bottom < innerHeight)) &&\n ((left > 0 && left < innerWidth) || (right > 0 && right < innerWidth))\n : top >= 0 && left >= 0 && bottom <= innerHeight && right <= innerWidth;\n }\n\n /**\n * Scroll to an item if it's not visible in the viewport\n * @param url\n * @private\n */\n private scrollToItem(url: string): void {\n const item = this.findMostRelevantItem(url, this.items);\n if (item) {\n // change the state of that item to expanded if it's not\n this.expandToGivenItem(item);\n setTimeout(_ => {\n const menuItem = this.menuItems?.find((menuItem) => menuItem.item.id === item.id);\n if(menuItem && !menuItem.elementIsVisibleInViewport()){\n menuItem.scrollIntoView({ behavior: 'smooth' });\n }\n }, 1);\n }\n }\n}\n","@if (hasFilter) {\n <div [hidden]=\"isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n #filterInput\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n </div>\n}\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && (item.expanded || (hasFilter && item.filtered && filterInput?.nativeElement?.value.length > 0))\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiChipModule } from '@eui/components/eui-chip';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiMenuComponent } from './eui-menu.component';\nimport { EuiMenuItemComponent } from './eui-menu-item.component';\nimport { EuiTooltipDirectiveModule } from '@eui/components/directives';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n EuiIconModule,\n EuiChipModule,\n EuiButtonModule,\n EuiInputTextModule,\n EuiTooltipDirectiveModule,\n ],\n declarations: [EuiMenuComponent, EuiMenuItemComponent],\n exports: [EuiMenuComponent],\n})\nexport class EuiMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i4","i5.EuiMenuItemComponent"],"mappings":"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"}
|
@@ -396,8 +396,6 @@ class EuiTreeListToolbarComponent {
|
|
396
396
|
*/
|
397
397
|
// public onFilter(event: string): void;
|
398
398
|
onFilter() {
|
399
|
-
console.log('test');
|
400
|
-
console.log(this.filterValue);
|
401
399
|
if (this.filterValue === '') {
|
402
400
|
if (!this.isToggleExpanded) {
|
403
401
|
this.collapseAll.emit(null);
|
@@ -539,7 +537,7 @@ class EuiTreeListComponent {
|
|
539
537
|
}
|
540
538
|
onFilter(filterValue) {
|
541
539
|
// TODO find a recursive way of doing the filtering throughout the tree structure
|
542
|
-
if (filterValue
|
540
|
+
if (filterValue && filterValue !== '') {
|
543
541
|
this.setVisibleState(false);
|
544
542
|
this.items.toArray().forEach((item1) => {
|
545
543
|
item1.isVisible = this.filterMatched(0, item1, filterValue);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/item-content/item-content.component.html","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n templateUrl: './item-content.component.html',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-tree-list-item';\n\n @HostBinding('attr.id') @Input() id: string;\n @Input() label: string;\n @Input() linkUrl: string;\n @Input() subLabel: string;\n\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: BooleanInput) {\n this._active = coerceBooleanProperty(value);\n }\n @Input()\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: BooleanInput) {\n this._expanded = coerceBooleanProperty(value);\n }\n @Input()\n get alwaysExpanded(): boolean {\n return this._alwaysExpanded;\n }\n set alwaysExpanded(value: BooleanInput) {\n this._alwaysExpanded = coerceBooleanProperty(value);\n }\n @Input() url: string;\n @Input()\n get isDisplaySubLinksOnHover(): boolean {\n return this._isDisplaySubLinksOnHover;\n }\n set isDisplaySubLinksOnHover(value: BooleanInput) {\n this._isDisplaySubLinksOnHover = coerceBooleanProperty(value);\n }\n @Input() subLinks: UxLinkLegacy[] = [];\n @Input()\n get isNavigateOnlyOnLabelClick(): boolean {\n return this._isNavigateOnlyOnLabelClick;\n }\n set isNavigateOnlyOnLabelClick(value: BooleanInput) {\n this._isNavigateOnlyOnLabelClick = coerceBooleanProperty(value);\n }\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n private _active = false;\n private _expanded = false;\n private _alwaysExpanded = false;\n private _isDisplaySubLinksOnHover = false;\n private _isNavigateOnlyOnLabelClick = false;\n private _isVisible = true;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n private router: Router,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRole = 'group';\n });\n }\n }\n\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.expanded = !this.expanded;\n this.toggled.next(this);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.expanded = !this.expanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.expanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.expanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n\n public setExpandedState(state: boolean): void {\n this.expanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n\n protected focusOnNextTreeItem(): boolean {\n if (this.expanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.active ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label' })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details' })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container' })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary euiSizeS\n aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"expanded ? true : undefined\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n</ng-template>\n","/* eslint-disable */\nimport {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get isFilterVisible(): boolean {\n return this._isFilterVisible;\n }\n set isFilterVisible(value: BooleanInput) {\n this._isFilterVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleVisible(): boolean {\n return this._isToggleVisible;\n }\n set isToggleVisible(value: BooleanInput) {\n this._isToggleVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleExpanded(): boolean {\n return this._isToggleExpanded;\n }\n set isToggleExpanded(value: BooleanInput) {\n this._isToggleExpanded = coerceBooleanProperty(value);\n }\n @Input() filterValue: string = '';\n @Input()\n get hasLabels(): boolean {\n return this._hasLabels;\n }\n set hasLabels(value: BooleanInput) {\n this._hasLabels = coerceBooleanProperty(value);\n }\n @Input() e2eAttr: string = 'eui-tree-list-toolbar';\n @Output() filter = new EventEmitter<string>();\n\n @Output() expandAll = new EventEmitter<MouseEvent>();\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n private _isVisible: boolean = false;\n private _isFilterVisible: boolean = true;\n private _isToggleVisible: boolean = true;\n private _isToggleExpanded: boolean = false;\n private _hasLabels: boolean = true;\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n /**\n * @deprecated\n * @param event\n */\n // public onFilter(event: string): void;\n public onFilter(): void {\n console.log('test');\n console.log(this.filterValue);\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n\n public onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n\n public onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n\n@Directive({ selector: 'EuiTreeListToolbarButtons' })\nexport class EuiUxTreeToolbarButtonsTagDirective { }\n\n/* eslint-enable */\n","<div *ngIf=\"isVisible\" euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" [placeholder]=\"filterLabel\" (ngModelChange)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\">\n <span euiLabel *ngIf=\"expandAllLabel !== ''\">{{ expandAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-down\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\">\n <span euiLabel *ngIf=\"collapseAllLabel !== ''\">{{ collapseAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-up\"></eui-icon-svg>\n </button>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n @Input()\n get isShowToolbar(): boolean {\n return this._isShowToolbar;\n }\n set isShowToolbar(value: BooleanInput) {\n this._isShowToolbar = coerceBooleanProperty(value);\n }\n @Input()\n get isShowToolbarToggle(): boolean {\n return this._isShowToolbarToggle;\n }\n set isShowToolbarToggle(value: BooleanInput) {\n this._isShowToolbarToggle = coerceBooleanProperty(value);\n }\n @Input()\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: BooleanInput) {\n this._isExpanded = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get hasItemsUrl(): boolean {\n return this._hasItemsUrl;\n }\n set hasItemsUrl(value: BooleanInput) {\n this._hasItemsUrl = coerceBooleanProperty(value);\n }\n @Input() tabindex = '0';\n /**\n * @deprecated The ariaRole input is DEPRECATED, will be removed in eUI 18. Please don't use it, this value should be hardcoded.\n */\n @Input() ariaRole = 'tree';\n @Input() ariaLabel = '';\n @Input() toolbarFilterValue = '';\n @Input() e2eAttr = 'eui-tree-list';\n\n @Output() itemSelected = new EventEmitter<string>();\n @Output() filter = new EventEmitter<string>();\n @Output() expandAll = new EventEmitter();\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n protected ariaRoleTree = 'tree';\n private _isShowToolbar = false;\n private _isShowToolbarToggle = true;\n private _isExpanded = false;\n private _hasItemsUrl = false;\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue !== '' && filterValue !== undefined) {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.expanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.expanded = true;\n item1.isVisible = true;\n item1.expanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n\n onFocus(): void {\n this.focus();\n }\n\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","<eui-tree-list-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-tree-list-toolbar>\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\n@NgModule({\n imports: [\n TranslateModule,\n CommonModule, FormsModule, EuiIconModule, EuiLabelModule, EuiButtonModule,\n EuiInputTextModule,\n EuiInputGroupModule,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n declarations: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5","i6","i2.EuiTreeListToolbarComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-tree-list.mjs","sources":["../../eui-tree-list/item-content/item-content.component.ts","../../eui-tree-list/item-content/item-content.component.html","../../eui-tree-list/eui-tree-list-item.component.ts","../../eui-tree-list/eui-tree-list-item.component.html","../../eui-tree-list/toolbar/toolbar.component.ts","../../eui-tree-list/toolbar/toolbar.component.html","../../eui-tree-list/eui-tree-list.component.ts","../../eui-tree-list/eui-tree-list.component.html","../../eui-tree-list/eui-tree-list.module.ts","../../eui-tree-list/eui-components-eui-tree-list.ts"],"sourcesContent":["import { Component, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'eui-tree-list-item-content',\n templateUrl: './item-content.component.html',\n})\nexport class EuiTreeListItemContentComponent {\n @HostBinding('class') string = 'eui-tree-list-item-content';\n}\n","<ng-content></ng-content>\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Host,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UxLinkLegacy } from '@eui/core';\n\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport { consumeEvent, uniqueId } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n@Component({\n selector: 'eui-tree-list-item',\n templateUrl: './eui-tree-list-item.component.html',\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: ['euiPrimary', 'euiSecondary', 'euiInfo', 'euiSuccess', 'euiWarning', 'euiDanger', 'euiAccent', 'euiVariant'],\n },\n ],\n})\nexport class EuiTreeListItemComponent implements AfterContentInit {\n @HostBinding('class')\n public get cssClasses(): string {\n return this.getCssClasses();\n }\n @HostBinding('attr.tabindex') tabIndex = '0';\n @HostBinding('attr.data-e2e')\n @Input()\n e2eAttr = 'eui-tree-list-item';\n\n @HostBinding('attr.id') @Input() id: string;\n @Input() label: string;\n @Input() linkUrl: string;\n @Input() subLabel: string;\n\n @Input()\n get active(): boolean {\n return this._active;\n }\n set active(value: BooleanInput) {\n this._active = coerceBooleanProperty(value);\n }\n @Input()\n get expanded(): boolean {\n return this._expanded;\n }\n set expanded(value: BooleanInput) {\n this._expanded = coerceBooleanProperty(value);\n }\n @Input()\n get alwaysExpanded(): boolean {\n return this._alwaysExpanded;\n }\n set alwaysExpanded(value: BooleanInput) {\n this._alwaysExpanded = coerceBooleanProperty(value);\n }\n @Input() url: string;\n @Input()\n get isDisplaySubLinksOnHover(): boolean {\n return this._isDisplaySubLinksOnHover;\n }\n set isDisplaySubLinksOnHover(value: BooleanInput) {\n this._isDisplaySubLinksOnHover = coerceBooleanProperty(value);\n }\n @Input() subLinks: UxLinkLegacy[] = [];\n @Input()\n get isNavigateOnlyOnLabelClick(): boolean {\n return this._isNavigateOnlyOnLabelClick;\n }\n set isNavigateOnlyOnLabelClick(value: BooleanInput) {\n this._isNavigateOnlyOnLabelClick = coerceBooleanProperty(value);\n }\n @Output() toggled = new EventEmitter<EuiTreeListItemComponent>();\n\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @HostBinding('attr.aria-label') @Input() ariaLabel: string;\n isHovered = false;\n treeListComponent: EuiTreeListComponent;\n\n // tree states\n hasSub = false;\n\n // custom content\n hasCustomContent = false;\n\n @ViewChild('focusable') focusable: ElementRef<HTMLDivElement>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemLabelTagDirective))\n customLabel: QueryList<EuiTreeListItemLabelTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemDetailsContentTagDirective))\n customDetailContent: QueryList<EuiTreeListItemDetailsContentTagDirective>;\n\n @ContentChild(forwardRef(() => EuiTreeListItemSubContainerContentTagDirective))\n customSubContainerContent: QueryList<EuiTreeListItemSubContainerContentTagDirective>;\n\n @ContentChildren(forwardRef(() => EuiTreeListComponent), { descendants: true })\n subTreeList: QueryList<EuiTreeListComponent>;\n\n @ContentChildren(forwardRef(() => EuiTreeListItemContentComponent), { descendants: false })\n customContent: QueryList<EuiTreeListItemContentComponent>;\n\n @HostBinding('attr.role') protected ariaRole = 'treeitem';\n private _active = false;\n private _expanded = false;\n private _alwaysExpanded = false;\n private _isDisplaySubLinksOnHover = false;\n private _isNavigateOnlyOnLabelClick = false;\n private _isVisible = true;\n\n constructor(\n @Host() @Optional() @Inject(forwardRef(() => EuiTreeListComponent)) treeListComponent,\n private router: Router,\n protected elementRef: ElementRef,\n public baseStatesDirective: BaseStatesDirective,\n ) {\n this.treeListComponent = treeListComponent as EuiTreeListComponent;\n }\n\n ngAfterContentInit(): void {\n if (!this.ariaLabel) {\n this.ariaLabel = this.label ? this.label : 'Custom content';\n }\n\n // make sure that the tree item can be aria-owned by a parent tree for WAI-ARIA attributes:\n if (!this.id) {\n this.id = uniqueId();\n }\n\n // setting tree states\n if (this.subTreeList.length !== 0) {\n this.hasSub = true;\n }\n\n // checking if customContent set\n if (this.customContent.length !== 0) {\n this.hasCustomContent = true;\n }\n\n // make sure that any child tree-list is non-focusable and that it has the role of a WAI-ARIA group:\n if (this.subTreeList) {\n this.subTreeList.forEach((subtree: EuiTreeListComponent) => {\n subtree.disableFocus();\n subtree.ariaRole = 'group';\n });\n }\n }\n\n toggle(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this.expanded = !this.expanded;\n this.toggled.next(this);\n }\n\n onKeyDown(event: KeyboardEvent): void {\n switch (event.keyCode) {\n case 13: // ENTER\n case 32: // SPACE\n this.expanded = !this.expanded;\n consumeEvent(event);\n break;\n case 37: // ARROW LEFT\n this.expanded = false;\n consumeEvent(event);\n break;\n case 38: // ARROW UP\n if (this.treeListComponent) {\n if (this.treeListComponent.focusOnPreviousTreeItem(this)) {\n this.disableFocus();\n }\n }\n\n consumeEvent(event);\n break;\n case 39: // ARROW RIGHT\n this.expanded = true;\n consumeEvent(event);\n break;\n case 40: // ARROW DOWN\n if (this.focusOnNextTreeItem()) {\n this.disableFocus();\n }\n\n consumeEvent(event);\n break;\n }\n }\n\n public setVisibleState(state: boolean): void {\n this.isVisible = state;\n\n if (this.subTreeList && this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setVisibleState(state);\n });\n }\n }\n\n public setExpandedState(state: boolean): void {\n this.expanded = state;\n\n if (this.subTreeList.length !== 0) {\n this.subTreeList.toArray().forEach((item) => {\n item.setExpandedState(state);\n });\n }\n }\n\n public focus(): void {\n if (this.focusable) {\n this.enableFocus();\n this.focusable.nativeElement.focus();\n }\n if (this.treeListComponent) {\n this.treeListComponent.disableFocus();\n }\n }\n\n public focusOnLastExpandedTreeItem(): void {\n const lastExpanded = this.elementRef.nativeElement.querySelectorAll('.eui-tree-list-item-header__content');\n if (lastExpanded && lastExpanded.length > 0) {\n const element = lastExpanded[lastExpanded.length - 1];\n element.setAttribute('tabindex', '0');\n element.focus();\n } else {\n this.focus();\n }\n }\n\n protected focusOnNextTreeItem(): boolean {\n if (this.expanded && this.subTreeList && this.subTreeList.length > 0) {\n this.subTreeList.first.focus();\n return true;\n } else if (this.treeListComponent) {\n return this.treeListComponent.focusOnNextTreeItem(this);\n }\n\n return false;\n }\n\n protected disableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '-1');\n }\n }\n\n protected enableFocus(): void {\n if (this.focusable) {\n this.focusable.nativeElement.setAttribute('tabindex', '0');\n }\n }\n\n private getCssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-tree-list-item'),\n this.active ? 'eui-tree-list-item--active' : '',\n !this.isVisible ? 'eui-tree-list-item--hidden' : '',\n ]\n .join(' ')\n .trim();\n }\n}\n\n/* eslint-disable */\n@Directive({ selector: 'eui-tree-list-item-label' })\nexport class EuiTreeListItemLabelTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-details' })\nexport class EuiTreeListItemDetailsContentTagDirective {}\n@Directive({ selector: 'eui-tree-list-item-sub-container' })\nexport class EuiTreeListItemSubContainerContentTagDirective {}\n/* eslint-enable */\n","<div class=\"eui-tree-list-item-header\">\n <div\n #focusable\n class=\"eui-tree-list-item-header__content\"\n (keydown)=\"onKeyDown($event)\"\n attr.aria-label=\"{{ label }} {{ subLabel }}\">\n\n <ng-container *ngIf=\"hasCustomContent; else noCustomContent\">\n <ng-content select=\"eui-tree-list-item-content\"></ng-content>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-container>\n\n <ng-template #noCustomContent>\n <div class=\"eui-u-flex\">\n <eui-label *ngIf=\"!customLabel\">\n {{label}}\n <eui-label *ngIf=\"subLabel\" euiSublabel>{{subLabel}}</eui-label>\n </eui-label>\n\n <eui-label *ngIf=\"customLabel\">\n <div class=\"eui-u-flex\">\n <ng-content select=\"eui-tree-list-item-label\"></ng-content>\n </div>\n </eui-label>\n </div>\n <ng-container *ngTemplateOutlet=\"rightContent\"></ng-container>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"customDetailContent\">\n <div class=\"eui-tree-list-item-header__details-content\">\n <ng-content select=\"eui-tree-list-item-details\"></ng-content>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"customSubContainerContent\">\n <ng-content select=\"eui-tree-list-item-sub-container\"></ng-content>\n </ng-container>\n</div>\n\n<ng-template [ngIf]=\"expanded || alwaysExpanded\">\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #rightContent>\n <div class=\"eui-tree-list-item-header__content-right-content\">\n <div class=\"eui-tree-list-item-header__content-expand-toggle-wrapper\">\n <button *ngIf=\"hasSub && !alwaysExpanded\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary euiSizeS\n aria-label=\"Expand - collapse button icon\" (click)=\"toggle($event)\" [attr.aria-expanded]=\"expanded ? true : undefined\">\n <ng-container *ngIf=\"expanded\">\n <eui-icon-svg icon=\"eui-chevron-up\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n <ng-container *ngIf=\"!expanded\">\n <eui-icon-svg icon=\"eui-chevron-forward\" fillColor=\"grey-100\"></eui-icon-svg>\n </ng-container>\n </button>\n </div>\n </div>\n</ng-template>\n","/* eslint-disable */\nimport {\n Component,\n Directive,\n Input,\n Output,\n EventEmitter,\n OnInit,\n OnChanges,\n SimpleChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'eui-tree-list-toolbar',\n templateUrl: './toolbar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListToolbarComponent implements OnInit, OnChanges {\n @Input()\n get isVisible(): boolean {\n return this._isVisible;\n }\n set isVisible(value: BooleanInput) {\n this._isVisible = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get isFilterVisible(): boolean {\n return this._isFilterVisible;\n }\n set isFilterVisible(value: BooleanInput) {\n this._isFilterVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleVisible(): boolean {\n return this._isToggleVisible;\n }\n set isToggleVisible(value: BooleanInput) {\n this._isToggleVisible = coerceBooleanProperty(value);\n }\n @Input()\n get isToggleExpanded(): boolean {\n return this._isToggleExpanded;\n }\n set isToggleExpanded(value: BooleanInput) {\n this._isToggleExpanded = coerceBooleanProperty(value);\n }\n @Input() filterValue: string = '';\n @Input()\n get hasLabels(): boolean {\n return this._hasLabels;\n }\n set hasLabels(value: BooleanInput) {\n this._hasLabels = coerceBooleanProperty(value);\n }\n @Input() e2eAttr: string = 'eui-tree-list-toolbar';\n @Output() filter = new EventEmitter<string>();\n\n @Output() expandAll = new EventEmitter<MouseEvent>();\n @Output() collapseAll = new EventEmitter<MouseEvent>();\n private _isVisible: boolean = false;\n private _isFilterVisible: boolean = true;\n private _isToggleVisible: boolean = true;\n private _isToggleExpanded: boolean = false;\n private _hasLabels: boolean = true;\n\n ngOnInit(): void {\n if (this.filterValue !== '' && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.filterValue && this.filterValue !== undefined) {\n this.filter.emit(this.filterValue);\n }\n }\n\n /**\n * @deprecated\n * @param event\n */\n // public onFilter(event: string): void;\n public onFilter(): void {\n if (this.filterValue === '') {\n if (!this.isToggleExpanded) {\n this.collapseAll.emit(null);\n }\n }\n this.filter.emit(this.filterValue);\n }\n\n public onExpandAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.expandAll.emit(event);\n }\n\n public onCollapseAll(event: MouseEvent): void {\n this.isToggleExpanded = !this.isToggleExpanded;\n this.collapseAll.emit(event);\n }\n}\n\n@Directive({ selector: 'EuiTreeListToolbarButtons' })\nexport class EuiUxTreeToolbarButtonsTagDirective { }\n\n/* eslint-enable */\n","<div *ngIf=\"isVisible\" euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <div class=\"eui-input-group-addon-item\">\n <eui-icon-svg icon=\"eui-search\"></eui-icon-svg>\n </div>\n <input euiInputText euiClearable [(ngModel)]=\"filterValue\" [placeholder]=\"filterLabel\" (ngModelChange)=\"onFilter()\"/>\n\n <button *ngIf=\"!isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onExpandAll($event)\">\n <span euiLabel *ngIf=\"expandAllLabel !== ''\">{{ expandAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-down\"></eui-icon-svg>\n </button>\n <button *ngIf=\"isToggleExpanded\" euiButton euiSecondary euiOutline (click)=\"onCollapseAll($event)\">\n <span euiLabel *ngIf=\"collapseAllLabel !== ''\">{{ collapseAllLabel }}</span>\n <eui-icon-svg icon=\"eui-level-up\"></eui-icon-svg>\n </button>\n </div>\n</div>\n","import {\n Component,\n Input,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n forwardRef,\n AfterViewInit,\n OnChanges,\n SimpleChanges,\n ElementRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { EuiTreeListItemComponent } from './eui-tree-list-item.component';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nexport interface EuiTreeListFilterParams {\n readonly level: number;\n readonly item: EuiTreeListItemComponent;\n readonly keyword: string;\n}\n\n@Component({\n selector: 'eui-tree-list',\n templateUrl: './eui-tree-list.component.html',\n styleUrls: ['./_styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTreeListComponent implements AfterViewInit, OnChanges {\n @Input()\n get isShowToolbar(): boolean {\n return this._isShowToolbar;\n }\n set isShowToolbar(value: BooleanInput) {\n this._isShowToolbar = coerceBooleanProperty(value);\n }\n @Input()\n get isShowToolbarToggle(): boolean {\n return this._isShowToolbarToggle;\n }\n set isShowToolbarToggle(value: BooleanInput) {\n this._isShowToolbarToggle = coerceBooleanProperty(value);\n }\n @Input()\n get isExpanded(): boolean {\n return this._isExpanded;\n }\n set isExpanded(value: BooleanInput) {\n this._isExpanded = coerceBooleanProperty(value);\n }\n @Input() filterLabel: string;\n @Input() filterFunction: (params: EuiTreeListFilterParams) => boolean;\n @Input() expandAllLabel: string;\n @Input() collapseAllLabel: string;\n @Input()\n get hasItemsUrl(): boolean {\n return this._hasItemsUrl;\n }\n set hasItemsUrl(value: BooleanInput) {\n this._hasItemsUrl = coerceBooleanProperty(value);\n }\n @Input() tabindex = '0';\n /**\n * @deprecated The ariaRole input is DEPRECATED, will be removed in eUI 18. Please don't use it, this value should be hardcoded.\n */\n @Input() ariaRole = 'tree';\n @Input() ariaLabel = '';\n @Input() toolbarFilterValue = '';\n @Input() e2eAttr = 'eui-tree-list';\n\n @Output() itemSelected = new EventEmitter<string>();\n @Output() filter = new EventEmitter<string>();\n @Output() expandAll = new EventEmitter();\n @Output() collapseAll = new EventEmitter();\n\n @ContentChildren(forwardRef(() => EuiTreeListItemComponent)) items: QueryList<EuiTreeListItemComponent>;\n\n public ariaOwns = '';\n public originalTabindex = '0';\n public classes = '';\n protected ariaRoleTree = 'tree';\n private _isShowToolbar = false;\n private _isShowToolbarToggle = true;\n private _isExpanded = false;\n private _hasItemsUrl = false;\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const treeItemIds = [];\n if (this.items) {\n this.items.forEach((treeItem: EuiTreeListItemComponent) => {\n treeItemIds.push(treeItem.id);\n });\n }\n setTimeout(() => {\n this.ariaOwns = treeItemIds.join(' ');\n this.originalTabindex = this.tabindex;\n if (this.isExpanded) {\n this.setExpandedState(true);\n }\n }, 0);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes['tabindex']) {\n this.originalTabindex = this.tabindex;\n }\n }\n\n get hasExpandAllLabel(): boolean {\n return this.expandAllLabel !== undefined && this.expandAllLabel !== null;\n }\n\n get hasCollapseAllLabel(): boolean {\n return this.collapseAllLabel !== undefined && this.collapseAllLabel !== null;\n }\n\n onExpandAll(event: Event): void {\n this.setExpandedState(true);\n this.expandAll.next(void 0);\n }\n\n onCollapseAll(event: Event): void {\n this.setExpandedState(false);\n this.collapseAll.next(void 0);\n }\n\n onFilter(filterValue: string): void {\n // TODO find a recursive way of doing the filtering throughout the tree structure\n if (filterValue && filterValue !== '') {\n this.setVisibleState(false);\n this.items.toArray().forEach((item1) => {\n item1.isVisible = this.filterMatched(0, item1, filterValue);\n if (item1.subTreeList.length !== 0) {\n item1.subTreeList.toArray().forEach((item1SubTreeList) => {\n item1SubTreeList.items.toArray().forEach((item2) => {\n if (this.filterMatched(1, item2, filterValue)) {\n item2.isVisible = true;\n item1.isVisible = true;\n item1.expanded = true;\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item3) => {\n item3.isVisible = true;\n });\n });\n }\n }\n\n if (item2.subTreeList.length !== 0) {\n item2.subTreeList.toArray().forEach((item2SubTreeList) => {\n item2SubTreeList.items.toArray().forEach((item4) => {\n if (this.filterMatched(2, item4, filterValue)) {\n item4.isVisible = true;\n item2.isVisible = true;\n item2.expanded = true;\n item1.isVisible = true;\n item1.expanded = true;\n }\n });\n });\n }\n });\n });\n }\n });\n } else {\n this.setVisibleState(true);\n }\n\n this.filter.next(filterValue);\n }\n\n onFocus(): void {\n this.focus();\n }\n\n public setVisibleState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setVisibleState(state));\n }\n\n public setExpandedState(state: boolean): void {\n this.items.toArray().forEach((item) => item.setExpandedState(state));\n }\n\n public focus(): void {\n // Focus on the first child tree item:\n if (this.items && this.items.length > 0) {\n this.items.first.focus();\n }\n }\n\n public disableFocus(): void {\n this.tabindex = '-1';\n }\n\n public focusOnPreviousTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (treeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else if (previousTreeListItem) {\n previousTreeListItem.focusOnLastExpandedTreeItem();\n return true;\n }\n }\n\n // Focus on the last item of the previous parent:\n // First find the parent list item:\n if (this.elementRef) {\n let parent = this.elementRef.nativeElement.parentElement;\n while (parent && !parent.classList.contains('eui-tree-list-item')) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree-item is found\n const content = parent.querySelector('.eui-tree-list-item-header__content');\n if (content) {\n content.setAttribute('tabindex', '0');\n content.focus();\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n public focusOnNextTreeItem(currentTreeListItem: EuiTreeListItemComponent): boolean {\n if (this.items && this.items.length > 0) {\n if (currentTreeListItem !== this.items.last) {\n let previousTreeListItem: EuiTreeListItemComponent = null;\n for (const treeListItem of this.items.toArray()) {\n if (previousTreeListItem !== currentTreeListItem) {\n previousTreeListItem = treeListItem;\n } else {\n treeListItem.focus();\n return true;\n }\n }\n } else {\n // The current focused tree item is the last one; find the first next tree item:\n if (this.elementRef) {\n // First find the parent tree list item:\n let parent = this.elementRef.nativeElement.parentElement;\n // Find the parent that is not a last child itself:\n while (parent && (parent.tagName.toLowerCase() !== 'eui-tree-list-item' || parent.nextElementSibling === null)) {\n parent = parent.parentElement;\n }\n\n if (parent) {\n // parent tree list item is found; focus on the first child of the next list item\n const nextTreeListItem = parent.nextElementSibling;\n if (nextTreeListItem) {\n const next = nextTreeListItem.querySelector('.eui-tree-list-item-header__content');\n next.setAttribute('tabindex', '0');\n next.focus();\n return true;\n }\n }\n }\n }\n }\n\n return false;\n }\n\n private defaultFilterFunction(params: EuiTreeListFilterParams): boolean {\n if (!params.item.label) {\n return false;\n } else if (params.item.label.toUpperCase().indexOf(params.keyword.toUpperCase()) !== -1) {\n return true;\n } else {\n return false;\n }\n }\n\n private filterMatched(level: number, item: EuiTreeListItemComponent, keyword: string): boolean {\n if (this.filterFunction) {\n return this.filterFunction({ level, item, keyword });\n } else {\n return this.defaultFilterFunction({ level, item, keyword });\n }\n }\n}\n","<eui-tree-list-toolbar\n *ngIf=\"isShowToolbar\"\n [isVisible]=\"isShowToolbar\"\n [isToggleVisible]=\"isShowToolbarToggle\"\n (filter)=\"onFilter($event)\"\n [filterValue]=\"toolbarFilterValue\"\n (expandAll)=\"onExpandAll($event)\"\n (collapseAll)=\"onCollapseAll($event)\"\n [filterLabel]=\"filterLabel ? filterLabel : 'eui.FILTER' | translate\"\n [expandAllLabel]=\"hasExpandAllLabel ? expandAllLabel : 'eui.EXPANDALL' | translate\"\n [collapseAllLabel]=\"hasCollapseAllLabel ? collapseAllLabel : 'eui.COLLAPSEALL' | translate\"\n [isToggleExpanded]=\"isExpanded\"\n attr.data-e2e=\"{{ e2eAttr }}-a-toolbar-filter\">\n</eui-tree-list-toolbar>\n\n<div\n class=\"eui-tree-list\"\n [attr.role]=\"ariaRoleTree\"\n [attr.data-tabindex]=\"originalTabindex\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-owns]=\"ariaOwns\"\n attr.data-e2e=\"{{ e2eAttr }}\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EuiTreeListComponent } from './eui-tree-list.component';\nimport {\n EuiTreeListItemComponent,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n EuiTreeListItemLabelTagDirective,\n} from './eui-tree-list-item.component';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiLabelModule } from '@eui/components/eui-label';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTreeListItemContentComponent } from './item-content/item-content.component';\nimport { EuiTreeListToolbarComponent } from './toolbar/toolbar.component';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\n@NgModule({\n imports: [\n TranslateModule,\n CommonModule, FormsModule, EuiIconModule, EuiLabelModule, EuiButtonModule,\n EuiInputTextModule,\n EuiInputGroupModule,\n ],\n exports: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n declarations: [\n EuiTreeListComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemComponent,\n EuiTreeListItemLabelTagDirective,\n EuiTreeListItemDetailsContentTagDirective,\n EuiTreeListItemSubContainerContentTagDirective,\n\n EuiTreeListItemContentComponent,\n EuiTreeListToolbarComponent,\n ],\n})\nexport class EuiTreeListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5","i6","i2.EuiTreeListToolbarComponent"],"mappings":"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"}
|