@itexpert-dev/base-universal-table
Version:
base universal table for build tables
30 lines (29 loc) • 2.14 kB
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';
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 };