UNPKG

@progress/kendo-angular-grid

Version:

Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.

59 lines (58 loc) 2.91 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { ColumnMenuItemDirective } from './column-menu-item.directive'; import { Component, ContentChildren, Inject, NgZone, QueryList } from '@angular/core'; import { take } from 'rxjs/operators'; import { ColumnMenuService } from './column-menu.service'; import * as i0 from "@angular/core"; import * as i1 from "./column-menu.service"; /** * @hidden */ export class ColumnMenuContainerComponent { service; ngZone; columnMenuItems; templateMenuItems = []; constructor(service, ngZone) { this.service = service; this.ngZone = ngZone; service.columnMenuContainer = this; } ngAfterViewInit() { if (this.columnMenuItems.length) { this.columnMenuItems.first.isFirst = true; this.columnMenuItems.last.isLast = true; } else if (this.templateMenuItems.length) { this.templateMenuItems[0].isFirst = true; this.templateMenuItems[this.templateMenuItems.length - 1].isLast = true; } else { return; } this.ngZone.onStable.pipe(take(1)).subscribe(() => this.service.menuTabbingService.firstFocusable.focus()); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuContainerComponent, deps: [{ token: i1.ColumnMenuService }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ColumnMenuContainerComponent, isStandalone: true, selector: "kendo-grid-columnmenu-container", queries: [{ propertyName: "columnMenuItems", predicate: ColumnMenuItemDirective, descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ColumnMenuContainerComponent, decorators: [{ type: Component, args: [{ selector: 'kendo-grid-columnmenu-container', template: ` <ng-content></ng-content> `, standalone: true }] }], ctorParameters: function () { return [{ type: i1.ColumnMenuService }, { type: i0.NgZone, decorators: [{ type: Inject, args: [NgZone] }] }]; }, propDecorators: { columnMenuItems: [{ type: ContentChildren, args: [ColumnMenuItemDirective, { descendants: true }] }] } });