UNPKG

@catull/igniteui-angular

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

269 lines (268 loc) 7.01 kB
import { ChangeDetectorRef, TemplateRef, OnDestroy, AfterViewInit, ElementRef } from '@angular/core'; import { IgxOverlayService } from '../../../services/index'; import { IgxFilteringService } from '../grid-filtering.service'; import { IFilteringOperation } from '../../../data-operations/filtering-condition'; import { IgxExcelStyleSearchComponent } from './excel-style-search.component'; import { IgxExcelStyleCustomDialogComponent } from './excel-style-custom-dialog.component'; import { IgxExcelStyleSortingComponent } from './excel-style-sorting.component'; import { ISelectionEventArgs, IgxDropDownComponent } from '../../../drop-down'; import { IgxColumnComponent } from '../../columns/column.component'; import { IgxGridBaseDirective } from '../../grid-base.directive'; /** *@hidden */ export declare class FilterListItem { value: any; label: any; isSelected: boolean; indeterminate: boolean; isSpecial: boolean; } export declare class IgxExcelStyleSortingTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); } export declare class IgxExcelStyleMovingTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); } export declare class IgxExcelStyleHidingTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); } export declare class IgxExcelStylePinningTemplateDirective { template: TemplateRef<any>; constructor(template: TemplateRef<any>); } /** * A component used for presenting Excel style filtering UI for a specific column. * It is used internally in the Grid, but could also be hosted in a container outside of it. * * Example: * ```html * <igx-grid-excel-style-filtering * [column]="grid1.columns[0]"> * </igx-grid-excel-style-filtering> * ``` */ export declare class IgxGridExcelStyleFilteringComponent implements OnDestroy, AfterViewInit { cdr: ChangeDetectorRef; private static readonly filterOptimizationThreshold; private shouldOpenSubMenu; private expressionsList; private destroy$; private containsNullOrEmpty; private selectAllSelected; private selectAllIndeterminate; private filterValues; private _column; private _columnPinning; private _columnVisibilityChanged; private _filteringChanged; private _densityChanged; /** * An @Input property that sets the column. */ /** * Returns the current column. */ column: IgxColumnComponent; /** * @hidden @internal */ readonly filteringService: IgxFilteringService; /** * @hidden @internal */ listData: FilterListItem[]; /** * @hidden @internal */ uniqueValues: any[]; /** * @hidden @internal */ overlayService: IgxOverlayService; /** * @hidden @internal */ overlayComponentId: string; private _subMenuPositionSettings; private _subMenuOverlaySettings; /** * @hidden @internal */ className: string; /** * @hidden @internal */ inline: boolean; /** * @hidden @internal */ mainDropdown: ElementRef; /** * @hidden @internal */ subMenu: IgxDropDownComponent; /** * @hidden @internal */ customDialog: IgxExcelStyleCustomDialogComponent; /** * @hidden @internal */ excelStyleSearch: IgxExcelStyleSearchComponent; /** * @hidden @internal */ protected excelStyleSorting: IgxExcelStyleSortingComponent; /** * @hidden @internal */ protected defaultExcelStyleSortingTemplate: TemplateRef<any>; /** * @hidden @internal */ protected defaultExcelStyleHidingTemplate: TemplateRef<any>; /** * @hidden @internal */ protected defaultExcelStyleMovingTemplate: TemplateRef<any>; /** * @hidden @internal */ protected defaultExcelStylePinningTemplate: TemplateRef<any>; /** * @hidden @internal */ isColumnPinnable: boolean; /** * @hidden @internal */ readonly grid: IgxGridBaseDirective; /** * @hidden @internal */ readonly conditions: string[]; /** * @hidden @internal */ readonly subMenuText: string; constructor(cdr: ChangeDetectorRef); /** * @hidden @internal */ ngOnDestroy(): void; /** * @hidden @internal */ ngAfterViewInit(): void; private init; /** * @hidden @internal */ clearFilterClass(): "igx-excel-filter__actions-clear" | "igx-excel-filter__actions-clear--disabled"; /** * @hidden @internal */ pinClass(): "igx-excel-filter__actions-pin" | "igx-excel-filter__actions-pin--disabled"; /** * @hidden @internal */ initialize(column: IgxColumnComponent, overlayService: IgxOverlayService, overlayComponentId: string): void; /** * @hidden @internal */ getCondition(value: string): IFilteringOperation; /** * @hidden @internal */ translateCondition(value: string): string; /** * @hidden @internal */ onPin(): void; /** * @hidden @internal */ onHideToggle(): void; /** * @hidden @internal */ onTextFilterClick(eventArgs: any): void; /** * @hidden @internal */ onTextFilterKeyDown(eventArgs: any): void; /** * @hidden @internal */ onSubMenuClosed(): void; /** * @hidden @internal */ onSubMenuSelection(eventArgs: ISelectionEventArgs): void; private areExpressionsSelectable; private areExpressionsValuesInTheList; private populateColumnData; private renderColumnValuesRemotely; private renderColumnValuesFromData; private renderValues; private generateUniqueValues; private generateFilterValues; private generateListData; private getColumnFilterExpressionsTree; private addBooleanItems; private addItems; private addSelectAllItem; private addBlanksItem; private sortData; private selectAllFilterItems; /** * @hidden @internal */ readonly sortingTemplate: TemplateRef<any>; /** * @hidden @internal */ readonly movingTemplate: TemplateRef<any>; /** * @hidden @internal */ readonly pinningTemplate: TemplateRef<any>; /** * @hidden @internal */ readonly hidingTemplate: TemplateRef<any>; /** * @hidden @internal */ readonly applyButtonDisabled: boolean; /** * @hidden @internal */ applyFilter(): void; /** * @hidden @internal */ cancel(): void; private closeDropdown; /** * @hidden @internal */ onKeyDown(eventArgs: any): void; /** * @hidden @internal */ clearFilter(): void; /** * @hidden @internal */ onClearFilterKeyDown(eventArgs: any): void; /** * @hidden @internal */ showCustomFilterItem(): boolean; private createCondition; }