@itexpert-dev/base-universal-table
Version:
base universal table for build tables
30 lines (27 loc) • 2.08 kB
text/typescript
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}