UNPKG

@paperbits/core

Version:
39 lines (34 loc) 1.95 kB
import { IInjectorModule, IInjector } from "@paperbits/common/injection"; import { YoutubePlayerEditor } from "./ko/youtubePlayerEditor"; import { YoutubeHandlers } from "./youtubeHandlers"; import { YoutubePlayerModel } from "./youtubePlayerModel"; import { KnockoutComponentBinder } from "../ko"; import { YoutubeModelBinder } from "./youtubeModelBinder"; import { YoutubePlayerViewModel, YoutubePlayerViewModelBinder } from "./ko"; import { IWidgetService } from "@paperbits/common/widgets"; export class YoutubePlayerDesignModule implements IInjectorModule { public register(injector: IInjector): void { injector.bind("youtubePlayer", YoutubePlayerViewModel); injector.bind("youtubePlayerEditor", YoutubePlayerEditor); injector.bindSingleton("youtubePlayerModelBinder", YoutubeModelBinder); injector.bindSingleton("youtubePlayerViewModelBinder", YoutubePlayerViewModelBinder) injector.bindSingleton("youtubePlayerHandler", YoutubeHandlers); // TODO: Create respective handler property in WidgetEditorDefinition injector.bindToCollectionAsSingletone("dropHandlers", YoutubeHandlers); const widgetService = injector.resolve<IWidgetService>("widgetService"); widgetService.registerWidget("youtube-player", { modelDefinition: YoutubePlayerModel, componentBinder: KnockoutComponentBinder, componentDefinition: YoutubePlayerViewModel, modelBinder: YoutubeModelBinder, viewModelBinder: YoutubePlayerViewModelBinder }); widgetService.registerWidgetEditor("youtube-player", { displayName: "Youtube player", iconClass: "widget-icon widget-icon-youtube-player", componentBinder: KnockoutComponentBinder, componentDefinition: YoutubePlayerEditor, handlerComponent: YoutubeHandlers }); } }