import '@digital-realty/grid'; import type { GridItemModel } from '@digital-realty/grid'; import { GridColumn } from '@digital-realty/grid/src/vaadin-grid-column.js'; import '@digital-realty/ix-icon-button/ix-icon-button.js'; import '@digital-realty/ix-icon/ix-icon.js'; import '@digital-realty/ix-progress/ix-progress.js'; import { LitElement, nothing } from 'lit'; import './components/IxGridColumnFilter.js'; import './components/IxGridDownloadMenu.js'; import './components/IxGridRowFilter.js'; import './components/IxPagination.js'; import { IxGridDownloadMenuItemModel } from './models/IxGridDownloadMenuItemModel.js'; export interface Row { [key: string]: unknown; } export type FilterOperator = 'equals' | 'contains'; export type DataType = 'string' | 'dateTime'; export type BodyRenderer = (item: any, model: GridItemModel, column: GridColumn) => any; export interface Column { name: string; header: string; bodyRenderer: BodyRenderer; width?: string; sortable?: boolean; filterable?: boolean; hidden?: boolean; frozenToEnd?: boolean; dataType?: DataType; filterOperators?: FilterOperator[]; autoWidth?: boolean; minWidth?: string; maxWidth?: string; responsive?: [string, string][]; flexGrow?: number; } export interface FieldOperator { columnField: string; operator: FilterOperator; } export interface SessionStorageData { pageSize?: number; } export declare class IxGrid extends LitElement { static readonly styles: import("lit").CSSResult[]; private defaultPageSize; private defaultPage; private originalSearchParams; grid: HTMLElement; columnReorderingAllowed: boolean; variantClass: string; hasSimplePagination: boolean; theme: string; readonly columns: Column[]; rows: Row[]; defaultEmptyText: string; sortedColumn: string; sortDirection: string; hideHeader: boolean; hideFilters: boolean; rowLimit: number; page: number; pageSize: number; pageSizes: number[]; recordCount: number; localStorageID: string | undefined; showDownload: boolean; isDownloading: boolean; isLoading: boolean; downloadMenuItems: IxGridDownloadMenuItemModel[]; addParamsToURL: boolean; readParamsFromURL: boolean; refreshDataOnColumnVisibilityChange: boolean; filterValueChangeDebounceTime: number; hideColumnHeaders: boolean; preservedQueryParamKeys: string[]; filterMaxDate?: string; hashedTableState: string; hideViewMoreLessButtonIcon: boolean; showAddButton: boolean; disableAddButton: boolean; showViewMore: boolean; addButtonLabel: string; onAddButtonClick?: any; showRemoveAllButton: boolean; disableRemoveAllButton: boolean; removeAllButtonLabel: string; onRemoveAllButtonClick?: any; sessionStorageKey: string | undefined; useNewDatePicker: boolean; private filters; isColumnsReordering: boolean; isExpanded: boolean; displayColumns: Column[]; sessionStorageData: SessionStorageData | undefined; private defaultFilterKeys; private initialised; get isPersistable(): boolean; get columnNames(): string[]; get columnsLocalStorageKey(): string; get arrangedColumns(): { width: string | undefined; name: string; header: string; bodyRenderer: BodyRenderer; sortable?: boolean | undefined; filterable?: boolean | undefined; hidden?: boolean | undefined; frozenToEnd?: boolean | undefined; dataType?: DataType | undefined; filterOperators?: FilterOperator[] | undefined; autoWidth?: boolean | undefined; minWidth?: string | undefined; maxWidth?: string | undefined; responsive?: [string, string][] | undefined; flexGrow?: number | undefined; }[]; connectedCallback(): void; disconnectedCallback(): void; private handlePopState; private handleUnload; private updateSearchParamsFromUri; private rebuildFiltersFromUri; private dispatchChangeEvent; update(changedProperties: Map): void; firstUpdated(): void; private getSessionStorageData; private updateSessionStorage; private checkLocalStorageUpdate; buildQueryFromFilters(): { [k: string]: string; }; rebuildQueryFromMatchingQuerystringParams(): Record; private getColumnsToDisplayFromLocalStorage; private mapColumnsWithPersistedSettings; private removeOldLocalStorageValues; private findMatchingLocalStorageKeys; private updatePage; saveOriginalSearchParams(gridSearchParams: URLSearchParams): void; handleSort(column?: string): void; private renderColumnHeader; setColumnsToLocalStorage(columns: Column[]): void; reorderColumnsFromTable(): Promise; reorderColumnsFromFilter(e: CustomEvent): Promise; handleOnColumnFilter(e: CustomEvent): void; cellPartNameGenerator(_column: Column, model: { item: Row; }): string; private columnRenderer; private renderHeader; renderAddNewButton(): import("lit-html").TemplateResult<1> | typeof nothing; renderViewMore(): import("lit-html").TemplateResult<1> | typeof nothing; get showViewMoreLessButton(): boolean; renderViewMoreLessButton(): import("lit-html").TemplateResult<1> | typeof nothing; renderRemoveAllButton(): import("lit-html").TemplateResult<1> | typeof nothing; private renderRowControls; private renderPaginationControls; renderColumns(): import("lit-html").TemplateResult<1>; renderLoading(): import("lit-html").TemplateResult<1>; renderGrid(): import("lit-html").TemplateResult<1> | typeof nothing; render(): import("lit-html").TemplateResult<1>; }