@3mo/data-grid
Version:
A data grid web component
48 lines • 2.35 kB
TypeScript
import { Component, type HTMLTemplateResult } from '@a11d/lit';
import { type DataGridColumn } from '../DataGridColumn.js';
import { type DataGridCell, type DataRecord } from '../index.js';
export declare abstract class DataGridRow<TData, TDetailsElement extends Element | undefined = undefined> extends Component {
readonly cells: Array<DataGridCell<any, TData, TDetailsElement>>;
readonly subRows: Array<DataGridRow<TData, TDetailsElement>>;
readonly content: HTMLElement;
isIntersecting: boolean;
dataRecord: DataRecord<TData>;
get dataGrid(): import("../DataGrid.js").DataGrid<TData, any>;
get data(): TData;
get index(): number;
get level(): number;
get selected(): boolean;
get detailsOpen(): boolean;
get detailsElement(): TDetailsElement | undefined;
getCell(column: DataGridColumn<TData, any>): DataGridCell<any, TData, TDetailsElement> | undefined;
connected(): void;
protected initialized(): void;
protected disconnected(): void;
updated(...parameters: Parameters<Component['updated']>): void;
protected get hasDetails(): boolean;
static get styles(): import("@a11d/lit").CSSResult;
protected get template(): HTMLTemplateResult;
protected abstract get rowTemplate(): HTMLTemplateResult;
protected get detailsExpanderTemplate(): HTMLTemplateResult;
protected get selectionTemplate(): HTMLTemplateResult;
protected getCellTemplate(column: DataGridColumn<TData, KeyPath.ValueOf<TData, KeyPath.Of<TData>>>): HTMLTemplateResult;
private readonly delegateToCell;
protected get fillerTemplate(): HTMLTemplateResult;
protected get contextMenuIconButtonTemplate(): HTMLTemplateResult;
protected get detailsTemplate(): HTMLTemplateResult;
protected handleContentClick(): void;
protected handleContentDoubleClick(): Promise<void>;
protected handleContentMiddleClick(): Promise<void>;
private clickOnPrimaryContextMenuItemIfApplicable;
openContextMenu(event?: PointerEvent): Promise<void>;
protected handleContextMenuOpenChange(open: boolean): void;
private get contextMenuTemplate();
closeContextMenu(): Promise<void>;
toggleDetails(): void;
}
declare global {
interface HTMLElementTagNameMap {
'mo-data-grid-row': DataGridRow<unknown>;
}
}
//# sourceMappingURL=DataGridRow.d.ts.map