UNPKG

@paperbits/core

Version:
36 lines (31 loc) 1.62 kB
import { IInjectorModule, IInjector } from "@paperbits/common/injection"; import { SearchHandlers } from "./searchHandlers"; import { SearchViewModel, SearchViewModelBinder } from "./ko"; import { SearchInputModel, SearchModelBinder } from "."; import { SearchInputEditor } from "./ko/searchInputEditor"; import { IWidgetService } from "@paperbits/common/widgets"; import { KnockoutComponentBinder } from "../ko"; export class SearchDesignModule implements IInjectorModule { public register(injector: IInjector): void { injector.bind("search", SearchViewModel); injector.bind("searchInputEditor", SearchInputEditor); injector.bindSingleton("searchModelBinder", SearchModelBinder); injector.bindSingleton("searchViewModelBinder", SearchViewModelBinder); injector.bindSingleton("searchHandlers", SearchHandlers); const widgetService = injector.resolve<IWidgetService>("widgetService"); widgetService.registerWidget("input:search", { modelDefinition: SearchInputModel, componentBinder: KnockoutComponentBinder, componentDefinition: SearchViewModel, modelBinder: SearchModelBinder, viewModelBinder: SearchViewModelBinder }); widgetService.registerWidgetEditor("input:search", { displayName: "Search", iconClass: "widget-icon widget-icon-search-box", componentBinder: KnockoutComponentBinder, componentDefinition: SearchInputEditor, handlerComponent: SearchHandlers }); } }