UNPKG

@paperbits/core

Version:
42 lines (37 loc) 1.88 kB
import { IInjectorModule, IInjector } from "@paperbits/common/injection"; import { TableViewModel } from "./ko/tableViewModel"; import { TableModelBinder } from "./tableModelBinder"; import { TableViewModelBinder } from "./ko/tableViewModelBinder"; import { TableHandlers } from "./tableHandlers"; import { TableColumnEditor } from "./ko/tableColumnEditor"; import { TableEditor } from "./ko/tableEditor"; import { TableRowEditor } from "./ko/tableRowEditor"; import { KnockoutComponentBinder } from "../ko"; import { IWidgetService } from "@paperbits/common/widgets"; import { TableModel } from "./tableModel"; export class TableDesignModule implements IInjectorModule { public register(injector: IInjector): void { injector.bind("table", TableViewModel); injector.bind("tableEditor", TableEditor); injector.bind("tableRowEditor", TableRowEditor); injector.bind("tableColumnEditor", TableColumnEditor); injector.bindSingleton("tableModelBinder", TableModelBinder); injector.bindSingleton("tableViewModelBinder", TableViewModelBinder) injector.bindSingleton("tableHandler", TableHandlers); const widgetService = injector.resolve<IWidgetService>("widgetService"); widgetService.registerWidget("table", { modelDefinition: TableModel, componentBinder: KnockoutComponentBinder, componentDefinition: TableViewModel, modelBinder: TableModelBinder, viewModelBinder: TableViewModelBinder }); widgetService.registerWidgetEditor("table", { displayName: "Table", iconClass: "widget-icon widget-icon-table", componentBinder: KnockoutComponentBinder, componentDefinition: TableEditor, handlerComponent: TableHandlers }); } }