UNPKG

@itexpert-dev/base-universal-table

Version:

base universal table for build tables

30 lines (29 loc) 2.14 kB
import { KeyValueStorage } from "@itexpert-dev/key-value-storage"; import { Observable, Subject } from "rxjs"; import { ComponentFactoryResolver, Injector, ViewContainerRef } from "@angular/core"; import { IUniversalTableViewScope } from "./IUniversalTableViewScope"; import { IUniversalTableState } from "./IUniversalTableState"; import { IUniversalTableComponents } from "./IUniversalTableDefaultComponents"; import { IUniversalTableCellPosition } from "./IUniversalTableCellPosition"; import { IUniversalTableHeaderData } from "./IUniversalTableHeaderData"; import { IUniversalTableCtrlInitParams } from "./IUniversalTableCtrlInitParams"; import { IUniversalTableConfigurator } from './IUniversalTableConfigurator'; declare abstract class IUniversalTableCtrl { abstract config: IUniversalTableConfigurator; abstract initParams: IUniversalTableCtrlInitParams; abstract viewScope: IUniversalTableViewScope; abstract currentState: IUniversalTableState; abstract stateStream: Subject<IUniversalTableState>; abstract tableComponents: IUniversalTableComponents; abstract viewContainerRefs: KeyValueStorage<any>; abstract resolveInit(): void; abstract updateState(state: IUniversalTableState, options?: { enableStateDiff: boolean; }): Observable<null>; abstract printContainer(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void; abstract printPaginator(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void; abstract printCell(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector, cellPosition: IUniversalTableCellPosition): void; abstract printGrid(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void; abstract printHeader(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector, headerData: IUniversalTableHeaderData): void; } export { IUniversalTableCtrl };