ngx-ui-scroll
Version:
Infinite/virtual scroll for Angular
27 lines (26 loc) • 1.26 kB
TypeScript
import { BehaviorSubject, Subject } from 'rxjs';
import { IDatasource, IAdapterItem, IAdapter } from './vscroll';
interface IReactiveOverride<Item = unknown> {
init$: Subject<boolean>;
isLoading$: Subject<boolean>;
loopPending$: Subject<boolean>;
firstVisible$: BehaviorSubject<IAdapterItem<Item>>;
lastVisible$: BehaviorSubject<IAdapterItem<Item>>;
bof$: Subject<boolean>;
eof$: Subject<boolean>;
}
declare type _Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
interface IAngularAdapter<Data = unknown> extends _Omit<IAdapter<Data>, keyof IReactiveOverride<Data>>, IReactiveOverride<Data> {
}
interface IAngularDatasource<Data = unknown> extends _Omit<IDatasource<Data>, 'adapter'> {
adapter?: IAngularAdapter<Data>;
}
declare const AngularDatasource: {
new <T = unknown>(_ds: IAngularDatasource<T>): {
get: import("vscroll/dist/typings/interfaces").DatasourceGet<T>;
settings?: import("vscroll/dist/typings/interfaces").Settings<T> | undefined;
devSettings?: import("vscroll/dist/typings/interfaces").DevSettings | undefined;
adapter: IAngularAdapter<T>;
};
};
export { IAngularAdapter as IAdapter, IAngularDatasource as IDatasource, AngularDatasource as Datasource, };