@indice/ng-components
Version:
Indice common components for Angular v12
56 lines (55 loc) • 2.08 kB
TypeScript
import { FilterClause, SearchOption } from './../controls/advanced-search/models';
import { Observable } from 'rxjs';
import { OnInit, OnDestroy } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router';
import { HeaderMetaItem, IResultSet, MenuOption, ViewAction } from '../types';
import * as i0 from "@angular/core";
export declare abstract class BaseListComponent<T> implements OnInit, OnDestroy {
private route$;
private router$;
items: T[] | null | undefined;
view: string;
title: string | null;
actions: ViewAction[];
loaderItems: any[];
page: number;
pageSize: number;
count: number;
sort: string | null;
sortdir: string | null;
search: string | null;
filters: FilterClause[];
searchOptions: SearchOption[];
sortOptions: MenuOption[];
metaItems: HeaderMetaItem[];
abstract newItemLink: string | null;
private routeSub$;
private loadSub$;
autoLoad: boolean;
constructor(route$: ActivatedRoute, router$: Router);
ngOnDestroy(): void;
getViewActions(): Observable<ViewAction[]>;
ngOnInit(): void;
/**
* Get filters from a querystring
* @param queryParamMap
* @returns filters found from a paramMap
*/
private getFiltersFrom;
private setRouteParams;
private filterClausesToString;
actionHandler($event: ViewAction): void;
private load;
private updateHeaderMeta;
abstract loadItems(): Observable<IResultSet<T> | null | undefined>;
clear(): void;
refresh(): void;
pageChanged(page: number): void;
pageSizeChanged(pageSize: number): void;
sortChanged(sort: string): void;
sortdirChanged(sortdir: string): void;
advancedSearchChanged(filters: FilterClause[]): void;
searchChanged(searchText: string | null): void;
static ɵfac: i0.ɵɵFactoryDeclaration<BaseListComponent<any>, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<BaseListComponent<any>, "ng-component", never, { "autoLoad": { "alias": "auto-load"; "required": false; }; }, {}, never, never, false, never>;
}