UNPKG

@web-atoms/core

Version:
57 lines 1.75 kB
export type valuePathOrFunc<T> = ((item: T) => any); export default class AtomSelectableList<T> { allowMultipleSelection: boolean; valuePath?: valuePathOrFunc<T>; labelPath?: valuePathOrFunc<T>; readonly items: Array<ISelectableItem<T>>; readonly selectedItems: Array<ISelectableItem<T>>; /** * Reference for Paging */ start: number; /** * Reference for paging */ total: number; get selectedIndex(): number; set selectedIndex(n: number); get selectedItem(): T; set selectedItem(item: T); get label(): any; get selectAll(): boolean; set selectAll(v: boolean); private mValue; get value(): any; set value(v: any); constructor(allowMultipleSelection?: boolean, valuePath?: valuePathOrFunc<T>, labelPath?: valuePathOrFunc<T>); /** * Remove all items * @param clearValue clear Selection */ clear(clearValue?: boolean): void; /** * Append to existing items * @param source source items * @param total total number of items */ append(source: T[], total?: number): void; replace(source: T[], start?: number, size?: number): void; find(item: T | ((i: T) => boolean)): ISelectableItem<T>; select(item: T | ISelectableItem<T>): void; deselect(item: T | ISelectableItem<T>): void; toggle(item: T | ISelectableItem<T>): void; replaceSelected(va: T[]): void; private replaceSelectedInternal; private updateBindings; private newItem; private clearSelected; } export interface ISelectableItem<T> { selected: boolean; item: T; itemType: any; select: () => void; deselect: () => void; toggle: () => void; } //# sourceMappingURL=AtomSelectableList.d.ts.map