60 Commits

Author SHA1 Message Date
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
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
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
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
bf71b94bde feat(Change Detector): Add support for collection content watch 2014-12-03 10:37:13 +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
vsavkin
1863d50978 feat(parser): adds support for variable bindings 2014-11-26 14:03:05 -08:00
vsavkin
a3d9f0fead fix(parser): handle empty strings 2014-11-26 12:59:11 -08:00
vsavkin
9a28fa8590 refactor(change_detection): make RecordRange responsible for removing iself 2014-11-25 14:33:19 -08:00
vsavkin
2b53a2f353 fix(ChangeDetector): fix issues with handling empty ranges 2014-11-25 14:28:02 -08:00
vsavkin
6e8175a816 feat(Reflection): extract reflection capabilities into a separate module 2014-11-24 16:53:12 -08:00
Misko Hevery
044625a098 chore: Make field declarations explicit
This used to be valid code:

```
class Foo {
  constructor() {
    this.bar = ‘string’;
  }
}
```

This will now fail since ‘bar’ is not explicitly
defined as a field. We now have to write:

```
class Foo {
  bar:string; // << REQUIRED
  constructor() {
    this.bar = ‘string’;
  }
}
```
2014-11-24 16:35:39 -08:00
Victor Berchet
69af7ea2c0 feat(ChangeDetection): convert Record.mode to a bit field 2014-11-24 15:18:52 +01:00
vsavkin
2980eb5b0b refactor(ChangeDetector): rename WatchGroup into RecordRange 2014-11-20 10:24:18 -08:00
vsavkin
862c6412c4 feat(ChangeDetector): implement enabling/disabling watch group 2014-11-20 10:24:18 -08:00
Tobias Bosch
c6846f1163 feat(compiler): new semantics for template attributes and view variables.
- Supports `<div template=“…”>`, including parsing the expressions within
  the attribute.
- Supports `<template let-ng-repeat=“rows”>`
- Adds attribute interpolation (was missing previously)
2014-11-19 14:32:15 -08:00
vsavkin
f0d6464856 feat(ChangeDetector): change View to construct a WatchGroup hierarchy 2014-11-17 17:49:17 -08:00
Victor Berchet
384f0ae858 feat(Change Detection): Child watch groups 2014-11-17 17:49:17 -08:00
vsavkin
daf8f72b74 feat(ChangeDetector): implement enabling/disabling records 2014-11-17 16:54:25 -08:00
vsavkin
e15bcf0ffd refactor(ChangeDetector): pass formatters when instantiating a watch group 2014-11-14 13:16:55 -08:00
vsavkin
34d76f1c73 feat(change_detector): add support for map literals 2014-11-14 13:16:55 -08:00
vsavkin
75fd98428a feat(change_detector): add support for array literals 2014-11-14 13:16:55 -08:00
vsavkin
0e6d52306b feat(change_detector): add support for ternary 2014-11-14 13:16:55 -08:00
vsavkin
f38b94067a feat(change_detector): add support for negate 2014-11-14 13:16:55 -08:00
vsavkin
4e38e3a96c feat(change_detector): add support for method calls 2014-11-14 13:16:55 -08:00
vsavkin
dcd905ae85 feat(change_detector): add support for formatters 2014-11-14 13:16:55 -08:00
vsavkin
79a9430f2c feat(change_detection): add support for binary operations and literals 2014-11-14 13:16:55 -08:00
vsavkin
90fd1a9227 refactor(Parser): cleanup 2014-11-07 16:21:12 -08:00
vsavkin
7908533336 refactor(Parser): cleanup 2014-11-06 09:59:22 -08:00
vsavkin
693489ce38 refactor(Parser): cleanup 2014-11-06 09:11:13 -08:00
vsavkin
7b777b1f71 feat(Parser): add support for method invocations 2014-11-06 09:11:13 -08:00
vsavkin
977bc77c96 feat(Parser): improve error handling 2014-11-06 09:11:13 -08:00
vsavkin
ac060ed405 feat(Parser): add support for arrays and maps 2014-11-06 09:11:13 -08:00
vsavkin
8cc008bda1 feat(Parser): add support for assignments 2014-11-06 09:11:13 -08:00
Victor Berchet
0a766f4654 feat(Change Detection): Implement map changes 2014-11-05 14:02:03 -08:00
Victor Berchet
1bd304e7ab feat(Change Detection): Implement collection changes 2014-11-05 13:30:44 -08:00
vsavkin
18cdab7450 refactor(parser): clean up tests 2014-11-04 16:08:01 -08:00
vsavkin
52b3838a21 feat(parser): split parse into parseBinding and parseAction 2014-11-04 15:51:56 -08:00
vsavkin
00bc9e5d56 feat(parser): add support for formatters 2014-11-04 10:47:33 -08:00
vsavkin
8a829d346b feat(parser): throw when expected an identifier 2014-11-04 09:21:28 -08:00
vsavkin
c41f59c794 feat(parser): change Parser to return null when one of the operands is null 2014-11-04 09:06:46 -08:00
vsavkin
a7fe25d93f feat(parser): add support for ternary operator 2014-11-03 17:25:16 -08:00
Rado Kirov
965fa1a985 feat(parser): adds basic expressions to the parser.
Mostly copy pasta from angular.dart.

Remove GetterFactory in favor for ClosureMap (which has basically the same
implementation).
2014-10-31 14:32:12 -07:00
vsavkin
01e6c7b70c feat(Parser): implement Parser
Add a simple parser implementation that supports only field reads.
2014-10-29 18:29:34 -04:00