UNPKG

@furystack/shades-common-components

Version:

39 lines 1.29 kB
import { ObservableValue } from '@furystack/utils'; export interface CollectionData<T> { entries: T[]; count: number; } export interface CollectionServiceOptions<T> { /** * An optional field that can be used for quick search */ searchField?: keyof T; /** * @param entry The clicked entry * optional callback for row clicks */ onRowClick?: (entry: T) => void; /** * Optional callback for row double clicks * @param entry The clicked entry */ onRowDoubleClick?: (entry: T) => void; } export declare class CollectionService<T> implements Disposable { private options; [Symbol.dispose](): void; isSelected: (entry: T) => boolean; addToSelection: (entry: T) => void; removeFromSelection: (entry: T) => void; toggleSelection: (entry: T) => void; data: ObservableValue<CollectionData<T>>; focusedEntry: ObservableValue<T | undefined>; selection: ObservableValue<T[]>; searchTerm: ObservableValue<string>; hasFocus: ObservableValue<boolean>; handleKeyDown(ev: KeyboardEvent): void; handleRowClick(entry: T, ev: MouseEvent): void; constructor(options?: CollectionServiceOptions<T>); handleRowDoubleClick(entry: T): void; } //# sourceMappingURL=collection-service.d.ts.map