@progress/kendo-angular-grid
Version:
Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.
137 lines (136 loc) • 4.87 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnChanges, AfterViewInit, NgZone, ElementRef } from '@angular/core';
import { ColumnMenuItemContentTemplateDirective } from './column-menu-item-content-template.directive';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ColumnMenuService } from './column-menu.service';
import { ContextService } from '../common/provider.service';
import { AdaptiveGridService } from '../common/adaptiveness.service';
import { ColumnComponent } from '../columns/column.component';
import { SortDescriptor } from '@progress/kendo-data-query';
import * as i0 from "@angular/core";
/**
* Represents an item that you can place inside a
* [`ColumnMenuTemplate`]({% slug api_grid_columnmenutemplatedirective %}) directive.
*
* @example
* ```html
* <kendo-grid [columnMenu]="true" ...>
* <ng-template kendoGridColumnMenuTemplate let-service="service" let-column="column">
* <kendo-grid-columnmenu-item text="Fit column"></kendo-grid-columnmenu-item>
* </ng-template>
* </kendo-grid>
* ```
* @example
* ```html
* <kendo-grid-column field="ProductName">
* <ng-template kendoGridColumnMenuTemplate let-service="service">
* kendo-grid-columnmenu-item text="Fit column"></kendo-grid-columnmenu-item>
* </ng-template>
* </kendo-grid-column>
* ```
*/
export declare class ColumnMenuItemComponent implements AfterViewInit, OnChanges {
private ngZone;
ctx: ContextService;
adaptiveGridService: AdaptiveGridService;
element: ElementRef;
/**
* @hidden
*/
sortAscSmallIcon: SVGIcon;
/**
* @hidden
*/
sortDescSmallIcon: SVGIcon;
/**
* Fires when the item is clicked.
*/
itemClick: EventEmitter<any>;
/**
* Fires when the content expands.
*/
expand: EventEmitter<any>;
/**
* Fires when the content collapses.
*/
collapse: EventEmitter<any>;
/**
* Specifies the name of the font icon to render within the item.
*/
icon: string;
/**
* Specifies the SVG icon to render within the item.
*/
svgIcon: SVGIcon;
/**
* @hidden
*/
indicatorIcon: boolean;
/**
* Specifies the item text.
*/
text: string;
/**
* Specifies if the item is selected.
*/
selected: boolean;
/**
* Specifies if the item is disabled.
*/
disabled: boolean;
/**
* Specifies if the item is expanded.
*/
expanded: boolean;
/**
* @hidden
*/
focused: boolean;
/**
* Represents the [ColumnMenuService]({% slug api_grid_columnmenuservice %}) class.
* Required to include the item in the column menu keyboard navigation sequence.
*/
service: ColumnMenuService;
/**
* @hidden
*/
column: ColumnComponent;
contentTemplate: ColumnMenuItemContentTemplateDirective;
contentState: string;
contentId: string;
chevronUpIcon: SVGIcon;
chevronDownIcon: SVGIcon;
chevronRightIcon: SVGIcon;
filterIcon: SVGIcon;
/**
* @hidden
*/
get hasFilters(): boolean;
get expandedIcon(): string;
get expandedSvgIcon(): SVGIcon;
constructor(ngZone: NgZone, ctx: ContextService, adaptiveGridService: AdaptiveGridService, element: ElementRef);
ngAfterViewInit(): void;
ngOnChanges(changes: any): void;
/**
* @hidden
*/
sortDescriptor(field: string): SortDescriptor;
/**
* @hidden
*/
showSortNumbering(column: ColumnComponent): boolean;
/**
* @hidden
*/
sortOrder(field: string): number;
/**
* @hidden
*/
onClick(e: any): void;
private updateContentState;
static ɵfac: i0.ɵɵFactoryDeclaration<ColumnMenuItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ColumnMenuItemComponent, "kendo-grid-columnmenu-item", never, { "icon": { "alias": "icon"; "required": false; }; "svgIcon": { "alias": "svgIcon"; "required": false; }; "indicatorIcon": { "alias": "indicatorIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "focused": { "alias": "focused"; "required": false; }; "service": { "alias": "service"; "required": false; }; "column": { "alias": "column"; "required": false; }; }, { "itemClick": "itemClick"; "expand": "expand"; "collapse": "collapse"; }, ["contentTemplate"], never, true, never>;
}