File

src/app/shared/widgets/configuration/app.initializer.ts

Index

Widget inputs
Widget outputs
Properties
Methods

Properties

Private Static APP_CELL_CLASSES
APP_CELL_CLASSES: Map<string | CellClassCallback>
Type : Map<string | CellClassCallback>
Default value : new Map()

Methods

Static get
get(name: string)
Parameters :
Name Type Optional
name string no
Returns : CellClassCallback
Static getDefaultIsMandatory
getDefaultIsMandatory()
Returns : CellClassCallback
Static getDefaultIsReadOnly
getDefaultIsReadOnly()
Returns : CellClassCallback
Static registerCallback
registerCallback(name: string, callback: CellClassCallback)
Parameters :
Name Type Optional
name string no
callback CellClassCallback no
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"
    );
  }
}

results matching ""

    No results matching ""