@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
TypeScript
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;
}