@anglr/grid
Version:
Angular module displaying grid
121 lines • 3.71 kB
TypeScript
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