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
2ced2a8a5a
refactor(compiler): misc updates ( #12773 )
2016-11-09 16:23:41 -08:00
ec92f4b198
refactor: remove keys()
and values()
from MapWrapper
2016-11-04 13:27:38 -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
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
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
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
642c1db9ef
fix(compiler): Don’t throw on empty property bindings
...
Closes #12583
2016-10-31 14:43:50 -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
32feb8a532
refactor(compiler): generate host listeners in DirectiveWrappers
...
Part of #11683
2016-10-27 16:09:01 -07:00
178fb79b5c
refactor(compiler): move host properties into DirectiveWrapper
...
Part of #11683
2016-10-26 14:32:24 -07:00
f66ac821a2
refactor(compiler): extract createCheckBindingStmt
into compiler_util
...
Part of #11683
2016-10-26 14:32:24 -07:00
fe299f4dfc
refactor(compiler): minor cleanups
2016-10-26 14:32:24 -07:00
4cac650675
refactor(compiler): extract expression evaluation and writing to renderer from view_compiler
...
This is needed to that `DirectiveWrapper`s can also use them later on.
Part of #11683
2016-10-26 14:32:24 -07:00
cb7643ccea
refactor(compiler): introduce ClassBuilder
.
...
Part of #11683
2016-10-26 14:32:23 -07:00
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
57051f01ce
refactor: remove most facades ( #12399 )
2016-10-21 15:14:44 -07:00
867494a060
fix(compiler): don't access view local variables nor pipes in host expressions ( #12396 )
...
Fixes #12004
Closes #12071
2016-10-20 15:24:58 -07:00
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
76dd026447
refactor: remove some facades ( #12335 )
2016-10-19 13:42:39 -07:00
6e5f8b59b3
fix(animations): generate aot code for animation trigger output events ( #12291 )
...
Closes #11707
Closes #12291
2016-10-18 17:16:51 -07:00
33c8948fd3
refactor(animations): ensure animation data-structures are created only when used
...
Closes #12250
2016-10-14 15:43:41 -07:00
d972d82354
refactor: simplify isPresent(x) ? x : y
to x || y
( #12166 )
...
Closes #12166
2016-10-10 09:20:58 -07:00
bdcf46f82e
refactor(compiler): improve types, misc
2016-10-10 09:20:58 -07:00
8c975ed156
refactor(facade): inline StringWrapper ( #12051 )
2016-10-06 15:10:27 -07:00
50c37d45dc
refactor: simplify arrow functions ( #12057 )
2016-10-04 15:57:37 -07:00
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
0286956107
refactor(facade): Inline isBlank called with object-type argument ( #11992 )
2016-09-30 09:26:53 -07:00
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
3a5b4882bc
fix(compiler): Do not embed templateUrl in view factories in non-debug mode. ( #11818 )
...
Fixes #11117 .
2016-09-27 17:09:44 -07:00
58605cf350
refactor(facade): remove useless facades
2016-09-27 16:13:09 -07:00
f1b6c6efa1
refactor(animations): ensure animation input/outputs are managed within the template parser ( #11782 )
...
Closes #11782
Closes #11601
Related #11707
2016-09-24 05:37:04 +09:00
131626fc61
fix(compiler): Safe property access expressions work in event bindings ( #11724 )
2016-09-20 14:54:53 -07:00
671f73448c
refactor: misc cleanup ( #11654 )
2016-09-19 17:15:57 -07:00
c9e5b599e4
fix(animations): ensure parent animations are triggered before children ( #11201 )
2016-09-01 13:24:26 -07:00