@angular/core 2.0.0-rc.1 → 2.0.0-rc.2

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 (624) hide show
  1. package/{core.umd.js → bundles/core.umd.js} +6402 -4606
  2. package/bundles/core.umd.min.js +6 -0
  3. package/esm/index.d.ts +5 -4
  4. package/esm/index.js +9 -8
  5. package/esm/index.js.map +1 -1
  6. package/esm/private_export.d.ts +96 -11
  7. package/esm/private_export.js +39 -10
  8. package/esm/private_export.js.map +1 -1
  9. package/esm/private_export.metadata.json +1 -1
  10. package/esm/src/animation/active_animation_players_map.d.ts +11 -0
  11. package/esm/src/animation/active_animation_players_map.js +47 -0
  12. package/esm/src/animation/active_animation_players_map.js.map +1 -0
  13. package/esm/src/animation/animation_constants.d.ts +4 -0
  14. package/esm/src/animation/animation_constants.js +5 -0
  15. package/esm/src/animation/animation_constants.js.map +1 -0
  16. package/esm/src/animation/animation_constants.metadata.json +1 -0
  17. package/esm/src/animation/animation_driver.d.ts +9 -0
  18. package/esm/src/animation/animation_driver.js +9 -0
  19. package/esm/src/animation/animation_driver.js.map +1 -0
  20. package/esm/src/animation/animation_group_player.d.ts +18 -0
  21. package/esm/src/animation/animation_group_player.js +60 -0
  22. package/esm/src/animation/animation_group_player.js.map +1 -0
  23. package/esm/src/animation/animation_keyframe.d.ts +6 -0
  24. package/esm/src/animation/animation_keyframe.js +7 -0
  25. package/esm/src/animation/animation_keyframe.js.map +1 -0
  26. package/esm/src/animation/animation_player.d.ts +26 -0
  27. package/esm/src/animation/animation_player.js +30 -0
  28. package/esm/src/animation/animation_player.js.map +1 -0
  29. package/esm/src/animation/animation_sequence_player.d.ts +21 -0
  30. package/esm/src/animation/animation_sequence_player.js +64 -0
  31. package/esm/src/animation/animation_sequence_player.js.map +1 -0
  32. package/esm/src/animation/animation_style_util.d.ts +32 -0
  33. package/esm/src/animation/animation_style_util.js +91 -0
  34. package/esm/src/animation/animation_style_util.js.map +1 -0
  35. package/esm/src/animation/animation_style_util.metadata.json +1 -0
  36. package/esm/src/animation/animation_styles.d.ts +8 -0
  37. package/esm/src/animation/animation_styles.js +6 -0
  38. package/esm/src/animation/animation_styles.js.map +1 -0
  39. package/esm/src/animation/metadata.d.ts +511 -0
  40. package/esm/src/animation/metadata.js +565 -0
  41. package/esm/src/animation/metadata.js.map +1 -0
  42. package/esm/src/animation/metadata.metadata.json +1 -0
  43. package/esm/src/application_common_providers.d.ts +1 -0
  44. package/esm/src/application_common_providers.js +5 -4
  45. package/esm/src/application_common_providers.js.map +1 -1
  46. package/esm/src/application_common_providers.metadata.json +1 -1
  47. package/esm/src/application_ref.d.ts +17 -41
  48. package/esm/src/application_ref.js +32 -23
  49. package/esm/src/application_ref.js.map +1 -1
  50. package/esm/src/application_ref.metadata.json +1 -1
  51. package/esm/src/application_tokens.d.ts +6 -1
  52. package/esm/src/application_tokens.js +9 -4
  53. package/esm/src/application_tokens.js.map +1 -1
  54. package/esm/src/application_tokens.metadata.json +1 -1
  55. package/esm/src/change_detection/change_detection.d.ts +9 -8
  56. package/esm/src/change_detection/change_detection.js +7 -7
  57. package/esm/src/change_detection/change_detection.js.map +1 -1
  58. package/esm/src/change_detection/change_detection.metadata.json +1 -1
  59. package/esm/src/change_detection/change_detection_util.d.ts +3 -1
  60. package/esm/src/change_detection/change_detection_util.js +6 -5
  61. package/esm/src/change_detection/change_detection_util.js.map +1 -1
  62. package/esm/src/change_detection/change_detection_util.metadata.json +1 -1
  63. package/esm/src/change_detection/change_detector_ref.d.ts +3 -0
  64. package/esm/src/change_detection/change_detector_ref.js +3 -0
  65. package/esm/src/change_detection/change_detector_ref.js.map +1 -1
  66. package/esm/src/change_detection/constants.d.ts +1 -0
  67. package/esm/src/change_detection/constants.js +4 -3
  68. package/esm/src/change_detection/constants.js.map +1 -1
  69. package/esm/src/change_detection/constants.metadata.json +1 -1
  70. package/esm/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  71. package/esm/src/change_detection/differs/default_iterable_differ.js +25 -18
  72. package/esm/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  73. package/esm/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  74. package/esm/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  75. package/esm/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  76. package/esm/src/change_detection/differs/iterable_differs.d.ts +4 -1
  77. package/esm/src/change_detection/differs/iterable_differs.js +5 -4
  78. package/esm/src/change_detection/differs/iterable_differs.js.map +1 -1
  79. package/esm/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  80. package/esm/src/change_detection/differs/keyvalue_differs.js +5 -4
  81. package/esm/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  82. package/esm/src/change_detection/pipe_transform.js.map +1 -1
  83. package/esm/src/change_detection.d.ts +1 -1
  84. package/esm/src/change_detection.js +5 -5
  85. package/esm/src/change_detection.js.map +1 -1
  86. package/esm/src/console.js +2 -1
  87. package/esm/src/console.js.map +1 -1
  88. package/esm/src/console.metadata.json +1 -1
  89. package/esm/src/debug/debug_node.d.ts +20 -2
  90. package/esm/src/debug/debug_node.js +16 -2
  91. package/esm/src/debug/debug_node.js.map +1 -1
  92. package/esm/src/debug/debug_node.metadata.json +1 -0
  93. package/esm/src/debug/debug_renderer.d.ts +10 -6
  94. package/esm/src/debug/debug_renderer.js +13 -2
  95. package/esm/src/debug/debug_renderer.js.map +1 -1
  96. package/esm/src/di/decorators.d.ts +13 -1
  97. package/esm/src/di/decorators.js +7 -1
  98. package/esm/src/di/decorators.js.map +1 -1
  99. package/esm/src/di/decorators.metadata.json +1 -1
  100. package/esm/src/di/forward_ref.d.ts +3 -1
  101. package/esm/src/di/forward_ref.js +3 -1
  102. package/esm/src/di/forward_ref.js.map +1 -1
  103. package/esm/src/di/injector.d.ts +4 -1
  104. package/esm/src/di/injector.js +5 -2
  105. package/esm/src/di/injector.js.map +1 -1
  106. package/esm/src/di/injector.metadata.json +1 -1
  107. package/esm/src/di/metadata.d.ts +8 -1
  108. package/esm/src/di/metadata.js +10 -3
  109. package/esm/src/di/metadata.js.map +1 -1
  110. package/esm/src/di/opaque_token.d.ts +2 -1
  111. package/esm/src/di/opaque_token.js +22 -21
  112. package/esm/src/di/opaque_token.js.map +1 -1
  113. package/esm/src/di/provider.d.ts +11 -10
  114. package/esm/src/di/provider.js +17 -14
  115. package/esm/src/di/provider.js.map +1 -1
  116. package/esm/src/di/provider.metadata.json +1 -0
  117. package/esm/src/di/provider_util.js.map +1 -1
  118. package/esm/src/di/provider_util.metadata.json +1 -0
  119. package/esm/src/di/reflective_exceptions.d.ts +11 -16
  120. package/esm/src/di/reflective_exceptions.js +28 -22
  121. package/esm/src/di/reflective_exceptions.js.map +1 -1
  122. package/esm/src/di/reflective_injector.d.ts +3 -33
  123. package/esm/src/di/reflective_injector.js +10 -7
  124. package/esm/src/di/reflective_injector.js.map +1 -1
  125. package/esm/src/di/reflective_key.d.ts +1 -8
  126. package/esm/src/di/reflective_key.js +3 -2
  127. package/esm/src/di/reflective_key.js.map +1 -1
  128. package/esm/src/di/reflective_provider.d.ts +2 -1
  129. package/esm/src/di/reflective_provider.js +6 -5
  130. package/esm/src/di/reflective_provider.js.map +1 -1
  131. package/esm/src/di/reflective_provider.metadata.json +1 -0
  132. package/esm/src/di.d.ts +2 -2
  133. package/esm/src/di.js +6 -6
  134. package/esm/src/di.js.map +1 -1
  135. package/esm/src/facade/async.d.ts +11 -4
  136. package/esm/src/facade/async.js +25 -15
  137. package/esm/src/facade/async.js.map +1 -1
  138. package/esm/src/facade/base_wrapped_exception.js +4 -4
  139. package/esm/src/facade/base_wrapped_exception.js.map +1 -1
  140. package/esm/src/facade/collection.js +1 -1
  141. package/esm/src/facade/collection.js.map +1 -1
  142. package/esm/src/facade/collection.metadata.json +1 -1
  143. package/esm/src/facade/exception_handler.d.ts +2 -11
  144. package/esm/src/facade/exception_handler.js +8 -7
  145. package/esm/src/facade/exception_handler.js.map +1 -1
  146. package/esm/src/facade/exceptions.d.ts +4 -0
  147. package/esm/src/facade/exceptions.js +6 -2
  148. package/esm/src/facade/exceptions.js.map +1 -1
  149. package/esm/src/facade/exceptions.metadata.json +1 -0
  150. package/esm/src/facade/lang.d.ts +6 -4
  151. package/esm/src/facade/lang.js +12 -11
  152. package/esm/src/facade/lang.js.map +1 -1
  153. package/esm/src/facade/lang.metadata.json +1 -1
  154. package/esm/src/facade/math.d.ts +2 -0
  155. package/esm/src/facade/math.js +4 -0
  156. package/esm/src/facade/math.js.map +1 -0
  157. package/esm/src/facade/math.metadata.json +1 -0
  158. package/esm/src/facade/promise.js.map +1 -1
  159. package/esm/src/linker/component_factory.d.ts +5 -4
  160. package/esm/src/linker/component_factory.js +7 -3
  161. package/esm/src/linker/component_factory.js.map +1 -1
  162. package/esm/src/linker/component_resolver.d.ts +5 -4
  163. package/esm/src/linker/component_resolver.js +12 -7
  164. package/esm/src/linker/component_resolver.js.map +1 -1
  165. package/esm/src/linker/component_resolver.metadata.json +1 -1
  166. package/esm/src/linker/debug_context.js +5 -4
  167. package/esm/src/linker/debug_context.js.map +1 -1
  168. package/esm/src/linker/dynamic_component_loader.d.ts +5 -6
  169. package/esm/src/linker/dynamic_component_loader.js +5 -3
  170. package/esm/src/linker/dynamic_component_loader.js.map +1 -1
  171. package/esm/src/linker/dynamic_component_loader.metadata.json +1 -1
  172. package/esm/src/linker/element.d.ts +3 -3
  173. package/esm/src/linker/element.js +5 -5
  174. package/esm/src/linker/element.js.map +1 -1
  175. package/esm/src/linker/element_injector.js.map +1 -1
  176. package/esm/src/linker/element_ref.d.ts +1 -0
  177. package/esm/src/linker/element_ref.js +5 -5
  178. package/esm/src/linker/element_ref.js.map +1 -1
  179. package/esm/src/linker/exceptions.d.ts +4 -1
  180. package/esm/src/linker/exceptions.js +4 -1
  181. package/esm/src/linker/exceptions.js.map +1 -1
  182. package/esm/src/linker/query_list.d.ts +3 -10
  183. package/esm/src/linker/query_list.js +8 -7
  184. package/esm/src/linker/query_list.js.map +1 -1
  185. package/esm/src/linker/systemjs_component_resolver.d.ts +21 -0
  186. package/esm/src/linker/systemjs_component_resolver.js +44 -0
  187. package/esm/src/linker/systemjs_component_resolver.js.map +1 -0
  188. package/esm/src/linker/template_ref.d.ts +2 -1
  189. package/esm/src/linker/template_ref.js +1 -0
  190. package/esm/src/linker/template_ref.js.map +1 -1
  191. package/esm/src/linker/view.d.ts +12 -1
  192. package/esm/src/linker/view.js +62 -16
  193. package/esm/src/linker/view.js.map +1 -1
  194. package/esm/src/linker/view_container_ref.d.ts +2 -10
  195. package/esm/src/linker/view_container_ref.js +4 -3
  196. package/esm/src/linker/view_container_ref.js.map +1 -1
  197. package/esm/src/linker/view_ref.d.ts +5 -1
  198. package/esm/src/linker/view_ref.js +6 -2
  199. package/esm/src/linker/view_ref.js.map +1 -1
  200. package/esm/src/linker/view_type.js.map +1 -1
  201. package/esm/src/linker/view_utils.d.ts +2 -4
  202. package/esm/src/linker/view_utils.js +21 -21
  203. package/esm/src/linker/view_utils.js.map +1 -1
  204. package/esm/src/linker/view_utils.metadata.json +1 -1
  205. package/esm/src/linker.d.ts +5 -4
  206. package/esm/src/linker.js +5 -4
  207. package/esm/src/linker.js.map +1 -1
  208. package/esm/src/metadata/di.d.ts +8 -1
  209. package/esm/src/metadata/di.js +10 -3
  210. package/esm/src/metadata/di.js.map +1 -1
  211. package/esm/src/metadata/directives.d.ts +104 -20
  212. package/esm/src/metadata/directives.js +25 -19
  213. package/esm/src/metadata/directives.js.map +1 -1
  214. package/esm/src/metadata/lifecycle_hooks.d.ts +46 -31
  215. package/esm/src/metadata/lifecycle_hooks.js +464 -10
  216. package/esm/src/metadata/lifecycle_hooks.js.map +1 -1
  217. package/esm/src/metadata/lifecycle_hooks.metadata.json +1 -1
  218. package/esm/src/metadata/view.d.ts +6 -2
  219. package/esm/src/metadata/view.js +3 -1
  220. package/esm/src/metadata/view.js.map +1 -1
  221. package/esm/src/metadata/view.metadata.json +1 -1
  222. package/esm/src/metadata.d.ts +49 -15
  223. package/esm/src/metadata.js +35 -10
  224. package/esm/src/metadata.js.map +1 -1
  225. package/esm/src/metadata.metadata.json +1 -1
  226. package/esm/src/platform_common_providers.d.ts +1 -0
  227. package/esm/src/platform_common_providers.js +3 -3
  228. package/esm/src/platform_common_providers.js.map +1 -1
  229. package/esm/src/platform_common_providers.metadata.json +1 -1
  230. package/esm/src/platform_directives_and_pipes.d.ts +48 -45
  231. package/esm/src/platform_directives_and_pipes.js +50 -47
  232. package/esm/src/platform_directives_and_pipes.js.map +1 -1
  233. package/esm/src/platform_directives_and_pipes.metadata.json +1 -1
  234. package/esm/src/profile/profile.d.ts +5 -1
  235. package/esm/src/profile/profile.js +4 -0
  236. package/esm/src/profile/profile.js.map +1 -1
  237. package/esm/src/profile/profile.metadata.json +1 -1
  238. package/esm/src/profile/wtf_impl.js +1 -1
  239. package/esm/src/profile/wtf_impl.js.map +1 -1
  240. package/esm/src/profile/wtf_impl.metadata.json +1 -0
  241. package/esm/src/profile/wtf_init.js +2 -2
  242. package/esm/src/profile/wtf_init.js.map +1 -1
  243. package/esm/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  244. package/esm/src/reflection/platform_reflection_capabilities.js.map +1 -1
  245. package/esm/src/reflection/reflection.d.ts +1 -1
  246. package/esm/src/reflection/reflection.js +2 -2
  247. package/esm/src/reflection/reflection.js.map +1 -1
  248. package/esm/src/reflection/reflection.metadata.json +1 -1
  249. package/esm/src/reflection/reflection_capabilities.d.ts +4 -5
  250. package/esm/src/reflection/reflection_capabilities.js +22 -10
  251. package/esm/src/reflection/reflection_capabilities.js.map +1 -1
  252. package/esm/src/reflection/reflector.d.ts +8 -20
  253. package/esm/src/reflection/reflector.js +13 -3
  254. package/esm/src/reflection/reflector.js.map +1 -1
  255. package/esm/src/reflection/reflector_reader.js +3 -3
  256. package/esm/src/reflection/reflector_reader.js.map +1 -1
  257. package/esm/src/reflection/types.js.map +1 -1
  258. package/esm/src/render/api.d.ts +17 -6
  259. package/esm/src/render/api.js +8 -1
  260. package/esm/src/render/api.js.map +1 -1
  261. package/esm/src/render.d.ts +1 -1
  262. package/esm/src/render.js +1 -1
  263. package/esm/src/render.js.map +1 -1
  264. package/esm/src/security.js +6 -6
  265. package/esm/src/security.js.map +1 -1
  266. package/esm/src/testability/testability.d.ts +3 -19
  267. package/esm/src/testability/testability.js +10 -5
  268. package/esm/src/testability/testability.js.map +1 -1
  269. package/esm/src/testability/testability.metadata.json +1 -1
  270. package/esm/src/util/decorators.d.ts +2 -1
  271. package/esm/src/util/decorators.js +10 -9
  272. package/esm/src/util/decorators.js.map +1 -1
  273. package/esm/src/util.js.map +1 -1
  274. package/esm/src/zone/ng_zone.d.ts +6 -17
  275. package/esm/src/zone/ng_zone.js +7 -6
  276. package/esm/src/zone/ng_zone.js.map +1 -1
  277. package/esm/src/zone/ng_zone_impl.d.ts +1 -4
  278. package/esm/src/zone/ng_zone_impl.js +3 -2
  279. package/esm/src/zone/ng_zone_impl.js.map +1 -1
  280. package/esm/src/zone.js.map +1 -1
  281. package/esm/testing/async.js +20 -22
  282. package/esm/testing/async.js.map +1 -1
  283. package/esm/testing/async.metadata.json +1 -0
  284. package/esm/testing/async_test_completer.js.map +1 -1
  285. package/esm/testing/fake_async.d.ts +4 -1
  286. package/esm/testing/fake_async.js +9 -2
  287. package/esm/testing/fake_async.js.map +1 -1
  288. package/esm/testing/lang_utils.js +1 -1
  289. package/esm/testing/lang_utils.js.map +1 -1
  290. package/esm/testing/lang_utils.metadata.json +1 -0
  291. package/esm/testing/logger.js +5 -3
  292. package/esm/testing/logger.js.map +1 -1
  293. package/esm/testing/logger.metadata.json +1 -1
  294. package/esm/testing/mock_application_ref.d.ts +1 -1
  295. package/esm/testing/mock_application_ref.js +1 -0
  296. package/esm/testing/mock_application_ref.js.map +1 -1
  297. package/esm/testing/mock_application_ref.metadata.json +1 -1
  298. package/esm/testing/ng_zone_mock.d.ts +0 -1
  299. package/esm/testing/ng_zone_mock.js +2 -1
  300. package/esm/testing/ng_zone_mock.js.map +1 -1
  301. package/esm/testing/ng_zone_mock.metadata.json +1 -1
  302. package/esm/testing/regexp.js +1 -1
  303. package/esm/testing/regexp.js.map +1 -1
  304. package/esm/testing/regexp.metadata.json +1 -0
  305. package/esm/testing/test_injector.d.ts +6 -12
  306. package/esm/testing/test_injector.js +4 -10
  307. package/esm/testing/test_injector.js.map +1 -1
  308. package/esm/testing/test_injector.metadata.json +1 -0
  309. package/esm/testing/testing.d.ts +2 -2
  310. package/esm/testing/testing.js +2 -2
  311. package/esm/testing/testing.js.map +1 -1
  312. package/esm/testing/testing.metadata.json +1 -1
  313. package/esm/testing.js.map +1 -1
  314. package/index.d.ts +5 -4
  315. package/index.js +10 -8
  316. package/index.js.map +1 -1
  317. package/package.json +5 -1
  318. package/private_export.d.ts +96 -11
  319. package/private_export.js +39 -10
  320. package/private_export.js.map +1 -1
  321. package/private_export.metadata.json +1 -1
  322. package/src/animation/active_animation_players_map.d.ts +11 -0
  323. package/src/animation/active_animation_players_map.js +54 -0
  324. package/src/animation/active_animation_players_map.js.map +1 -0
  325. package/src/animation/animation_constants.d.ts +4 -0
  326. package/src/animation/animation_constants.js +6 -0
  327. package/src/animation/animation_constants.js.map +1 -0
  328. package/src/animation/animation_constants.metadata.json +1 -0
  329. package/src/animation/animation_driver.d.ts +9 -0
  330. package/src/animation/animation_driver.js +25 -0
  331. package/src/animation/animation_driver.js.map +1 -0
  332. package/src/animation/animation_group_player.d.ts +18 -0
  333. package/src/animation/animation_group_player.js +64 -0
  334. package/src/animation/animation_group_player.js.map +1 -0
  335. package/src/animation/animation_keyframe.d.ts +6 -0
  336. package/src/animation/animation_keyframe.js +10 -0
  337. package/src/animation/animation_keyframe.js.map +1 -0
  338. package/src/animation/animation_player.d.ts +26 -0
  339. package/src/animation/animation_player.js +42 -0
  340. package/src/animation/animation_player.js.map +1 -0
  341. package/src/animation/animation_sequence_player.d.ts +21 -0
  342. package/src/animation/animation_sequence_player.js +69 -0
  343. package/src/animation/animation_sequence_player.js.map +1 -0
  344. package/src/animation/animation_style_util.d.ts +32 -0
  345. package/src/animation/animation_style_util.js +99 -0
  346. package/src/animation/animation_style_util.js.map +1 -0
  347. package/src/animation/animation_style_util.metadata.json +1 -0
  348. package/src/animation/animation_styles.d.ts +8 -0
  349. package/src/animation/animation_styles.js +9 -0
  350. package/src/animation/animation_styles.js.map +1 -0
  351. package/src/animation/metadata.d.ts +511 -0
  352. package/src/animation/metadata.js +627 -0
  353. package/src/animation/metadata.js.map +1 -0
  354. package/src/animation/metadata.metadata.json +1 -0
  355. package/src/application_common_providers.d.ts +1 -0
  356. package/src/application_common_providers.js +4 -3
  357. package/src/application_common_providers.js.map +1 -1
  358. package/src/application_common_providers.metadata.json +1 -1
  359. package/src/application_ref.d.ts +17 -41
  360. package/src/application_ref.js +30 -21
  361. package/src/application_ref.js.map +1 -1
  362. package/src/application_ref.metadata.json +1 -1
  363. package/src/application_tokens.d.ts +6 -1
  364. package/src/application_tokens.js +9 -4
  365. package/src/application_tokens.js.map +1 -1
  366. package/src/application_tokens.metadata.json +1 -1
  367. package/src/change_detection/change_detection.d.ts +9 -8
  368. package/src/change_detection/change_detection.js +21 -21
  369. package/src/change_detection/change_detection.js.map +1 -1
  370. package/src/change_detection/change_detection.metadata.json +1 -1
  371. package/src/change_detection/change_detection_util.d.ts +3 -1
  372. package/src/change_detection/change_detection_util.js +6 -5
  373. package/src/change_detection/change_detection_util.js.map +1 -1
  374. package/src/change_detection/change_detection_util.metadata.json +1 -1
  375. package/src/change_detection/change_detector_ref.d.ts +3 -0
  376. package/src/change_detection/change_detector_ref.js +3 -0
  377. package/src/change_detection/change_detector_ref.js.map +1 -1
  378. package/src/change_detection/constants.d.ts +1 -0
  379. package/src/change_detection/constants.js +4 -3
  380. package/src/change_detection/constants.js.map +1 -1
  381. package/src/change_detection/constants.metadata.json +1 -1
  382. package/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  383. package/src/change_detection/differs/default_iterable_differ.js +25 -18
  384. package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  385. package/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  386. package/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  387. package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  388. package/src/change_detection/differs/iterable_differs.d.ts +4 -1
  389. package/src/change_detection/differs/iterable_differs.js +4 -3
  390. package/src/change_detection/differs/iterable_differs.js.map +1 -1
  391. package/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  392. package/src/change_detection/differs/keyvalue_differs.js +4 -3
  393. package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  394. package/src/change_detection/pipe_transform.js.map +1 -1
  395. package/src/change_detection.d.ts +1 -1
  396. package/src/change_detection.js +9 -9
  397. package/src/change_detection.js.map +1 -1
  398. package/src/console.js +2 -1
  399. package/src/console.js.map +1 -1
  400. package/src/console.metadata.json +1 -1
  401. package/src/debug/debug_node.d.ts +20 -2
  402. package/src/debug/debug_node.js +16 -2
  403. package/src/debug/debug_node.js.map +1 -1
  404. package/src/debug/debug_node.metadata.json +1 -0
  405. package/src/debug/debug_renderer.d.ts +10 -6
  406. package/src/debug/debug_renderer.js +12 -1
  407. package/src/debug/debug_renderer.js.map +1 -1
  408. package/src/di/decorators.d.ts +13 -1
  409. package/src/di/decorators.js +7 -1
  410. package/src/di/decorators.js.map +1 -1
  411. package/src/di/decorators.metadata.json +1 -1
  412. package/src/di/forward_ref.d.ts +3 -1
  413. package/src/di/forward_ref.js +3 -1
  414. package/src/di/forward_ref.js.map +1 -1
  415. package/src/di/injector.d.ts +4 -1
  416. package/src/di/injector.js +5 -2
  417. package/src/di/injector.js.map +1 -1
  418. package/src/di/injector.metadata.json +1 -1
  419. package/src/di/metadata.d.ts +8 -1
  420. package/src/di/metadata.js +10 -3
  421. package/src/di/metadata.js.map +1 -1
  422. package/src/di/opaque_token.d.ts +2 -1
  423. package/src/di/opaque_token.js +22 -21
  424. package/src/di/opaque_token.js.map +1 -1
  425. package/src/di/provider.d.ts +11 -10
  426. package/src/di/provider.js +17 -14
  427. package/src/di/provider.js.map +1 -1
  428. package/src/di/provider.metadata.json +1 -0
  429. package/src/di/provider_util.js.map +1 -1
  430. package/src/di/provider_util.metadata.json +1 -0
  431. package/src/di/reflective_exceptions.d.ts +11 -16
  432. package/src/di/reflective_exceptions.js +28 -22
  433. package/src/di/reflective_exceptions.js.map +1 -1
  434. package/src/di/reflective_injector.d.ts +3 -33
  435. package/src/di/reflective_injector.js +9 -6
  436. package/src/di/reflective_injector.js.map +1 -1
  437. package/src/di/reflective_key.d.ts +1 -8
  438. package/src/di/reflective_key.js +3 -2
  439. package/src/di/reflective_key.js.map +1 -1
  440. package/src/di/reflective_provider.d.ts +2 -1
  441. package/src/di/reflective_provider.js +6 -5
  442. package/src/di/reflective_provider.js.map +1 -1
  443. package/src/di/reflective_provider.metadata.json +1 -0
  444. package/src/di.d.ts +2 -2
  445. package/src/di.js +7 -9
  446. package/src/di.js.map +1 -1
  447. package/src/facade/async.d.ts +11 -4
  448. package/src/facade/async.js +27 -17
  449. package/src/facade/async.js.map +1 -1
  450. package/src/facade/base_wrapped_exception.js +4 -4
  451. package/src/facade/base_wrapped_exception.js.map +1 -1
  452. package/src/facade/collection.js.map +1 -1
  453. package/src/facade/collection.metadata.json +1 -1
  454. package/src/facade/exception_handler.d.ts +2 -11
  455. package/src/facade/exception_handler.js +8 -7
  456. package/src/facade/exception_handler.js.map +1 -1
  457. package/src/facade/exceptions.d.ts +4 -0
  458. package/src/facade/exceptions.js +6 -2
  459. package/src/facade/exceptions.js.map +1 -1
  460. package/src/facade/exceptions.metadata.json +1 -0
  461. package/src/facade/lang.d.ts +6 -4
  462. package/src/facade/lang.js +12 -11
  463. package/src/facade/lang.js.map +1 -1
  464. package/src/facade/lang.metadata.json +1 -1
  465. package/src/facade/math.d.ts +2 -0
  466. package/src/facade/math.js +5 -0
  467. package/src/facade/math.js.map +1 -0
  468. package/src/facade/math.metadata.json +1 -0
  469. package/src/facade/promise.js.map +1 -1
  470. package/src/linker/component_factory.d.ts +5 -4
  471. package/src/linker/component_factory.js +7 -3
  472. package/src/linker/component_factory.js.map +1 -1
  473. package/src/linker/component_resolver.d.ts +5 -4
  474. package/src/linker/component_resolver.js +12 -7
  475. package/src/linker/component_resolver.js.map +1 -1
  476. package/src/linker/component_resolver.metadata.json +1 -1
  477. package/src/linker/debug_context.js +5 -4
  478. package/src/linker/debug_context.js.map +1 -1
  479. package/src/linker/dynamic_component_loader.d.ts +5 -6
  480. package/src/linker/dynamic_component_loader.js +5 -3
  481. package/src/linker/dynamic_component_loader.js.map +1 -1
  482. package/src/linker/dynamic_component_loader.metadata.json +1 -1
  483. package/src/linker/element.d.ts +3 -3
  484. package/src/linker/element.js +5 -5
  485. package/src/linker/element.js.map +1 -1
  486. package/src/linker/element_injector.js.map +1 -1
  487. package/src/linker/element_ref.d.ts +1 -0
  488. package/src/linker/element_ref.js +5 -5
  489. package/src/linker/element_ref.js.map +1 -1
  490. package/src/linker/exceptions.d.ts +4 -1
  491. package/src/linker/exceptions.js +4 -1
  492. package/src/linker/exceptions.js.map +1 -1
  493. package/src/linker/query_list.d.ts +3 -10
  494. package/src/linker/query_list.js +8 -7
  495. package/src/linker/query_list.js.map +1 -1
  496. package/src/linker/systemjs_component_resolver.d.ts +21 -0
  497. package/src/linker/systemjs_component_resolver.js +52 -0
  498. package/src/linker/systemjs_component_resolver.js.map +1 -0
  499. package/src/linker/template_ref.d.ts +2 -1
  500. package/src/linker/template_ref.js +1 -0
  501. package/src/linker/template_ref.js.map +1 -1
  502. package/src/linker/view.d.ts +12 -1
  503. package/src/linker/view.js +65 -15
  504. package/src/linker/view.js.map +1 -1
  505. package/src/linker/view_container_ref.d.ts +2 -10
  506. package/src/linker/view_container_ref.js +4 -3
  507. package/src/linker/view_container_ref.js.map +1 -1
  508. package/src/linker/view_ref.d.ts +5 -1
  509. package/src/linker/view_ref.js +6 -2
  510. package/src/linker/view_ref.js.map +1 -1
  511. package/src/linker/view_type.js.map +1 -1
  512. package/src/linker/view_utils.d.ts +2 -4
  513. package/src/linker/view_utils.js +21 -21
  514. package/src/linker/view_utils.js.map +1 -1
  515. package/src/linker/view_utils.metadata.json +1 -1
  516. package/src/linker.d.ts +5 -4
  517. package/src/linker.js +12 -9
  518. package/src/linker.js.map +1 -1
  519. package/src/metadata/di.d.ts +8 -1
  520. package/src/metadata/di.js +10 -3
  521. package/src/metadata/di.js.map +1 -1
  522. package/src/metadata/directives.d.ts +104 -20
  523. package/src/metadata/directives.js +25 -27
  524. package/src/metadata/directives.js.map +1 -1
  525. package/src/metadata/lifecycle_hooks.d.ts +46 -31
  526. package/src/metadata/lifecycle_hooks.js +496 -10
  527. package/src/metadata/lifecycle_hooks.js.map +1 -1
  528. package/src/metadata/lifecycle_hooks.metadata.json +1 -1
  529. package/src/metadata/view.d.ts +6 -2
  530. package/src/metadata/view.js +3 -1
  531. package/src/metadata/view.js.map +1 -1
  532. package/src/metadata/view.metadata.json +1 -1
  533. package/src/metadata.d.ts +49 -15
  534. package/src/metadata.js +70 -37
  535. package/src/metadata.js.map +1 -1
  536. package/src/metadata.metadata.json +1 -1
  537. package/src/platform_common_providers.d.ts +1 -0
  538. package/src/platform_common_providers.js +3 -3
  539. package/src/platform_common_providers.js.map +1 -1
  540. package/src/platform_common_providers.metadata.json +1 -1
  541. package/src/platform_directives_and_pipes.d.ts +48 -45
  542. package/src/platform_directives_and_pipes.js +50 -47
  543. package/src/platform_directives_and_pipes.js.map +1 -1
  544. package/src/platform_directives_and_pipes.metadata.json +1 -1
  545. package/src/profile/profile.d.ts +5 -1
  546. package/src/profile/profile.js +5 -3
  547. package/src/profile/profile.js.map +1 -1
  548. package/src/profile/profile.metadata.json +1 -1
  549. package/src/profile/wtf_impl.js +1 -1
  550. package/src/profile/wtf_impl.js.map +1 -1
  551. package/src/profile/wtf_impl.metadata.json +1 -0
  552. package/src/profile/wtf_init.js +2 -2
  553. package/src/profile/wtf_init.js.map +1 -1
  554. package/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  555. package/src/reflection/platform_reflection_capabilities.js.map +1 -1
  556. package/src/reflection/reflection.d.ts +1 -1
  557. package/src/reflection/reflection.js +2 -2
  558. package/src/reflection/reflection.js.map +1 -1
  559. package/src/reflection/reflection.metadata.json +1 -1
  560. package/src/reflection/reflection_capabilities.d.ts +4 -5
  561. package/src/reflection/reflection_capabilities.js +24 -10
  562. package/src/reflection/reflection_capabilities.js.map +1 -1
  563. package/src/reflection/reflector.d.ts +8 -20
  564. package/src/reflection/reflector.js +13 -3
  565. package/src/reflection/reflector.js.map +1 -1
  566. package/src/reflection/reflector_reader.js +3 -3
  567. package/src/reflection/reflector_reader.js.map +1 -1
  568. package/src/reflection/types.js.map +1 -1
  569. package/src/render/api.d.ts +17 -6
  570. package/src/render/api.js +8 -1
  571. package/src/render/api.js.map +1 -1
  572. package/src/render.d.ts +1 -1
  573. package/src/render.js +2 -2
  574. package/src/render.js.map +1 -1
  575. package/src/security.js +6 -6
  576. package/src/security.js.map +1 -1
  577. package/src/testability/testability.d.ts +3 -19
  578. package/src/testability/testability.js +10 -5
  579. package/src/testability/testability.js.map +1 -1
  580. package/src/testability/testability.metadata.json +1 -1
  581. package/src/util/decorators.d.ts +2 -1
  582. package/src/util/decorators.js +10 -9
  583. package/src/util/decorators.js.map +1 -1
  584. package/src/util.js.map +1 -1
  585. package/src/zone/ng_zone.d.ts +6 -17
  586. package/src/zone/ng_zone.js +11 -6
  587. package/src/zone/ng_zone.js.map +1 -1
  588. package/src/zone/ng_zone_impl.d.ts +1 -4
  589. package/src/zone/ng_zone_impl.js +3 -2
  590. package/src/zone/ng_zone_impl.js.map +1 -1
  591. package/src/zone.js.map +1 -1
  592. package/testing/async.js +20 -22
  593. package/testing/async.js.map +1 -1
  594. package/testing/async.metadata.json +1 -0
  595. package/testing/async_test_completer.js.map +1 -1
  596. package/testing/fake_async.d.ts +4 -1
  597. package/testing/fake_async.js +10 -2
  598. package/testing/fake_async.js.map +1 -1
  599. package/testing/lang_utils.js +1 -1
  600. package/testing/lang_utils.js.map +1 -1
  601. package/testing/lang_utils.metadata.json +1 -0
  602. package/testing/logger.js +5 -3
  603. package/testing/logger.js.map +1 -1
  604. package/testing/logger.metadata.json +1 -1
  605. package/testing/mock_application_ref.d.ts +1 -1
  606. package/testing/mock_application_ref.js +1 -0
  607. package/testing/mock_application_ref.js.map +1 -1
  608. package/testing/mock_application_ref.metadata.json +1 -1
  609. package/testing/ng_zone_mock.d.ts +0 -1
  610. package/testing/ng_zone_mock.js +2 -1
  611. package/testing/ng_zone_mock.js.map +1 -1
  612. package/testing/ng_zone_mock.metadata.json +1 -1
  613. package/testing/regexp.js +1 -1
  614. package/testing/regexp.js.map +1 -1
  615. package/testing/regexp.metadata.json +1 -0
  616. package/testing/test_injector.d.ts +6 -12
  617. package/testing/test_injector.js +3 -9
  618. package/testing/test_injector.js.map +1 -1
  619. package/testing/test_injector.metadata.json +1 -0
  620. package/testing/testing.d.ts +2 -2
  621. package/testing/testing.js +5 -5
  622. package/testing/testing.js.map +1 -1
  623. package/testing/testing.metadata.json +1 -1
  624. package/testing.js.map +1 -1
@@ -4,10 +4,10 @@ var __extends = (this && this.__extends) || function (d, b) {
4
4
  function __() { this.constructor = d; }
5
5
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
6
  };
7
- var collection_1 = require('../../src/facade/collection');
7
+ var async_1 = require('../facade/async');
8
+ var collection_1 = require('../facade/collection');
9
+ var lang_1 = require('../facade/lang');
8
10
  var element_1 = require('./element');
9
- var lang_1 = require('../../src/facade/lang');
10
- var async_1 = require('../../src/facade/async');
11
11
  var view_ref_1 = require('./view_ref');
12
12
  var view_type_1 = require('./view_type');
13
13
  var view_utils_1 = require('./view_utils');
@@ -16,6 +16,8 @@ var profile_1 = require('../profile/profile');
16
16
  var exceptions_1 = require('./exceptions');
17
17
  var debug_context_1 = require('./debug_context');
18
18
  var element_injector_1 = require('./element_injector');
19
+ var animation_group_player_1 = require('../animation/animation_group_player');
20
+ var active_animation_players_map_1 = require('../animation/active_animation_players_map');
19
21
  var _scope_check = profile_1.wtfCreateScope("AppView#check(ascii id)");
20
22
  /**
21
23
  * Cost of making objects: http://jsperf.com/instantiate-size-of-object
@@ -37,6 +39,7 @@ var AppView = (function () {
37
39
  // change detection will fail.
38
40
  this.cdState = change_detection_1.ChangeDetectorState.NeverChecked;
39
41
  this.destroyed = false;
42
+ this.activeAnimationPlayers = new active_animation_players_map_1.ActiveAnimationPlayersMap();
40
43
  this.ref = new view_ref_1.ViewRef_(this);
41
44
  if (type === view_type_1.ViewType.COMPONENT || type === view_type_1.ViewType.HOST) {
42
45
  this.renderer = viewUtils.renderComponent(componentType);
@@ -45,6 +48,24 @@ var AppView = (function () {
45
48
  this.renderer = declarationAppElement.parentView.renderer;
46
49
  }
47
50
  }
51
+ AppView.prototype.cancelActiveAnimation = function (element, animationName, removeAllAnimations) {
52
+ if (removeAllAnimations === void 0) { removeAllAnimations = false; }
53
+ if (removeAllAnimations) {
54
+ this.activeAnimationPlayers.findAllPlayersByElement(element).forEach(function (player) { return player.destroy(); });
55
+ }
56
+ else {
57
+ var player = this.activeAnimationPlayers.find(element, animationName);
58
+ if (lang_1.isPresent(player)) {
59
+ player.destroy();
60
+ }
61
+ }
62
+ };
63
+ AppView.prototype.registerAndStartAnimation = function (element, animationName, player) {
64
+ var _this = this;
65
+ this.activeAnimationPlayers.set(element, animationName, player);
66
+ player.onDone(function () { _this.activeAnimationPlayers.remove(element, animationName); });
67
+ player.play();
68
+ };
48
69
  AppView.prototype.create = function (context, givenProjectableNodes, rootSelectorOrNode) {
49
70
  this.context = context;
50
71
  var projectableNodes;
@@ -134,6 +155,7 @@ var AppView = (function () {
134
155
  this.destroyed = true;
135
156
  };
136
157
  AppView.prototype.destroyLocal = function () {
158
+ var _this = this;
137
159
  var hostElement = this.type === view_type_1.ViewType.COMPONENT ? this.declarationAppElement.nativeElement : null;
138
160
  for (var i = 0; i < this.disposables.length; i++) {
139
161
  this.disposables[i]();
@@ -142,21 +164,34 @@ var AppView = (function () {
142
164
  async_1.ObservableWrapper.dispose(this.subscriptions[i]);
143
165
  }
144
166
  this.destroyInternal();
145
- if (this._hasExternalHostElement) {
146
- this.renderer.detachView(this.flatRootNodes);
147
- }
148
- else if (lang_1.isPresent(this.viewContainerElement)) {
149
- this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));
167
+ this.dirtyParentQueriesInternal();
168
+ if (this.activeAnimationPlayers.length == 0) {
169
+ this.renderer.destroyView(hostElement, this.allNodes);
150
170
  }
151
171
  else {
152
- this.dirtyParentQueriesInternal();
172
+ var player = new animation_group_player_1.AnimationGroupPlayer(this.activeAnimationPlayers.getAllPlayers());
173
+ player.onDone(function () { _this.renderer.destroyView(hostElement, _this.allNodes); });
153
174
  }
154
- this.renderer.destroyView(hostElement, this.allNodes);
155
175
  };
156
176
  /**
157
177
  * Overwritten by implementations
158
178
  */
159
179
  AppView.prototype.destroyInternal = function () { };
180
+ /**
181
+ * Overwritten by implementations
182
+ */
183
+ AppView.prototype.detachInternal = function () { };
184
+ AppView.prototype.detach = function () {
185
+ var _this = this;
186
+ this.detachInternal();
187
+ if (this.activeAnimationPlayers.length == 0) {
188
+ this.renderer.detachView(this.flatRootNodes);
189
+ }
190
+ else {
191
+ var player = new animation_group_player_1.AnimationGroupPlayer(this.activeAnimationPlayers.getAllPlayers());
192
+ player.onDone(function () { _this.renderer.detachView(_this.flatRootNodes); });
193
+ }
194
+ };
160
195
  Object.defineProperty(AppView.prototype, "changeDetectorRef", {
161
196
  get: function () { return this.ref; },
162
197
  enumerable: true,
@@ -190,8 +225,7 @@ var AppView = (function () {
190
225
  AppView.prototype.dirtyParentQueriesInternal = function () { };
191
226
  AppView.prototype.detectChanges = function (throwOnChange) {
192
227
  var s = _scope_check(this.clazz);
193
- if (this.cdMode === change_detection_1.ChangeDetectionStrategy.Detached ||
194
- this.cdMode === change_detection_1.ChangeDetectionStrategy.Checked ||
228
+ if (this.cdMode === change_detection_1.ChangeDetectionStrategy.Checked ||
195
229
  this.cdState === change_detection_1.ChangeDetectorState.Errored)
196
230
  return;
197
231
  if (this.destroyed) {
@@ -212,12 +246,18 @@ var AppView = (function () {
212
246
  };
213
247
  AppView.prototype.detectContentChildrenChanges = function (throwOnChange) {
214
248
  for (var i = 0; i < this.contentChildren.length; ++i) {
215
- this.contentChildren[i].detectChanges(throwOnChange);
249
+ var child = this.contentChildren[i];
250
+ if (child.cdMode === change_detection_1.ChangeDetectionStrategy.Detached)
251
+ continue;
252
+ child.detectChanges(throwOnChange);
216
253
  }
217
254
  };
218
255
  AppView.prototype.detectViewChildrenChanges = function (throwOnChange) {
219
256
  for (var i = 0; i < this.viewChildren.length; ++i) {
220
- this.viewChildren[i].detectChanges(throwOnChange);
257
+ var child = this.viewChildren[i];
258
+ if (child.cdMode === change_detection_1.ChangeDetectionStrategy.Detached)
259
+ continue;
260
+ child.detectChanges(throwOnChange);
221
261
  }
222
262
  };
223
263
  AppView.prototype.addToContentChildren = function (renderAppElement) {
@@ -273,6 +313,16 @@ var DebugAppView = (function (_super) {
273
313
  throw e;
274
314
  }
275
315
  };
316
+ DebugAppView.prototype.detach = function () {
317
+ this._resetDebug();
318
+ try {
319
+ _super.prototype.detach.call(this);
320
+ }
321
+ catch (e) {
322
+ this._rethrowWithContext(e, e.stack);
323
+ throw e;
324
+ }
325
+ };
276
326
  DebugAppView.prototype.destroyLocal = function () {
277
327
  this._resetDebug();
278
328
  try {
@@ -310,7 +360,7 @@ var DebugAppView = (function (_super) {
310
360
  DebugAppView.prototype.eventHandler = function (cb) {
311
361
  var _this = this;
312
362
  var superHandler = _super.prototype.eventHandler.call(this, cb);
313
- return function (event) {
363
+ return function (event /** TODO #9100 */) {
314
364
  _this._resetDebug();
315
365
  try {
316
366
  return superHandler(event);
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {\n ListWrapper,\n StringMapWrapper,\n} from '../../src/facade/collection';\n\nimport {AppElement} from './element';\nimport {\n assertionsEnabled,\n isPresent,\n isBlank,\n Type,\n isArray,\n isNumber,\n stringify,\n isPrimitive,\n isString\n} from '../../src/facade/lang';\n\nimport {ObservableWrapper} from '../../src/facade/async';\nimport {Renderer, RootRenderer, RenderComponentType, RenderDebugInfo} from '../render/api';\nimport {ViewRef_} from './view_ref';\n\nimport {ViewType} from './view_type';\nimport {\n ViewUtils,\n flattenNestedViewRenderNodes,\n ensureSlotCount,\n arrayLooseIdentical,\n mapLooseIdentical\n} from './view_utils';\nimport {\n ChangeDetectorRef,\n ChangeDetectionStrategy,\n ChangeDetectorState,\n} from '../change_detection/change_detection';\nimport {wtfCreateScope, wtfLeave, WtfScopeFn} from '../profile/profile';\nimport {\n ExpressionChangedAfterItHasBeenCheckedException,\n ViewDestroyedException,\n ViewWrappedException\n} from './exceptions';\nimport {StaticNodeDebugInfo, DebugContext} from './debug_context';\nimport {ElementInjector} from './element_injector';\nimport {Injector} from '../di/injector';\n\nvar _scope_check: WtfScopeFn = wtfCreateScope(`AppView#check(ascii id)`);\n\n/**\n * Cost of making objects: http://jsperf.com/instantiate-size-of-object\n *\n */\nexport abstract class AppView<T> {\n ref: ViewRef_<T>;\n rootNodesOrAppElements: any[];\n allNodes: any[];\n disposables: Function[];\n subscriptions: any[];\n contentChildren: AppView<any>[] = [];\n viewChildren: AppView<any>[] = [];\n viewContainerElement: AppElement = null;\n\n // The names of the below fields must be kept in sync with codegen_name_util.ts or\n // change detection will fail.\n cdState: ChangeDetectorState = ChangeDetectorState.NeverChecked;\n\n projectableNodes: Array<any | any[]>;\n\n destroyed: boolean = false;\n\n renderer: Renderer;\n\n private _hasExternalHostElement: boolean;\n\n public context: T;\n\n constructor(public clazz: any, public componentType: RenderComponentType, public type: ViewType,\n public viewUtils: ViewUtils, public parentInjector: Injector,\n public declarationAppElement: AppElement, public cdMode: ChangeDetectionStrategy) {\n this.ref = new ViewRef_(this);\n if (type === ViewType.COMPONENT || type === ViewType.HOST) {\n this.renderer = viewUtils.renderComponent(componentType);\n } else {\n this.renderer = declarationAppElement.parentView.renderer;\n }\n }\n\n create(context: T, givenProjectableNodes: Array<any | any[]>,\n rootSelectorOrNode: string | any): AppElement {\n this.context = context;\n var projectableNodes;\n switch (this.type) {\n case ViewType.COMPONENT:\n projectableNodes = ensureSlotCount(givenProjectableNodes, this.componentType.slotCount);\n break;\n case ViewType.EMBEDDED:\n projectableNodes = this.declarationAppElement.parentView.projectableNodes;\n break;\n case ViewType.HOST:\n // Note: Don't ensure the slot count for the projectableNodes as we store\n // them only for the contained component view (which will later check the slot count...)\n projectableNodes = givenProjectableNodes;\n break;\n }\n this._hasExternalHostElement = isPresent(rootSelectorOrNode);\n this.projectableNodes = projectableNodes;\n return this.createInternal(rootSelectorOrNode);\n }\n\n /**\n * Overwritten by implementations.\n * Returns the AppElement for the host element for ViewType.HOST.\n */\n createInternal(rootSelectorOrNode: string | any): AppElement { return null; }\n\n init(rootNodesOrAppElements: any[], allNodes: any[], disposables: Function[],\n subscriptions: any[]) {\n this.rootNodesOrAppElements = rootNodesOrAppElements;\n this.allNodes = allNodes;\n this.disposables = disposables;\n this.subscriptions = subscriptions;\n if (this.type === ViewType.COMPONENT) {\n // Note: the render nodes have been attached to their host element\n // in the ViewFactory already.\n this.declarationAppElement.parentView.viewChildren.push(this);\n this.dirtyParentQueriesInternal();\n }\n }\n\n selectOrCreateHostElement(elementName: string, rootSelectorOrNode: string | any,\n debugInfo: RenderDebugInfo): any {\n var hostElement;\n if (isPresent(rootSelectorOrNode)) {\n hostElement = this.renderer.selectRootElement(rootSelectorOrNode, debugInfo);\n } else {\n hostElement = this.renderer.createElement(null, elementName, debugInfo);\n }\n return hostElement;\n }\n\n injectorGet(token: any, nodeIndex: number, notFoundResult: any): any {\n return this.injectorGetInternal(token, nodeIndex, notFoundResult);\n }\n\n /**\n * Overwritten by implementations\n */\n injectorGetInternal(token: any, nodeIndex: number, notFoundResult: any): any {\n return notFoundResult;\n }\n\n injector(nodeIndex: number): Injector {\n if (isPresent(nodeIndex)) {\n return new ElementInjector(this, nodeIndex);\n } else {\n return this.parentInjector;\n }\n }\n\n destroy() {\n if (this._hasExternalHostElement) {\n this.renderer.detachView(this.flatRootNodes);\n } else if (isPresent(this.viewContainerElement)) {\n this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));\n }\n this._destroyRecurse();\n }\n\n private _destroyRecurse() {\n if (this.destroyed) {\n return;\n }\n var children = this.contentChildren;\n for (var i = 0; i < children.length; i++) {\n children[i]._destroyRecurse();\n }\n children = this.viewChildren;\n for (var i = 0; i < children.length; i++) {\n children[i]._destroyRecurse();\n }\n this.destroyLocal();\n\n this.destroyed = true;\n }\n\n destroyLocal() {\n var hostElement =\n this.type === ViewType.COMPONENT ? this.declarationAppElement.nativeElement : null;\n for (var i = 0; i < this.disposables.length; i++) {\n this.disposables[i]();\n }\n for (var i = 0; i < this.subscriptions.length; i++) {\n ObservableWrapper.dispose(this.subscriptions[i]);\n }\n this.destroyInternal();\n if (this._hasExternalHostElement) {\n this.renderer.detachView(this.flatRootNodes);\n } else if (isPresent(this.viewContainerElement)) {\n this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));\n } else {\n this.dirtyParentQueriesInternal();\n }\n this.renderer.destroyView(hostElement, this.allNodes);\n }\n\n /**\n * Overwritten by implementations\n */\n destroyInternal(): void {}\n\n get changeDetectorRef(): ChangeDetectorRef { return this.ref; }\n\n get parent(): AppView<any> {\n return isPresent(this.declarationAppElement) ? this.declarationAppElement.parentView : null;\n }\n\n get flatRootNodes(): any[] { return flattenNestedViewRenderNodes(this.rootNodesOrAppElements); }\n\n get lastRootNode(): any {\n var lastNode = this.rootNodesOrAppElements.length > 0 ?\n this.rootNodesOrAppElements[this.rootNodesOrAppElements.length - 1] :\n null;\n return _findLastRenderNode(lastNode);\n }\n\n /**\n * Overwritten by implementations\n */\n dirtyParentQueriesInternal(): void {}\n\n detectChanges(throwOnChange: boolean): void {\n var s = _scope_check(this.clazz);\n if (this.cdMode === ChangeDetectionStrategy.Detached ||\n this.cdMode === ChangeDetectionStrategy.Checked ||\n this.cdState === ChangeDetectorState.Errored)\n return;\n if (this.destroyed) {\n this.throwDestroyedError('detectChanges');\n }\n this.detectChangesInternal(throwOnChange);\n if (this.cdMode === ChangeDetectionStrategy.CheckOnce)\n this.cdMode = ChangeDetectionStrategy.Checked;\n\n this.cdState = ChangeDetectorState.CheckedBefore;\n wtfLeave(s);\n }\n\n /**\n * Overwritten by implementations\n */\n detectChangesInternal(throwOnChange: boolean): void {\n this.detectContentChildrenChanges(throwOnChange);\n this.detectViewChildrenChanges(throwOnChange);\n }\n\n detectContentChildrenChanges(throwOnChange: boolean) {\n for (var i = 0; i < this.contentChildren.length; ++i) {\n this.contentChildren[i].detectChanges(throwOnChange);\n }\n }\n\n detectViewChildrenChanges(throwOnChange: boolean) {\n for (var i = 0; i < this.viewChildren.length; ++i) {\n this.viewChildren[i].detectChanges(throwOnChange);\n }\n }\n\n addToContentChildren(renderAppElement: AppElement): void {\n renderAppElement.parentView.contentChildren.push(this);\n this.viewContainerElement = renderAppElement;\n this.dirtyParentQueriesInternal();\n }\n\n removeFromContentChildren(renderAppElement: AppElement): void {\n ListWrapper.remove(renderAppElement.parentView.contentChildren, this);\n this.dirtyParentQueriesInternal();\n this.viewContainerElement = null;\n }\n\n markAsCheckOnce(): void { this.cdMode = ChangeDetectionStrategy.CheckOnce; }\n\n markPathToRootAsCheckOnce(): void {\n let c: AppView<any> = this;\n while (isPresent(c) && c.cdMode !== ChangeDetectionStrategy.Detached) {\n if (c.cdMode === ChangeDetectionStrategy.Checked) {\n c.cdMode = ChangeDetectionStrategy.CheckOnce;\n }\n let parentEl =\n c.type === ViewType.COMPONENT ? c.declarationAppElement : c.viewContainerElement;\n c = isPresent(parentEl) ? parentEl.parentView : null;\n }\n }\n\n eventHandler(cb: Function): Function { return cb; }\n\n throwDestroyedError(details: string): void { throw new ViewDestroyedException(details); }\n}\n\nexport class DebugAppView<T> extends AppView<T> {\n private _currentDebugContext: DebugContext = null;\n\n constructor(clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils,\n parentInjector: Injector, declarationAppElement: AppElement,\n cdMode: ChangeDetectionStrategy, public staticNodeDebugInfos: StaticNodeDebugInfo[]) {\n super(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode);\n }\n\n create(context: T, givenProjectableNodes: Array<any | any[]>,\n rootSelectorOrNode: string | any): AppElement {\n this._resetDebug();\n try {\n return super.create(context, givenProjectableNodes, rootSelectorOrNode);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n injectorGet(token: any, nodeIndex: number, notFoundResult: any): any {\n this._resetDebug();\n try {\n return super.injectorGet(token, nodeIndex, notFoundResult);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n destroyLocal() {\n this._resetDebug();\n try {\n super.destroyLocal();\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n detectChanges(throwOnChange: boolean): void {\n this._resetDebug();\n try {\n super.detectChanges(throwOnChange);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n private _resetDebug() { this._currentDebugContext = null; }\n\n debug(nodeIndex: number, rowNum: number, colNum: number): DebugContext {\n return this._currentDebugContext = new DebugContext(this, nodeIndex, rowNum, colNum);\n }\n\n private _rethrowWithContext(e: any, stack: any) {\n if (!(e instanceof ViewWrappedException)) {\n if (!(e instanceof ExpressionChangedAfterItHasBeenCheckedException)) {\n this.cdState = ChangeDetectorState.Errored;\n }\n if (isPresent(this._currentDebugContext)) {\n throw new ViewWrappedException(e, stack, this._currentDebugContext);\n }\n }\n }\n\n eventHandler(cb: Function): Function {\n var superHandler = super.eventHandler(cb);\n return (event) => {\n this._resetDebug();\n try {\n return superHandler(event);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n };\n }\n}\n\nfunction _findLastRenderNode(node: any): any {\n var lastNode;\n if (node instanceof AppElement) {\n var appEl = <AppElement>node;\n lastNode = appEl.nativeElement;\n if (isPresent(appEl.nestedViews)) {\n // Note: Views might have no root nodes at all!\n for (var i = appEl.nestedViews.length - 1; i >= 0; i--) {\n var nestedView = appEl.nestedViews[i];\n if (nestedView.rootNodesOrAppElements.length > 0) {\n lastNode = _findLastRenderNode(\n nestedView.rootNodesOrAppElements[nestedView.rootNodesOrAppElements.length - 1]);\n }\n }\n }\n } else {\n lastNode = node;\n }\n return lastNode;\n}\n"]}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view.ts"],"names":[],"mappings":"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","sourcesContent":["import {ObservableWrapper} from '../facade/async';\nimport {ListWrapper, Map, MapWrapper, StringMapWrapper} from '../facade/collection';\nimport {Type, assertionsEnabled, isArray, isBlank, isNumber, isPresent, isPrimitive, isString, stringify} from '../facade/lang';\nimport {RenderComponentType, RenderDebugInfo, Renderer, RootRenderer} from '../render/api';\n\nimport {AppElement} from './element';\nimport {ViewRef_} from './view_ref';\nimport {ViewType} from './view_type';\nimport {ViewUtils, arrayLooseIdentical, ensureSlotCount, flattenNestedViewRenderNodes, mapLooseIdentical} from './view_utils';\n\nimport {ChangeDetectorRef, ChangeDetectionStrategy, ChangeDetectorState,} from '../change_detection/change_detection';\nimport {wtfCreateScope, wtfLeave, WtfScopeFn} from '../profile/profile';\nimport {ExpressionChangedAfterItHasBeenCheckedException, ViewDestroyedException, ViewWrappedException} from './exceptions';\nimport {StaticNodeDebugInfo, DebugContext} from './debug_context';\nimport {ElementInjector} from './element_injector';\nimport {Injector} from '../di/injector';\n\nimport {AUTO_STYLE} from '../animation/metadata';\nimport {AnimationPlayer} from '../animation/animation_player';\nimport {AnimationGroupPlayer} from '../animation/animation_group_player';\nimport {AnimationKeyframe} from '../animation/animation_keyframe';\nimport {AnimationStyles} from '../animation/animation_styles';\nimport {AnimationDriver} from '../animation/animation_driver';\nimport {ActiveAnimationPlayersMap} from '../animation/active_animation_players_map';\n\nvar _scope_check: WtfScopeFn = wtfCreateScope(`AppView#check(ascii id)`);\n\n/**\n * Cost of making objects: http://jsperf.com/instantiate-size-of-object\n *\n */\nexport abstract class AppView<T> {\n ref: ViewRef_<T>;\n rootNodesOrAppElements: any[];\n allNodes: any[];\n disposables: Function[];\n subscriptions: any[];\n contentChildren: AppView<any>[] = [];\n viewChildren: AppView<any>[] = [];\n viewContainerElement: AppElement = null;\n\n // The names of the below fields must be kept in sync with codegen_name_util.ts or\n // change detection will fail.\n cdState: ChangeDetectorState = ChangeDetectorState.NeverChecked;\n\n projectableNodes: Array<any|any[]>;\n\n destroyed: boolean = false;\n\n renderer: Renderer;\n\n private _hasExternalHostElement: boolean;\n\n public activeAnimationPlayers = new ActiveAnimationPlayersMap();\n\n public context: T;\n\n constructor(\n public clazz: any, public componentType: RenderComponentType, public type: ViewType,\n public viewUtils: ViewUtils, public parentInjector: Injector,\n public declarationAppElement: AppElement, public cdMode: ChangeDetectionStrategy) {\n this.ref = new ViewRef_(this);\n if (type === ViewType.COMPONENT || type === ViewType.HOST) {\n this.renderer = viewUtils.renderComponent(componentType);\n } else {\n this.renderer = declarationAppElement.parentView.renderer;\n }\n }\n\n cancelActiveAnimation(element: any, animationName: string, removeAllAnimations: boolean = false) {\n if (removeAllAnimations) {\n this.activeAnimationPlayers.findAllPlayersByElement(element).forEach(\n player => player.destroy());\n } else {\n var player = this.activeAnimationPlayers.find(element, animationName);\n if (isPresent(player)) {\n player.destroy();\n }\n }\n }\n\n registerAndStartAnimation(element: any, animationName: string, player: AnimationPlayer): void {\n this.activeAnimationPlayers.set(element, animationName, player);\n player.onDone(() => { this.activeAnimationPlayers.remove(element, animationName); });\n player.play();\n }\n\n create(context: T, givenProjectableNodes: Array<any|any[]>, rootSelectorOrNode: string|any):\n AppElement {\n this.context = context;\n var projectableNodes: any /** TODO #9100 */;\n switch (this.type) {\n case ViewType.COMPONENT:\n projectableNodes = ensureSlotCount(givenProjectableNodes, this.componentType.slotCount);\n break;\n case ViewType.EMBEDDED:\n projectableNodes = this.declarationAppElement.parentView.projectableNodes;\n break;\n case ViewType.HOST:\n // Note: Don't ensure the slot count for the projectableNodes as we store\n // them only for the contained component view (which will later check the slot count...)\n projectableNodes = givenProjectableNodes;\n break;\n }\n this._hasExternalHostElement = isPresent(rootSelectorOrNode);\n this.projectableNodes = projectableNodes;\n return this.createInternal(rootSelectorOrNode);\n }\n\n /**\n * Overwritten by implementations.\n * Returns the AppElement for the host element for ViewType.HOST.\n */\n createInternal(rootSelectorOrNode: string|any): AppElement { return null; }\n\n init(\n rootNodesOrAppElements: any[], allNodes: any[], disposables: Function[],\n subscriptions: any[]) {\n this.rootNodesOrAppElements = rootNodesOrAppElements;\n this.allNodes = allNodes;\n this.disposables = disposables;\n this.subscriptions = subscriptions;\n if (this.type === ViewType.COMPONENT) {\n // Note: the render nodes have been attached to their host element\n // in the ViewFactory already.\n this.declarationAppElement.parentView.viewChildren.push(this);\n this.dirtyParentQueriesInternal();\n }\n }\n\n selectOrCreateHostElement(\n elementName: string, rootSelectorOrNode: string|any, debugInfo: RenderDebugInfo): any {\n var hostElement: any /** TODO #9100 */;\n if (isPresent(rootSelectorOrNode)) {\n hostElement = this.renderer.selectRootElement(rootSelectorOrNode, debugInfo);\n } else {\n hostElement = this.renderer.createElement(null, elementName, debugInfo);\n }\n return hostElement;\n }\n\n injectorGet(token: any, nodeIndex: number, notFoundResult: any): any {\n return this.injectorGetInternal(token, nodeIndex, notFoundResult);\n }\n\n /**\n * Overwritten by implementations\n */\n injectorGetInternal(token: any, nodeIndex: number, notFoundResult: any): any {\n return notFoundResult;\n }\n\n injector(nodeIndex: number): Injector {\n if (isPresent(nodeIndex)) {\n return new ElementInjector(this, nodeIndex);\n } else {\n return this.parentInjector;\n }\n }\n\n destroy() {\n if (this._hasExternalHostElement) {\n this.renderer.detachView(this.flatRootNodes);\n } else if (isPresent(this.viewContainerElement)) {\n this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));\n }\n this._destroyRecurse();\n }\n\n private _destroyRecurse() {\n if (this.destroyed) {\n return;\n }\n var children = this.contentChildren;\n for (var i = 0; i < children.length; i++) {\n children[i]._destroyRecurse();\n }\n children = this.viewChildren;\n for (var i = 0; i < children.length; i++) {\n children[i]._destroyRecurse();\n }\n this.destroyLocal();\n\n this.destroyed = true;\n }\n\n destroyLocal() {\n var hostElement =\n this.type === ViewType.COMPONENT ? this.declarationAppElement.nativeElement : null;\n for (var i = 0; i < this.disposables.length; i++) {\n this.disposables[i]();\n }\n for (var i = 0; i < this.subscriptions.length; i++) {\n ObservableWrapper.dispose(this.subscriptions[i]);\n }\n this.destroyInternal();\n this.dirtyParentQueriesInternal();\n\n if (this.activeAnimationPlayers.length == 0) {\n this.renderer.destroyView(hostElement, this.allNodes);\n } else {\n var player = new AnimationGroupPlayer(this.activeAnimationPlayers.getAllPlayers());\n player.onDone(() => { this.renderer.destroyView(hostElement, this.allNodes); });\n }\n }\n\n /**\n * Overwritten by implementations\n */\n destroyInternal(): void {}\n\n /**\n * Overwritten by implementations\n */\n detachInternal(): void {}\n\n detach(): void {\n this.detachInternal();\n if (this.activeAnimationPlayers.length == 0) {\n this.renderer.detachView(this.flatRootNodes);\n } else {\n var player = new AnimationGroupPlayer(this.activeAnimationPlayers.getAllPlayers());\n player.onDone(() => { this.renderer.detachView(this.flatRootNodes); });\n }\n }\n\n get changeDetectorRef(): ChangeDetectorRef { return this.ref; }\n\n get parent(): AppView<any> {\n return isPresent(this.declarationAppElement) ? this.declarationAppElement.parentView : null;\n }\n\n get flatRootNodes(): any[] { return flattenNestedViewRenderNodes(this.rootNodesOrAppElements); }\n\n get lastRootNode(): any {\n var lastNode = this.rootNodesOrAppElements.length > 0 ?\n this.rootNodesOrAppElements[this.rootNodesOrAppElements.length - 1] :\n null;\n return _findLastRenderNode(lastNode);\n }\n\n /**\n * Overwritten by implementations\n */\n dirtyParentQueriesInternal(): void {}\n\n detectChanges(throwOnChange: boolean): void {\n var s = _scope_check(this.clazz);\n if (this.cdMode === ChangeDetectionStrategy.Checked ||\n this.cdState === ChangeDetectorState.Errored)\n return;\n if (this.destroyed) {\n this.throwDestroyedError('detectChanges');\n }\n this.detectChangesInternal(throwOnChange);\n if (this.cdMode === ChangeDetectionStrategy.CheckOnce)\n this.cdMode = ChangeDetectionStrategy.Checked;\n\n this.cdState = ChangeDetectorState.CheckedBefore;\n wtfLeave(s);\n }\n\n /**\n * Overwritten by implementations\n */\n detectChangesInternal(throwOnChange: boolean): void {\n this.detectContentChildrenChanges(throwOnChange);\n this.detectViewChildrenChanges(throwOnChange);\n }\n\n detectContentChildrenChanges(throwOnChange: boolean) {\n for (var i = 0; i < this.contentChildren.length; ++i) {\n var child = this.contentChildren[i];\n if (child.cdMode === ChangeDetectionStrategy.Detached) continue;\n child.detectChanges(throwOnChange);\n }\n }\n\n detectViewChildrenChanges(throwOnChange: boolean) {\n for (var i = 0; i < this.viewChildren.length; ++i) {\n var child = this.viewChildren[i];\n if (child.cdMode === ChangeDetectionStrategy.Detached) continue;\n child.detectChanges(throwOnChange);\n }\n }\n\n addToContentChildren(renderAppElement: AppElement): void {\n renderAppElement.parentView.contentChildren.push(this);\n this.viewContainerElement = renderAppElement;\n this.dirtyParentQueriesInternal();\n }\n\n removeFromContentChildren(renderAppElement: AppElement): void {\n ListWrapper.remove(renderAppElement.parentView.contentChildren, this);\n this.dirtyParentQueriesInternal();\n this.viewContainerElement = null;\n }\n\n markAsCheckOnce(): void { this.cdMode = ChangeDetectionStrategy.CheckOnce; }\n\n markPathToRootAsCheckOnce(): void {\n let c: AppView<any> = this;\n while (isPresent(c) && c.cdMode !== ChangeDetectionStrategy.Detached) {\n if (c.cdMode === ChangeDetectionStrategy.Checked) {\n c.cdMode = ChangeDetectionStrategy.CheckOnce;\n }\n let parentEl =\n c.type === ViewType.COMPONENT ? c.declarationAppElement : c.viewContainerElement;\n c = isPresent(parentEl) ? parentEl.parentView : null;\n }\n }\n\n eventHandler(cb: Function): Function { return cb; }\n\n throwDestroyedError(details: string): void { throw new ViewDestroyedException(details); }\n}\n\nexport class DebugAppView<T> extends AppView<T> {\n private _currentDebugContext: DebugContext = null;\n\n constructor(\n clazz: any, componentType: RenderComponentType, type: ViewType, viewUtils: ViewUtils,\n parentInjector: Injector, declarationAppElement: AppElement, cdMode: ChangeDetectionStrategy,\n public staticNodeDebugInfos: StaticNodeDebugInfo[]) {\n super(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode);\n }\n\n create(context: T, givenProjectableNodes: Array<any|any[]>, rootSelectorOrNode: string|any):\n AppElement {\n this._resetDebug();\n try {\n return super.create(context, givenProjectableNodes, rootSelectorOrNode);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n injectorGet(token: any, nodeIndex: number, notFoundResult: any): any {\n this._resetDebug();\n try {\n return super.injectorGet(token, nodeIndex, notFoundResult);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n detach(): void {\n this._resetDebug();\n try {\n super.detach();\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n destroyLocal() {\n this._resetDebug();\n try {\n super.destroyLocal();\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n detectChanges(throwOnChange: boolean): void {\n this._resetDebug();\n try {\n super.detectChanges(throwOnChange);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n }\n\n private _resetDebug() { this._currentDebugContext = null; }\n\n debug(nodeIndex: number, rowNum: number, colNum: number): DebugContext {\n return this._currentDebugContext = new DebugContext(this, nodeIndex, rowNum, colNum);\n }\n\n private _rethrowWithContext(e: any, stack: any) {\n if (!(e instanceof ViewWrappedException)) {\n if (!(e instanceof ExpressionChangedAfterItHasBeenCheckedException)) {\n this.cdState = ChangeDetectorState.Errored;\n }\n if (isPresent(this._currentDebugContext)) {\n throw new ViewWrappedException(e, stack, this._currentDebugContext);\n }\n }\n }\n\n eventHandler(cb: Function): Function {\n var superHandler = super.eventHandler(cb);\n return (event: any /** TODO #9100 */) => {\n this._resetDebug();\n try {\n return superHandler(event);\n } catch (e) {\n this._rethrowWithContext(e, e.stack);\n throw e;\n }\n };\n }\n}\n\nfunction _findLastRenderNode(node: any): any {\n var lastNode: any /** TODO #9100 */;\n if (node instanceof AppElement) {\n var appEl = <AppElement>node;\n lastNode = appEl.nativeElement;\n if (isPresent(appEl.nestedViews)) {\n // Note: Views might have no root nodes at all!\n for (var i = appEl.nestedViews.length - 1; i >= 0; i--) {\n var nestedView = appEl.nestedViews[i];\n if (nestedView.rootNodesOrAppElements.length > 0) {\n lastNode = _findLastRenderNode(\n nestedView.rootNodesOrAppElements[nestedView.rootNodesOrAppElements.length - 1]);\n }\n }\n }\n } else {\n lastNode = node;\n }\n return lastNode;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,10 +1,9 @@
1
1
  import { Injector } from '../di/injector';
2
- import { WtfScopeFn } from '../profile/profile';
2
+ import { ComponentFactory, ComponentRef } from './component_factory';
3
3
  import { AppElement } from './element';
4
4
  import { ElementRef } from './element_ref';
5
5
  import { TemplateRef } from './template_ref';
6
6
  import { EmbeddedViewRef, ViewRef } from './view_ref';
7
- import { ComponentFactory, ComponentRef } from './component_factory';
8
7
  /**
9
8
  * Represents a container where one or more Views can be attached.
10
9
  *
@@ -21,6 +20,7 @@ import { ComponentFactory, ComponentRef } from './component_factory';
21
20
  *
22
21
  * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
23
22
  * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
23
+ * @stable
24
24
  */
25
25
  export declare abstract class ViewContainerRef {
26
26
  /**
@@ -100,18 +100,10 @@ export declare class ViewContainerRef_ implements ViewContainerRef {
100
100
  injector: Injector;
101
101
  parentInjector: Injector;
102
102
  createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C, index?: number): EmbeddedViewRef<C>;
103
- /** @internal */
104
- _createComponentInContainerScope: WtfScopeFn;
105
103
  createComponent<C>(componentFactory: ComponentFactory<C>, index?: number, injector?: Injector, projectableNodes?: any[][]): ComponentRef<C>;
106
- /** @internal */
107
- _insertScope: WtfScopeFn;
108
104
  insert(viewRef: ViewRef, index?: number): ViewRef;
109
105
  indexOf(viewRef: ViewRef): number;
110
- /** @internal */
111
- _removeScope: WtfScopeFn;
112
106
  remove(index?: number): void;
113
- /** @internal */
114
- _detachScope: WtfScopeFn;
115
107
  detach(index?: number): ViewRef;
116
108
  clear(): void;
117
109
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var collection_1 = require('../../src/facade/collection');
3
- var exceptions_1 = require('../../src/facade/exceptions');
4
- var lang_1 = require('../../src/facade/lang');
2
+ var collection_1 = require('../facade/collection');
3
+ var exceptions_1 = require('../facade/exceptions');
4
+ var lang_1 = require('../facade/lang');
5
5
  var profile_1 = require('../profile/profile');
6
6
  /**
7
7
  * Represents a container where one or more Views can be attached.
@@ -19,6 +19,7 @@ var profile_1 = require('../profile/profile');
19
19
  *
20
20
  * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
21
21
  * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
22
+ * @stable
22
23
  */
23
24
  var ViewContainerRef = (function () {
24
25
  function ViewContainerRef() {
@@ -1 +1 @@
1
- {"version":3,"file":"view_container_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_container_ref.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {ListWrapper} from '../../src/facade/collection';\nimport {unimplemented} from '../../src/facade/exceptions';\nimport {Injector} from '../di/injector';\nimport {isPresent} from '../../src/facade/lang';\nimport {wtfCreateScope, wtfLeave, WtfScopeFn} from '../profile/profile';\n\nimport {AppElement} from './element';\n\nimport {ElementRef} from './element_ref';\nimport {TemplateRef} from './template_ref';\nimport {EmbeddedViewRef, ViewRef, ViewRef_} from './view_ref';\nimport {ComponentFactory, ComponentRef} from './component_factory';\n\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an\n * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.\n */\nexport abstract class ViewContainerRef {\n /**\n * Anchor element that specifies the location of this container in the containing View.\n * <!-- TODO: rename to anchorElement -->\n */\n get element(): ElementRef { return <ElementRef>unimplemented(); }\n\n get injector(): Injector { return <Injector>unimplemented(); }\n\n get parentInjector(): Injector { return <Injector>unimplemented(); }\n\n /**\n * Destroys all Views in this container.\n */\n abstract clear(): void;\n\n /**\n * Returns the {@link ViewRef} for the View located in this container at the specified index.\n */\n abstract get(index: number): ViewRef;\n\n /**\n * Returns the number of Views currently attached to this container.\n */\n get length(): number { return <number>unimplemented(); };\n\n /**\n * Instantiates an Embedded View based on the {@link TemplateRef `templateRef`} and inserts it\n * into this container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the {@link ViewRef} for the newly created View.\n */\n abstract createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C,\n index?: number): EmbeddedViewRef<C>;\n\n /**\n * Instantiates a single {@link Component} and inserts its Host View into this container at the\n * specified `index`.\n *\n * The component is instantiated using its {@link ComponentFactory} which can be\n * obtained via {@link ComponentResolver#resolveComponent}.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * You can optionally specify the {@link Injector} that will be used as parent for the Component.\n *\n * Returns the {@link ComponentRef} of the Host View created for the newly instantiated Component.\n */\n abstract createComponent<C>(componentFactory: ComponentFactory<C>, index?: number,\n injector?: Injector, projectableNodes?: any[][]): ComponentRef<C>;\n\n /**\n * Inserts a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract insert(viewRef: ViewRef, index?: number): ViewRef;\n\n /**\n * Returns the index of the View, specified via {@link ViewRef}, within the current container or\n * `-1` if this container doesn't contain the View.\n */\n abstract indexOf(viewRef: ViewRef): number;\n\n /**\n * Destroys a View attached to this container at the specified `index`.\n *\n * If `index` is not specified, the last View in the container will be removed.\n */\n abstract remove(index?: number): void;\n\n /**\n * Use along with {@link #insert} to move a View within the current container.\n *\n * If the `index` param is omitted, the last {@link ViewRef} is detached.\n */\n abstract detach(index?: number): ViewRef;\n}\n\nexport class ViewContainerRef_ implements ViewContainerRef {\n constructor(private _element: AppElement) {}\n\n get(index: number): ViewRef { return this._element.nestedViews[index].ref; }\n get length(): number {\n var views = this._element.nestedViews;\n return isPresent(views) ? views.length : 0;\n }\n\n get element(): ElementRef { return this._element.elementRef; }\n\n get injector(): Injector { return this._element.injector; }\n\n get parentInjector(): Injector { return this._element.parentInjector; }\n\n // TODO(rado): profile and decide whether bounds checks should be added\n // to the methods below.\n createEmbeddedView<C>(templateRef: TemplateRef<C>, context: C = null,\n index: number = -1): EmbeddedViewRef<C> {\n var viewRef: EmbeddedViewRef<any> = templateRef.createEmbeddedView(context);\n this.insert(viewRef, index);\n return viewRef;\n }\n\n /** @internal */\n _createComponentInContainerScope: WtfScopeFn =\n wtfCreateScope('ViewContainerRef#createComponent()');\n\n createComponent<C>(componentFactory: ComponentFactory<C>, index: number = -1,\n injector: Injector = null, projectableNodes: any[][] = null): ComponentRef<C> {\n var s = this._createComponentInContainerScope();\n var contextInjector = isPresent(injector) ? injector : this._element.parentInjector;\n var componentRef = componentFactory.create(contextInjector, projectableNodes);\n this.insert(componentRef.hostView, index);\n return wtfLeave(s, componentRef);\n }\n\n /** @internal */\n _insertScope = wtfCreateScope('ViewContainerRef#insert()');\n\n // TODO(i): refactor insert+remove into move\n insert(viewRef: ViewRef, index: number = -1): ViewRef {\n var s = this._insertScope();\n if (index == -1) index = this.length;\n var viewRef_ = <ViewRef_<any>>viewRef;\n this._element.attachView(viewRef_.internalView, index);\n return wtfLeave(s, viewRef_);\n }\n\n indexOf(viewRef: ViewRef): number {\n return ListWrapper.indexOf(this._element.nestedViews, (<ViewRef_<any>>viewRef).internalView);\n }\n\n /** @internal */\n _removeScope = wtfCreateScope('ViewContainerRef#remove()');\n\n // TODO(i): rename to destroy\n remove(index: number = -1): void {\n var s = this._removeScope();\n if (index == -1) index = this.length - 1;\n var view = this._element.detachView(index);\n view.destroy();\n // view is intentionally not returned to the client.\n wtfLeave(s);\n }\n\n /** @internal */\n _detachScope = wtfCreateScope('ViewContainerRef#detach()');\n\n // TODO(i): refactor insert+remove into move\n detach(index: number = -1): ViewRef {\n var s = this._detachScope();\n if (index == -1) index = this.length - 1;\n var view = this._element.detachView(index);\n return wtfLeave(s, view.ref);\n }\n\n clear() {\n for (var i = this.length - 1; i >= 0; i--) {\n this.remove(i);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"view_container_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_container_ref.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injector} from '../di/injector';\nimport {ListWrapper} from '../facade/collection';\nimport {unimplemented} from '../facade/exceptions';\nimport {isPresent} from '../facade/lang';\nimport {WtfScopeFn, wtfCreateScope, wtfLeave} from '../profile/profile';\n\nimport {ComponentFactory, ComponentRef} from './component_factory';\nimport {AppElement} from './element';\nimport {ElementRef} from './element_ref';\nimport {TemplateRef} from './template_ref';\nimport {EmbeddedViewRef, ViewRef, ViewRef_} from './view_ref';\n\n\n/**\n * Represents a container where one or more Views can be attached.\n *\n * The container can contain two kinds of Views. Host Views, created by instantiating a\n * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an\n * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.\n *\n * The location of the View Container within the containing View is specified by the Anchor\n * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only\n * have a single View Container.\n *\n * Root elements of Views attached to this container become siblings of the Anchor Element in\n * the Rendered View.\n *\n * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected\n * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.\n * @stable\n */\nexport abstract class ViewContainerRef {\n /**\n * Anchor element that specifies the location of this container in the containing View.\n * <!-- TODO: rename to anchorElement -->\n */\n get element(): ElementRef { return <ElementRef>unimplemented(); }\n\n get injector(): Injector { return <Injector>unimplemented(); }\n\n get parentInjector(): Injector { return <Injector>unimplemented(); }\n\n /**\n * Destroys all Views in this container.\n */\n abstract clear(): void;\n\n /**\n * Returns the {@link ViewRef} for the View located in this container at the specified index.\n */\n abstract get(index: number): ViewRef;\n\n /**\n * Returns the number of Views currently attached to this container.\n */\n get length(): number { return <number>unimplemented(); };\n\n /**\n * Instantiates an Embedded View based on the {@link TemplateRef `templateRef`} and inserts it\n * into this container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the {@link ViewRef} for the newly created View.\n */\n abstract createEmbeddedView<C>(templateRef: TemplateRef<C>, context?: C, index?: number):\n EmbeddedViewRef<C>;\n\n /**\n * Instantiates a single {@link Component} and inserts its Host View into this container at the\n * specified `index`.\n *\n * The component is instantiated using its {@link ComponentFactory} which can be\n * obtained via {@link ComponentResolver#resolveComponent}.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * You can optionally specify the {@link Injector} that will be used as parent for the Component.\n *\n * Returns the {@link ComponentRef} of the Host View created for the newly instantiated Component.\n */\n abstract createComponent<C>(\n componentFactory: ComponentFactory<C>, index?: number, injector?: Injector,\n projectableNodes?: any[][]): ComponentRef<C>;\n\n /**\n * Inserts a View identified by a {@link ViewRef} into the container at the specified `index`.\n *\n * If `index` is not specified, the new View will be inserted as the last View in the container.\n *\n * Returns the inserted {@link ViewRef}.\n */\n abstract insert(viewRef: ViewRef, index?: number): ViewRef;\n\n /**\n * Returns the index of the View, specified via {@link ViewRef}, within the current container or\n * `-1` if this container doesn't contain the View.\n */\n abstract indexOf(viewRef: ViewRef): number;\n\n /**\n * Destroys a View attached to this container at the specified `index`.\n *\n * If `index` is not specified, the last View in the container will be removed.\n */\n abstract remove(index?: number): void;\n\n /**\n * Use along with {@link #insert} to move a View within the current container.\n *\n * If the `index` param is omitted, the last {@link ViewRef} is detached.\n */\n abstract detach(index?: number): ViewRef;\n}\n\nexport class ViewContainerRef_ implements ViewContainerRef {\n constructor(private _element: AppElement) {}\n\n get(index: number): ViewRef { return this._element.nestedViews[index].ref; }\n get length(): number {\n var views = this._element.nestedViews;\n return isPresent(views) ? views.length : 0;\n }\n\n get element(): ElementRef { return this._element.elementRef; }\n\n get injector(): Injector { return this._element.injector; }\n\n get parentInjector(): Injector { return this._element.parentInjector; }\n\n // TODO(rado): profile and decide whether bounds checks should be added\n // to the methods below.\n createEmbeddedView<C>(templateRef: TemplateRef<C>, context: C = null, index: number = -1):\n EmbeddedViewRef<C> {\n var viewRef: EmbeddedViewRef<any> = templateRef.createEmbeddedView(context);\n this.insert(viewRef, index);\n return viewRef;\n }\n\n /** @internal */\n _createComponentInContainerScope: WtfScopeFn =\n wtfCreateScope('ViewContainerRef#createComponent()');\n\n createComponent<C>(\n componentFactory: ComponentFactory<C>, index: number = -1, injector: Injector = null,\n projectableNodes: any[][] = null): ComponentRef<C> {\n var s = this._createComponentInContainerScope();\n var contextInjector = isPresent(injector) ? injector : this._element.parentInjector;\n var componentRef = componentFactory.create(contextInjector, projectableNodes);\n this.insert(componentRef.hostView, index);\n return wtfLeave(s, componentRef);\n }\n\n /** @internal */\n _insertScope = wtfCreateScope('ViewContainerRef#insert()');\n\n // TODO(i): refactor insert+remove into move\n insert(viewRef: ViewRef, index: number = -1): ViewRef {\n var s = this._insertScope();\n if (index == -1) index = this.length;\n var viewRef_ = <ViewRef_<any>>viewRef;\n this._element.attachView(viewRef_.internalView, index);\n return wtfLeave(s, viewRef_);\n }\n\n indexOf(viewRef: ViewRef): number {\n return ListWrapper.indexOf(this._element.nestedViews, (<ViewRef_<any>>viewRef).internalView);\n }\n\n /** @internal */\n _removeScope = wtfCreateScope('ViewContainerRef#remove()');\n\n // TODO(i): rename to destroy\n remove(index: number = -1): void {\n var s = this._removeScope();\n if (index == -1) index = this.length - 1;\n var view = this._element.detachView(index);\n view.destroy();\n // view is intentionally not returned to the client.\n wtfLeave(s);\n }\n\n /** @internal */\n _detachScope = wtfCreateScope('ViewContainerRef#detach()');\n\n // TODO(i): refactor insert+remove into move\n detach(index: number = -1): ViewRef {\n var s = this._detachScope();\n if (index == -1) index = this.length - 1;\n var view = this._element.detachView(index);\n return wtfLeave(s, view.ref);\n }\n\n clear() {\n for (var i = this.length - 1; i >= 0; i--) {\n this.remove(i);\n }\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,5 +1,8 @@
1
1
  import { ChangeDetectorRef } from '../change_detection/change_detector_ref';
2
2
  import { AppView } from './view';
3
+ /**
4
+ * @stable
5
+ */
3
6
  export declare abstract class ViewRef {
4
7
  destroyed: boolean;
5
8
  abstract onDestroy(callback: Function): any;
@@ -27,7 +30,7 @@ export declare abstract class ViewRef {
27
30
  * </ul>
28
31
  * ```
29
32
  *
30
- * ... we have two {@link TemplateRef}s:
33
+ * We have two {@link TemplateRef}s:
31
34
  *
32
35
  * Outer {@link TemplateRef}:
33
36
  * ```
@@ -56,6 +59,7 @@ export declare abstract class ViewRef {
56
59
  * </ul>
57
60
  * <!-- /ViewRef: outer-0 -->
58
61
  * ```
62
+ * @experimental
59
63
  */
60
64
  export declare abstract class EmbeddedViewRef<C> extends ViewRef {
61
65
  context: C;
@@ -4,8 +4,11 @@ var __extends = (this && this.__extends) || function (d, b) {
4
4
  function __() { this.constructor = d; }
5
5
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
6
  };
7
- var exceptions_1 = require('../../src/facade/exceptions');
8
7
  var constants_1 = require('../change_detection/constants');
8
+ var exceptions_1 = require('../facade/exceptions');
9
+ /**
10
+ * @stable
11
+ */
9
12
  var ViewRef = (function () {
10
13
  function ViewRef() {
11
14
  }
@@ -40,7 +43,7 @@ exports.ViewRef = ViewRef;
40
43
  * </ul>
41
44
  * ```
42
45
  *
43
- * ... we have two {@link TemplateRef}s:
46
+ * We have two {@link TemplateRef}s:
44
47
  *
45
48
  * Outer {@link TemplateRef}:
46
49
  * ```
@@ -69,6 +72,7 @@ exports.ViewRef = ViewRef;
69
72
  * </ul>
70
73
  * <!-- /ViewRef: outer-0 -->
71
74
  * ```
75
+ * @experimental
72
76
  */
73
77
  var EmbeddedViewRef = (function (_super) {
74
78
  __extends(EmbeddedViewRef, _super);
@@ -1 +1 @@
1
- {"version":3,"file":"view_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_ref.ts"],"names":[],"mappings":";;;;;;AAIE,2BAA4B,6BAA6B,CAAC,CAAA;AAG5D,0BAAsC,+BAA+B,CAAC,CAAA;AAEtE;IAAA;IAIA,CAAC;IAHC,sBAAI,8BAAS;aAAb,cAA2B,MAAM,CAAU,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAG/D,cAAC;AAAD,CAAC,AAJD,IAIC;AAJqB,eAAO,UAI5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH;IAAiD,mCAAO;IAAxD;QAAiD,8BAAO;IASxD,CAAC;IARC,sBAAI,oCAAO;aAAX,cAAmB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAE5C,sBAAI,sCAAS;aAAb,cAAyB,MAAM,CAAQ,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;;IAM3D,sBAAC;AAAD,CAAC,AATD,CAAiD,OAAO,GASvD;AATqB,uBAAe,kBASpC,CAAA;AAED;IACE,kBAAoB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAC,CAAC;IAE9D,sBAAI,kCAAY;aAAhB,cAAiC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;OAAA;IAErD,sBAAI,+BAAS;aAAb,cAAyB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;;;OAAA;IAE3D,sBAAI,6BAAO;aAAX,cAAgB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;;;OAAA;IAE5C,sBAAI,+BAAS;aAAb,cAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IAEzD,+BAAY,GAAZ,cAAuB,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IAChE,yBAAM,GAAN,cAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mCAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,gCAAa,GAAb,cAAwB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,iCAAc,GAAd,cAAyB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,2BAAQ,GAAR;QACE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mCAAuB,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,4BAAS,GAAT,UAAU,QAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExE,0BAAO,GAAP,cAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrC,eAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,gBAAQ,WAuBpB,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {unimplemented} from '../../src/facade/exceptions';\nimport {ChangeDetectorRef} from '../change_detection/change_detector_ref';\nimport {AppView} from './view';\nimport {ChangeDetectionStrategy} from '../change_detection/constants';\n\nexport abstract class ViewRef {\n get destroyed(): boolean { return <boolean>unimplemented(); }\n\n abstract onDestroy(callback: Function);\n}\n\n/**\n * Represents an Angular View.\n *\n * <!-- TODO: move the next two paragraphs to the dev guide -->\n * A View is a fundamental building block of the application UI. It is the smallest grouping of\n * Elements which are created and destroyed together.\n *\n * Properties of elements in a View can change, but the structure (number and order) of elements in\n * a View cannot. Changing the structure of Elements can only be done by inserting, moving or\n * removing nested Views via a {@link ViewContainerRef}. Each View can contain many View Containers.\n * <!-- /TODO -->\n *\n * ### Example\n *\n * Given this template...\n *\n * ```\n * Count: {{items.length}}\n * <ul>\n * <li *ngFor=\"let item of items\">{{item}}</li>\n * </ul>\n * ```\n *\n * ... we have two {@link TemplateRef}s:\n *\n * Outer {@link TemplateRef}:\n * ```\n * Count: {{items.length}}\n * <ul>\n * <template ngFor let-item [ngForOf]=\"items\"></template>\n * </ul>\n * ```\n *\n * Inner {@link TemplateRef}:\n * ```\n * <li>{{item}}</li>\n * ```\n *\n * Notice that the original template is broken down into two separate {@link TemplateRef}s.\n *\n * The outer/inner {@link TemplateRef}s are then assembled into views like so:\n *\n * ```\n * <!-- ViewRef: outer-0 -->\n * Count: 2\n * <ul>\n * <template view-container-ref></template>\n * <!-- ViewRef: inner-1 --><li>first</li><!-- /ViewRef: inner-1 -->\n * <!-- ViewRef: inner-2 --><li>second</li><!-- /ViewRef: inner-2 -->\n * </ul>\n * <!-- /ViewRef: outer-0 -->\n * ```\n */\nexport abstract class EmbeddedViewRef<C> extends ViewRef {\n get context(): C { return unimplemented(); }\n\n get rootNodes(): any[] { return <any[]>unimplemented(); };\n\n /**\n * Destroys the view and all of the data structures associated with it.\n */\n abstract destroy();\n}\n\nexport class ViewRef_<C> implements EmbeddedViewRef<C>, ChangeDetectorRef {\n constructor(private _view: AppView<C>) { this._view = _view; }\n\n get internalView(): AppView<C> { return this._view; }\n\n get rootNodes(): any[] { return this._view.flatRootNodes; }\n\n get context() { return this._view.context; }\n\n get destroyed(): boolean { return this._view.destroyed; }\n\n markForCheck(): void { this._view.markPathToRootAsCheckOnce(); }\n detach(): void { this._view.cdMode = ChangeDetectionStrategy.Detached; }\n detectChanges(): void { this._view.detectChanges(false); }\n checkNoChanges(): void { this._view.detectChanges(true); }\n reattach(): void {\n this._view.cdMode = ChangeDetectionStrategy.CheckAlways;\n this.markForCheck();\n }\n\n onDestroy(callback: Function) { this._view.disposables.push(callback); }\n\n destroy() { this._view.destroy(); }\n}\n"]}
1
+ {"version":3,"file":"view_ref.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_ref.ts"],"names":[],"mappings":";;;;;;AACA,0BAAsC,+BAA+B,CAAC,CAAA;AACtE,2BAA4B,sBAAsB,CAAC,CAAA;AAKnD;;GAEG;AACH;IAAA;IAIA,CAAC;IAHC,sBAAI,8BAAS;aAAb,cAA2B,MAAM,CAAU,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAG/D,cAAC;AAAD,CAAC,AAJD,IAIC;AAJqB,eAAO,UAI5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH;IAAiD,mCAAO;IAAxD;QAAiD,8BAAO;IASxD,CAAC;IARC,sBAAI,oCAAO;aAAX,cAAmB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAE5C,sBAAI,sCAAS;aAAb,cAAyB,MAAM,CAAQ,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;;IAM3D,sBAAC;AAAD,CAAC,AATD,CAAiD,OAAO,GASvD;AATqB,uBAAe,kBASpC,CAAA;AAED;IACE,kBAAoB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAAC,CAAC;IAE9D,sBAAI,kCAAY;aAAhB,cAAiC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;;;OAAA;IAErD,sBAAI,+BAAS;aAAb,cAAyB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;;;OAAA;IAE3D,sBAAI,6BAAO;aAAX,cAAgB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;;;OAAA;IAE5C,sBAAI,+BAAS;aAAb,cAA2B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;;;OAAA;IAEzD,+BAAY,GAAZ,cAAuB,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IAChE,yBAAM,GAAN,cAAiB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mCAAuB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,gCAAa,GAAb,cAAwB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,iCAAc,GAAd,cAAyB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,2BAAQ,GAAR;QACE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,mCAAuB,CAAC,WAAW,CAAC;QACxD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,4BAAS,GAAT,UAAU,QAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExE,0BAAO,GAAP,cAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACrC,eAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,gBAAQ,WAuBpB,CAAA","sourcesContent":["import {ChangeDetectorRef} from '../change_detection/change_detector_ref';\nimport {ChangeDetectionStrategy} from '../change_detection/constants';\nimport {unimplemented} from '../facade/exceptions';\n\nimport {AppView} from './view';\n\n\n/**\n * @stable\n */\nexport abstract class ViewRef {\n get destroyed(): boolean { return <boolean>unimplemented(); }\n\n abstract onDestroy(callback: Function): any /** TODO #9100 */;\n}\n\n/**\n * Represents an Angular View.\n *\n * <!-- TODO: move the next two paragraphs to the dev guide -->\n * A View is a fundamental building block of the application UI. It is the smallest grouping of\n * Elements which are created and destroyed together.\n *\n * Properties of elements in a View can change, but the structure (number and order) of elements in\n * a View cannot. Changing the structure of Elements can only be done by inserting, moving or\n * removing nested Views via a {@link ViewContainerRef}. Each View can contain many View Containers.\n * <!-- /TODO -->\n *\n * ### Example\n *\n * Given this template...\n *\n * ```\n * Count: {{items.length}}\n * <ul>\n * <li *ngFor=\"let item of items\">{{item}}</li>\n * </ul>\n * ```\n *\n * We have two {@link TemplateRef}s:\n *\n * Outer {@link TemplateRef}:\n * ```\n * Count: {{items.length}}\n * <ul>\n * <template ngFor let-item [ngForOf]=\"items\"></template>\n * </ul>\n * ```\n *\n * Inner {@link TemplateRef}:\n * ```\n * <li>{{item}}</li>\n * ```\n *\n * Notice that the original template is broken down into two separate {@link TemplateRef}s.\n *\n * The outer/inner {@link TemplateRef}s are then assembled into views like so:\n *\n * ```\n * <!-- ViewRef: outer-0 -->\n * Count: 2\n * <ul>\n * <template view-container-ref></template>\n * <!-- ViewRef: inner-1 --><li>first</li><!-- /ViewRef: inner-1 -->\n * <!-- ViewRef: inner-2 --><li>second</li><!-- /ViewRef: inner-2 -->\n * </ul>\n * <!-- /ViewRef: outer-0 -->\n * ```\n * @experimental\n */\nexport abstract class EmbeddedViewRef<C> extends ViewRef {\n get context(): C { return unimplemented(); }\n\n get rootNodes(): any[] { return <any[]>unimplemented(); };\n\n /**\n * Destroys the view and all of the data structures associated with it.\n */\n abstract destroy(): any /** TODO #9100 */;\n}\n\nexport class ViewRef_<C> implements EmbeddedViewRef<C>, ChangeDetectorRef {\n constructor(private _view: AppView<C>) { this._view = _view; }\n\n get internalView(): AppView<C> { return this._view; }\n\n get rootNodes(): any[] { return this._view.flatRootNodes; }\n\n get context() { return this._view.context; }\n\n get destroyed(): boolean { return this._view.destroyed; }\n\n markForCheck(): void { this._view.markPathToRootAsCheckOnce(); }\n detach(): void { this._view.cdMode = ChangeDetectionStrategy.Detached; }\n detectChanges(): void { this._view.detectChanges(false); }\n checkNoChanges(): void { this._view.detectChanges(true); }\n reattach(): void {\n this._view.cdMode = ChangeDetectionStrategy.CheckAlways;\n this.markForCheck();\n }\n\n onDestroy(callback: Function) { this._view.disposables.push(callback); }\n\n destroy() { this._view.destroy(); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"view_type.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_type.ts"],"names":[],"mappings":";AAIE,WAAY,QAAQ;IACpB,wEAAwE;IACxE,4BAA4B;IAC5B,uCAAI,CAAA;IACJ,4BAA4B;IAC5B,oCAAoC;IACpC,iDAAS,CAAA;IACT,qEAAqE;IACrE,6BAA6B;IAC7B,+CAAQ,CAAA;AACV,CAAC,EAVa,gBAAQ,KAAR,gBAAQ,QAUrB;AAVC,IAAY,QAAQ,GAAR,gBAUb,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export enum ViewType {\n // A view that contains the host element with bound component directive.\n // Contains a COMPONENT view\n HOST,\n // The view of the component\n // Can contain 0 to n EMBEDDED views\n COMPONENT,\n // A view that is embedded into another View via a <template> element\n // inside of a COMPONENT view\n EMBEDDED\n}\n"]}
1
+ {"version":3,"file":"view_type.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/linker/view_type.ts"],"names":[],"mappings":";AAAA,WAAY,QAAQ;IAClB,wEAAwE;IACxE,4BAA4B;IAC5B,uCAAI,CAAA;IACJ,4BAA4B;IAC5B,oCAAoC;IACpC,iDAAS,CAAA;IACT,qEAAqE;IACrE,6BAA6B;IAC7B,+CAAQ,CAAA;AACV,CAAC,EAVW,gBAAQ,KAAR,gBAAQ,QAUnB;AAVD,IAAY,QAAQ,GAAR,gBAUX,CAAA","sourcesContent":["export enum ViewType {\n // A view that contains the host element with bound component directive.\n // Contains a COMPONENT view\n HOST,\n // The view of the component\n // Can contain 0 to n EMBEDDED views\n COMPONENT,\n // A view that is embedded into another View via a <template> element\n // inside of a COMPONENT view\n EMBEDDED\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,6 +1,6 @@
1
- import { SanitizationService } from '../security';
2
- import { RootRenderer, RenderComponentType, Renderer } from '../render/api';
3
1
  import { ViewEncapsulation } from '../metadata/view';
2
+ import { RenderComponentType, RootRenderer } from '../render/api';
3
+ import { SanitizationService } from '../security';
4
4
  export declare class ViewUtils {
5
5
  private _renderer;
6
6
  private _appId;
@@ -11,8 +11,6 @@ export declare class ViewUtils {
11
11
  * Used by the generated code
12
12
  */
13
13
  createRenderComponentType(templateUrl: string, slotCount: number, encapsulation: ViewEncapsulation, styles: Array<string | any[]>): RenderComponentType;
14
- /** @internal */
15
- renderComponent(renderComponentType: RenderComponentType): Renderer;
16
14
  }
17
15
  export declare function flattenNestedViewRenderNodes(nodes: any[]): any[];
18
16
  export declare function ensureSlotCount(projectableNodes: any[][], expectedSlotCount: number): any[][];