UNPKG

@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
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;