import XNode from "@web-atoms/core/dist/core/XNode"; import { IPropertyInfo } from "./Editable"; import TableRepeater from "./TableRepeater"; import "./styles/data-grid.global.css"; export interface IDataGridColumnBase { header: string; headerSort?: any; headerSortDescending?: any; headerSortDefault?: any; headerClickEvent?: string; cellClickEvent?: string; footerClickEvent?: string; headerRenderer?: (item: any) => XNode; footerRenderer?: (item: any) => XNode; headerClickHandler?: (e: CustomEvent) => void; cellClickHandler?: (e: CustomEvent) => void; footerClickHandler?: (e: CustomEvent) => void; /** * Default is true */ ellipsis?: boolean; width?: string; maxWidth?: string; minWidth?: string; } export interface IDataGridColumnWithLabel extends IDataGridColumnBase { label: string; labelPath?: never; cellRenderer?: never; } export interface IDataGridColumnWithLabelPath extends IDataGridColumnBase { labelPath: (item: any) => string; label?: never; cellRenderer?: never; } export interface IDataGridColumnWithCellRenderer extends IDataGridColumnBase { cellRenderer: (item: any) => XNode; label?: never; labelPath?: never; } export type IDataGridColumn = IDataGridColumnWithLabel | IDataGridColumnWithLabelPath | IDataGridColumnWithCellRenderer; export declare const SelectAllColumn: IDataGridColumn; export interface IEditorColumn { header: string; changeEvents?: string[]; editorValuePath?: (editor: any) => any; propertyPath: string[] | string | IPropertyInfo; } export declare function InputColumn({ type, header, propertyPath }: IEditorColumn & { type?: string; }): IDataGridColumn; export default class DataGrid extends TableRepeater { columns: IDataGridColumn[]; orderBy: any; private orderBySet; constructor(app: any, e?: HTMLTableElement); onPropertyChanged(name: keyof DataGrid): void; protected preCreate(): void; protected dispatchHeaderFooterEvent(eventName: any, type: any, recreate: boolean, originalTarget: any): void; protected dispatchItemEvent(eventName: any, item: any, recreate: any, originalTarget: any): void; private invokeHandler; } //# sourceMappingURL=DataGrid.d.ts.map