@angular/core 2.2.0-rc.0 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/bundles/core-testing.umd.js +44 -11
  2. package/bundles/core.umd.js +560 -513
  3. package/bundles/core.umd.min.js +8 -8
  4. package/package.json +1 -1
  5. package/src/animation/animation_group_player.d.ts +3 -1
  6. package/src/animation/animation_group_player.js +18 -7
  7. package/src/animation/animation_group_player.js.map +1 -1
  8. package/src/animation/animation_player.d.ts +1 -1
  9. package/src/animation/animation_player.js +1 -1
  10. package/src/animation/animation_player.js.map +1 -1
  11. package/src/animation/animation_queue.js +8 -0
  12. package/src/animation/animation_queue.js.map +1 -1
  13. package/src/animation/animation_sequence_player.d.ts +3 -1
  14. package/src/animation/animation_sequence_player.js +20 -8
  15. package/src/animation/animation_sequence_player.js.map +1 -1
  16. package/src/animation/animation_style_util.js +1 -0
  17. package/src/animation/animation_style_util.js.map +1 -1
  18. package/src/animation/animation_style_util.metadata.json +1 -1
  19. package/src/animation/metadata.js.map +1 -1
  20. package/src/animation/view_animation_map.js.map +1 -1
  21. package/src/change_detection/constants.d.ts +1 -1
  22. package/src/change_detection/constants.js +1 -1
  23. package/src/change_detection/constants.js.map +1 -1
  24. package/src/change_detection/differs/default_iterable_differ.js +2 -2
  25. package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  26. package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  27. package/src/change_detection/differs/iterable_differs.js.map +1 -1
  28. package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  29. package/src/core_private_export.d.ts +8 -3
  30. package/src/core_private_export.js +6 -2
  31. package/src/core_private_export.js.map +1 -1
  32. package/src/core_private_export.metadata.json +1 -1
  33. package/src/debug/debug_node.js +12 -24
  34. package/src/debug/debug_node.js.map +1 -1
  35. package/src/debug/debug_node.metadata.json +1 -1
  36. package/src/debug/debug_renderer.d.ts +2 -2
  37. package/src/debug/debug_renderer.js +7 -5
  38. package/src/debug/debug_renderer.js.map +1 -1
  39. package/src/di/reflective_errors.js.map +1 -1
  40. package/src/di/reflective_injector.js.map +1 -1
  41. package/src/di/reflective_key.js.map +1 -1
  42. package/src/di/reflective_provider.js +13 -14
  43. package/src/di/reflective_provider.js.map +1 -1
  44. package/src/facade/collection.d.ts +2 -10
  45. package/src/facade/collection.js +8 -73
  46. package/src/facade/collection.js.map +1 -1
  47. package/src/facade/lang.d.ts +0 -1
  48. package/src/facade/lang.js +5 -24
  49. package/src/facade/lang.js.map +1 -1
  50. package/src/facade/lang.metadata.json +1 -1
  51. package/src/linker/animation_view_context.d.ts +1 -1
  52. package/src/linker/animation_view_context.js +16 -5
  53. package/src/linker/animation_view_context.js.map +1 -1
  54. package/src/linker/component_factory.d.ts +8 -6
  55. package/src/linker/component_factory.js +17 -23
  56. package/src/linker/component_factory.js.map +1 -1
  57. package/src/linker/component_factory_resolver.js.map +1 -1
  58. package/src/linker/debug_context.js +6 -9
  59. package/src/linker/debug_context.js.map +1 -1
  60. package/src/linker/element_injector.js +1 -8
  61. package/src/linker/element_injector.js.map +1 -1
  62. package/src/linker/ng_module_factory.js.map +1 -1
  63. package/src/linker/ng_module_factory_loader.js.map +1 -1
  64. package/src/linker/system_js_ng_module_factory_loader.js +2 -1
  65. package/src/linker/system_js_ng_module_factory_loader.js.map +1 -1
  66. package/src/linker/template_ref.d.ts +5 -4
  67. package/src/linker/template_ref.js +8 -6
  68. package/src/linker/template_ref.js.map +1 -1
  69. package/src/linker/view.d.ts +29 -17
  70. package/src/linker/view.js +143 -51
  71. package/src/linker/view.js.map +1 -1
  72. package/src/linker/{element.d.ts → view_container.d.ts} +4 -7
  73. package/src/linker/{element.js → view_container.js} +45 -50
  74. package/src/linker/view_container.js.map +1 -0
  75. package/src/linker/view_container_ref.d.ts +2 -2
  76. package/src/linker/view_container_ref.js.map +1 -1
  77. package/src/linker/view_utils.d.ts +6 -10
  78. package/src/linker/view_utils.js +17 -14
  79. package/src/linker/view_utils.js.map +1 -1
  80. package/src/linker/view_utils.metadata.json +1 -1
  81. package/src/profile/wtf_impl.js.map +1 -1
  82. package/src/reflection/reflection_capabilities.js +5 -2
  83. package/src/reflection/reflection_capabilities.js.map +1 -1
  84. package/src/render/api.d.ts +8 -1
  85. package/src/render/api.js.map +1 -1
  86. package/src/testability/testability.js +2 -3
  87. package/src/testability/testability.js.map +1 -1
  88. package/src/util/decorators.js.map +1 -1
  89. package/testing/async.js.map +1 -1
  90. package/testing/facade/lang.d.ts +0 -1
  91. package/testing/facade/lang.js +5 -24
  92. package/testing/facade/lang.js.map +1 -1
  93. package/testing/facade/lang.metadata.json +1 -1
  94. package/testing/fake_async.js.map +1 -1
  95. package/testing/mock_animation_player.d.ts +16 -1
  96. package/testing/mock_animation_player.js +43 -14
  97. package/testing/mock_animation_player.js.map +1 -1
  98. package/testing/test_bed.js.map +1 -1
  99. package/testing/testing.js.map +1 -1
  100. package/src/linker/element.js.map +0 -1
@@ -8,8 +8,8 @@
8
8
  import { ChangeDetectorRef } from '../change_detection/change_detection';
9
9
  import { Injector } from '../di/injector';
10
10
  import { Type } from '../type';
11
- import { AppElement } from './element';
12
11
  import { ElementRef } from './element_ref';
12
+ import { AppView } from './view';
13
13
  import { ViewRef } from './view_ref';
14
14
  /**
15
15
  * Represents an instance of a Component created via a {@link ComponentFactory}.
@@ -54,9 +54,11 @@ export declare abstract class ComponentRef<C> {
54
54
  abstract onDestroy(callback: Function): void;
55
55
  }
56
56
  export declare class ComponentRef_<C> extends ComponentRef<C> {
57
- private _hostElement;
58
- private _componentType;
59
- constructor(_hostElement: AppElement, _componentType: Type<any>);
57
+ private _index;
58
+ private _parentView;
59
+ private _nativeElement;
60
+ private _component;
61
+ constructor(_index: number, _parentView: AppView<any>, _nativeElement: any, _component: C);
60
62
  location: ElementRef;
61
63
  injector: Injector;
62
64
  instance: C;
@@ -71,9 +73,9 @@ export declare class ComponentRef_<C> extends ComponentRef<C> {
71
73
  */
72
74
  export declare class ComponentFactory<C> {
73
75
  selector: string;
74
- private _viewFactory;
76
+ private _viewClass;
75
77
  private _componentType;
76
- constructor(selector: string, _viewFactory: Function, _componentType: Type<any>);
78
+ constructor(selector: string, _viewClass: Type<AppView<any>>, _componentType: Type<any>);
77
79
  componentType: Type<any>;
78
80
  /**
79
81
  * Creates a new component.
@@ -11,6 +11,7 @@ var __extends = (this && this.__extends) || function (d, b) {
11
11
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
12
  };
13
13
  import { unimplemented } from '../facade/errors';
14
+ import { ElementRef } from './element_ref';
14
15
  import { ViewUtils } from './view_utils';
15
16
  /**
16
17
  * Represents an instance of a Component created via a {@link ComponentFactory}.
@@ -77,45 +78,47 @@ export var ComponentRef = (function () {
77
78
  }());
78
79
  export var ComponentRef_ = (function (_super) {
79
80
  __extends(ComponentRef_, _super);
80
- function ComponentRef_(_hostElement, _componentType) {
81
+ function ComponentRef_(_index, _parentView, _nativeElement, _component) {
81
82
  _super.call(this);
82
- this._hostElement = _hostElement;
83
- this._componentType = _componentType;
83
+ this._index = _index;
84
+ this._parentView = _parentView;
85
+ this._nativeElement = _nativeElement;
86
+ this._component = _component;
84
87
  }
85
88
  Object.defineProperty(ComponentRef_.prototype, "location", {
86
- get: function () { return this._hostElement.elementRef; },
89
+ get: function () { return new ElementRef(this._nativeElement); },
87
90
  enumerable: true,
88
91
  configurable: true
89
92
  });
90
93
  Object.defineProperty(ComponentRef_.prototype, "injector", {
91
- get: function () { return this._hostElement.injector; },
94
+ get: function () { return this._parentView.injector(this._index); },
92
95
  enumerable: true,
93
96
  configurable: true
94
97
  });
95
98
  Object.defineProperty(ComponentRef_.prototype, "instance", {
96
- get: function () { return this._hostElement.component; },
99
+ get: function () { return this._component; },
97
100
  enumerable: true,
98
101
  configurable: true
99
102
  });
100
103
  ;
101
104
  Object.defineProperty(ComponentRef_.prototype, "hostView", {
102
- get: function () { return this._hostElement.parentView.ref; },
105
+ get: function () { return this._parentView.ref; },
103
106
  enumerable: true,
104
107
  configurable: true
105
108
  });
106
109
  ;
107
110
  Object.defineProperty(ComponentRef_.prototype, "changeDetectorRef", {
108
- get: function () { return this._hostElement.parentView.ref; },
111
+ get: function () { return this._parentView.ref; },
109
112
  enumerable: true,
110
113
  configurable: true
111
114
  });
112
115
  ;
113
116
  Object.defineProperty(ComponentRef_.prototype, "componentType", {
114
- get: function () { return this._componentType; },
117
+ get: function () { return this._component.constructor; },
115
118
  enumerable: true,
116
119
  configurable: true
117
120
  });
118
- ComponentRef_.prototype.destroy = function () { this._hostElement.parentView.detachAndDestroy(); };
121
+ ComponentRef_.prototype.destroy = function () { this._parentView.detachAndDestroy(); };
119
122
  ComponentRef_.prototype.onDestroy = function (callback) { this.hostView.onDestroy(callback); };
120
123
  return ComponentRef_;
121
124
  }(ComponentRef));
@@ -127,9 +130,9 @@ var EMPTY_CONTEXT = new Object();
127
130
  * @stable
128
131
  */
129
132
  export var ComponentFactory = (function () {
130
- function ComponentFactory(selector, _viewFactory, _componentType) {
133
+ function ComponentFactory(selector, _viewClass, _componentType) {
131
134
  this.selector = selector;
132
- this._viewFactory = _viewFactory;
135
+ this._viewClass = _viewClass;
133
136
  this._componentType = _componentType;
134
137
  }
135
138
  Object.defineProperty(ComponentFactory.prototype, "componentType", {
@@ -147,17 +150,8 @@ export var ComponentFactory = (function () {
147
150
  if (!projectableNodes) {
148
151
  projectableNodes = [];
149
152
  }
150
- // Note: Host views don't need a declarationAppElement!
151
- var hostView = this._viewFactory(vu, injector, null);
152
- hostView.visitProjectableNodesInternal =
153
- function (nodeIndex, ngContentIndex, cb, ctx) {
154
- var nodes = projectableNodes[ngContentIndex] || [];
155
- for (var i = 0; i < nodes.length; i++) {
156
- cb(nodes[i], ctx);
157
- }
158
- };
159
- var hostElement = hostView.create(EMPTY_CONTEXT, rootSelectorOrNode);
160
- return new ComponentRef_(hostElement, this._componentType);
153
+ var hostView = new this._viewClass(vu, null, null, null);
154
+ return hostView.createHostView(rootSelectorOrNode, injector, projectableNodes);
161
155
  };
162
156
  return ComponentFactory;
163
157
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"component_factory.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/component_factory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectorRef} from '../change_detection/change_detection';\nimport {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {Type} from '../type';\n\nimport {AppElement} from './element';\nimport {ElementRef} from './element_ref';\nimport {AppView} from './view';\nimport {ViewRef} from './view_ref';\nimport {ViewUtils} from './view_utils';\n\n\n/**\n * Represents an instance of a Component created via a {@link ComponentFactory}.\n *\n * `ComponentRef` provides access to the Component Instance as well other objects related to this\n * Component Instance and allows you to destroy the Component Instance via the {@link #destroy}\n * method.\n * @stable\n */\nexport abstract class ComponentRef<C> {\n /**\n * Location of the Host Element of this Component Instance.\n */\n get location(): ElementRef { return unimplemented(); }\n\n /**\n * The injector on which the component instance exists.\n */\n get injector(): Injector { return unimplemented(); }\n\n /**\n * The instance of the Component.\n */\n get instance(): C { return unimplemented(); };\n\n /**\n * The {@link ViewRef} of the Host View of this Component instance.\n */\n get hostView(): ViewRef { return unimplemented(); };\n\n /**\n * The {@link ChangeDetectorRef} of the Component instance.\n */\n get changeDetectorRef(): ChangeDetectorRef { return unimplemented(); }\n\n /**\n * The component type.\n */\n get componentType(): Type<any> { return unimplemented(); }\n\n /**\n * Destroys the component instance and all of the data structures associated with it.\n */\n abstract destroy(): void;\n\n /**\n * Allows to register a callback that will be called when the component is destroyed.\n */\n abstract onDestroy(callback: Function): void;\n}\n\nexport class ComponentRef_<C> extends ComponentRef<C> {\n constructor(private _hostElement: AppElement, private _componentType: Type<any>) { super(); }\n get location(): ElementRef { return this._hostElement.elementRef; }\n get injector(): Injector { return this._hostElement.injector; }\n get instance(): C { return this._hostElement.component; };\n get hostView(): ViewRef { return this._hostElement.parentView.ref; };\n get changeDetectorRef(): ChangeDetectorRef { return this._hostElement.parentView.ref; };\n get componentType(): Type<any> { return this._componentType; }\n\n destroy(): void { this._hostElement.parentView.detachAndDestroy(); }\n onDestroy(callback: Function): void { this.hostView.onDestroy(callback); }\n}\n\n/**\n * @experimental\n */\nconst EMPTY_CONTEXT = new Object();\n\n/**\n * @stable\n */\nexport class ComponentFactory<C> {\n constructor(\n public selector: string, private _viewFactory: Function, private _componentType: Type<any>) {}\n\n get componentType(): Type<any> { return this._componentType; }\n\n /**\n * Creates a new component.\n */\n create(\n injector: Injector, projectableNodes: any[][] = null,\n rootSelectorOrNode: string|any = null): ComponentRef<C> {\n var vu: ViewUtils = injector.get(ViewUtils);\n if (!projectableNodes) {\n projectableNodes = [];\n }\n // Note: Host views don't need a declarationAppElement!\n var hostView: AppView<any> = this._viewFactory(vu, injector, null);\n hostView.visitProjectableNodesInternal =\n (nodeIndex: number, ngContentIndex: number, cb: any, ctx: any) => {\n const nodes = projectableNodes[ngContentIndex] || [];\n for (var i = 0; i < nodes.length; i++) {\n cb(nodes[i], ctx);\n }\n };\n var hostElement = hostView.create(EMPTY_CONTEXT, rootSelectorOrNode);\n return new ComponentRef_<C>(hostElement, this._componentType);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"component_factory.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/component_factory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ChangeDetectorRef} from '../change_detection/change_detection';\nimport {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {Type} from '../type';\n\nimport {ElementRef} from './element_ref';\nimport {AppView} from './view';\nimport {ViewContainer} from './view_container';\nimport {ViewRef} from './view_ref';\nimport {ViewUtils} from './view_utils';\n\n\n\n/**\n * Represents an instance of a Component created via a {@link ComponentFactory}.\n *\n * `ComponentRef` provides access to the Component Instance as well other objects related to this\n * Component Instance and allows you to destroy the Component Instance via the {@link #destroy}\n * method.\n * @stable\n */\nexport abstract class ComponentRef<C> {\n /**\n * Location of the Host Element of this Component Instance.\n */\n get location(): ElementRef { return unimplemented(); }\n\n /**\n * The injector on which the component instance exists.\n */\n get injector(): Injector { return unimplemented(); }\n\n /**\n * The instance of the Component.\n */\n get instance(): C { return unimplemented(); };\n\n /**\n * The {@link ViewRef} of the Host View of this Component instance.\n */\n get hostView(): ViewRef { return unimplemented(); };\n\n /**\n * The {@link ChangeDetectorRef} of the Component instance.\n */\n get changeDetectorRef(): ChangeDetectorRef { return unimplemented(); }\n\n /**\n * The component type.\n */\n get componentType(): Type<any> { return unimplemented(); }\n\n /**\n * Destroys the component instance and all of the data structures associated with it.\n */\n abstract destroy(): void;\n\n /**\n * Allows to register a callback that will be called when the component is destroyed.\n */\n abstract onDestroy(callback: Function): void;\n}\n\nexport class ComponentRef_<C> extends ComponentRef<C> {\n constructor(\n private _index: number, private _parentView: AppView<any>, private _nativeElement: any,\n private _component: C) {\n super();\n }\n get location(): ElementRef { return new ElementRef(this._nativeElement); }\n get injector(): Injector { return this._parentView.injector(this._index); }\n get instance(): C { return this._component; };\n get hostView(): ViewRef { return this._parentView.ref; };\n get changeDetectorRef(): ChangeDetectorRef { return this._parentView.ref; };\n get componentType(): Type<any> { return <any>this._component.constructor; }\n\n destroy(): void { this._parentView.detachAndDestroy(); }\n onDestroy(callback: Function): void { this.hostView.onDestroy(callback); }\n}\n\n/**\n * @experimental\n */\nconst EMPTY_CONTEXT = new Object();\n\n/**\n * @stable\n */\nexport class ComponentFactory<C> {\n constructor(\n public selector: string, private _viewClass: Type<AppView<any>>,\n private _componentType: Type<any>) {}\n\n get componentType(): Type<any> { return this._componentType; }\n\n /**\n * Creates a new component.\n */\n create(\n injector: Injector, projectableNodes: any[][] = null,\n rootSelectorOrNode: string|any = null): ComponentRef<C> {\n const vu: ViewUtils = injector.get(ViewUtils);\n if (!projectableNodes) {\n projectableNodes = [];\n }\n const hostView: AppView<any> = new this._viewClass(vu, null, null, null);\n return hostView.createHostView(rootSelectorOrNode, injector, projectableNodes);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"component_factory_resolver.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/component_factory_resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;OAEI,EAAC,SAAS,EAAC,MAAM,kBAAkB;OACnC,EAAC,SAAS,EAAC,MAAM,gBAAgB;AAOxC;;GAEG;AACH;IAA6C,2CAAS;IACpD,iCAAmB,SAAmB;QACpC,kBAAM,oCAAkC,SAAS,CAAC,SAAS,CAAG,CAAC,CAAC;QAD/C,cAAS,GAAT,SAAS,CAAU;IAEtC,CAAC;IACH,8BAAC;AAAD,CAAC,AAJD,CAA6C,SAAS,GAIrD;AAED;IAAA;IAIA,CAAC;IAHC,+DAAuB,GAAvB,UAA2B,SAAoC;QAC7D,MAAM,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACH,oCAAC;AAAD,CAAC,AAJD,IAIC;AAED;;GAEG;AACH;IAAA;IAGA,CAAC;IAFQ,6BAAI,GAA6B,IAAI,6BAA6B,EAAE,CAAC;IAE9E,+BAAC;AAAD,CAAC,AAHD,IAGC;AAED;IAGE,yCAAY,SAAkC,EAAU,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAFjF,eAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QAGzD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,iEAAuB,GAAvB,UAA2B,SAAoC;QAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACH,sCAAC;AAAD,CAAC,AAjBD,IAiBC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseError} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {ComponentFactory} from './component_factory';\n\n\n\n/**\n * @stable\n */\nexport class NoComponentFactoryError extends BaseError {\n constructor(public component: Function) {\n super(`No component factory found for ${stringify(component)}`);\n }\n}\n\nclass _NullComponentFactoryResolver implements ComponentFactoryResolver {\n resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {\n throw new NoComponentFactoryError(component);\n }\n}\n\n/**\n * @stable\n */\nexport abstract class ComponentFactoryResolver {\n static NULL: ComponentFactoryResolver = new _NullComponentFactoryResolver();\n abstract resolveComponentFactory<T>(component: Type<T>): ComponentFactory<T>;\n}\n\nexport class CodegenComponentFactoryResolver implements ComponentFactoryResolver {\n private _factories = new Map<any, ComponentFactory<any>>();\n\n constructor(factories: ComponentFactory<any>[], private _parent: ComponentFactoryResolver) {\n for (let i = 0; i < factories.length; i++) {\n let factory = factories[i];\n this._factories.set(factory.componentType, factory);\n }\n }\n\n resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {\n let result = this._factories.get(component);\n if (!result) {\n result = this._parent.resolveComponentFactory(component);\n }\n return result;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"component_factory_resolver.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/component_factory_resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;OAEI,EAAC,SAAS,EAAC,MAAM,kBAAkB;OACnC,EAAC,SAAS,EAAC,MAAM,gBAAgB;AAOxC;;GAEG;AACH;IAA6C,2CAAS;IACpD,iCAAmB,SAAmB;QACpC,kBAAM,oCAAkC,SAAS,CAAC,SAAS,CAAG,CAAC,CAAC;QAD/C,cAAS,GAAT,SAAS,CAAU;IAEtC,CAAC;IACH,8BAAC;AAAD,CAAC,AAJD,CAA6C,SAAS,GAIrD;AAED;IAAA;IAIA,CAAC;IAHC,+DAAuB,GAAvB,UAA2B,SAAoC;QAC7D,MAAM,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACH,oCAAC;AAAD,CAAC,AAJD,IAIC;AAED;;GAEG;AACH;IAAA;IAGA,CAAC;IAFQ,6BAAI,GAA6B,IAAI,6BAA6B,EAAE,CAAC;IAE9E,+BAAC;AAAD,CAAC,AAHD,IAGC;AAED;IAGE,yCAAY,SAAkC,EAAU,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;QAFjF,eAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QAGzD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,iEAAuB,GAAvB,UAA2B,SAAoC;QAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACH,sCAAC;AAAD,CAAC,AAjBD,IAiBC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BaseError} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\n\nimport {ComponentFactory} from './component_factory';\n\n\n\n/**\n * @stable\n */\nexport class NoComponentFactoryError extends BaseError {\n constructor(public component: Function) {\n super(`No component factory found for ${stringify(component)}`);\n }\n}\n\nclass _NullComponentFactoryResolver implements ComponentFactoryResolver {\n resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {\n throw new NoComponentFactoryError(component);\n }\n}\n\n/**\n * @stable\n */\nexport abstract class ComponentFactoryResolver {\n static NULL: ComponentFactoryResolver = new _NullComponentFactoryResolver();\n abstract resolveComponentFactory<T>(component: Type<T>): ComponentFactory<T>;\n}\n\nexport class CodegenComponentFactoryResolver implements ComponentFactoryResolver {\n private _factories = new Map<any, ComponentFactory<any>>();\n\n constructor(factories: ComponentFactory<any>[], private _parent: ComponentFactoryResolver) {\n for (let i = 0; i < factories.length; i++) {\n const factory = factories[i];\n this._factories.set(factory.componentType, factory);\n }\n }\n\n resolveComponentFactory<T>(component: {new (...args: any[]): T}): ComponentFactory<T> {\n let result = this._factories.get(component);\n if (!result) {\n result = this._parent.resolveComponentFactory(component);\n }\n return result;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -48,13 +48,10 @@ export var DebugContext = (function () {
48
48
  Object.defineProperty(DebugContext.prototype, "componentRenderElement", {
49
49
  get: function () {
50
50
  var componentView = this._view;
51
- while (isPresent(componentView.declarationAppElement) &&
52
- componentView.type !== ViewType.COMPONENT) {
53
- componentView = componentView.declarationAppElement.parentView;
51
+ while (isPresent(componentView.parentView) && componentView.type !== ViewType.COMPONENT) {
52
+ componentView = componentView.parentView;
54
53
  }
55
- return isPresent(componentView.declarationAppElement) ?
56
- componentView.declarationAppElement.nativeElement :
57
- null;
54
+ return componentView.parentElement;
58
55
  },
59
56
  enumerable: true,
60
57
  configurable: true
@@ -97,9 +94,9 @@ export var DebugContext = (function () {
97
94
  var varValues = {};
98
95
  var staticNodeInfo = this._staticNodeInfo;
99
96
  if (isPresent(staticNodeInfo)) {
100
- var refs = staticNodeInfo.refTokens;
101
- Object.keys(refs).forEach(function (refName) {
102
- var refToken = refs[refName];
97
+ var refs_1 = staticNodeInfo.refTokens;
98
+ Object.keys(refs_1).forEach(function (refName) {
99
+ var refToken = refs_1[refName];
103
100
  var varValue;
104
101
  if (isBlank(refToken)) {
105
102
  varValue = _this._view.allNodes ? _this._view.allNodes[_this._nodeIndex] : null;
@@ -1 +1 @@
1
- {"version":3,"file":"debug_context.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/debug_context.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '../di';\nimport {isBlank, isPresent} from '../facade/lang';\nimport {RenderDebugInfo} from '../render/api';\n\nimport {DebugAppView} from './view';\nimport {ViewType} from './view_type';\n\n\nexport class StaticNodeDebugInfo {\n constructor(\n public providerTokens: any[], public componentToken: any,\n public refTokens: {[key: string]: any}) {}\n}\n\nexport class DebugContext implements RenderDebugInfo {\n constructor(\n private _view: DebugAppView<any>, private _nodeIndex: number, private _tplRow: number,\n private _tplCol: number) {}\n\n private get _staticNodeInfo(): StaticNodeDebugInfo {\n return isPresent(this._nodeIndex) ? this._view.staticNodeDebugInfos[this._nodeIndex] : null;\n }\n\n get context() { return this._view.context; }\n get component() {\n var staticNodeInfo = this._staticNodeInfo;\n if (isPresent(staticNodeInfo) && isPresent(staticNodeInfo.componentToken)) {\n return this.injector.get(staticNodeInfo.componentToken);\n }\n return null;\n }\n get componentRenderElement() {\n var componentView = this._view;\n while (isPresent(componentView.declarationAppElement) &&\n componentView.type !== ViewType.COMPONENT) {\n componentView = <DebugAppView<any>>componentView.declarationAppElement.parentView;\n }\n return isPresent(componentView.declarationAppElement) ?\n componentView.declarationAppElement.nativeElement :\n null;\n }\n get injector(): Injector { return this._view.injector(this._nodeIndex); }\n get renderNode(): any {\n if (isPresent(this._nodeIndex) && this._view.allNodes) {\n return this._view.allNodes[this._nodeIndex];\n } else {\n return null;\n }\n }\n get providerTokens(): any[] {\n var staticNodeInfo = this._staticNodeInfo;\n return isPresent(staticNodeInfo) ? staticNodeInfo.providerTokens : null;\n }\n get source(): string {\n return `${this._view.componentType.templateUrl}:${this._tplRow}:${this._tplCol}`;\n }\n get references(): {[key: string]: any} {\n var varValues: {[key: string]: string} = {};\n var staticNodeInfo = this._staticNodeInfo;\n if (isPresent(staticNodeInfo)) {\n var refs = staticNodeInfo.refTokens;\n Object.keys(refs).forEach(refName => {\n const refToken = refs[refName];\n let varValue: any;\n if (isBlank(refToken)) {\n varValue = this._view.allNodes ? this._view.allNodes[this._nodeIndex] : null;\n } else {\n varValue = this._view.injectorGet(refToken, this._nodeIndex, null);\n }\n varValues[refName] = varValue;\n });\n }\n return varValues;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"debug_context.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/debug_context.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '../di';\nimport {isBlank, isPresent} from '../facade/lang';\nimport {RenderDebugInfo} from '../render/api';\n\nimport {DebugAppView} from './view';\nimport {ViewType} from './view_type';\n\n\nexport class StaticNodeDebugInfo {\n constructor(\n public providerTokens: any[], public componentToken: any,\n public refTokens: {[key: string]: any}) {}\n}\n\nexport class DebugContext implements RenderDebugInfo {\n constructor(\n private _view: DebugAppView<any>, private _nodeIndex: number, private _tplRow: number,\n private _tplCol: number) {}\n\n private get _staticNodeInfo(): StaticNodeDebugInfo {\n return isPresent(this._nodeIndex) ? this._view.staticNodeDebugInfos[this._nodeIndex] : null;\n }\n\n get context() { return this._view.context; }\n get component() {\n const staticNodeInfo = this._staticNodeInfo;\n if (isPresent(staticNodeInfo) && isPresent(staticNodeInfo.componentToken)) {\n return this.injector.get(staticNodeInfo.componentToken);\n }\n return null;\n }\n get componentRenderElement() {\n let componentView = this._view;\n while (isPresent(componentView.parentView) && componentView.type !== ViewType.COMPONENT) {\n componentView = <DebugAppView<any>>componentView.parentView;\n }\n return componentView.parentElement;\n }\n get injector(): Injector { return this._view.injector(this._nodeIndex); }\n get renderNode(): any {\n if (isPresent(this._nodeIndex) && this._view.allNodes) {\n return this._view.allNodes[this._nodeIndex];\n } else {\n return null;\n }\n }\n get providerTokens(): any[] {\n const staticNodeInfo = this._staticNodeInfo;\n return isPresent(staticNodeInfo) ? staticNodeInfo.providerTokens : null;\n }\n get source(): string {\n return `${this._view.componentType.templateUrl}:${this._tplRow}:${this._tplCol}`;\n }\n get references(): {[key: string]: any} {\n const varValues: {[key: string]: string} = {};\n const staticNodeInfo = this._staticNodeInfo;\n if (isPresent(staticNodeInfo)) {\n const refs = staticNodeInfo.refTokens;\n Object.keys(refs).forEach(refName => {\n const refToken = refs[refName];\n let varValue: any;\n if (isBlank(refToken)) {\n varValue = this._view.allNodes ? this._view.allNodes[this._nodeIndex] : null;\n } else {\n varValue = this._view.injectorGet(refToken, this._nodeIndex, null);\n }\n varValues[refName] = varValue;\n });\n }\n return varValues;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -21,14 +21,7 @@ export var ElementInjector = (function (_super) {
21
21
  }
22
22
  ElementInjector.prototype.get = function (token, notFoundValue) {
23
23
  if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }
24
- var result = _UNDEFINED;
25
- if (result === _UNDEFINED) {
26
- result = this._view.injectorGet(token, this._nodeIndex, _UNDEFINED);
27
- }
28
- if (result === _UNDEFINED) {
29
- result = this._view.parentInjector.get(token, notFoundValue);
30
- }
31
- return result;
24
+ return this._view.injectorGet(token, this._nodeIndex, notFoundValue);
32
25
  };
33
26
  return ElementInjector;
34
27
  }(Injector));
@@ -1 +1 @@
1
- {"version":3,"file":"element_injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/element_injector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;OAEI,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,gBAAgB;AAG3D,IAAM,UAAU,GAAG,IAAI,MAAM,EAAE,CAAC;AAEhC;IAAqC,mCAAQ;IAC3C,yBAAoB,KAAmB,EAAU,UAAkB;QAAI,iBAAO,CAAC;QAA3D,UAAK,GAAL,KAAK,CAAc;QAAU,eAAU,GAAV,UAAU,CAAQ;IAAa,CAAC;IAEjF,6BAAG,GAAH,UAAI,KAAU,EAAE,aAAuC;QAAvC,6BAAuC,GAAvC,kCAAuC;QACrD,IAAI,MAAM,GAAG,UAAU,CAAC;QACxB,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACtE,CAAC;QACD,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACH,sBAAC;AAAD,CAAC,AAbD,CAAqC,QAAQ,GAa5C","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector, THROW_IF_NOT_FOUND} from '../di/injector';\nimport {AppView} from './view';\n\nconst _UNDEFINED = new Object();\n\nexport class ElementInjector extends Injector {\n constructor(private _view: AppView<any>, private _nodeIndex: number) { super(); }\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n var result = _UNDEFINED;\n if (result === _UNDEFINED) {\n result = this._view.injectorGet(token, this._nodeIndex, _UNDEFINED);\n }\n if (result === _UNDEFINED) {\n result = this._view.parentInjector.get(token, notFoundValue);\n }\n return result;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"element_injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/element_injector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;OAEI,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,gBAAgB;AAG3D,IAAM,UAAU,GAAG,IAAI,MAAM,EAAE,CAAC;AAEhC;IAAqC,mCAAQ;IAC3C,yBAAoB,KAAmB,EAAU,UAAkB;QAAI,iBAAO,CAAC;QAA3D,UAAK,GAAL,KAAK,CAAc;QAAU,eAAU,GAAV,UAAU,CAAQ;IAAa,CAAC;IAEjF,6BAAG,GAAH,UAAI,KAAU,EAAE,aAAuC;QAAvC,6BAAuC,GAAvC,kCAAuC;QACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IACH,sBAAC;AAAD,CAAC,AAND,CAAqC,QAAQ,GAM5C","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector, THROW_IF_NOT_FOUND} from '../di/injector';\nimport {AppView} from './view';\n\nconst _UNDEFINED = new Object();\n\nexport class ElementInjector extends Injector {\n constructor(private _view: AppView<any>, private _nodeIndex: number) { super(); }\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n return this._view.injectorGet(token, this._nodeIndex, notFoundValue);\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ng_module_factory.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/ng_module_factory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector, THROW_IF_NOT_FOUND} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\nimport {ComponentFactory} from './component_factory';\nimport {CodegenComponentFactoryResolver, ComponentFactoryResolver} from './component_factory_resolver';\n\n\n\n/**\n * Represents an instance of an NgModule created via a {@link NgModuleFactory}.\n *\n * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this\n * NgModule Instance.\n *\n * @stable\n */\nexport abstract class NgModuleRef<T> {\n /**\n * The injector that contains all of the providers of the NgModule.\n */\n get injector(): Injector { return unimplemented(); }\n\n /**\n * The ComponentFactoryResolver to get hold of the ComponentFactories\n * declared in the `entryComponents` property of the module.\n */\n get componentFactoryResolver(): ComponentFactoryResolver { return unimplemented(); }\n\n /**\n * The NgModule instance.\n */\n get instance(): T { return unimplemented(); }\n\n /**\n * Destroys the module instance and all of the data structures associated with it.\n */\n abstract destroy(): void;\n\n /**\n * Allows to register a callback that will be called when the module is destroyed.\n */\n abstract onDestroy(callback: () => void): void;\n}\n\n/**\n * @experimental\n */\nexport class NgModuleFactory<T> {\n constructor(\n private _injectorClass: {new (parentInjector: Injector): NgModuleInjector<T>},\n private _moduleType: Type<T>) {}\n\n get moduleType(): Type<T> { return this._moduleType; }\n\n create(parentInjector: Injector): NgModuleRef<T> {\n if (!parentInjector) {\n parentInjector = Injector.NULL;\n }\n var instance = new this._injectorClass(parentInjector);\n instance.create();\n return instance;\n }\n}\n\nconst _UNDEFINED = new Object();\n\nexport abstract class NgModuleInjector<T> extends CodegenComponentFactoryResolver implements\n Injector,\n NgModuleRef<T> {\n private _destroyListeners: (() => void)[] = [];\n private _destroyed: boolean = false;\n\n public instance: T;\n\n constructor(\n public parent: Injector, factories: ComponentFactory<any>[],\n public bootstrapFactories: ComponentFactory<any>[]) {\n super(factories, parent.get(ComponentFactoryResolver, ComponentFactoryResolver.NULL));\n }\n\n create() { this.instance = this.createInternal(); }\n\n abstract createInternal(): T;\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n if (token === Injector || token === ComponentFactoryResolver) {\n return this;\n }\n var result = this.getInternal(token, _UNDEFINED);\n return result === _UNDEFINED ? this.parent.get(token, notFoundValue) : result;\n }\n\n abstract getInternal(token: any, notFoundValue: any): any;\n\n get injector(): Injector { return this; }\n\n get componentFactoryResolver(): ComponentFactoryResolver { return this; }\n\n destroy(): void {\n if (this._destroyed) {\n throw new Error(\n `The ng module ${stringify(this.instance.constructor)} has already been destroyed.`);\n }\n this._destroyed = true;\n this.destroyInternal();\n this._destroyListeners.forEach((listener) => listener());\n }\n\n onDestroy(callback: () => void): void { this._destroyListeners.push(callback); }\n\n abstract destroyInternal(): void;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"ng_module_factory.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/ng_module_factory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector, THROW_IF_NOT_FOUND} from '../di/injector';\nimport {unimplemented} from '../facade/errors';\nimport {stringify} from '../facade/lang';\nimport {Type} from '../type';\nimport {ComponentFactory} from './component_factory';\nimport {CodegenComponentFactoryResolver, ComponentFactoryResolver} from './component_factory_resolver';\n\n\n\n/**\n * Represents an instance of an NgModule created via a {@link NgModuleFactory}.\n *\n * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this\n * NgModule Instance.\n *\n * @stable\n */\nexport abstract class NgModuleRef<T> {\n /**\n * The injector that contains all of the providers of the NgModule.\n */\n get injector(): Injector { return unimplemented(); }\n\n /**\n * The ComponentFactoryResolver to get hold of the ComponentFactories\n * declared in the `entryComponents` property of the module.\n */\n get componentFactoryResolver(): ComponentFactoryResolver { return unimplemented(); }\n\n /**\n * The NgModule instance.\n */\n get instance(): T { return unimplemented(); }\n\n /**\n * Destroys the module instance and all of the data structures associated with it.\n */\n abstract destroy(): void;\n\n /**\n * Allows to register a callback that will be called when the module is destroyed.\n */\n abstract onDestroy(callback: () => void): void;\n}\n\n/**\n * @experimental\n */\nexport class NgModuleFactory<T> {\n constructor(\n private _injectorClass: {new (parentInjector: Injector): NgModuleInjector<T>},\n private _moduleType: Type<T>) {}\n\n get moduleType(): Type<T> { return this._moduleType; }\n\n create(parentInjector: Injector): NgModuleRef<T> {\n if (!parentInjector) {\n parentInjector = Injector.NULL;\n }\n const instance = new this._injectorClass(parentInjector);\n instance.create();\n return instance;\n }\n}\n\nconst _UNDEFINED = new Object();\n\nexport abstract class NgModuleInjector<T> extends CodegenComponentFactoryResolver implements\n Injector,\n NgModuleRef<T> {\n private _destroyListeners: (() => void)[] = [];\n private _destroyed: boolean = false;\n\n public instance: T;\n\n constructor(\n public parent: Injector, factories: ComponentFactory<any>[],\n public bootstrapFactories: ComponentFactory<any>[]) {\n super(factories, parent.get(ComponentFactoryResolver, ComponentFactoryResolver.NULL));\n }\n\n create() { this.instance = this.createInternal(); }\n\n abstract createInternal(): T;\n\n get(token: any, notFoundValue: any = THROW_IF_NOT_FOUND): any {\n if (token === Injector || token === ComponentFactoryResolver) {\n return this;\n }\n const result = this.getInternal(token, _UNDEFINED);\n return result === _UNDEFINED ? this.parent.get(token, notFoundValue) : result;\n }\n\n abstract getInternal(token: any, notFoundValue: any): any;\n\n get injector(): Injector { return this; }\n\n get componentFactoryResolver(): ComponentFactoryResolver { return this; }\n\n destroy(): void {\n if (this._destroyed) {\n throw new Error(\n `The ng module ${stringify(this.instance.constructor)} has already been destroyed.`);\n }\n this._destroyed = true;\n this.destroyInternal();\n this._destroyListeners.forEach((listener) => listener());\n }\n\n onDestroy(callback: () => void): void { this._destroyListeners.push(callback); }\n\n abstract destroyInternal(): void;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ng_module_factory_loader.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/ng_module_factory_loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH;IAAA;IAEA,CAAC;IAAD,4BAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE9D;;;GAGG;AACH,sCAAsC,EAAU,EAAE,OAA6B;IAC7E,IAAI,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAmC,EAAE,WAC/B,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAO,OAAO,CAAC,UAAU,CAAC,IAAM,CAAC,CAAC;IAClF,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;IACE,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,iCAAiC,EAAU;IACzC,IAAI,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,uBAAqB,EAAE,YAAS,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,CAAC;AACjB,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModuleFactory} from './ng_module_factory';\n\n/**\n * Used to load ng module factories.\n * @stable\n */\nexport abstract class NgModuleFactoryLoader {\n abstract load(path: string): Promise<NgModuleFactory<any>>;\n}\n\nlet moduleFactories = new Map<string, NgModuleFactory<any>>();\n\n/**\n * Registers a loaded module. Should only be called from generated NgModuleFactory code.\n * @experimental\n */\nexport function registerModuleFactory(id: string, factory: NgModuleFactory<any>) {\n let existing = moduleFactories.get(id);\n if (existing) {\n throw new Error(`Duplicate module registered for ${id\n } - ${existing.moduleType.name} vs ${factory.moduleType.name}`);\n }\n moduleFactories.set(id, factory);\n}\n\nexport function clearModulesForTest() {\n moduleFactories = new Map<string, NgModuleFactory<any>>();\n}\n\n/**\n * Returns the NgModuleFactory with the given id, if it exists and has been loaded.\n * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module\n * cannot be found.\n * @experimental\n */\nexport function getModuleFactory(id: string): NgModuleFactory<any> {\n let factory = moduleFactories.get(id);\n if (!factory) throw new Error(`No module with ID ${id} loaded`);\n return factory;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"ng_module_factory_loader.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/ng_module_factory_loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;;GAGG;AACH;IAAA;IAEA,CAAC;IAAD,4BAAC;AAAD,CAAC,AAFD,IAEC;AAED,IAAI,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAE9D;;;GAGG;AACH,sCAAsC,EAAU,EAAE,OAA6B;IAC7E,IAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qCAAmC,EAAE,WAC/B,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAO,OAAO,CAAC,UAAU,CAAC,IAAM,CAAC,CAAC;IAClF,CAAC;IACD,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;IACE,eAAe,GAAG,IAAI,GAAG,EAAgC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,iCAAiC,EAAU;IACzC,IAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,uBAAqB,EAAE,YAAS,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,CAAC;AACjB,CAAC","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModuleFactory} from './ng_module_factory';\n\n/**\n * Used to load ng module factories.\n * @stable\n */\nexport abstract class NgModuleFactoryLoader {\n abstract load(path: string): Promise<NgModuleFactory<any>>;\n}\n\nlet moduleFactories = new Map<string, NgModuleFactory<any>>();\n\n/**\n * Registers a loaded module. Should only be called from generated NgModuleFactory code.\n * @experimental\n */\nexport function registerModuleFactory(id: string, factory: NgModuleFactory<any>) {\n const existing = moduleFactories.get(id);\n if (existing) {\n throw new Error(`Duplicate module registered for ${id\n } - ${existing.moduleType.name} vs ${factory.moduleType.name}`);\n }\n moduleFactories.set(id, factory);\n}\n\nexport function clearModulesForTest() {\n moduleFactories = new Map<string, NgModuleFactory<any>>();\n}\n\n/**\n * Returns the NgModuleFactory with the given id, if it exists and has been loaded.\n * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module\n * cannot be found.\n * @experimental\n */\nexport function getModuleFactory(id: string): NgModuleFactory<any> {\n const factory = moduleFactories.get(id);\n if (!factory) throw new Error(`No module with ID ${id} loaded`);\n return factory;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -40,8 +40,9 @@ export var SystemJsNgModuleLoader = (function () {
40
40
  SystemJsNgModuleLoader.prototype.loadAndCompile = function (path) {
41
41
  var _this = this;
42
42
  var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];
43
- if (exportName === undefined)
43
+ if (exportName === undefined) {
44
44
  exportName = 'default';
45
+ }
45
46
  return System.import(module)
46
47
  .then(function (module) { return module[exportName]; })
47
48
  .then(function (type) { return checkNotEmpty(type, module, exportName); })
@@ -1 +1 @@
1
- {"version":3,"file":"system_js_ng_module_factory_loader.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/system_js_ng_module_factory_loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Injectable, Optional} from '../di';\n\nimport {Compiler} from './compiler';\nimport {NgModuleFactory} from './ng_module_factory';\nimport {NgModuleFactoryLoader} from './ng_module_factory_loader';\n\nconst _SEPARATOR = '#';\n\nconst FACTORY_CLASS_SUFFIX = 'NgFactory';\n\n/**\n * Configuration for SystemJsNgModuleLoader.\n * token.\n *\n * @experimental\n */\nexport abstract class SystemJsNgModuleLoaderConfig {\n /**\n * Prefix to add when computing the name of the factory module for a given module name.\n */\n factoryPathPrefix: string;\n\n /**\n * Suffix to add when computing the name of the factory module for a given module name.\n */\n factoryPathSuffix: string;\n}\n\nconst DEFAULT_CONFIG: SystemJsNgModuleLoaderConfig = {\n factoryPathPrefix: '',\n factoryPathSuffix: '.ngfactory',\n};\n\n/**\n * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory\n * @experimental\n */\n\nexport class SystemJsNgModuleLoader implements NgModuleFactoryLoader {\n private _config: SystemJsNgModuleLoaderConfig;\n\n constructor(private _compiler: Compiler, config?: SystemJsNgModuleLoaderConfig) {\n this._config = config || DEFAULT_CONFIG;\n }\n\n load(path: string): Promise<NgModuleFactory<any>> {\n const offlineMode = this._compiler instanceof Compiler;\n return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path);\n }\n\n private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {\n let [module, exportName] = path.split(_SEPARATOR);\n if (exportName === undefined) exportName = 'default';\n\n return System.import(module)\n .then((module: any) => module[exportName])\n .then((type: any) => checkNotEmpty(type, module, exportName))\n .then((type: any) => this._compiler.compileModuleAsync(type));\n }\n\n private loadFactory(path: string): Promise<NgModuleFactory<any>> {\n let [module, exportName] = path.split(_SEPARATOR);\n let factoryClassSuffix = FACTORY_CLASS_SUFFIX;\n if (exportName === undefined) {\n exportName = 'default';\n factoryClassSuffix = '';\n }\n\n return System.import(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix)\n .then((module: any) => module[exportName + factoryClassSuffix])\n .then((factory: any) => checkNotEmpty(factory, module, exportName));\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n{type: Compiler, },\n{type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional }, ]},\n];\n}\n\nfunction checkNotEmpty(value: any, modulePath: string, exportName: string): any {\n if (!value) {\n throw new Error(`Cannot find '${exportName}' in '${modulePath}'`);\n }\n return value;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"system_js_ng_module_factory_loader.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/system_js_ng_module_factory_loader.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n\nimport {Injectable, Optional} from '../di';\n\nimport {Compiler} from './compiler';\nimport {NgModuleFactory} from './ng_module_factory';\nimport {NgModuleFactoryLoader} from './ng_module_factory_loader';\n\nconst _SEPARATOR = '#';\n\nconst FACTORY_CLASS_SUFFIX = 'NgFactory';\n\n/**\n * Configuration for SystemJsNgModuleLoader.\n * token.\n *\n * @experimental\n */\nexport abstract class SystemJsNgModuleLoaderConfig {\n /**\n * Prefix to add when computing the name of the factory module for a given module name.\n */\n factoryPathPrefix: string;\n\n /**\n * Suffix to add when computing the name of the factory module for a given module name.\n */\n factoryPathSuffix: string;\n}\n\nconst DEFAULT_CONFIG: SystemJsNgModuleLoaderConfig = {\n factoryPathPrefix: '',\n factoryPathSuffix: '.ngfactory',\n};\n\n/**\n * NgModuleFactoryLoader that uses SystemJS to load NgModuleFactory\n * @experimental\n */\n\nexport class SystemJsNgModuleLoader implements NgModuleFactoryLoader {\n private _config: SystemJsNgModuleLoaderConfig;\n\n constructor(private _compiler: Compiler, config?: SystemJsNgModuleLoaderConfig) {\n this._config = config || DEFAULT_CONFIG;\n }\n\n load(path: string): Promise<NgModuleFactory<any>> {\n const offlineMode = this._compiler instanceof Compiler;\n return offlineMode ? this.loadFactory(path) : this.loadAndCompile(path);\n }\n\n private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {\n let [module, exportName] = path.split(_SEPARATOR);\n if (exportName === undefined) {\n exportName = 'default';\n }\n\n return System.import(module)\n .then((module: any) => module[exportName])\n .then((type: any) => checkNotEmpty(type, module, exportName))\n .then((type: any) => this._compiler.compileModuleAsync(type));\n }\n\n private loadFactory(path: string): Promise<NgModuleFactory<any>> {\n let [module, exportName] = path.split(_SEPARATOR);\n let factoryClassSuffix = FACTORY_CLASS_SUFFIX;\n if (exportName === undefined) {\n exportName = 'default';\n factoryClassSuffix = '';\n }\n\n return System.import(this._config.factoryPathPrefix + module + this._config.factoryPathSuffix)\n .then((module: any) => module[exportName + factoryClassSuffix])\n .then((factory: any) => checkNotEmpty(factory, module, exportName));\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: ({type: any, decorators?: DecoratorInvocation[]}|null)[] = [\n{type: Compiler, },\n{type: SystemJsNgModuleLoaderConfig, decorators: [{ type: Optional }, ]},\n];\n}\n\nfunction checkNotEmpty(value: any, modulePath: string, exportName: string): any {\n if (!value) {\n throw new Error(`Cannot find '${exportName}' in '${modulePath}'`);\n }\n return value;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -5,8 +5,8 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { AppElement } from './element';
9
8
  import { ElementRef } from './element_ref';
9
+ import { AppView } from './view';
10
10
  import { EmbeddedViewRef } from './view_ref';
11
11
  /**
12
12
  * Represents an Embedded Template that can be used to instantiate Embedded Views.
@@ -37,9 +37,10 @@ export declare abstract class TemplateRef<C> {
37
37
  abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;
38
38
  }
39
39
  export declare class TemplateRef_<C> extends TemplateRef<C> {
40
- private _appElement;
41
- private _viewFactory;
42
- constructor(_appElement: AppElement, _viewFactory: Function);
40
+ private _parentView;
41
+ private _nodeIndex;
42
+ private _nativeElement;
43
+ constructor(_parentView: AppView<any>, _nodeIndex: number, _nativeElement: any);
43
44
  createEmbeddedView(context: C): EmbeddedViewRef<C>;
44
45
  elementRef: ElementRef;
45
46
  }
@@ -10,6 +10,7 @@ var __extends = (this && this.__extends) || function (d, b) {
10
10
  function __() { this.constructor = d; }
11
11
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
12
  };
13
+ import { ElementRef } from './element_ref';
13
14
  /**
14
15
  * Represents an Embedded Template that can be used to instantiate Embedded Views.
15
16
  *
@@ -47,18 +48,19 @@ export var TemplateRef = (function () {
47
48
  }());
48
49
  export var TemplateRef_ = (function (_super) {
49
50
  __extends(TemplateRef_, _super);
50
- function TemplateRef_(_appElement, _viewFactory) {
51
+ function TemplateRef_(_parentView, _nodeIndex, _nativeElement) {
51
52
  _super.call(this);
52
- this._appElement = _appElement;
53
- this._viewFactory = _viewFactory;
53
+ this._parentView = _parentView;
54
+ this._nodeIndex = _nodeIndex;
55
+ this._nativeElement = _nativeElement;
54
56
  }
55
57
  TemplateRef_.prototype.createEmbeddedView = function (context) {
56
- var view = this._viewFactory(this._appElement.parentView.viewUtils, this._appElement.parentInjector, this._appElement);
57
- view.create(context || {}, null);
58
+ var view = this._parentView.createEmbeddedViewInternal(this._nodeIndex);
59
+ view.create(context || {});
58
60
  return view.ref;
59
61
  };
60
62
  Object.defineProperty(TemplateRef_.prototype, "elementRef", {
61
- get: function () { return this._appElement.elementRef; },
63
+ get: function () { return new ElementRef(this._nativeElement); },
62
64
  enumerable: true,
63
65
  configurable: true
64
66
  });
@@ -1 +1 @@
1
- {"version":3,"file":"template_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/template_ref.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;AAOH;;;;;;;;;;;;GAYG;AACH;IAAA;IAgBA,CAAC;IAHC,sBAAI,mCAAU;QAZd;;;;;;;;;;WAUG;QACH,wCAAwC;aACxC,cAA+B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;;;OAAA;IAG/C,kBAAC;AAAD,CAAC,AAhBD,IAgBC;AAED;IAAqC,gCAAc;IACjD,sBAAoB,WAAuB,EAAU,YAAsB;QAAI,iBAAO,CAAC;QAAnE,gBAAW,GAAX,WAAW,CAAY;QAAU,iBAAY,GAAZ,YAAY,CAAU;IAAa,CAAC;IAEzF,yCAAkB,GAAlB,UAAmB,OAAU;QAC3B,IAAI,IAAI,GAAe,IAAI,CAAC,YAAY,CACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,OAAO,IAAS,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,sBAAI,oCAAU;aAAd,cAA+B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;;;OAAA;IACtE,mBAAC;AAAD,CAAC,AAXD,CAAqC,WAAW,GAW/C","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {AppElement} from './element';\nimport {ElementRef} from './element_ref';\nimport {AppView} from './view';\nimport {EmbeddedViewRef} from './view_ref';\n\n/**\n * Represents an Embedded Template that can be used to instantiate Embedded Views.\n *\n * You can access a `TemplateRef`, in two ways. Via a directive placed on a `<template>` element (or\n * directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into the\n * constructor of the directive using the `TemplateRef` Token. Alternatively you can query for the\n * `TemplateRef` from a Component or a Directive via {@link Query}.\n *\n * To instantiate Embedded Views based on a Template, use\n * {@link ViewContainerRef#createEmbeddedView}, which will create the View and attach it to the\n * View Container.\n * @stable\n */\nexport abstract class TemplateRef<C> {\n /**\n * The location in the View where the Embedded View logically belongs to.\n *\n * The data-binding and injection contexts of Embedded Views created from this `TemplateRef`\n * inherit from the contexts of this location.\n *\n * Typically new Embedded Views are attached to the View Container of this location, but in\n * advanced use-cases, the View can be attached to a different container while keeping the\n * data-binding and injection context from the original location.\n *\n */\n // TODO(i): rename to anchor or location\n get elementRef(): ElementRef { return null; }\n\n abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;\n}\n\nexport class TemplateRef_<C> extends TemplateRef<C> {\n constructor(private _appElement: AppElement, private _viewFactory: Function) { super(); }\n\n createEmbeddedView(context: C): EmbeddedViewRef<C> {\n var view: AppView<C> = this._viewFactory(\n this._appElement.parentView.viewUtils, this._appElement.parentInjector, this._appElement);\n view.create(context || <any>{}, null);\n return view.ref;\n }\n\n get elementRef(): ElementRef { return this._appElement.elementRef; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
1
+ {"version":3,"file":"template_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/template_ref.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;;;;;OAEI,EAAC,UAAU,EAAC,MAAM,eAAe;AAMxC;;;;;;;;;;;;GAYG;AACH;IAAA;IAgBA,CAAC;IAHC,sBAAI,mCAAU;QAZd;;;;;;;;;;WAUG;QACH,wCAAwC;aACxC,cAA+B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;;;OAAA;IAG/C,kBAAC;AAAD,CAAC,AAhBD,IAgBC;AAED;IAAqC,gCAAc;IACjD,sBACY,WAAyB,EAAU,UAAkB,EAAU,cAAmB;QAC5F,iBAAO,CAAC;QADE,gBAAW,GAAX,WAAW,CAAc;QAAU,eAAU,GAAV,UAAU,CAAQ;QAAU,mBAAc,GAAd,cAAc,CAAK;IAE9F,CAAC;IAED,yCAAkB,GAAlB,UAAmB,OAAU;QAC3B,IAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAS,EAAE,CAAC,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,sBAAI,oCAAU;aAAd,cAA+B,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAC9E,mBAAC;AAAD,CAAC,AAbD,CAAqC,WAAW,GAa/C","sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef} from './element_ref';\nimport {AppView} from './view';\nimport {ViewContainer} from './view_container';\nimport {EmbeddedViewRef} from './view_ref';\n\n\n/**\n * Represents an Embedded Template that can be used to instantiate Embedded Views.\n *\n * You can access a `TemplateRef`, in two ways. Via a directive placed on a `<template>` element (or\n * directive prefixed with `*`) and have the `TemplateRef` for this Embedded View injected into the\n * constructor of the directive using the `TemplateRef` Token. Alternatively you can query for the\n * `TemplateRef` from a Component or a Directive via {@link Query}.\n *\n * To instantiate Embedded Views based on a Template, use\n * {@link ViewContainerRef#createEmbeddedView}, which will create the View and attach it to the\n * View Container.\n * @stable\n */\nexport abstract class TemplateRef<C> {\n /**\n * The location in the View where the Embedded View logically belongs to.\n *\n * The data-binding and injection contexts of Embedded Views created from this `TemplateRef`\n * inherit from the contexts of this location.\n *\n * Typically new Embedded Views are attached to the View Container of this location, but in\n * advanced use-cases, the View can be attached to a different container while keeping the\n * data-binding and injection context from the original location.\n *\n */\n // TODO(i): rename to anchor or location\n get elementRef(): ElementRef { return null; }\n\n abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;\n}\n\nexport class TemplateRef_<C> extends TemplateRef<C> {\n constructor(\n private _parentView: AppView<any>, private _nodeIndex: number, private _nativeElement: any) {\n super();\n }\n\n createEmbeddedView(context: C): EmbeddedViewRef<C> {\n const view = this._parentView.createEmbeddedViewInternal(this._nodeIndex);\n view.create(context || <any>{});\n return view.ref;\n }\n\n get elementRef(): ElementRef { return new ElementRef(this._nativeElement); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -9,8 +9,9 @@ import { ChangeDetectorRef, ChangeDetectorStatus } from '../change_detection/cha
9
9
  import { Injector } from '../di/injector';
10
10
  import { RenderComponentType, Renderer } from '../render/api';
11
11
  import { AnimationViewContext } from './animation_view_context';
12
+ import { ComponentRef } from './component_factory';
12
13
  import { DebugContext, StaticNodeDebugInfo } from './debug_context';
13
- import { AppElement } from './element';
14
+ import { ViewContainer } from './view_container';
14
15
  import { ViewRef_ } from './view_ref';
15
16
  import { ViewType } from './view_type';
16
17
  import { ViewUtils } from './view_utils';
@@ -23,30 +24,40 @@ export declare abstract class AppView<T> {
23
24
  componentType: RenderComponentType;
24
25
  type: ViewType;
25
26
  viewUtils: ViewUtils;
26
- parentInjector: Injector;
27
- declarationAppElement: AppElement;
27
+ parentView: AppView<any>;
28
+ parentIndex: number;
29
+ parentElement: any;
28
30
  cdMode: ChangeDetectorStatus;
31
+ declaredViewContainer: ViewContainer;
29
32
  ref: ViewRef_<T>;
30
33
  lastRootNode: any;
31
34
  allNodes: any[];
32
35
  disposables: Function[];
33
- viewContainerElement: AppElement;
36
+ viewContainer: ViewContainer;
34
37
  numberOfChecks: number;
35
38
  renderer: Renderer;
36
39
  private _hasExternalHostElement;
40
+ private _hostInjector;
41
+ private _hostProjectableNodes;
37
42
  private _animationContext;
43
+ private _directRenderer;
38
44
  context: T;
39
- constructor(clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils, parentInjector: Injector, declarationAppElement: AppElement, cdMode: ChangeDetectorStatus);
45
+ constructor(clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils, parentView: AppView<any>, parentIndex: number, parentElement: any, cdMode: ChangeDetectorStatus, declaredViewContainer?: ViewContainer);
40
46
  animationContext: AnimationViewContext;
41
47
  destroyed: boolean;
42
- create(context: T, rootSelectorOrNode: string | any): AppElement;
48
+ create(context: T): ComponentRef<any>;
49
+ createHostView(rootSelectorOrNode: string | any, hostInjector: Injector, projectableNodes: any[][]): ComponentRef<any>;
43
50
  /**
44
51
  * Overwritten by implementations.
45
- * Returns the AppElement for the host element for ViewType.HOST.
52
+ * Returns the ComponentRef for the host element for ViewType.HOST.
46
53
  */
47
- createInternal(rootSelectorOrNode: string | any): AppElement;
54
+ createInternal(rootSelectorOrNode: string | any): ComponentRef<any>;
55
+ /**
56
+ * Overwritten by implementations.
57
+ */
58
+ createEmbeddedViewInternal(templateNodeIndex: number): AppView<any>;
48
59
  init(lastRootNode: any, allNodes: any[], disposables: Function[]): void;
49
- injectorGet(token: any, nodeIndex: number, notFoundResult: any): any;
60
+ injectorGet(token: any, nodeIndex: number, notFoundValue?: any): any;
50
61
  /**
51
62
  * Overwritten by implementations
52
63
  */
@@ -63,10 +74,13 @@ export declare abstract class AppView<T> {
63
74
  */
64
75
  detachInternal(): void;
65
76
  detach(): void;
77
+ private _renderDetach();
78
+ attachAfter(viewContainer: ViewContainer, prevView: AppView<any>): void;
79
+ moveAfter(viewContainer: ViewContainer, prevView: AppView<any>): void;
80
+ private _renderAttach(viewContainer, prevView);
66
81
  changeDetectorRef: ChangeDetectorRef;
67
- parent: AppView<any>;
68
82
  flatRootNodes: any[];
69
- projectedNodes(ngContentIndex: number): any[];
83
+ projectNodes(parentElement: any, ngContentIndex: number): void;
70
84
  visitProjectedNodes<C>(ngContentIndex: number, cb: (node: any, ctx: C) => void, c: C): void;
71
85
  /**
72
86
  * Overwritten by implementations
@@ -85,9 +99,6 @@ export declare abstract class AppView<T> {
85
99
  * Overwritten by implementations
86
100
  */
87
101
  detectChangesInternal(throwOnChange: boolean): void;
88
- markContentChildAsMoved(renderAppElement: AppElement): void;
89
- addToContentChildren(renderAppElement: AppElement): void;
90
- removeFromContentChildren(renderAppElement: AppElement): void;
91
102
  markAsCheckOnce(): void;
92
103
  markPathToRootAsCheckOnce(): void;
93
104
  eventHandler<E, R>(cb: (eventName: string, event?: E) => R): (eventName: string, event?: E) => R;
@@ -96,9 +107,10 @@ export declare abstract class AppView<T> {
96
107
  export declare class DebugAppView<T> extends AppView<T> {
97
108
  staticNodeDebugInfos: StaticNodeDebugInfo[];
98
109
  private _currentDebugContext;
99
- constructor(clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils, parentInjector: Injector, declarationAppElement: AppElement, cdMode: ChangeDetectorStatus, staticNodeDebugInfos: StaticNodeDebugInfo[]);
100
- create(context: T, rootSelectorOrNode: string | any): AppElement;
101
- injectorGet(token: any, nodeIndex: number, notFoundResult: any): any;
110
+ constructor(clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils, parentView: AppView<any>, parentIndex: number, parentNode: any, cdMode: ChangeDetectorStatus, staticNodeDebugInfos: StaticNodeDebugInfo[], declaredViewContainer?: ViewContainer);
111
+ create(context: T): ComponentRef<any>;
112
+ createHostView(rootSelectorOrNode: string | any, injector: Injector, projectableNodes?: any[][]): ComponentRef<any>;
113
+ injectorGet(token: any, nodeIndex: number, notFoundResult?: any): any;
102
114
  detach(): void;
103
115
  destroy(): void;
104
116
  detectChanges(throwOnChange: boolean): void;