@rxap/data-source
Version:
Provides a set of classes and decorators for creating and managing data sources in Angular applications, including base classes, static data sources, observable data sources, and method data sources. It also includes a component for displaying data source
40 lines (39 loc) • 1.99 kB
TypeScript
import { AbstractPaginationDataSource, AbstractPaginationDataSourceMetadata, PageEvent, PaginatorLike } from '@rxap/data-source/pagination';
import type { HttpDataSource } from '@rxap/data-source/http';
import { HttpDataSourceOptions, HttpDataSourceViewer } from '@rxap/data-source/http';
import { BaseDataSourceViewer } from '@rxap/data-source';
import { Observable, TeardownLogic } from 'rxjs';
import { Constructor } from '@rxap/utilities';
import * as i0 from "@angular/core";
export interface PaginationData<Data = any> {
/**
* The paged data
*/
data: Data[];
/**
* The page item count
*/
size?: number;
/**
* The page index
*/
page?: number;
/**
* The total number of items
*/
total: number;
}
export interface HttpPaginationDataSourceViewer extends BaseDataSourceViewer {
readonly viewChange: Observable<PageEvent>;
}
export type HttpPaginationDataSourceMetadata = AbstractPaginationDataSourceMetadata;
export type PageEventToHttpOptionsFunction = (event: PageEvent) => HttpDataSourceOptions;
export declare class HttpPaginationDataSource<Data> extends AbstractPaginationDataSource<Data> {
private readonly dataSource;
constructor(dataSource: HttpDataSource<PaginationData<Data>>, paginator?: PaginatorLike | null, pageEventToHttpOptions?: any | null, metadata?: HttpPaginationDataSourceMetadata);
pageEventToHttpOptions(event: PageEvent): HttpDataSourceOptions;
protected _connect(viewer: HttpDataSourceViewer): [Observable<Data[]>, TeardownLogic];
static ɵfac: i0.ɵɵFactoryDeclaration<HttpPaginationDataSource<any>, [null, { optional: true; }, { optional: true; }, { optional: true; }]>;
static ɵprov: i0.ɵɵInjectableDeclaration<HttpPaginationDataSource<any>>;
}
export declare function RxapHttpPaginationDataSource<Data>(metadata: HttpPaginationDataSourceMetadata, className?: string, packageName?: string): (target: Constructor<HttpPaginationDataSource<Data>>) => void;