import { BasicSelectionModel, CellRenderer, DataGrid, DataModel, RendererMap } from '@lumino/datagrid'; import { IMessageHandler, Message } from '@lumino/messaging'; import { ISignal } from '@lumino/signaling'; import { Widget } from '@lumino/widgets'; import { FeatherGridContextMenu } from './core/gridContextMenu'; import { ViewBasedJSONModel } from './core/viewbasedjsonmodel'; import { DataGridModel as BackBoneModel } from './datagrid'; import '@lumino/default-theme/style/datagrid.css'; import '../style/feathergrid.css'; declare type Dict = { [keys: string]: T; }; export declare class FeatherGrid extends Widget { constructor(options?: DataGrid.IOptions); /** * Intercepts the column-resize-request message sent to a message handler * and updates the data model to have the correct column widths * * @param handler - The target handler of the message. * * @param msg - The message to be sent to the handler. * * @returns `true` if the message should continue to be processed * as normal, or `false` if processing should cease immediately. */ messageHook(handler: IMessageHandler, msg: Message): boolean; set dataModel(model: ViewBasedJSONModel); get dataModel(): ViewBasedJSONModel; set baseRowSize(size: number); get baseRowSize(): number; set baseColumnSize(size: number); get baseColumnSize(): number; set columnWidths(widths: Dict); get columnWidths(): Dict; set baseRowHeaderSize(size: number); get baseRowHeaderSize(): number; set baseColumnHeaderSize(size: number); get baseColumnHeaderSize(): number; set headerVisibility(visibility: DataGrid.HeaderVisibility); get headerVisibility(): DataGrid.HeaderVisibility; set defaultRenderer(renderer: CellRenderer); get defaultRenderer(): CellRenderer; set columnHeaderRenderer(renderer: CellRenderer); get columnHeaderRenderer(): CellRenderer; set cornerHeaderRenderer(renderer: CellRenderer); get cornerHeaderRenderer(): CellRenderer; set renderers(renderers: Dict); get renderers(): Dict; set selectionModel(model: BasicSelectionModel | null); set editable(value: boolean); get editable(): boolean; get cellRenderers(): RendererMap; private _createGrid; setGridStyle(): void; updateGridStyle(): void; downloadAsCsv(isSelection: boolean): void; /** * A signal emitted when a grid cell is clicked. */ get cellClicked(): ISignal; /** * A signal emitted when a grid column is resized. */ get columnsResized(): ISignal; set isLightTheme(value: boolean); get isLightTheme(): boolean; /** * * RendererMap.Resolver function to select a CellRenderer based on the * provided cell metadata. * * @param config - CellConfig for the cell to be rendered. */ private _rendererResolver; private _updateGridRenderers; private _updateColumnWidths; private _updateHeaderRenderer; private _createCommandRegistry; grid: DataGrid; backboneModel: BackBoneModel; contextMenu: FeatherGridContextMenu; private _filterDialog; private _baseRowSize; private _baseColumnSize; private _baseRowHeaderSize; private _baseColumnHeaderSize; private _columnWidths; private _headerVisibility; private _dataModel; private _selectionModel; private _editable; private _renderers; private _defaultRenderer; private _columnHeaderRenderer; private _cornerHeaderRenderer; private _rowHeaderRenderer; private _defaultRendererSet; private _cellClicked; private _columnsResized; private _isLightTheme; } /** * The namespace for the `FeatherGrid` class statics. */ export declare namespace FeatherGrid { interface ICellClickedEvent { readonly region: DataModel.CellRegion; column: string; columnIndex: number; row: number; primaryKeyRow: number; cellValue: any; } } export {};