@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.
- package/{core.umd.js → bundles/core.umd.js} +6402 -4606
- package/bundles/core.umd.min.js +6 -0
- package/esm/index.d.ts +5 -4
- package/esm/index.js +9 -8
- package/esm/index.js.map +1 -1
- package/esm/private_export.d.ts +96 -11
- package/esm/private_export.js +39 -10
- package/esm/private_export.js.map +1 -1
- package/esm/private_export.metadata.json +1 -1
- package/esm/src/animation/active_animation_players_map.d.ts +11 -0
- package/esm/src/animation/active_animation_players_map.js +47 -0
- package/esm/src/animation/active_animation_players_map.js.map +1 -0
- package/esm/src/animation/animation_constants.d.ts +4 -0
- package/esm/src/animation/animation_constants.js +5 -0
- package/esm/src/animation/animation_constants.js.map +1 -0
- package/esm/src/animation/animation_constants.metadata.json +1 -0
- package/esm/src/animation/animation_driver.d.ts +9 -0
- package/esm/src/animation/animation_driver.js +9 -0
- package/esm/src/animation/animation_driver.js.map +1 -0
- package/esm/src/animation/animation_group_player.d.ts +18 -0
- package/esm/src/animation/animation_group_player.js +60 -0
- package/esm/src/animation/animation_group_player.js.map +1 -0
- package/esm/src/animation/animation_keyframe.d.ts +6 -0
- package/esm/src/animation/animation_keyframe.js +7 -0
- package/esm/src/animation/animation_keyframe.js.map +1 -0
- package/esm/src/animation/animation_player.d.ts +26 -0
- package/esm/src/animation/animation_player.js +30 -0
- package/esm/src/animation/animation_player.js.map +1 -0
- package/esm/src/animation/animation_sequence_player.d.ts +21 -0
- package/esm/src/animation/animation_sequence_player.js +64 -0
- package/esm/src/animation/animation_sequence_player.js.map +1 -0
- package/esm/src/animation/animation_style_util.d.ts +32 -0
- package/esm/src/animation/animation_style_util.js +91 -0
- package/esm/src/animation/animation_style_util.js.map +1 -0
- package/esm/src/animation/animation_style_util.metadata.json +1 -0
- package/esm/src/animation/animation_styles.d.ts +8 -0
- package/esm/src/animation/animation_styles.js +6 -0
- package/esm/src/animation/animation_styles.js.map +1 -0
- package/esm/src/animation/metadata.d.ts +511 -0
- package/esm/src/animation/metadata.js +565 -0
- package/esm/src/animation/metadata.js.map +1 -0
- package/esm/src/animation/metadata.metadata.json +1 -0
- package/esm/src/application_common_providers.d.ts +1 -0
- package/esm/src/application_common_providers.js +5 -4
- package/esm/src/application_common_providers.js.map +1 -1
- package/esm/src/application_common_providers.metadata.json +1 -1
- package/esm/src/application_ref.d.ts +17 -41
- package/esm/src/application_ref.js +32 -23
- package/esm/src/application_ref.js.map +1 -1
- package/esm/src/application_ref.metadata.json +1 -1
- package/esm/src/application_tokens.d.ts +6 -1
- package/esm/src/application_tokens.js +9 -4
- package/esm/src/application_tokens.js.map +1 -1
- package/esm/src/application_tokens.metadata.json +1 -1
- package/esm/src/change_detection/change_detection.d.ts +9 -8
- package/esm/src/change_detection/change_detection.js +7 -7
- package/esm/src/change_detection/change_detection.js.map +1 -1
- package/esm/src/change_detection/change_detection.metadata.json +1 -1
- package/esm/src/change_detection/change_detection_util.d.ts +3 -1
- package/esm/src/change_detection/change_detection_util.js +6 -5
- package/esm/src/change_detection/change_detection_util.js.map +1 -1
- package/esm/src/change_detection/change_detection_util.metadata.json +1 -1
- package/esm/src/change_detection/change_detector_ref.d.ts +3 -0
- package/esm/src/change_detection/change_detector_ref.js +3 -0
- package/esm/src/change_detection/change_detector_ref.js.map +1 -1
- package/esm/src/change_detection/constants.d.ts +1 -0
- package/esm/src/change_detection/constants.js +4 -3
- package/esm/src/change_detection/constants.js.map +1 -1
- package/esm/src/change_detection/constants.metadata.json +1 -1
- package/esm/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
- package/esm/src/change_detection/differs/default_iterable_differ.js +25 -18
- package/esm/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/esm/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
- package/esm/src/change_detection/differs/default_keyvalue_differ.js +13 -8
- package/esm/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/esm/src/change_detection/differs/iterable_differs.d.ts +4 -1
- package/esm/src/change_detection/differs/iterable_differs.js +5 -4
- package/esm/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/esm/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
- package/esm/src/change_detection/differs/keyvalue_differs.js +5 -4
- package/esm/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/esm/src/change_detection/pipe_transform.js.map +1 -1
- package/esm/src/change_detection.d.ts +1 -1
- package/esm/src/change_detection.js +5 -5
- package/esm/src/change_detection.js.map +1 -1
- package/esm/src/console.js +2 -1
- package/esm/src/console.js.map +1 -1
- package/esm/src/console.metadata.json +1 -1
- package/esm/src/debug/debug_node.d.ts +20 -2
- package/esm/src/debug/debug_node.js +16 -2
- package/esm/src/debug/debug_node.js.map +1 -1
- package/esm/src/debug/debug_node.metadata.json +1 -0
- package/esm/src/debug/debug_renderer.d.ts +10 -6
- package/esm/src/debug/debug_renderer.js +13 -2
- package/esm/src/debug/debug_renderer.js.map +1 -1
- package/esm/src/di/decorators.d.ts +13 -1
- package/esm/src/di/decorators.js +7 -1
- package/esm/src/di/decorators.js.map +1 -1
- package/esm/src/di/decorators.metadata.json +1 -1
- package/esm/src/di/forward_ref.d.ts +3 -1
- package/esm/src/di/forward_ref.js +3 -1
- package/esm/src/di/forward_ref.js.map +1 -1
- package/esm/src/di/injector.d.ts +4 -1
- package/esm/src/di/injector.js +5 -2
- package/esm/src/di/injector.js.map +1 -1
- package/esm/src/di/injector.metadata.json +1 -1
- package/esm/src/di/metadata.d.ts +8 -1
- package/esm/src/di/metadata.js +10 -3
- package/esm/src/di/metadata.js.map +1 -1
- package/esm/src/di/opaque_token.d.ts +2 -1
- package/esm/src/di/opaque_token.js +22 -21
- package/esm/src/di/opaque_token.js.map +1 -1
- package/esm/src/di/provider.d.ts +11 -10
- package/esm/src/di/provider.js +17 -14
- package/esm/src/di/provider.js.map +1 -1
- package/esm/src/di/provider.metadata.json +1 -0
- package/esm/src/di/provider_util.js.map +1 -1
- package/esm/src/di/provider_util.metadata.json +1 -0
- package/esm/src/di/reflective_exceptions.d.ts +11 -16
- package/esm/src/di/reflective_exceptions.js +28 -22
- package/esm/src/di/reflective_exceptions.js.map +1 -1
- package/esm/src/di/reflective_injector.d.ts +3 -33
- package/esm/src/di/reflective_injector.js +10 -7
- package/esm/src/di/reflective_injector.js.map +1 -1
- package/esm/src/di/reflective_key.d.ts +1 -8
- package/esm/src/di/reflective_key.js +3 -2
- package/esm/src/di/reflective_key.js.map +1 -1
- package/esm/src/di/reflective_provider.d.ts +2 -1
- package/esm/src/di/reflective_provider.js +6 -5
- package/esm/src/di/reflective_provider.js.map +1 -1
- package/esm/src/di/reflective_provider.metadata.json +1 -0
- package/esm/src/di.d.ts +2 -2
- package/esm/src/di.js +6 -6
- package/esm/src/di.js.map +1 -1
- package/esm/src/facade/async.d.ts +11 -4
- package/esm/src/facade/async.js +25 -15
- package/esm/src/facade/async.js.map +1 -1
- package/esm/src/facade/base_wrapped_exception.js +4 -4
- package/esm/src/facade/base_wrapped_exception.js.map +1 -1
- package/esm/src/facade/collection.js +1 -1
- package/esm/src/facade/collection.js.map +1 -1
- package/esm/src/facade/collection.metadata.json +1 -1
- package/esm/src/facade/exception_handler.d.ts +2 -11
- package/esm/src/facade/exception_handler.js +8 -7
- package/esm/src/facade/exception_handler.js.map +1 -1
- package/esm/src/facade/exceptions.d.ts +4 -0
- package/esm/src/facade/exceptions.js +6 -2
- package/esm/src/facade/exceptions.js.map +1 -1
- package/esm/src/facade/exceptions.metadata.json +1 -0
- package/esm/src/facade/lang.d.ts +6 -4
- package/esm/src/facade/lang.js +12 -11
- package/esm/src/facade/lang.js.map +1 -1
- package/esm/src/facade/lang.metadata.json +1 -1
- package/esm/src/facade/math.d.ts +2 -0
- package/esm/src/facade/math.js +4 -0
- package/esm/src/facade/math.js.map +1 -0
- package/esm/src/facade/math.metadata.json +1 -0
- package/esm/src/facade/promise.js.map +1 -1
- package/esm/src/linker/component_factory.d.ts +5 -4
- package/esm/src/linker/component_factory.js +7 -3
- package/esm/src/linker/component_factory.js.map +1 -1
- package/esm/src/linker/component_resolver.d.ts +5 -4
- package/esm/src/linker/component_resolver.js +12 -7
- package/esm/src/linker/component_resolver.js.map +1 -1
- package/esm/src/linker/component_resolver.metadata.json +1 -1
- package/esm/src/linker/debug_context.js +5 -4
- package/esm/src/linker/debug_context.js.map +1 -1
- package/esm/src/linker/dynamic_component_loader.d.ts +5 -6
- package/esm/src/linker/dynamic_component_loader.js +5 -3
- package/esm/src/linker/dynamic_component_loader.js.map +1 -1
- package/esm/src/linker/dynamic_component_loader.metadata.json +1 -1
- package/esm/src/linker/element.d.ts +3 -3
- package/esm/src/linker/element.js +5 -5
- package/esm/src/linker/element.js.map +1 -1
- package/esm/src/linker/element_injector.js.map +1 -1
- package/esm/src/linker/element_ref.d.ts +1 -0
- package/esm/src/linker/element_ref.js +5 -5
- package/esm/src/linker/element_ref.js.map +1 -1
- package/esm/src/linker/exceptions.d.ts +4 -1
- package/esm/src/linker/exceptions.js +4 -1
- package/esm/src/linker/exceptions.js.map +1 -1
- package/esm/src/linker/query_list.d.ts +3 -10
- package/esm/src/linker/query_list.js +8 -7
- package/esm/src/linker/query_list.js.map +1 -1
- package/esm/src/linker/systemjs_component_resolver.d.ts +21 -0
- package/esm/src/linker/systemjs_component_resolver.js +44 -0
- package/esm/src/linker/systemjs_component_resolver.js.map +1 -0
- package/esm/src/linker/template_ref.d.ts +2 -1
- package/esm/src/linker/template_ref.js +1 -0
- package/esm/src/linker/template_ref.js.map +1 -1
- package/esm/src/linker/view.d.ts +12 -1
- package/esm/src/linker/view.js +62 -16
- package/esm/src/linker/view.js.map +1 -1
- package/esm/src/linker/view_container_ref.d.ts +2 -10
- package/esm/src/linker/view_container_ref.js +4 -3
- package/esm/src/linker/view_container_ref.js.map +1 -1
- package/esm/src/linker/view_ref.d.ts +5 -1
- package/esm/src/linker/view_ref.js +6 -2
- package/esm/src/linker/view_ref.js.map +1 -1
- package/esm/src/linker/view_type.js.map +1 -1
- package/esm/src/linker/view_utils.d.ts +2 -4
- package/esm/src/linker/view_utils.js +21 -21
- package/esm/src/linker/view_utils.js.map +1 -1
- package/esm/src/linker/view_utils.metadata.json +1 -1
- package/esm/src/linker.d.ts +5 -4
- package/esm/src/linker.js +5 -4
- package/esm/src/linker.js.map +1 -1
- package/esm/src/metadata/di.d.ts +8 -1
- package/esm/src/metadata/di.js +10 -3
- package/esm/src/metadata/di.js.map +1 -1
- package/esm/src/metadata/directives.d.ts +104 -20
- package/esm/src/metadata/directives.js +25 -19
- package/esm/src/metadata/directives.js.map +1 -1
- package/esm/src/metadata/lifecycle_hooks.d.ts +46 -31
- package/esm/src/metadata/lifecycle_hooks.js +464 -10
- package/esm/src/metadata/lifecycle_hooks.js.map +1 -1
- package/esm/src/metadata/lifecycle_hooks.metadata.json +1 -1
- package/esm/src/metadata/view.d.ts +6 -2
- package/esm/src/metadata/view.js +3 -1
- package/esm/src/metadata/view.js.map +1 -1
- package/esm/src/metadata/view.metadata.json +1 -1
- package/esm/src/metadata.d.ts +49 -15
- package/esm/src/metadata.js +35 -10
- package/esm/src/metadata.js.map +1 -1
- package/esm/src/metadata.metadata.json +1 -1
- package/esm/src/platform_common_providers.d.ts +1 -0
- package/esm/src/platform_common_providers.js +3 -3
- package/esm/src/platform_common_providers.js.map +1 -1
- package/esm/src/platform_common_providers.metadata.json +1 -1
- package/esm/src/platform_directives_and_pipes.d.ts +48 -45
- package/esm/src/platform_directives_and_pipes.js +50 -47
- package/esm/src/platform_directives_and_pipes.js.map +1 -1
- package/esm/src/platform_directives_and_pipes.metadata.json +1 -1
- package/esm/src/profile/profile.d.ts +5 -1
- package/esm/src/profile/profile.js +4 -0
- package/esm/src/profile/profile.js.map +1 -1
- package/esm/src/profile/profile.metadata.json +1 -1
- package/esm/src/profile/wtf_impl.js +1 -1
- package/esm/src/profile/wtf_impl.js.map +1 -1
- package/esm/src/profile/wtf_impl.metadata.json +1 -0
- package/esm/src/profile/wtf_init.js +2 -2
- package/esm/src/profile/wtf_init.js.map +1 -1
- package/esm/src/reflection/platform_reflection_capabilities.d.ts +4 -3
- package/esm/src/reflection/platform_reflection_capabilities.js.map +1 -1
- package/esm/src/reflection/reflection.d.ts +1 -1
- package/esm/src/reflection/reflection.js +2 -2
- package/esm/src/reflection/reflection.js.map +1 -1
- package/esm/src/reflection/reflection.metadata.json +1 -1
- package/esm/src/reflection/reflection_capabilities.d.ts +4 -5
- package/esm/src/reflection/reflection_capabilities.js +22 -10
- package/esm/src/reflection/reflection_capabilities.js.map +1 -1
- package/esm/src/reflection/reflector.d.ts +8 -20
- package/esm/src/reflection/reflector.js +13 -3
- package/esm/src/reflection/reflector.js.map +1 -1
- package/esm/src/reflection/reflector_reader.js +3 -3
- package/esm/src/reflection/reflector_reader.js.map +1 -1
- package/esm/src/reflection/types.js.map +1 -1
- package/esm/src/render/api.d.ts +17 -6
- package/esm/src/render/api.js +8 -1
- package/esm/src/render/api.js.map +1 -1
- package/esm/src/render.d.ts +1 -1
- package/esm/src/render.js +1 -1
- package/esm/src/render.js.map +1 -1
- package/esm/src/security.js +6 -6
- package/esm/src/security.js.map +1 -1
- package/esm/src/testability/testability.d.ts +3 -19
- package/esm/src/testability/testability.js +10 -5
- package/esm/src/testability/testability.js.map +1 -1
- package/esm/src/testability/testability.metadata.json +1 -1
- package/esm/src/util/decorators.d.ts +2 -1
- package/esm/src/util/decorators.js +10 -9
- package/esm/src/util/decorators.js.map +1 -1
- package/esm/src/util.js.map +1 -1
- package/esm/src/zone/ng_zone.d.ts +6 -17
- package/esm/src/zone/ng_zone.js +7 -6
- package/esm/src/zone/ng_zone.js.map +1 -1
- package/esm/src/zone/ng_zone_impl.d.ts +1 -4
- package/esm/src/zone/ng_zone_impl.js +3 -2
- package/esm/src/zone/ng_zone_impl.js.map +1 -1
- package/esm/src/zone.js.map +1 -1
- package/esm/testing/async.js +20 -22
- package/esm/testing/async.js.map +1 -1
- package/esm/testing/async.metadata.json +1 -0
- package/esm/testing/async_test_completer.js.map +1 -1
- package/esm/testing/fake_async.d.ts +4 -1
- package/esm/testing/fake_async.js +9 -2
- package/esm/testing/fake_async.js.map +1 -1
- package/esm/testing/lang_utils.js +1 -1
- package/esm/testing/lang_utils.js.map +1 -1
- package/esm/testing/lang_utils.metadata.json +1 -0
- package/esm/testing/logger.js +5 -3
- package/esm/testing/logger.js.map +1 -1
- package/esm/testing/logger.metadata.json +1 -1
- package/esm/testing/mock_application_ref.d.ts +1 -1
- package/esm/testing/mock_application_ref.js +1 -0
- package/esm/testing/mock_application_ref.js.map +1 -1
- package/esm/testing/mock_application_ref.metadata.json +1 -1
- package/esm/testing/ng_zone_mock.d.ts +0 -1
- package/esm/testing/ng_zone_mock.js +2 -1
- package/esm/testing/ng_zone_mock.js.map +1 -1
- package/esm/testing/ng_zone_mock.metadata.json +1 -1
- package/esm/testing/regexp.js +1 -1
- package/esm/testing/regexp.js.map +1 -1
- package/esm/testing/regexp.metadata.json +1 -0
- package/esm/testing/test_injector.d.ts +6 -12
- package/esm/testing/test_injector.js +4 -10
- package/esm/testing/test_injector.js.map +1 -1
- package/esm/testing/test_injector.metadata.json +1 -0
- package/esm/testing/testing.d.ts +2 -2
- package/esm/testing/testing.js +2 -2
- package/esm/testing/testing.js.map +1 -1
- package/esm/testing/testing.metadata.json +1 -1
- package/esm/testing.js.map +1 -1
- package/index.d.ts +5 -4
- package/index.js +10 -8
- package/index.js.map +1 -1
- package/package.json +5 -1
- package/private_export.d.ts +96 -11
- package/private_export.js +39 -10
- package/private_export.js.map +1 -1
- package/private_export.metadata.json +1 -1
- package/src/animation/active_animation_players_map.d.ts +11 -0
- package/src/animation/active_animation_players_map.js +54 -0
- package/src/animation/active_animation_players_map.js.map +1 -0
- package/src/animation/animation_constants.d.ts +4 -0
- package/src/animation/animation_constants.js +6 -0
- package/src/animation/animation_constants.js.map +1 -0
- package/src/animation/animation_constants.metadata.json +1 -0
- package/src/animation/animation_driver.d.ts +9 -0
- package/src/animation/animation_driver.js +25 -0
- package/src/animation/animation_driver.js.map +1 -0
- package/src/animation/animation_group_player.d.ts +18 -0
- package/src/animation/animation_group_player.js +64 -0
- package/src/animation/animation_group_player.js.map +1 -0
- package/src/animation/animation_keyframe.d.ts +6 -0
- package/src/animation/animation_keyframe.js +10 -0
- package/src/animation/animation_keyframe.js.map +1 -0
- package/src/animation/animation_player.d.ts +26 -0
- package/src/animation/animation_player.js +42 -0
- package/src/animation/animation_player.js.map +1 -0
- package/src/animation/animation_sequence_player.d.ts +21 -0
- package/src/animation/animation_sequence_player.js +69 -0
- package/src/animation/animation_sequence_player.js.map +1 -0
- package/src/animation/animation_style_util.d.ts +32 -0
- package/src/animation/animation_style_util.js +99 -0
- package/src/animation/animation_style_util.js.map +1 -0
- package/src/animation/animation_style_util.metadata.json +1 -0
- package/src/animation/animation_styles.d.ts +8 -0
- package/src/animation/animation_styles.js +9 -0
- package/src/animation/animation_styles.js.map +1 -0
- package/src/animation/metadata.d.ts +511 -0
- package/src/animation/metadata.js +627 -0
- package/src/animation/metadata.js.map +1 -0
- package/src/animation/metadata.metadata.json +1 -0
- package/src/application_common_providers.d.ts +1 -0
- package/src/application_common_providers.js +4 -3
- package/src/application_common_providers.js.map +1 -1
- package/src/application_common_providers.metadata.json +1 -1
- package/src/application_ref.d.ts +17 -41
- package/src/application_ref.js +30 -21
- package/src/application_ref.js.map +1 -1
- package/src/application_ref.metadata.json +1 -1
- package/src/application_tokens.d.ts +6 -1
- package/src/application_tokens.js +9 -4
- package/src/application_tokens.js.map +1 -1
- package/src/application_tokens.metadata.json +1 -1
- package/src/change_detection/change_detection.d.ts +9 -8
- package/src/change_detection/change_detection.js +21 -21
- package/src/change_detection/change_detection.js.map +1 -1
- package/src/change_detection/change_detection.metadata.json +1 -1
- package/src/change_detection/change_detection_util.d.ts +3 -1
- package/src/change_detection/change_detection_util.js +6 -5
- package/src/change_detection/change_detection_util.js.map +1 -1
- package/src/change_detection/change_detection_util.metadata.json +1 -1
- package/src/change_detection/change_detector_ref.d.ts +3 -0
- package/src/change_detection/change_detector_ref.js +3 -0
- package/src/change_detection/change_detector_ref.js.map +1 -1
- package/src/change_detection/constants.d.ts +1 -0
- package/src/change_detection/constants.js +4 -3
- package/src/change_detection/constants.js.map +1 -1
- package/src/change_detection/constants.metadata.json +1 -1
- package/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
- package/src/change_detection/differs/default_iterable_differ.js +25 -18
- package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
- package/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
- package/src/change_detection/differs/default_keyvalue_differ.js +13 -8
- package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
- package/src/change_detection/differs/iterable_differs.d.ts +4 -1
- package/src/change_detection/differs/iterable_differs.js +4 -3
- package/src/change_detection/differs/iterable_differs.js.map +1 -1
- package/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
- package/src/change_detection/differs/keyvalue_differs.js +4 -3
- package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
- package/src/change_detection/pipe_transform.js.map +1 -1
- package/src/change_detection.d.ts +1 -1
- package/src/change_detection.js +9 -9
- package/src/change_detection.js.map +1 -1
- package/src/console.js +2 -1
- package/src/console.js.map +1 -1
- package/src/console.metadata.json +1 -1
- package/src/debug/debug_node.d.ts +20 -2
- package/src/debug/debug_node.js +16 -2
- package/src/debug/debug_node.js.map +1 -1
- package/src/debug/debug_node.metadata.json +1 -0
- package/src/debug/debug_renderer.d.ts +10 -6
- package/src/debug/debug_renderer.js +12 -1
- package/src/debug/debug_renderer.js.map +1 -1
- package/src/di/decorators.d.ts +13 -1
- package/src/di/decorators.js +7 -1
- package/src/di/decorators.js.map +1 -1
- package/src/di/decorators.metadata.json +1 -1
- package/src/di/forward_ref.d.ts +3 -1
- package/src/di/forward_ref.js +3 -1
- package/src/di/forward_ref.js.map +1 -1
- package/src/di/injector.d.ts +4 -1
- package/src/di/injector.js +5 -2
- package/src/di/injector.js.map +1 -1
- package/src/di/injector.metadata.json +1 -1
- package/src/di/metadata.d.ts +8 -1
- package/src/di/metadata.js +10 -3
- package/src/di/metadata.js.map +1 -1
- package/src/di/opaque_token.d.ts +2 -1
- package/src/di/opaque_token.js +22 -21
- package/src/di/opaque_token.js.map +1 -1
- package/src/di/provider.d.ts +11 -10
- package/src/di/provider.js +17 -14
- package/src/di/provider.js.map +1 -1
- package/src/di/provider.metadata.json +1 -0
- package/src/di/provider_util.js.map +1 -1
- package/src/di/provider_util.metadata.json +1 -0
- package/src/di/reflective_exceptions.d.ts +11 -16
- package/src/di/reflective_exceptions.js +28 -22
- package/src/di/reflective_exceptions.js.map +1 -1
- package/src/di/reflective_injector.d.ts +3 -33
- package/src/di/reflective_injector.js +9 -6
- package/src/di/reflective_injector.js.map +1 -1
- package/src/di/reflective_key.d.ts +1 -8
- package/src/di/reflective_key.js +3 -2
- package/src/di/reflective_key.js.map +1 -1
- package/src/di/reflective_provider.d.ts +2 -1
- package/src/di/reflective_provider.js +6 -5
- package/src/di/reflective_provider.js.map +1 -1
- package/src/di/reflective_provider.metadata.json +1 -0
- package/src/di.d.ts +2 -2
- package/src/di.js +7 -9
- package/src/di.js.map +1 -1
- package/src/facade/async.d.ts +11 -4
- package/src/facade/async.js +27 -17
- package/src/facade/async.js.map +1 -1
- package/src/facade/base_wrapped_exception.js +4 -4
- package/src/facade/base_wrapped_exception.js.map +1 -1
- package/src/facade/collection.js.map +1 -1
- package/src/facade/collection.metadata.json +1 -1
- package/src/facade/exception_handler.d.ts +2 -11
- package/src/facade/exception_handler.js +8 -7
- package/src/facade/exception_handler.js.map +1 -1
- package/src/facade/exceptions.d.ts +4 -0
- package/src/facade/exceptions.js +6 -2
- package/src/facade/exceptions.js.map +1 -1
- package/src/facade/exceptions.metadata.json +1 -0
- package/src/facade/lang.d.ts +6 -4
- package/src/facade/lang.js +12 -11
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/facade/math.d.ts +2 -0
- package/src/facade/math.js +5 -0
- package/src/facade/math.js.map +1 -0
- package/src/facade/math.metadata.json +1 -0
- package/src/facade/promise.js.map +1 -1
- package/src/linker/component_factory.d.ts +5 -4
- package/src/linker/component_factory.js +7 -3
- package/src/linker/component_factory.js.map +1 -1
- package/src/linker/component_resolver.d.ts +5 -4
- package/src/linker/component_resolver.js +12 -7
- package/src/linker/component_resolver.js.map +1 -1
- package/src/linker/component_resolver.metadata.json +1 -1
- package/src/linker/debug_context.js +5 -4
- package/src/linker/debug_context.js.map +1 -1
- package/src/linker/dynamic_component_loader.d.ts +5 -6
- package/src/linker/dynamic_component_loader.js +5 -3
- package/src/linker/dynamic_component_loader.js.map +1 -1
- package/src/linker/dynamic_component_loader.metadata.json +1 -1
- package/src/linker/element.d.ts +3 -3
- package/src/linker/element.js +5 -5
- package/src/linker/element.js.map +1 -1
- package/src/linker/element_injector.js.map +1 -1
- package/src/linker/element_ref.d.ts +1 -0
- package/src/linker/element_ref.js +5 -5
- package/src/linker/element_ref.js.map +1 -1
- package/src/linker/exceptions.d.ts +4 -1
- package/src/linker/exceptions.js +4 -1
- package/src/linker/exceptions.js.map +1 -1
- package/src/linker/query_list.d.ts +3 -10
- package/src/linker/query_list.js +8 -7
- package/src/linker/query_list.js.map +1 -1
- package/src/linker/systemjs_component_resolver.d.ts +21 -0
- package/src/linker/systemjs_component_resolver.js +52 -0
- package/src/linker/systemjs_component_resolver.js.map +1 -0
- package/src/linker/template_ref.d.ts +2 -1
- package/src/linker/template_ref.js +1 -0
- package/src/linker/template_ref.js.map +1 -1
- package/src/linker/view.d.ts +12 -1
- package/src/linker/view.js +65 -15
- package/src/linker/view.js.map +1 -1
- package/src/linker/view_container_ref.d.ts +2 -10
- package/src/linker/view_container_ref.js +4 -3
- package/src/linker/view_container_ref.js.map +1 -1
- package/src/linker/view_ref.d.ts +5 -1
- package/src/linker/view_ref.js +6 -2
- package/src/linker/view_ref.js.map +1 -1
- package/src/linker/view_type.js.map +1 -1
- package/src/linker/view_utils.d.ts +2 -4
- package/src/linker/view_utils.js +21 -21
- package/src/linker/view_utils.js.map +1 -1
- package/src/linker/view_utils.metadata.json +1 -1
- package/src/linker.d.ts +5 -4
- package/src/linker.js +12 -9
- package/src/linker.js.map +1 -1
- package/src/metadata/di.d.ts +8 -1
- package/src/metadata/di.js +10 -3
- package/src/metadata/di.js.map +1 -1
- package/src/metadata/directives.d.ts +104 -20
- package/src/metadata/directives.js +25 -27
- package/src/metadata/directives.js.map +1 -1
- package/src/metadata/lifecycle_hooks.d.ts +46 -31
- package/src/metadata/lifecycle_hooks.js +496 -10
- package/src/metadata/lifecycle_hooks.js.map +1 -1
- package/src/metadata/lifecycle_hooks.metadata.json +1 -1
- package/src/metadata/view.d.ts +6 -2
- package/src/metadata/view.js +3 -1
- package/src/metadata/view.js.map +1 -1
- package/src/metadata/view.metadata.json +1 -1
- package/src/metadata.d.ts +49 -15
- package/src/metadata.js +70 -37
- package/src/metadata.js.map +1 -1
- package/src/metadata.metadata.json +1 -1
- package/src/platform_common_providers.d.ts +1 -0
- package/src/platform_common_providers.js +3 -3
- package/src/platform_common_providers.js.map +1 -1
- package/src/platform_common_providers.metadata.json +1 -1
- package/src/platform_directives_and_pipes.d.ts +48 -45
- package/src/platform_directives_and_pipes.js +50 -47
- package/src/platform_directives_and_pipes.js.map +1 -1
- package/src/platform_directives_and_pipes.metadata.json +1 -1
- package/src/profile/profile.d.ts +5 -1
- package/src/profile/profile.js +5 -3
- package/src/profile/profile.js.map +1 -1
- package/src/profile/profile.metadata.json +1 -1
- package/src/profile/wtf_impl.js +1 -1
- package/src/profile/wtf_impl.js.map +1 -1
- package/src/profile/wtf_impl.metadata.json +1 -0
- package/src/profile/wtf_init.js +2 -2
- package/src/profile/wtf_init.js.map +1 -1
- package/src/reflection/platform_reflection_capabilities.d.ts +4 -3
- package/src/reflection/platform_reflection_capabilities.js.map +1 -1
- package/src/reflection/reflection.d.ts +1 -1
- package/src/reflection/reflection.js +2 -2
- package/src/reflection/reflection.js.map +1 -1
- package/src/reflection/reflection.metadata.json +1 -1
- package/src/reflection/reflection_capabilities.d.ts +4 -5
- package/src/reflection/reflection_capabilities.js +24 -10
- package/src/reflection/reflection_capabilities.js.map +1 -1
- package/src/reflection/reflector.d.ts +8 -20
- package/src/reflection/reflector.js +13 -3
- package/src/reflection/reflector.js.map +1 -1
- package/src/reflection/reflector_reader.js +3 -3
- package/src/reflection/reflector_reader.js.map +1 -1
- package/src/reflection/types.js.map +1 -1
- package/src/render/api.d.ts +17 -6
- package/src/render/api.js +8 -1
- package/src/render/api.js.map +1 -1
- package/src/render.d.ts +1 -1
- package/src/render.js +2 -2
- package/src/render.js.map +1 -1
- package/src/security.js +6 -6
- package/src/security.js.map +1 -1
- package/src/testability/testability.d.ts +3 -19
- package/src/testability/testability.js +10 -5
- package/src/testability/testability.js.map +1 -1
- package/src/testability/testability.metadata.json +1 -1
- package/src/util/decorators.d.ts +2 -1
- package/src/util/decorators.js +10 -9
- package/src/util/decorators.js.map +1 -1
- package/src/util.js.map +1 -1
- package/src/zone/ng_zone.d.ts +6 -17
- package/src/zone/ng_zone.js +11 -6
- package/src/zone/ng_zone.js.map +1 -1
- package/src/zone/ng_zone_impl.d.ts +1 -4
- package/src/zone/ng_zone_impl.js +3 -2
- package/src/zone/ng_zone_impl.js.map +1 -1
- package/src/zone.js.map +1 -1
- package/testing/async.js +20 -22
- package/testing/async.js.map +1 -1
- package/testing/async.metadata.json +1 -0
- package/testing/async_test_completer.js.map +1 -1
- package/testing/fake_async.d.ts +4 -1
- package/testing/fake_async.js +10 -2
- package/testing/fake_async.js.map +1 -1
- package/testing/lang_utils.js +1 -1
- package/testing/lang_utils.js.map +1 -1
- package/testing/lang_utils.metadata.json +1 -0
- package/testing/logger.js +5 -3
- package/testing/logger.js.map +1 -1
- package/testing/logger.metadata.json +1 -1
- package/testing/mock_application_ref.d.ts +1 -1
- package/testing/mock_application_ref.js +1 -0
- package/testing/mock_application_ref.js.map +1 -1
- package/testing/mock_application_ref.metadata.json +1 -1
- package/testing/ng_zone_mock.d.ts +0 -1
- package/testing/ng_zone_mock.js +2 -1
- package/testing/ng_zone_mock.js.map +1 -1
- package/testing/ng_zone_mock.metadata.json +1 -1
- package/testing/regexp.js +1 -1
- package/testing/regexp.js.map +1 -1
- package/testing/regexp.metadata.json +1 -0
- package/testing/test_injector.d.ts +6 -12
- package/testing/test_injector.js +3 -9
- package/testing/test_injector.js.map +1 -1
- package/testing/test_injector.metadata.json +1 -0
- package/testing/testing.d.ts +2 -2
- package/testing/testing.js +5 -5
- package/testing/testing.js.map +1 -1
- package/testing/testing.metadata.json +1 -1
- package/testing.js.map +1 -1
package/src/linker/view.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
146
|
-
|
|
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.
|
|
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.
|
|
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]
|
|
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]
|
|
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);
|
package/src/linker/view.js.map
CHANGED
|
@@ -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 {
|
|
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('
|
|
3
|
-
var exceptions_1 = require('
|
|
4
|
-
var lang_1 = require('
|
|
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"]}
|
package/src/linker/view_ref.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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;
|
package/src/linker/view_ref.js
CHANGED
|
@@ -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
|
-
*
|
|
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":";;;;;;
|
|
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":";
|
|
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[][];
|