@3mo/data-grid
Version:
A data grid web component
44 lines • 1.72 kB
TypeScript
import type { DataRecord } from './DataRecord.js';
export declare enum DataGridSelectability {
Single = "single",
Multiple = "multiple"
}
export declare enum DataGridSelectionBehaviorOnDataChange {
/** Resets the selection of all data */
Reset = "reset",
/** Tries to find the previously selected data to maintain the selection */
Maintain = "maintain",
/** Prevents the selection from changing */
Prevent = "prevent"
}
interface SelectableComponent<TData> {
selectability?: DataGridSelectability;
readonly dataRecords: Array<DataRecord<TData>>;
selectedData: Array<TData>;
isDataSelectable?(data: TData): boolean;
readonly selectionChange?: EventDispatcher<Array<TData>>;
readonly selectionBehaviorOnDataChange?: DataGridSelectionBehaviorOnDataChange;
readonly hasContextMenu?: boolean;
}
export declare class DataGridSelectionController<TData> {
readonly host: SelectableComponent<TData>;
private lastActiveSelection?;
constructor(host: SelectableComponent<TData>);
private get selectability();
get hasSelection(): boolean;
private get data();
private get selectableData();
private get selectedData();
private set selectedData(value);
private get previouslySelectedData();
isSelectable(data: TData): boolean;
isSelected(data: TData): boolean;
handleDataChange(behavior: DataGridSelectionBehaviorOnDataChange): void;
selectPreviouslySelectedData(): void;
setSelection(data: TData, selected: boolean, preservePreviousSelections?: boolean): void;
selectAll(): void;
deselectAll(): void;
select(data: Array<TData>): void;
}
export {};
//# sourceMappingURL=DataGridSelectionController.d.ts.map