114 Commits

Author SHA1 Message Date
Kevin Moore
796d58c621 chore(clean-up): remove unused test method 2015-02-05 11:55:49 -08:00
vsavkin
4b8105c165 cleanup 2015-02-05 11:55:49 -08:00
vsavkin
fc6e421e7e feat(compiler): add BindingPropagationConfig to the list of pre-built objects 2015-02-05 11:55:49 -08:00
vsavkin
23a080026a feat(change_detection): add mode to ChangeDetector 2015-02-05 11:55:49 -08:00
vsavkin
709df12b10 feat(change_detection): do not register a change from switching from null to null 2015-02-05 11:55:49 -08:00
Tobias Bosch
05ffdc9b44 refactor(build): explicitly mention src folder in imports
Export files are now directly under the module folder,
e.g. `core/core.js`. With this, an import like `core/core`
won’t need a path mapping (e.g. via `System.paths`) any more.
This adds the `src` folder to all other import statements as well.
2015-02-05 11:55:48 -08:00
Misko Hevery
9db13be4c7 feat: change template micro-syntax to new syntax
Old syntax:
- ng-repeat: #item in items;
- ng-repeat: #item; in: items;
- <template let-ng-repeat=“item” [in]=items>

New syntax:
- ng-repeat: var item in items;
- ng-repeat: var item; in items
- <template ng-repeat var-item [in]=items>


Notice that the var is now a standalone binding 
rather then an argument to ng-repeat. This will 
make the var bindings consistent with the rest of 
the system.

Closes #482
2015-01-30 11:56:54 -08:00
vsavkin
db0f0c462b perf(change_detection): use object pools not to create unnecessary garbage 2015-01-28 20:08:58 -08:00
vsavkin
af41fa9ac4 feat(change_detection): modify change detectors to recompute pure functions only when their args change 2015-01-27 16:52:33 -08:00
vsavkin
2793d47c67 feat(change_detection): change proto change detectors to coalesce records 2015-01-27 16:42:55 -08:00
vsavkin
850cf0fef4 feat(change_detection): implement a change detector generator 2015-01-27 16:18:15 -08:00
Kevin Moore
a02e7b5067 Remove unused fields 2015-01-26 17:32:56 -08:00
Victor Berchet
4df1825dc2 fix(Interpolation): switch to new AST API 2015-01-23 10:12:13 +01:00
Misko Hevery
3b34ef43b1 perf(CD): Special cased interpolation in AST, Parser, and CD 2015-01-22 16:31:58 -08:00
Victor Berchet
b734d56b83 fix(cd): report all changes on first cd run
- null values would not have been reported for Dart
- undefined values would not have been reported for JS

Closes #454
2015-01-22 16:15:17 -08:00
Misko Hevery
829c28f3ee docs: initial version of the documentation 2015-01-23 00:03:21 +00:00
Victor Berchet
85a714f022 style(cd): add types 2015-01-22 11:08:10 +01:00
vsavkin
9957c1338e feat(change_detection): reimplement change detection 2015-01-21 14:21:14 -08:00
Victor Berchet
156f3d99e0 feat(parser): make method calls aware of ContextWithVariableBindings 2015-01-21 09:58:01 +01:00
Misko Hevery
2e1feec257 perf: use === instead of == for faster checks. 2015-01-12 15:16:24 -08:00
vsavkin
6bb3b81465 cleanup: remove toBool
Since we decided to use the semantics of the host language, toBool is no longer needed.
2015-01-08 09:52:09 -08:00
Stephen Adams
1320175646 perf(change detection): minimized amount of code in protective try-catch 2015-01-07 13:12:43 -08:00
vsavkin
739f624cc8 refactor(change_detection): add change_detection library file 2014-12-29 15:20:42 -08:00
vsavkin
d642c6afb5 feat(change_detector): wrap exceptions into ChangeDetectionError
ChangeDetectionError references the original error and the location where the error happened
2014-12-18 13:38:33 -08:00
vsavkin
3d534928b5 refactor(parser): align expression language with host language
Remove "enhancements" to the language from the parser, so the expression language mimics the host language.
2014-12-18 10:57:34 -08:00
Victor Berchet
86fb564818 fix(ChangeDispatcher): update the onRecordChange signature 2014-12-18 10:28:17 +01:00
vsavkin
1d03c2af5d feat(change_detector): add a way to inspect records and record ranges 2014-12-17 15:43:36 -08:00
vsavkin
d5fcac4d7a feat(compiler): pass compilation unit to the parser 2014-12-12 18:52:53 -08:00
Victor Berchet
59d6d604b4 fix(analyzer): fix a warning about an unused variable 2014-12-11 00:31:31 +01:00
vsavkin
8acf9fb609 feat(change_detection): ensure that expression do not change after they have been checked 2014-12-08 18:51:19 -08:00
Victor Berchet
68da0012cc perf(Change Detection): remove the usage of getters/setters
- Firefox is 2.4x faster (90 vs 221ms)
- Chrome is 24% slower (15.5 vs 12.5ms)

Chrome is still 5.8x faster than Firefox
2014-12-08 21:59:59 +01:00
Victor Berchet
2c4a2f5158 perf(Change Detection): Track the range & group on changes only
1.4x speed improvement with Firefox

There is no need to track the range & group for all the records but only
for the records that have changed.
2014-12-08 21:59:59 +01:00
Victor Berchet
ee36063fae style: misc minor changes 2014-12-08 21:59:59 +01:00
Victor Berchet
c362f33fe4 style(Change Detection): rename WatchGroupDispatcher to ChangeDispatcher 2014-12-08 21:59:59 +01:00
vsavkin
c3dc373ec4 refactor(change_detector): moves enableRecord/disableRecord into the Record class 2014-12-08 11:06:56 -08:00
vsavkin
7f941eb936 fix(change_detector): adding new ranges when disabling the current enabled record 2014-12-08 11:06:56 -08:00
Victor Berchet
ceb9ee92bb fix(Change Detection): fix merge error 2014-12-05 12:20:00 +01:00
Rado Kirov
174613067c feat(views): adds (de)hydration of views and template vars.
Dehydrated views are views that are structurally fixed, but their
directive instances and viewports are purged.

Support for local bindings is added to the view.
2014-12-04 22:40:51 -08:00
Victor Berchet
5c531f718e perf(RecordRange): optimize disable()
There could be no lastEnabledChildRecord when there is no
firstEnabledChildRecord
- saves time by skipping findLastEnabledRecord() when the result is know
to be null,
- saves a test as isPresent(lastEnabledChildRecord) ==
isPresent(firstEnabledChildRecord)
2014-12-04 19:52:43 +01:00
vsavkin
65242fbd6d perf(change_detection): add baseline to change detection benchmark 2014-12-03 18:09:21 -08:00
vsavkin
847cefcb7b feat(change_detector): notify directives on property changes 2014-12-03 14:33:52 -08:00
Rado Kirov
5bdefee6c9 fix(record-range): fixes bug when disabling empty ranges. 2014-12-03 12:04:06 -08:00
Victor Berchet
0f3134acd4 perf(ProtoRecordRange): re-use a ProtoRecordCreator 2014-12-03 12:10:07 +01:00
Victor Berchet
f8c070c5e4 perf(ProtoRecord): remove the unused prev field 2014-12-03 12:10:07 +01:00
Victor Berchet
bf71b94bde feat(Change Detector): Add support for collection content watch 2014-12-03 10:37:13 +01:00
Victor Berchet
2d2f44949d perf(Change Detection): Remove a useless test
Only "implicit receiver" records get their context updated (since #239)
2014-12-03 10:14:07 +01:00
Victor Berchet
7cb93fd59e feat(Change Detection): Add support for keyed access 2014-12-02 16:15:13 +01:00
Tobias Bosch
0758165fb5 fix(compiler): allow identifiers with - in the template bindings as keys. 2014-12-01 16:39:36 -08:00
Victor Berchet
0703ee526c fix(Dart1.8): fix analyzer warnings 2014-12-01 21:17:16 +01:00
vsavkin
1863d50978 feat(parser): adds support for variable bindings 2014-11-26 14:03:05 -08:00