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
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
Victor Berchet
d4ddb6004e
refactor: format & lint
2016-12-14 13:05:04 -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
Tobias Bosch
3e73bea3e7
refactor(compiler): convert metadata classes used in summaries into interfaces ( #13123 )
...
Part of #12787
2016-11-30 10:52:51 -08:00
Tobias Bosch
2f7492c986
refactor(compiler): remove unneeded fields from metadata
...
Removes `CompileIdentifierMetadata.name` / `.moduleUrl`,
as well as `CompileTypeMetadata.name / moduleUrl` and
`CompileFactoryMetadata.name / moduleUrl`.
2016-11-28 15:19:23 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Tobias Bosch
fcb4e66493
refactor(compiler): introduce summaries for metadata ( #12799 )
...
This does not yet introduce loading / serialization of summaries.
Part of #12787
2016-11-10 16:27:53 -08:00
Victor Berchet
2ced2a8a5a
refactor(compiler): misc updates ( #12773 )
2016-11-09 16:23:41 -08:00
Victor Berchet
ec92f4b198
refactor: remove keys() and values() from MapWrapper
2016-11-04 13:27:38 -07:00
Tobias Bosch
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
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
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -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
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 AppElements 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
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -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