@itexpert-dev/base-universal-table
Version:
base universal table for build tables
47 lines (46 loc) • 2.87 kB
TypeScript
import { KeyValueStorage } from '@itexpert-dev/key-value-storage';
import { Observable, Subject } from 'rxjs';
import { UniversalTableDataPreprocessors } from './universalTableDataPreprocessors';
import { ViewContainerRef, Injector, ComponentFactoryResolver } from "@angular/core";
import { UniversalTableConfigurator } from "./universalTableConfigurator/universalTableConfigurator";
import { IUniversalTableCtrl } from "../../../contracts/IUniversalTableCtrl";
import { IUniversalTableViewScope } from "../../../contracts/IUniversalTableViewScope";
import { IUniversalTableState } from "../../../contracts/IUniversalTableState";
import { IUniversalTableComponents } from "../../../contracts/IUniversalTableDefaultComponents";
import { IUniversalTableCtrlInitParams } from "../../../contracts/IUniversalTableCtrlInitParams";
import { IUniversalTableCellPosition } from "../../../contracts/IUniversalTableCellPosition";
import { IUniversalTableHeaderData } from "../../../contracts/IUniversalTableHeaderData";
declare class UniversalTableCtrl extends IUniversalTableCtrl {
private headers;
private rows;
/**
* @desc object for ui bind handlers and templates
* @type {IUniversalTableViewScope}
*/
viewScope: IUniversalTableViewScope;
currentState: IUniversalTableState;
stateStream: Subject<IUniversalTableState>;
/**
* @desc ctrl instance components for render UI
* @type {IUniversalTableComponents}
*/
tableComponents: IUniversalTableComponents;
viewContainerRefs: KeyValueStorage<any>;
dataPreprocessors: typeof UniversalTableDataPreprocessors;
config: UniversalTableConfigurator;
initParams: IUniversalTableCtrlInitParams;
constructor(initParams: IUniversalTableCtrlInitParams, config: UniversalTableConfigurator);
private updateCurrentState(state);
resolveInit(): void;
private getRequireFields(state, request);
updateState(state?: IUniversalTableState, options?: {
enableStateDiff: boolean;
}): Observable<null>;
private setState(state);
printContainer(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void;
printPaginator(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void;
printCell(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector, cellPosition: IUniversalTableCellPosition): void;
printGrid(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector): void;
printHeader(container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, parentInjector: Injector, headerData: IUniversalTableHeaderData): void;
}
export { UniversalTableCtrl };