angular/packages/core/src
Kara Erickson ebe3229da5 fix(ivy): run pre-order hooks in injection order (#34026)
This commit fixes a compatibility bug where pre-order lifecycle
hooks (onInit, doCheck, OnChanges) for directives on the same
host node were executed based on the order the directives were
matched, rather than the order the directives were instantiated
(i.e. injection order).

This discrepancy can cause issues with forms, where it is common
to inject NgControl and try to extract its control property in
ngOnInit. As the NgControl directive is injected, it should be
instantiated before the control value accessor directive (and
thus its hooks should run first). This ensures that the NgControl
ngOnInit can set up the form control before the ngOnInit
for the control value accessor tries to access it.

Closes #32522

PR Close #34026
2019-11-25 18:41:22 -05:00
..
change_detection refactor(core): rename ngInjectableDef to ɵprov (#33151) 2019-10-16 16:36:19 -04:00
compiler fix(ivy): retain JIT metadata unless JIT mode is explicitly disabled (#33671) 2019-11-20 12:55:43 -08:00
debug fix(ivy): shadow all DOM properties in DebugElement.properties (#33781) 2019-11-18 15:49:22 -08:00
di fix(core): support ngInjectableDef on types with inherited ɵprov (#33732) 2019-11-12 11:54:15 -08:00
i18n feat(common): support loading locales from a global (#33523) 2019-11-05 17:27:00 +00:00
interface feat(core): Add "AbstractType<T>" interface (#29295) 2019-04-02 16:07:22 -07:00
linker fix(core): make QueryList implement Iterable in the type system (#33536) 2019-11-19 13:43:53 -08:00
metadata docs: add ModuleWithProviders deprecation (#33266) 2019-10-22 14:35:27 -07:00
reflection perf: don't create holey arrays (#32155) 2019-08-21 08:27:43 -07:00
render refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
render3 fix(ivy): run pre-order hooks in injection order (#34026) 2019-11-25 18:41:22 -05:00
sanitization fix(core): allow css custom variables/properties in the style sanitizer (#33841) 2019-11-20 14:48:00 -08:00
testability build: update zone.js to 0.9.0 (#28219) 2019-03-26 12:50:38 -07:00
util test(ivy): Have more descriptive names for LView (#33449) 2019-11-07 15:33:50 +00:00
view refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
zone feat: add a flag in bootstrap to enable coalesce event change detection to improve performance (#30533) 2019-11-05 18:58:25 +00:00
application_init.ts docs: update core to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
application_module.ts feat(ivy): allow the locale to be set via a global property (#33314) 2019-10-24 10:16:25 -07:00
application_ref.ts fix(core): remove deprecated and defunct wtf* apis (#33949) 2019-11-25 18:39:18 -05:00
application_tokens.ts docs: convert all @experimental tags to @publicApi tags (#26595) 2018-10-19 14:35:52 -07:00
change_detection.ts refactor(core): remove deprecated TrackByFn (#18757) 2017-08-18 13:23:46 -05:00
codegen_private_exports.ts fix(ivy): align NgModule registration timing with ViewEngine (#30244) 2019-05-13 11:13:25 -07:00
console.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
core.externs.js fix(core): remove deprecated and defunct wtf* apis (#33949) 2019-11-25 18:39:18 -05:00
core.ts fix(core): remove deprecated and defunct wtf* apis (#33949) 2019-11-25 18:39:18 -05:00
core_private_export.ts feat(common): support loading locales from a global (#33523) 2019-11-05 17:27:00 +00:00
core_render3_private_export.ts fix(ivy): ensure that the correct document is available (#33712) 2019-11-11 14:01:05 -08:00
di.ts refactor(ivy): create Injector interface; remove dependency on Ivy (#28066) 2019-01-11 16:24:03 -08:00
error_handler.ts refactor(ivy): refactor more files in DI to prepare it for bazel packages (#28098) 2019-01-14 09:55:30 -08:00
errors.ts build: extract interface and util sub compilation from core (#28028) 2019-01-10 16:31:44 -08:00
event_emitter.ts docs(core): mark EventEmitter#__isAsync as internal to hide from API docs (#31378) 2019-10-03 10:24:34 -07:00
ivy_switch.ts refactor(ivy): obviate the Bazel component of the ivy_switch (#26550) 2018-10-19 09:23:05 -07:00
linker.ts refactor: move angular source to /packages rather than modules/@angular 2017-03-08 16:29:27 -08:00
metadata.ts docs: fix and add decorator api doc (#28986) 2019-03-04 11:47:30 -08:00
platform_core_providers.ts docs: convert all @experimental tags to @publicApi tags (#26595) 2018-10-19 14:35:52 -07:00
r3_symbols.ts refactor(ivy): generate ngFactoryDef for injectables (#32433) 2019-10-02 13:04:26 -07:00
render.ts refactor(core): remove deprecated Renderer (#33019) 2019-10-08 09:23:00 -07:00
version.ts docs: update core to use @publicApi tags (#26595) 2018-10-19 14:35:53 -07:00
zone.ts feat(router): warn if navigation triggered outside Angular zone (#24959) 2018-09-05 09:35:14 -07:00