src/app/shared/widgets/configuration/app.initializer.ts
Widget inputs |
Widget outputs |
Properties |
|
Methods |
|
Private Static APP_HEADER_CLASSES |
APP_HEADER_CLASSES:
|
Type : Map<string | Function>
|
Default value : new Map()
|
Static get | ||||||
get(name: string)
|
||||||
Parameters :
Returns :
Function
|
Static getDefaultIsMandatory |
getDefaultIsMandatory()
|
Returns :
Function
|
Static registerCallback |
registerCallback(name: string, callback: Function)
|
Returns :
void
|
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"
);
}
}