@ctodev/cclibrary-typings
Version:
Library typings for use with CLARC INFINITY
140 lines (139 loc) • 4.96 kB
TypeScript
import { ODataExecReturnType, ODataMetadataResult, ODataPagedResult, ODataQuery } from "@mgrcto/angular-odata-v401";
import { TccODataService } from "../tcc-odata/tcc-odata.service";
import { Observable } from "rxjs";
import { IKeyValue } from "../../models/shared.model";
export declare class TccODataQuery<T> extends ODataQuery<T> {
private odataService;
private filter;
private search;
private select;
private orderBy;
private skip;
private _pageSize;
private fromSave;
private saveTime;
private currPage;
private maxResultLimit;
private _count;
private pagingRequest;
private pagingOffset;
private entitypath;
private uniqueId;
private cacheService;
private fCustomQueryHeaders;
constructor(odataService: TccODataService<T>);
/**
* Number of entities for this entityPath
*
* will be undefined, if no data was loaded with this query
*/
get count(): number;
set count(val: number);
private get pageSize();
Filter(filter: string): TccODataQuery<T>;
Select(select: string | string[]): this;
Search(search: string): TccODataQuery<T>;
/**
* How many entities will be in one Page, while using Paging()
* @param pageSize number of entities per Page
* @returns self
*/
PageSize(pageSize: number): TccODataQuery<T>;
/**
* How many entities are requested
* @param top number of entities
* @returns self
*/
Top(top: number): TccODataQuery<T>;
/**
* How many entities will be skippt in request
* @param skip number of entities to skip
* @returns self
*/
Skip(skip: number): TccODataQuery<T>;
/**
* @param offset number of entities added to offset of paging
*/
AddToPagingOffset(offset: number): void;
private BuildCustomQueryHeaders;
/**
* Sets custon Query Headers for this Query permanent
* @param customHeaders The custom Query Headers as KeyValue or KeyValue[]
* @returns self
*/
CustomQueryHeaders(customHeaders: IKeyValue<any> | IKeyValue<any>[]): TccODataQuery<T>;
Apply(apply: string | string[]): TccODataQuery<T>;
CustomQueryOptions(customOptions: IKeyValue<any> | IKeyValue<any>[]): TccODataQuery<T>;
OrderBy(orderBy: string | string[]): TccODataQuery<T>;
/**
* Disables loading Animation and page disable while loading
* @returns self
*/
DisableLoading(enabled?: boolean): TccODataQuery<T>;
/**
* @description
* Get paged data
* @param {string|number} page string -> ('-2','-1','1','2'...):returns page current page + string({page}); number: returns page with page Number {page}; undefined: returns next page;
* @returns The data as Array (in an Observable)
*/
Paging(page?: number | string): Observable<T[]>;
/**
* @description
* Get paged data
* @param {string|number} page string -> ('-2','-1','1','2'...):returns page current page + string({page}); number: returns page with page Number {page}; undefined: returns next page;
* @returns The query
*/
GenericPagingQuery(page?: number | string): TccODataQuery<T>;
/**
* @description
* removes elements out of the paging count. Call if elements got deleted, that are placed in the current page or before.
* @param {number} count number of pages, that were deleted
*/
pagingDataDeleted(count: number): void;
dataDeleted(deletedCount: number): void;
dataCreated(createCount: number): void;
/**
* @description
* Resets the current PageNumber
*/
resetPageCount(): void;
/**
* @description
* Resets the current PageNumber
*/
setPageCount(page: number): void;
/**
* @description
* Resets the current PageNumber
*/
getPageCount(): number;
/**
* execAll
* Ruft unabhängig vom Odata Limit pro request einfach trotzdem alle Einträge ab.
* Nur benutzen wenn es explizit erwähnt wurde.
* @returns All items in a single array
*/
execAll(): Observable<T[]>;
Exec(): Observable<T[]>;
Exec(returnType: ODataExecReturnType.Count): Observable<number>;
Exec(returnType: ODataExecReturnType.PagedResult): Observable<ODataPagedResult<T>>;
Exec(returnType: ODataExecReturnType.MetadataResult): Observable<ODataMetadataResult<T>>;
Exec(returnType: ODataExecReturnType.Array): Observable<T[]>;
ExecCount(): Observable<number>;
ExecWithCount(): Observable<ODataPagedResult<T>>;
private checkPagedResult;
private extractCount;
private addCountToResult;
private ExecLoad;
/**
* Deletes all cached data
*/
ResetCache(): void;
private FillObserverAndSave;
private FillObserverAndSave2;
/**
* Check if all data from this entityPath is already caached
* @returns true, if all data for this entityPath is already cached
*/
cacheComplete(): boolean;
}