UNPKG

@robotlegsjs/createjs

Version:
52 lines 2.66 kB
"use strict"; // ------------------------------------------------------------------------------ // Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved. // // NOTICE: You are permitted to use, modify, and distribute this file // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ Object.defineProperty(exports, "__esModule", { value: true }); exports.ViewManagerExtension = void 0; var IViewManager_1 = require("./api/IViewManager"); var ContainerRegistry_1 = require("./impl/ContainerRegistry"); var ViewManager_1 = require("./impl/ViewManager"); /** * This extension install a View Manager into the context */ var ViewManagerExtension = /** @class */ (function () { function ViewManagerExtension() { } /*============================================================================*/ /* Public Functions */ /*============================================================================*/ /** * @inheritDoc */ ViewManagerExtension.prototype.extend = function (context) { context.whenInitializing(this._whenInitializing.bind(this)); context.whenDestroying(this._whenDestroying.bind(this)); this._injector = context.injector; // Just one Container Registry ViewManagerExtension._containerRegistry = ViewManagerExtension._containerRegistry || new ContainerRegistry_1.ContainerRegistry(); this._injector .bind(ContainerRegistry_1.ContainerRegistry) .toConstantValue(ViewManagerExtension._containerRegistry); // But you get your own View Manager this._injector.bind(IViewManager_1.IViewManager).to(ViewManager_1.ViewManager).inSingletonScope(); }; /*============================================================================*/ /* Private Functions */ /*============================================================================*/ ViewManagerExtension.prototype._whenInitializing = function () { this._viewManager = this._injector.get(IViewManager_1.IViewManager); }; ViewManagerExtension.prototype._whenDestroying = function () { this._viewManager.removeAllHandlers(); this._injector.unbind(IViewManager_1.IViewManager); this._injector.unbind(ContainerRegistry_1.ContainerRegistry); }; return ViewManagerExtension; }()); exports.ViewManagerExtension = ViewManagerExtension; //# sourceMappingURL=ViewManagerExtension.js.map