UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

191 lines (190 loc) 9.64 kB
"use strict"; Object.defineProperties(module.exports, { RenderViewHydrator: {get: function() { return RenderViewHydrator; }}, __esModule: {value: true} }); var $__angular2_47_di__, $__angular2_47_src_47_facade_47_lang__, $__angular2_47_src_47_facade_47_collection__, $___46__46__47_shadow_95_dom_47_light_95_dom__, $___46__46__47_events_47_event_95_manager__, $__view_95_factory__, $__view_95_container__, $__view__, $___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__; var Injectable = ($__angular2_47_di__ = require("angular2/di"), $__angular2_47_di__ && $__angular2_47_di__.__esModule && $__angular2_47_di__ || {default: $__angular2_47_di__}).Injectable; var $__1 = ($__angular2_47_src_47_facade_47_lang__ = require("angular2/src/facade/lang"), $__angular2_47_src_47_facade_47_lang__ && $__angular2_47_src_47_facade_47_lang__.__esModule && $__angular2_47_src_47_facade_47_lang__ || {default: $__angular2_47_src_47_facade_47_lang__}), int = $__1.int, isPresent = $__1.isPresent, isBlank = $__1.isBlank, BaseException = $__1.BaseException; var $__2 = ($__angular2_47_src_47_facade_47_collection__ = require("angular2/src/facade/collection"), $__angular2_47_src_47_facade_47_collection__ && $__angular2_47_src_47_facade_47_collection__.__esModule && $__angular2_47_src_47_facade_47_collection__ || {default: $__angular2_47_src_47_facade_47_collection__}), ListWrapper = $__2.ListWrapper, MapWrapper = $__2.MapWrapper, Map = $__2.Map, StringMapWrapper = $__2.StringMapWrapper, List = $__2.List; var ldModule = ($___46__46__47_shadow_95_dom_47_light_95_dom__ = require("../shadow_dom/light_dom"), $___46__46__47_shadow_95_dom_47_light_95_dom__ && $___46__46__47_shadow_95_dom_47_light_95_dom__.__esModule && $___46__46__47_shadow_95_dom_47_light_95_dom__ || {default: $___46__46__47_shadow_95_dom_47_light_95_dom__}); var EventManager = ($___46__46__47_events_47_event_95_manager__ = require("../events/event_manager"), $___46__46__47_events_47_event_95_manager__ && $___46__46__47_events_47_event_95_manager__.__esModule && $___46__46__47_events_47_event_95_manager__ || {default: $___46__46__47_events_47_event_95_manager__}).EventManager; var ViewFactory = ($__view_95_factory__ = require("./view_factory"), $__view_95_factory__ && $__view_95_factory__.__esModule && $__view_95_factory__ || {default: $__view_95_factory__}).ViewFactory; var vcModule = ($__view_95_container__ = require("./view_container"), $__view_95_container__ && $__view_95_container__.__esModule && $__view_95_container__ || {default: $__view_95_container__}); var viewModule = ($__view__ = require("./view"), $__view__ && $__view__.__esModule && $__view__ || {default: $__view__}); var ShadowDomStrategy = ($___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__ = require("../shadow_dom/shadow_dom_strategy"), $___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__ && $___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__.__esModule && $___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__ || {default: $___46__46__47_shadow_95_dom_47_shadow_95_dom_95_strategy__}).ShadowDomStrategy; var RenderViewHydrator = function RenderViewHydrator(eventManager, viewFactory, shadowDomStrategy) { this._eventManager = eventManager; this._viewFactory = viewFactory; this._shadowDomStrategy = shadowDomStrategy; }; ($traceurRuntime.createClass)(RenderViewHydrator, { hydrateDynamicComponentView: function(hostView, boundElementIndex, componentView) { ViewFactory.setComponentView(this._shadowDomStrategy, hostView, boundElementIndex, componentView); var lightDom = hostView.lightDoms[boundElementIndex]; this._viewHydrateRecurse(componentView, lightDom); if (isPresent(lightDom)) { lightDom.redistribute(); } }, dehydrateDynamicComponentView: function(parentView, boundElementIndex) { throw new BaseException('Not supported yet'); }, hydrateInPlaceHostView: function(parentView, hostView) { if (isPresent(parentView)) { ListWrapper.push(parentView.imperativeHostViews, hostView); } this._viewHydrateRecurse(hostView, null); }, dehydrateInPlaceHostView: function(parentView, hostView) { if (isPresent(parentView)) { ListWrapper.remove(parentView.imperativeHostViews, hostView); } vcModule.ViewContainer.removeViewNodes(hostView); hostView.rootNodes = []; this._viewDehydrateRecurse(hostView); }, hydrateViewInViewContainer: function(viewContainer, view) { this._viewHydrateRecurse(view, viewContainer.parentView.hostLightDom); }, dehydrateViewInViewContainer: function(viewContainer, view) { this._viewDehydrateRecurse(view); }, _viewHydrateRecurse: function(view, hostLightDom) { if (view.hydrated) throw new BaseException('The view is already hydrated.'); view.hydrated = true; view.hostLightDom = hostLightDom; for (var i = 0; i < view.contentTags.length; i++) { var destLightDom = view.getDirectParentLightDom(i); var ct = view.contentTags[i]; if (isPresent(ct)) { ct.hydrate(destLightDom); } } for (var i = 0; i < view.componentChildViews.length; i++) { var cv = view.componentChildViews[i]; if (isPresent(cv)) { this._viewHydrateRecurse(cv, view.lightDoms[i]); } } for (var i = 0; i < view.lightDoms.length; ++i) { var lightDom = view.lightDoms[i]; if (isPresent(lightDom)) { lightDom.redistribute(); } } view.eventHandlerRemovers = ListWrapper.create(); var binders = view.proto.elementBinders; for (var binderIdx = 0; binderIdx < binders.length; binderIdx++) { var binder = binders[binderIdx]; if (isPresent(binder.globalEvents)) { for (var i = 0; i < binder.globalEvents.length; i++) { var globalEvent = binder.globalEvents[i]; var remover = this._createGlobalEventListener(view, binderIdx, globalEvent.name, globalEvent.target, globalEvent.fullName); ListWrapper.push(view.eventHandlerRemovers, remover); } } } }, _createGlobalEventListener: function(view, elementIndex, eventName, eventTarget, fullName) { return this._eventManager.addGlobalEventListener(eventTarget, eventName, (function(event) { view.dispatchEvent(elementIndex, fullName, event); })); }, _viewDehydrateRecurse: function(view) { for (var i = 0; i < view.componentChildViews.length; i++) { var cv = view.componentChildViews[i]; if (isPresent(cv)) { this._viewDehydrateRecurse(cv); if (view.proto.elementBinders[i].hasDynamicComponent()) { vcModule.ViewContainer.removeViewNodes(cv); this._viewFactory.returnView(cv); view.lightDoms[i] = null; view.componentChildViews[i] = null; } } } for (var i = 0; i < view.imperativeHostViews.length; i++) { var hostView = view.imperativeHostViews[i]; this._viewDehydrateRecurse(hostView); vcModule.ViewContainer.removeViewNodes(hostView); hostView.rootNodes = []; this._viewFactory.returnView(hostView); } view.imperativeHostViews = []; if (isPresent(view.viewContainers)) { for (var i = 0; i < view.viewContainers.length; i++) { var vc = view.viewContainers[i]; if (isPresent(vc)) { this._viewContainerDehydrateRecurse(vc); } var ct = view.contentTags[i]; if (isPresent(ct)) { ct.dehydrate(); } } } for (var i = 0; i < view.eventHandlerRemovers.length; i++) { view.eventHandlerRemovers[i](); } view.hostLightDom = null; view.eventHandlerRemovers = null; view.setEventDispatcher(null); view.hydrated = false; }, _viewContainerDehydrateRecurse: function(viewContainer) { for (var i = 0; i < viewContainer.views.length; i++) { this._viewDehydrateRecurse(viewContainer.views[i]); } viewContainer.clear(); } }, {}); Object.defineProperty(RenderViewHydrator, "annotations", {get: function() { return [new Injectable()]; }}); Object.defineProperty(RenderViewHydrator, "parameters", {get: function() { return [[EventManager], [ViewFactory], [ShadowDomStrategy]]; }}); Object.defineProperty(RenderViewHydrator.prototype.hydrateDynamicComponentView, "parameters", {get: function() { return [[viewModule.RenderView], [$traceurRuntime.type.number], [viewModule.RenderView]]; }}); Object.defineProperty(RenderViewHydrator.prototype.dehydrateDynamicComponentView, "parameters", {get: function() { return [[viewModule.RenderView], [$traceurRuntime.type.number]]; }}); Object.defineProperty(RenderViewHydrator.prototype.hydrateInPlaceHostView, "parameters", {get: function() { return [[viewModule.RenderView], [viewModule.RenderView]]; }}); Object.defineProperty(RenderViewHydrator.prototype.dehydrateInPlaceHostView, "parameters", {get: function() { return [[viewModule.RenderView], [viewModule.RenderView]]; }}); Object.defineProperty(RenderViewHydrator.prototype.hydrateViewInViewContainer, "parameters", {get: function() { return [[vcModule.ViewContainer], [viewModule.RenderView]]; }}); Object.defineProperty(RenderViewHydrator.prototype.dehydrateViewInViewContainer, "parameters", {get: function() { return [[vcModule.ViewContainer], [viewModule.RenderView]]; }}); Object.defineProperty(RenderViewHydrator.prototype._viewHydrateRecurse, "parameters", {get: function() { return [[], [ldModule.LightDom]]; }}); //# sourceMappingURL=view_hydrator.js.map //# sourceMappingURL=./view_hydrator.map