fe1d0e29c5
feat(UpgradeComponent): add support for require
...
This commit also adds/improves/fixes some `UpgradeComponent` tests.
2016-11-04 11:16:28 -07:00
469010ea8e
feat(UpgradeComponent): add/improve support for lifecycle hooks
...
Add support for the `$postDigest()` and `$onDestroy()` lifecycle hooks.
Better align the behavior of the `$onChanges()` and `$onInit()` lifecycle hooks
with Angular 1.x:
- Call `$onInit()` before pre-linking.
- Always instantiate the controller before calling `$onChanges()`.
2016-11-04 11:16:28 -07:00
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
051d74802a
fix(core): ensure that component views that have no bindings recurse into nested components / view containers.
2016-11-04 10:50:27 -07:00
f2bbef3e33
fix(core): allow to query content of templates that are stamped out at a different place
...
Previously, if a `TemplateRef` was created in a `ViewContainerRef`
at a different place, the content was not query able at all.
With this change, the content of the template can be queried
as if it was stamped out at the declaration place of the template.
E.g. in the following example, the `QueryList<ChildCmp>` will
be filled once the button is clicked.
```
@Component({
selector: ‘my-comp’,
template: ‘<button #vc (click)=“createView()”></button>’
})
class MyComp {
@ContentChildren(ChildCmp)
children: QueryList<ChildCmp>;
@ContentChildren(TemplateRef)
template: TemplateRef;
@ViewChild(‘vc’, {read: ViewContainerRef})
vc: ViewContainerRef;
createView() {
this.vc.createEmbeddedView(this.template);
}
}
@Component({
template: `
<my-comp>
<template><child-cmp></child-cmp></template>
</my-comp>
`
})
class App {}
```
Closes #12283
Closes #12094
2016-11-04 10:50:27 -07:00
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -07:00
648ce5981b
perf(core): don’t use DomAdapter
nor zone for regular events
2016-11-03 16:29:51 -07:00
9c23884da4
perf(compiler): introduce direct rendering
...
This allows to attach / detach embedded views and projected nodes
in a faster way.
2016-11-03 16:29:51 -07:00
d708a8859c
perf(platform-browser): don’t use DomAdapter
any more
...
But use the DOM apis directly.
This also creates a separate `ServerRenderer` implementation
for `platform-server` as it previously reused the `BrowserRenderer`.
2016-11-03 16:29:51 -07:00
9ddf9b3d3d
fix(router): advance a route only after its children have been deactivated ( #12676 )
...
Closes #11715
2016-11-03 16:26:10 -07:00
69f006cd89
docs(change_detection): fix typo(ChangeDetectorStatus enum comment CheckedOnce -> CheckOnce) ( #12683 )
2016-11-03 11:23:20 -07:00
4aaae3eada
docs(common): fix a typo in ngStyle API docs
2016-11-03 10:27:05 -07:00
2e78b76fcf
fix(router): resolve guard observables on the first emit ( #10412 )
2016-11-02 21:56:04 -07:00
b2cf379d1c
fix(enableDebugTools): create AngularTools by merging into context.ng ( #12003 )
...
When using `enableDebugTools` the tools are merged into `context.ng` to prevent `ng.probe` and `ng.coreTokens` from being clobbered.
Fixes #12002
2016-11-02 21:55:49 -07:00
e25baa08b3
fix(router): correctly export concatMap operator in es5 ( #12430 )
2016-11-02 21:55:02 -07:00
7103754178
fix(closure): suppress closure compiler suspiciousCode check in codegen ( #12666 )
2016-11-02 21:11:30 -07:00
1a069e8372
refactor(compiler): cleanups
2016-11-02 20:58:48 -07:00
0fc11a43f1
perf(core): use array.push
/ array.pop
instead of splice
if possible
2016-11-02 20:58:48 -07:00
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
7c5cc9bc41
refactor(compiler): initialize RenderComponentType
eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
20a4f9923f
refactor(compiler): remove view.parentInjector
2016-11-02 17:06:27 -07:00
e7c00be19d
refactor(compiler): rename AppElement
into ViewContainer
2016-11-02 17:06:27 -07:00
74ede9aa9b
refactor(core): don’t store view factory in TemplateRef
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
d1035da85c
refactor(compiler): don’t use AppElement
s for creating component views
2016-11-02 17:06:27 -07:00
13533d2a30
refactor(compiler): remove AppElement.initComponent
2016-11-02 17:06:27 -07:00
d509ee078b
fix(router): reset URL to the stable state when a navigation gets canceled
...
Closes #10321
2016-11-02 12:25:23 -07:00
8e221b826f
fix(router): routerLink should not prevent default on non-link elements
2016-11-02 12:25:23 -07:00
830a780cb3
fix(router): CanDeactivate receives a wrong component
...
Closes #12592
2016-11-02 12:25:23 -07:00
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -07:00
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
f6710fefeb
refactor(compiler): make view.disposable
array null if empty
2016-11-01 11:29:15 -07:00
bda1909ede
refactor(compiler): remove view.rootNodes
and view.projectableNodes
...
They are replaced by generated visitor functions `view.visitRootNodes` / `view.visitProjectableNodes`.
2016-11-01 11:29:15 -07:00
b3e3cd3add
refactor(compiler): inline view.contentChildren
2016-11-01 11:29:14 -07:00
e5fdf4c70a
refactor(compiler): inline view.viewChildren in generated code
2016-11-01 11:29:14 -07:00
97471d74b6
refactor(compiler): remove unused subscriptions
in view
2016-11-01 11:29:14 -07:00
1de04b23b1
fix(router): call data observers when the path changes
2016-11-01 11:28:43 -07:00
a178bc6c83
fix(compiler): dedupe NgModule declarations, …
...
This is important so that we don’t generate things multiple times.
2016-10-31 14:43:50 -07:00
642c1db9ef
fix(compiler): Don’t throw on empty property bindings
...
Closes #12583
2016-10-31 14:43:50 -07:00
579deeb9c5
style(platform-browser): clean up hammer gestures
2016-10-31 14:43:05 -07:00
e9fd8645ed
fix(core): improve error when multiple components match the same element
...
Closes #7067
2016-10-31 11:28:03 -07:00
e0ad413a8e
style(tests): clean up testing_public_spec ( #11452 )
2016-10-31 11:26:38 -07:00
3045d02b9a
docs(pipes): minor fix and improvements
2016-10-31 12:39:21 +01:00
e86573bac8
chore(lint): replace gulp check-task with tslint no-jasmine-focus rule
...
fixes #11800
2016-10-28 15:53:15 -07:00
7b8dae19af
refactor(facade): cleanup Intl facade
2016-10-28 15:52:52 -07:00
7c16ef942e
feat(core): add the find method to QueryList
2016-10-28 15:34:47 -07:00
a318b57257
refactor(core): removed extraneous interface from QueryList test
2016-10-28 15:34:47 -07:00
fe47e6b783
fix(router): rerun resolvers when url changes
...
Closes #12603
2016-10-28 15:17:00 -07:00
091c390032
fix(router): run navigations serialy
...
Closes #11754
2016-10-28 14:56:08 -07:00
e391cacdf9
fix(compiler): don’t double bind functions
...
This fixes a performance regressions introduced by 178fb79b5c
.
Also makes properties in the directive wrapper private
so that closure compiler can minify them better.
2016-10-28 11:17:12 -07:00