UNPKG

@anglr/grid

Version:
121 lines 3.71 kB
import { OnDestroy, ElementRef, Injector, Signal, WritableSignal } from '@angular/core'; import { RecursivePartial } from '@jscrpt/common'; import { Subscription, Subject } from 'rxjs'; import { Ordering, DataLoader, DataLoaderOptions, GridPlugin, Paging, GridPluginInstances } from '../../interfaces'; import { DataLoaderState } from '../../misc/enums'; import * as i0 from "@angular/core"; /** * Abstract class that represents any data loader component */ export declare abstract class DataLoaderAbstractComponent<TOptions extends DataLoaderOptions = DataLoaderOptions, TOrdering = unknown, TResult = unknown> implements DataLoader<TResult>, GridPlugin<TOptions>, OnDestroy { /** * Angular injector used for injecting dependencies */ protected injector: Injector; /** * Last page used for loading data */ protected lastPage: number | undefined | null; /** * Last items per page used for loading data */ protected lastItemsPerPage: number | undefined | null; /** * Last ordering used for loading data */ protected lastOrdering: TOrdering | undefined | null; /** * Options for 'AsyncDataLoader' */ protected ɵoptions: TOptions; /** * Paging used in grid */ protected paging: Paging | undefined | null; /** * Current state of data loader */ protected ɵstate: WritableSignal<DataLoaderState>; /** * Subscription for page change in paging */ protected pageChangedSubscription: Subscription | undefined | null; /** * Subscription for items per page change in paging */ protected itemsPerPageChangedSubscription: Subscription | undefined | null; /** * Subscription for ordering change in content renderer */ protected orderingChangedSubscription: Subscription | undefined | null; /** * Ordering plugin storing current ordering */ protected ordering: Ordering<TOrdering> | undefined | null; /** * Subject for debounce dataCallback */ protected debounceSubject: Subject<boolean>; /** * Subscription for debounce dataCallback */ protected debounceSubscription: Subscription | undefined | null; /** * @inheritdoc */ pluginElement: ElementRef<HTMLElement>; /** * @inheritdoc */ gridPlugins: GridPluginInstances | undefined | null; /** * @inheritdoc */ get state(): Signal<DataLoaderState>; /** * @inheritdoc */ abstract get result(): Signal<TResult>; /** * @inheritdoc */ get options(): TOptions; set options(options: RecursivePartial<TOptions>); constructor(defaultOptions: TOptions, options?: TOptions); /** * Called when component is destroyed */ ngOnDestroy(): void; /** * @inheritdoc */ initialize(force: boolean): void; /** * @inheritdoc */ initOptions(): void; /** * @inheritdoc */ invalidateVisuals(): void; /** * @inheritdoc */ loadData(force?: boolean): void; /** * Loads data from 'source' * @param force - Indication that data should be reloaded even if nothing changed */ protected abstract loadGridData(force?: boolean): void; /** * Check for changes on input */ protected checkChanges(): boolean; /** * Registers debounce subject */ protected registerDebounce(): void; static ɵfac: i0.ɵɵFactoryDeclaration<DataLoaderAbstractComponent<any, any, any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<DataLoaderAbstractComponent<any, any, any>>; } //# sourceMappingURL=dataLoaderAbstract.component.d.ts.map