UNPKG

tablor-core

Version:

Core features for data tables, grids, and advanced search, pagination, and sorting in Angular.

51 lines (50 loc) 2.75 kB
import { ImmutableAugmentedPartialRegularItem, ImmutableAugmentedItem, ImmutableRegularItem, Item, ItemsRemovedPayload } from '../stores/items-store/interfaces'; import { Subject } from 'rxjs'; import { ItemsSelectionChangedPayload } from './interfaces'; import { ItemsStore } from '../stores/items-store/items-store'; import { Paginator } from '../paginator/paginator'; /** * Represents a selector. */ export declare class Selector<T extends Item<T>> { protected readonly getAllItems: ItemsStore<T>['getMutableItems']; protected readonly getPaginatedItems: Paginator<T>['getItems']; protected readonly findOneIndexForEach: ItemsStore<T>['findOneIndexForEach']; protected readonly $itemsRemoved: Subject<ItemsRemovedPayload<T>>; protected _selectedUuids: number[]; readonly $itemsSelectionChanged: Subject<ItemsSelectionChangedPayload<T>>; constructor(getAllItems: ItemsStore<T>['getMutableItems'], getPaginatedItems: Paginator<T>['getItems'], findOneIndexForEach: ItemsStore<T>['findOneIndexForEach'], $itemsRemoved: Subject<ItemsRemovedPayload<T>>); /** * Returns the number of selected items. */ getNbOfSelectedItems(): number; getNbOfUnselectedItems(): number; getNbOfSelectedPaginatedItems(): number; getNbOfUnselectedPaginatedItems(): number; /** * Returns the number of selected items in the given items. */ getNbOfSelectedItemsIn(items: Readonly<(ImmutableAugmentedPartialRegularItem<T> | number | undefined)[]>): number; getSelectedItems(): ImmutableAugmentedItem<T>[]; getUnselectedItems(): ImmutableAugmentedItem<T>[]; getSelectedItemUuids(): number[]; getUnselectedItemUuids(): number[]; getSelectedPaginatedItems(): ImmutableAugmentedItem<T>[]; getUnselectedPaginatedItems(): ImmutableAugmentedItem<T>[]; /** * Selects or deselects an item. */ select(item: ImmutableAugmentedItem<T> | ImmutableRegularItem<T> | ImmutableAugmentedPartialRegularItem<T> | number | undefined, state: boolean | 'toggle'): void; /** * Selects or deselects multiple items. */ selectMultiple(items: Readonly<(ImmutableAugmentedItem<T> | ImmutableRegularItem<T> | ImmutableAugmentedPartialRegularItem<T> | number | undefined)[]>, states: (boolean | 'toggle')[] | (boolean | 'toggle')): void; /** * Verifies that the selected items are still valid after items have been removed. */ protected verifySelectedItemsOnRemoval({ removedItems }: ItemsRemovedPayload<T>): void; /** * Selects or deselects an item. */ protected selectInternal(item: ImmutableAugmentedItem<T> | ImmutableRegularItem<T> | ImmutableAugmentedPartialRegularItem<T> | number | undefined, state: boolean | 'toggle'): number; }