Tobias Bosch
9c697030e6
feat(compiler): generate proper reexports in .ngfactory.ts
files to not need transitive deps for compiling .ngfactory.ts
files. ( #13524 )
...
Note: This checks the constructors of `@Injectable` classes more strictly.
E.g this will fail now as the constructor argument has no `@Inject` nor is
the type of the argument a DI token.
```
@Injectable()
class MyService {
constructor(dep: string) {}
}
```
Last part of #12787
Closes #12787
2016-12-27 09:36:47 -08:00
Dzmitry Shylovich
383adc9ad9
fix(core): improve error message when component factory cannot be found ( #13541 )
...
Closes #12678
2016-12-20 16:17:22 -08:00
Tobias Bosch
33910ddfc9
refactor(compiler): store metadata of top level symbols also in summaries ( #13289 )
...
This allows a build using summaries to not need .metadata.json files at all
any more.
Part of #12787
2016-12-15 09:12:40 -08:00
Eudes Petonnet-Vincent
d91a86aac6
fix(upgrade): fix downgrade content projection and injector inheritance
...
- Full support for content projection in downgraded Angular 2
components. In particular, this enables multi-slot projection and
other features on <ng-content>.
- Correctly wire up hierarchical injectors for downgraded Angular 2
components: downgraded components inherit the injector of the first
other downgraded Angular 2 component they find up the DOM tree.
Closes #6629 , #7727 , #8729 , #9643 , #9649 , #12675
2016-12-14 13:02:27 -08:00
Miško Hevery
a659259962
fix(core): detectChanges() doesn't work on detached instance
...
Closes #13426
Closes #13472
2016-12-14 13:01:06 -08:00
Matias Niemelä
8395f0e138
perf(animations): always run the animation queue outside of zones
...
Related #12732
Closes #13440
2016-12-14 12:59:36 -08:00
Pawel Kozlowski
3edca4d37e
fix(core): properly destroy embedded Views attatched to ApplicationRef ( #13459 )
...
Fixes #13062
2016-12-14 08:33:29 -08:00
Matias Niemelä
f0b0762f4a
fix(animations): always cleanup players after they have finished internally ( #13334 )
...
Closes #13333
Closes #13334
2016-12-09 10:45:10 -08:00
Victor Berchet
b5c4bf1c59
refactor(router): misc refactoring ( #13330 )
2016-12-09 10:44:46 -08:00
Miško Hevery
16efb13dd1
fix: display framework version on bootstrapped component ( #13252 )
2016-12-06 16:21:07 -08:00
PatrickJS
36caaaa8e4
refactor(core): remove unused import
...
APP_ID was removed after 2.2.x
2016-11-28 14:11:25 -08:00
Pawel Kozlowski
808275a9d5
feat(core): expose destroy() method on ViewRef
2016-11-28 14:10:42 -08:00
Tobias Bosch
8b2dfb2eca
fix(core): support ngTemplateOutlet
in production mode ( #12921 )
...
Fixes #12911
2016-11-16 10:00:18 -08:00
Tobias Bosch
1b5384ee54
feat(core): expose ViewRef
as ChangeDetectorRef
...
closes #12722
This is helpful when manually dirty checking embedded views.
2016-11-14 17:01:41 -08:00
Tobias Bosch
9f7d32a326
feat(core): add attachView
/ detachView
to ApplicationRef
...
This feature is useful to allow components / embedded views
to be dirty checked if they are not placed in any `ViewContainer`.
Closes #9293
2016-11-14 17:01:35 -08:00
Matias Niemelä
9de76ebfa5
fix(animations): retain styling when transition destinations are changed ( #12208 )
...
Closes #9661
Closes #12208
2016-11-14 16:59:06 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Tobias Bosch
ad3bf6c54f
fix(core): apply host attributes to root elements ( #12761 )
...
Fixes #12744
2016-11-08 15:46:55 -08:00
Pawel Kozlowski
22c021c57f
fix(compiler): support more than 9 interpolations ( #12710 )
...
Fixes #10253
2016-11-07 12:23:03 -08:00
Tobias Bosch
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
Tobias Bosch
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
Tobias Bosch
0fc11a43f1
perf(core): use array.push
/ array.pop
instead of splice
if possible
2016-11-02 20:58:48 -07:00
Tobias Bosch
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
Tobias Bosch
7c5cc9bc41
refactor(compiler): initialize RenderComponentType
eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
Tobias Bosch
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
Tobias Bosch
20a4f9923f
refactor(compiler): remove view.parentInjector
2016-11-02 17:06:27 -07:00
Tobias Bosch
e7c00be19d
refactor(compiler): rename AppElement
into ViewContainer
2016-11-02 17:06:27 -07:00
Tobias Bosch
74ede9aa9b
refactor(core): don’t store view factory in TemplateRef
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
Tobias Bosch
d1035da85c
refactor(compiler): don’t use AppElement
s for creating component views
2016-11-02 17:06:27 -07:00
Tobias Bosch
13533d2a30
refactor(compiler): remove AppElement.initComponent
2016-11-02 17:06:27 -07:00
Tobias Bosch
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
Tobias Bosch
f6710fefeb
refactor(compiler): make view.disposable
array null if empty
2016-11-01 11:29:15 -07:00
Tobias Bosch
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
Tobias Bosch
b3e3cd3add
refactor(compiler): inline view.contentChildren
2016-11-01 11:29:14 -07:00
Tobias Bosch
e5fdf4c70a
refactor(compiler): inline view.viewChildren in generated code
2016-11-01 11:29:14 -07:00
Tobias Bosch
97471d74b6
refactor(compiler): remove unused subscriptions
in view
2016-11-01 11:29:14 -07:00
Thomas Shafer
7c16ef942e
feat(core): add the find method to QueryList
2016-10-28 15:34:47 -07:00
Tobias Bosch
e391cacdf9
fix(compiler): don’t double bind functions
...
This fixes a performance regressions introduced by 178fb79b5cafe36c993bb1f9f9a63e8bac162c66.
Also makes properties in the directive wrapper private
so that closure compiler can minify them better.
2016-10-28 11:17:12 -07:00
Tobias Bosch
32feb8a532
refactor(compiler): generate host listeners in DirectiveWrappers
...
Part of #11683
2016-10-27 16:09:01 -07:00
Tobias Bosch
5a7a58b1e0
refactor(compiler): make arguments in InlineArray
optional.
2016-10-26 14:32:24 -07:00
Tobias Bosch
fe299f4dfc
refactor(compiler): minor cleanups
2016-10-26 14:32:24 -07:00
Tobias Bosch
faa3478514
refactor(compiler): set element attributes via one call
...
This makes the cost of using directives that have host attributes
smaller.
Part of #11683
2016-10-26 14:32:23 -07:00
Victor Berchet
57051f01ce
refactor: remove most facades ( #12399 )
2016-10-21 15:14:44 -07:00
Tobias Bosch
b0a03fcab3
refactor(compiler): introduce directive wrappers to generate less code
...
- for now only wraps the `@Input` properties and calls
to `ngOnInit`, `ngDoCheck` and `ngOnChanges` of directives.
- also groups eval sources by NgModule.
Part of #11683
2016-10-20 10:41:43 -07:00
Matias Niemelä
6e5f8b59b3
fix(animations): generate aot code for animation trigger output events ( #12291 )
...
Closes #11707
Closes #12291
2016-10-18 17:16:51 -07:00
Matias Niemelä
33c8948fd3
refactor(animations): ensure animation data-structures are created only when used
...
Closes #12250
2016-10-14 15:43:41 -07:00
Victor Berchet
d972d82354
refactor: simplify isPresent(x) ? x : y
to x || y
( #12166 )
...
Closes #12166
2016-10-10 09:20:58 -07:00
Alex Eagle
b64b5ece65
refactor(facade): Remove most of StringMapWrapper facade. ( #12022 )
...
This change mostly automated by
12012b07a2
with some manual fixes.
2016-10-03 16:46:05 -07:00
Alex Eagle
0286956107
refactor(facade): Inline isBlank called with object-type argument ( #11992 )
2016-09-30 09:26:53 -07:00
Alex Eagle
41c8c30973
chore(lint): remove unused imports ( #11923 )
...
This was done automatically by tslint, which can now fix issues it finds.
The fixer is still pending in PR https://github.com/palantir/tslint/pull/1568
Also I have a local bugfix for https://github.com/palantir/tslint/issues/1569
which causes too many imports to be deleted.
2016-09-27 17:12:25 -07:00