UNPKG

@paperbits/core

Version:
32 lines (28 loc) 1.66 kB
import { IInjector, IInjectorModule } from "@paperbits/common/injection"; import { IWidgetService } from "@paperbits/common/widgets"; import { KnockoutComponentBinder } from "../ko/knockoutComponentBinder"; import { BlockModelBinder } from "../text/modelBinders/blockModelBinder"; import { InlineModelBinder } from "../text/modelBinders/inlineModelBinder"; import { ListModelBinder } from "../text/modelBinders/listModelBinder"; import { TextblockViewModel } from "./ko/textblockViewModel"; import { TextblockModel } from "./textblockModel"; import { TextblockModelBinder } from "./textblockModelBinder"; import { TextblockViewModelBinder } from "./textblockViewModelBinder"; export class TextblockPublishModule implements IInjectorModule { public register(injector: IInjector): void { injector.bind("textblock", TextblockViewModel); injector.bindToCollection("modelBinders", InlineModelBinder); injector.bindToCollection("modelBinders", BlockModelBinder); injector.bindToCollection("modelBinders", ListModelBinder); injector.bindSingleton("textblockModelBinder", TextblockModelBinder); injector.bindSingleton("textblockViewModelBinder", TextblockViewModelBinder); const widgetService = injector.resolve<IWidgetService>("widgetService"); widgetService.registerWidget("text-block", { modelDefinition: TextblockModel, componentBinder: KnockoutComponentBinder, componentDefinition: TextblockViewModel, modelBinder: TextblockModelBinder, viewModelBinder: TextblockViewModelBinder }); } }