UNPKG

@paperbits/core

Version:
41 lines (37 loc) 2.14 kB
import "./toggleables/toggleableManager"; import { IInjectorModule, IInjector } from "@paperbits/common/injection"; import { DefaultEventManager } from "@paperbits/common/events"; import { DefaultRouter, HistoryRouteHandler, LocationRouteHandler } from "@paperbits/common/routing"; import { XmlHttpRequestClient } from "@paperbits/common/http"; import { VisibilityGuard } from "@paperbits/common/user"; import { CarouselRuntimeModule } from "./carousel/carousel.runtime.module"; import { TabPanelRuntimeModule } from "./tabs/tabPanel.runtime.module"; import { MapRuntimeModule } from "./map/map.runtime.module"; import { SearchRuntimeModule } from "./search/search.runtime.module"; import { KnockoutRegistrationLoaders } from "./ko"; import { ConsoleLogger } from "@paperbits/common/logging"; import { Bag } from "@paperbits/common"; import { ComponentBinder } from "@paperbits/common/components"; import { Dropdown } from "./dropdown/ko/dropdown"; export class CoreRuntimeModule implements IInjectorModule { public register(injector: IInjector): void { injector.bindInstance("injector", injector); injector.bind("httpClient", XmlHttpRequestClient); injector.bindInstance<Bag<ComponentBinder>>("componentBinders", {}); injector.bindModule(new KnockoutRegistrationLoaders()); injector.bindModule(new CarouselRuntimeModule()); injector.bindModule(new TabPanelRuntimeModule()); injector.bindModule(new MapRuntimeModule()); injector.bindModule(new SearchRuntimeModule()); injector.bindSingleton("logger", ConsoleLogger); injector.bindSingleton("eventManager", DefaultEventManager); injector.bindCollection("autostart"); injector.bindCollection("routeGuards"); injector.bindSingleton("router", DefaultRouter); injector.bindToCollection("autostart", VisibilityGuard); injector.bindToCollection("autostart", location.href.includes("designtime=true") ? HistoryRouteHandler : LocationRouteHandler); injector.bind("dropdown", Dropdown); } }