bitfront-library
Version:
Angular CLI project with components and classes used by other Angular projects of the BIT foundation.
53 lines (52 loc) • 2.64 kB
TypeScript
import { ActivatedRoute } from "@angular/router";
import { Store } from "@ngrx/store";
import { Observable } from "rxjs";
import { PageStatus } from "../../../shared/global.constants";
import { TableViewService } from "../../..//shared/service/tableview.service";
import { BaseFilter } from "../../shared/base.filter";
import * as fromModels from "../../models";
import { BaseComponent } from "./base.component";
import * as i0 from "@angular/core";
/**
* Componente que implementa un listado con filtro
* T: entidad,
* F: Filter,
* V: Definicion de la interface del state
*/
export declare abstract class BaseListComponent<T, F extends BaseFilter, V> extends BaseComponent<V> {
protected store: Store<V>;
protected tableViewService: TableViewService;
protected activatedRoute: ActivatedRoute;
protected factoryCreateAction: fromModels.FactoryCreateAction;
breadcrumb: any[];
items$: Observable<T[]>;
totalItems$: Observable<number>;
status$: Observable<PageStatus>;
toolbar$: Observable<{}>;
filter: F;
protected customToolbarActions: any;
constructor(store: Store<V>, tableViewService: TableViewService, activatedRoute: ActivatedRoute, factoryCreateAction: fromModels.FactoryCreateAction);
/** Tenemos que ver si activamos la autobúsqueda entre otras cosas */
ngOnInit(): void;
ngOnDestroy(): void;
/** el componente toolbar nos comunica que se ha pulsado un botón */
onToolbarButtonPressed(button: string): void;
/** el componente toolbar nos comunica que se ha pulsado un botón */
handlePrint(): void;
/** Cuando tenemos que exportar el listado */
handleExport(): void;
/** Cuando tenemos que nagevar al formulario para crear un nuevo elemento*/
handleNew(): void;
/**cualquier otra accion que no sea la típica de guardar o eliminar */
otherAction(button: string): void;
/** Se invocará cuando el componente paginator hijo nos comunique que el usuario ha cambiado el número de elementos a mostrar por página */
onNewPageSize(pageSize: number): void;
/** Se invocará cuando el componente paginator hijo nos comunique que el usuario ha cambiado el número de página a mostrar */
onPageChange(page: number): void;
search(filter: F): void;
reset(filter: F): void;
/** No sabemos a este nivel como navegar al formulario. Es mejor que el componente lo implemente */
abstract gotoForm(data?: any): any;
static ɵfac: i0.ɵɵFactoryDef<BaseListComponent<any, any, any>, never>;
static ɵdir: i0.ɵɵDirectiveDefWithMeta<BaseListComponent<any, any, any>, never, never, {}, {}, never>;
}