UNPKG

@itexpert-dev/base-universal-table

Version:

base universal table for build tables

30 lines (27 loc) 2.08 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' 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}