Tobias Bosch
1e729d7ba2
feat(core): add query support to view engine
...
Part of #14013
closes #14084
2017-01-25 17:44:56 -08:00
Tobias Bosch
fc8694ed11
refactor(core): view engine, refactor runtime data
...
Structure in a better way, in preparation for queries.
2017-01-25 17:44:42 -08:00
Tobias Bosch
0adb97bffb
feat(core): add event support to view engine
...
Part of #14013
2017-01-24 10:10:31 -08:00
Tobias Bosch
2f87eb52fe
feat(core): add initial view engine ( #14014 )
...
The new view engine allows our codegen to produce less code,
as it can interpret view definitions during runtime.
The view engine is not feature complete yet, but already
allows to implement a tree benchmark based on it.
Part of #14013
2017-01-20 13:10:57 -08:00
Tobias Bosch
db49d422f2
refactor(compiler): generate less code for bindings to DOM elements
...
Detailed changes:
- remove `UNINITIALIZED`, initialize change detection fields with `undefined`.
* we use `view.numberOfChecks === 0` now everywhere
as indicator whether we are in the first change detection cycle
(previously we used this only in a couple of places).
* we keep the initialization itself as change detection get slower without it.
- remove passing around `throwOnChange` in various generated calls,
and store it on the view as property instead.
- change generated code for bindings to DOM elements as follows:
Before:
```
var currVal_10 = self.context.bgColor;
if (jit_checkBinding15(self.throwOnChange,self._expr_10,currVal_10)) {
self.renderer.setElementStyle(self._el_0,'backgroundColor',((self.viewUtils.sanitizer.sanitize(jit_21,currVal_10) == null)? null: self.viewUtils.sanitizer.sanitize(jit_21,currVal_10).toString()));
self._expr_10 = currVal_10;
}
var currVal_11 = jit_inlineInterpolate16(1,' ',self.context.data.value,' ');
if (jit_checkBinding15(self.throwOnChange,self._expr_11,currVal_11)) {
self.renderer.setText(self._text_1,currVal_11);
self._expr_11 = currVal_11;
}
```,
After:
```
var currVal_10 = self.context.bgColor;
jit_checkRenderStyle14(self,self._el_0,'backgroundColor',null,self._expr_10,self._expr_10=currVal_10,false,jit_21);
var currVal_11 = jit_inlineInterpolate15(1,' ',self.context.data.value,' ');
jit_checkRenderText16(self,self._text_1,self._expr_11,self._expr_11=currVal_11,false);
```
Performance impact:
- None seen (checked against internal latency lab)
Part of #13651
2017-01-03 13:05:05 -08:00
Tobias Bosch
8ed92d75b0
refactor(benchmarks): make ftl benchmarks use their own version of `checkBinding`
2017-01-03 13:05:05 -08:00
Tobias Bosch
50e5cb15dd
feat(benchmarks): add `detectChanges` test for ng2 tree benchmark
2017-01-03 13:05:05 -08:00
Victor Berchet
eed83443b8
chore(tslint): update tslint to 4.x ( #13603 )
2016-12-27 14:55:58 -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
Bowen Ni
4cbf8ccf05
Keep `console.log` that are not called during compilation.
2016-11-23 15:47:02 -08:00
Bowen Ni
2c02d34c05
refactor(lint): Don't allow console.log
...
Enable tslint check for `console.log` as a follow-up to
https://github.com/angular/angular/issues/13018
2016-11-23 15:47:01 -08:00
Tobias Bosch
fc5ac1ebc4
fix(benchmarks): use sanitized style values ( #12943 )
2016-11-17 15:18:10 -08:00
vsavkin
c2fae72bc6
feat(router): register router with ngprobe
2016-11-14 12:57:05 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Victor Berchet
1bd858fb43
build(examples): upgrade to protractor 4.0.9 ( #12803 )
...
closes #12798
2016-11-10 18:13:11 -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
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
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
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
Joao Dias
5494169fb4
style: make internal members accessibility explicit
2016-10-31 14:25:53 -07:00
Joao Dias
5a3d7a62a2
style: merge imports from the same modules
2016-10-31 14:25:53 -07:00
Joao Dias
a382d6dd20
style: add missing semicolons
2016-10-31 14:25:53 -07:00
Joao Dias
52bf188b8f
style: add missing copyright headers
2016-10-31 14:25:53 -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
24facdea2d
feat(benchmark): add large form benchmark
...
This benchmark tracks the generated file size for large forms
as well as the time to create and destroy many form fields.
2016-10-19 09:39:16 -07:00
Tobias Bosch
aa2d3372a5
fix(benchmarks): fix method name in targetable spec
2016-10-19 09:39:16 -07:00
Victor Berchet
606e51881a
perf(benchmarks): update ng2-switch to match ng2
...
- use the ~same template layout (text nodes),
- use trackBy
both benchmark now show about the same perfs.
2016-10-12 17:11:46 -07:00
Victor Berchet
fdf4309b50
perf(common): optimize NgSwitch default case
...
relates to #11297
2016-10-12 17:11:46 -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
8c975ed156
refactor(facade): inline StringWrapper ( #12051 )
2016-10-06 15:10:27 -07:00
Tobias Bosch
de1f44f51f
fix(benchmarks): allow ng2_switch benchmark to be used with AoT. ( #12124 )
2016-10-06 10:22:08 -07:00
Tobias Bosch
f1cfddf6d6
refactor(benchmarks): add `index_aot` to support AoT bootstrap. ( #12105 )
...
Note: This only make sure it can compile the AoT version, but does not yet use it in e2e tests.
2016-10-06 08:37:37 -07:00
Tobias Bosch
5fa5ffb82a
refactor(benchmarks): refactor to support AOT bootstrap in G3 ( #12075 )
2016-10-04 16:27:45 -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
decd129a4d
refactor(facade): remove DateWrapper ( #12027 )
2016-10-02 14:12:14 -07:00
Tobias Bosch
2045c9e8ee
docs: update docs for ng2_ftl benchmark
2016-09-30 10:42:21 -07:00
Tobias Bosch
df1822fc2a
benchmarks: add ng2_ftl and ng2_switch_ftl benchmarks ( #11963 )
...
These benchmarks take the output of AoT
and manually tweaks it to explore possible
future changes to the compiler to produce
this output directly.
2016-09-30 09:09:31 -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
Tobias Bosch
df4c0a3d1f
refactor(benchmarks): align tree benchmark with largetable benchmark
...
- add ng2_switch benchmark to track `ngFor` over `ngSwitch`
- measure create only, createDestroy and update
- simplify the created dom
- always add a style binding
2016-09-06 12:07:12 -07:00
Tobias Bosch
b4363bc8af
feat(benchmarks): add targetable benchmarks back
2016-09-06 12:07:12 -07:00