import { BehaviorSubject, Subject } from 'rxjs'; import { OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core'; import { SortDirection } from '@angular/material/sort'; import { UiGridDropdownFilterDirective } from '../filters/ui-grid-dropdown-filter.directive'; import { UiGridSearchFilterDirective } from '../filters/ui-grid-search-filter.directive'; import * as i0 from "@angular/core"; /** * The grid column definition directive. * * @export */ export declare class UiGridColumnDirective implements OnChanges, OnDestroy { /** * Set the column width, in `%`. * */ set width(value: number | string); /** * Returns the column width, in `%`. * */ get width(): number | string; /** * Returns the `aria-sort` associated to the current sort. * */ get ariaSort(): string; /** * The string identifier for the column. * * (used for resize identification) * */ identifier: string; /** * Configure if the column is sortable. * */ sortable: boolean; /** * Configure if the column should be included in the search. * */ searchable: boolean; /** * Configure if the column is resizeable or not. * */ resizeable: boolean; /** * The column title. * */ title?: string; /** * The property that should be loaded in the associated row cell. * */ property?: keyof T | string; /** * If defined, this will be used for sorting and filtering * */ queryProperty?: keyof T | string; /** * The method metadata used for searches. * */ method?: string; /** * The current sort of the column. * */ sort: SortDirection; /** * If true and ui-grid has scrollable resize strategy, then the column will be placed in sticky mode * */ set isSticky(value: boolean); get isSticky(): boolean; /** * If the column should be styled as primary. * */ get primary(): boolean; set primary(primary: boolean); /** * If the column can have visibility toggled. * */ set disableToggle(value: boolean); get disableToggle(): boolean; /** * If the column should be rendered, used as default state if toggle columns is turned on. * */ get visible(): boolean; set visible(visible: boolean); /** * The minimum width percentage that the column should have when resizing. * */ minWidth: number; /** * If the searchable dropdown associated to the column should trigger a data fetch when opened. * */ refetch: boolean; /** * Determines the message which appears in the tooltip of an info icon inside the column header. * */ description: string; /** * The searchable dropdown directive reference. * * @ignore */ searchableDropdown?: UiGridSearchFilterDirective; /** * The dropdown directive reference. * * @ignore */ dropdown?: UiGridDropdownFilterDirective; /** * The view template associated to the row cell. * * @ignore */ html?: TemplateRef; /** * Emits when reactive properties change. * */ change$: Subject; /** * Source of truth for column's width expressed in pixels when grid has Scrollable resize strategy. * */ widthPx$: BehaviorSubject; private _width; private _visible; private _primary; private _isSticky; private _disableToggle; private _resizeStrategyStream$; constructor(); /** * @ignore */ ngOnChanges(changes: SimpleChanges): void; /** * @ignore */ ngOnDestroy(): void; private _validateUnits; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[uiGridColumn], ui-grid-column", never, { "width": "width"; "sortable": "sortable"; "searchable": "searchable"; "resizeable": "resizeable"; "title": "title"; "property": "property"; "queryProperty": "queryProperty"; "method": "method"; "sort": "sort"; "isSticky": "isSticky"; "primary": "primary"; "disableToggle": "disableToggle"; "visible": "visible"; "minWidth": "minWidth"; "refetch": "refetch"; "description": "description"; }, {}, ["searchableDropdown", "dropdown", "html"], never, false, never>; }