@itexpert-dev/base-universal-table
Version:
base universal table for build tables
47 lines (39 loc) • 1.89 kB
text/typescript
import {Component} from "@angular/core";
import {IDictionary} from '@itexpert-dev/i-dictionary'
import {ComponentsKeyValueStorage} from '@itexpert-dev/components-key-value-storage'
import {KeyValueStorage} from '@itexpert-dev/key-value-storage'
import {IUniversalTableConfigurator} from './../../../../contracts/IUniversalTableConfigurator'
import {IUniversalTableState} from "../../../../contracts/IUniversalTableState";
import {IUniversalTableComponents} from "../../../../contracts/IUniversalTableDefaultComponents";
class UniversalTableConfigurator extends IUniversalTableConfigurator{
constructor(){
super();
this.cellTypeToComponentMap.add({key: 'primary', value: 'primaryCell'})
}
public componentsStorage = new ComponentsKeyValueStorage();
public cellsStorage = new ComponentsKeyValueStorage();
public cellTypeToComponentMap = new KeyValueStorage<string>();
protected _defaultInitTableState: IUniversalTableState;
protected componentsScope: IDictionary<Component>;
public setDefaultInitTableState(newState: IUniversalTableState){
this._defaultInitTableState = newState;
}
public getDefaultInitTableState():IUniversalTableState{
return this._defaultInitTableState
}
private _defaultComponents: IUniversalTableComponents;
public setDefaultComponents(components: IUniversalTableComponents){
this._defaultComponents = components
}
public getDefaultComponents():IUniversalTableComponents{
return this._defaultComponents
}
private _defaultLimitSteps: number[];
public setDefaultLimitSteps(...steps: number[]){
this._defaultLimitSteps = steps
}
public getDefaultLimitSteps():number[]{
return this._defaultLimitSteps
}
}
export {UniversalTableConfigurator, IUniversalTableComponents}