src/app/shared/widgets/configuration/app.initializer.ts
Properties |
|
Methods |
initialize | ||||||
initialize(registry: AppInitializationService)
|
||||||
Parameters :
Returns :
void
|
uninstall |
uninstall:
|
Type : function
|
Optional |
import { Injector } from "@angular/core";
import { Observable, ReplaySubject } from "rxjs";
import { AppContext } from "../../components/app-context/app.context";
import {
AppInitializationService,
AppDeInitializationService,
} from "../../components/toolbox/toolbox.service";
import { Column, DataListConfiguration } from "..";
export interface AppInitializerFactory {
create(context: AppContext, injector: Injector): AppInitializer;
}
export interface AppInitializer {
initialize(registry: AppInitializationService): void;
// use other property definition for uninstall method, to mark the method as optional
uninstall?: (registry: AppDeInitializationService) => void;
}
export type ColumnSelectorCallback = (row: any, column: Column) => any;
export type CellClassCallback = (row: any, column: string) => any;
export class ColumnSelectorCallbackRegistry {
private static APP_COLUMN_SELECTORS: Map<
string,
ColumnSelectorCallback
> = new Map();
public static registerCallback(
name: string,
callback: ColumnSelectorCallback
) {
ColumnSelectorCallbackRegistry.APP_COLUMN_SELECTORS.set(name, callback);
}
public static get(name: string): ColumnSelectorCallback {
return ColumnSelectorCallbackRegistry.APP_COLUMN_SELECTORS.get(name);
}
}
export class CellClassesCallbackRegistry {
private static APP_CELL_CLASSES: Map<string, CellClassCallback> = new Map();
public static registerCallback(name: string, callback: CellClassCallback) {
CellClassesCallbackRegistry.APP_CELL_CLASSES.set(name, callback);
}
public static get(name: string): CellClassCallback {
return CellClassesCallbackRegistry.APP_CELL_CLASSES.get(name);
}
public static getDefaultIsMandatory(): CellClassCallback {
return CellClassesCallbackRegistry.APP_CELL_CLASSES.get(
"default-mandatory-attribute"
);
}
public static getDefaultIsReadOnly(): CellClassCallback {
return CellClassesCallbackRegistry.APP_CELL_CLASSES.get(
"default-readonly-attribute"
);
}
}
export class HeaderClassesCallbackRegistry {
private static APP_HEADER_CLASSES: Map<string, Function> = new Map();
public static registerCallback(name: string, callback: Function) {
HeaderClassesCallbackRegistry.APP_HEADER_CLASSES.set(name, callback);
}
public static get(name: string): Function {
let res = HeaderClassesCallbackRegistry.APP_HEADER_CLASSES.get(name);
return res != null ? res : () => false;
}
public static getDefaultIsMandatory(): Function {
return HeaderClassesCallbackRegistry.APP_HEADER_CLASSES.get(
"default-mandatory-attribute"
);
}
}