5030 Commits

Author SHA1 Message Date
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
Peter Bacon Darwin
983c00c495 docs(di/src/annotations): use triple backticks to code-fence code blocks 2014-12-04 14:16:52 +00:00
Victor Berchet
11c52ce06d style: fix typos 2014-12-04 11:01:19 +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
Rado Kirov
c59cc8631a feat(examples): adds static dart hello world example.
Use gulp examples/pub.serve to start up the server and go to
http://localhost:8080/index_static.html to see the static app.
2014-12-03 10:58:30 -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
Tommy Odom
f088e9ef15 feat(transpiler): Transform for..of to Dart as for..in
fixes #53
2014-12-03 10:48:48 +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
7bc282d15e feat(viewport): add initial integration test for template directives 2014-12-01 16:39:37 -08:00
Tobias Bosch
0758165fb5 fix(compiler): allow identifiers with - in the template bindings as keys. 2014-12-01 16:39:36 -08:00
Tobias Bosch
63053438ea fix(compiler): always wrap views into an own <template> element
This is needed to allow view instantiation also in browsers that
don’t support the `<template>` element and because of this would
return elements from the content of `<template>` elements when
using `element.querySelectorAll`.

Also stores the `elementBinder.nestedProtoView` correctly
when a template directive was used on a `<template>` element.
2014-12-01 16:39:36 -08:00
Pawel Kozlowski
95d86d151a fix(example): correct markup in the hello world example 2014-12-01 15:13:02 -08:00
Victor Berchet
fc2181ec4e fix(Dart1.8): Promise handling 2014-12-01 21:17:16 +01:00
Victor Berchet
0703ee526c fix(Dart1.8): fix analyzer warnings 2014-12-01 21:17:16 +01:00
Uri Shaked
3e57189e45 fix(examples): fix hello_world example (js)
Added missing path mapping for the new reflection module.
2014-11-26 14:14:18 -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
6f889e3094 feat(di): add OpaqueToken to DI
Using `new Object()` as a token causes cryptic errors. OpaqueToken class should be used instead.
2014-11-26 12:52:16 -08:00
vsavkin
6187b80ce6 benchmark(compiler): add a benchmark measuring view instantiation in AngularDart 1.0 2014-11-25 17:46:11 -08:00
Rado Kirov
c6f14dd833 feat(viewPort): adds initial implementation of ViewPort.
ViewPort is the mechanism backing @Template directives. Those
directives can use the viewport to dynamically create, attach and
detach views.
2014-11-25 16:19:50 -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
3d05f521fe fix(benchmarks): add the reflection module to benchmark config files 2014-11-24 18:17:22 -08:00
vsavkin
9466592ca6 refactor(benchmarks): rename paths.js into register_system.js to match other benchmarks 2014-11-24 18:16:50 -08:00
vsavkin
bfd3c2d5a9 fix(reflection): update pubspec.yaml to add a missing dependency on reflection 2014-11-24 18:03:26 -08:00
vsavkin
f55011cde2 fix(reflection): fix a typo 2014-11-24 18:02:21 -08:00
vsavkin
9a9a13a553 feat(change_detection): add benchmarks 2014-11-24 18:01:31 -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
ab961b327e feat(RecordRange): Set context for implicit receivers only 2014-11-24 15:32:25 +01:00
Victor Berchet
69af7ea2c0 feat(ChangeDetection): convert Record.mode to a bit field 2014-11-24 15:18:52 +01:00
Rado Kirov
70c38e6260 doc(example): adds comments to the hello world app.
Explains the basic concepts as seen in the demo app, but it is not a
substitute for proper documentation which will come later.
2014-11-20 12:32:30 -08: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
fc5b7edca4 feat(compiler): support on- and [] 2014-11-19 16:24:12 -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
Rado Kirov
d6193e9073 feat(examples): adds hello-world app.
The app is writen in ES6 and transpiles to ES5 and dart as part of the
usual build.

The app contains a component, a directive and a services wired together
through dependency injection.

Before Each:
- gulp build

For es5:
- gulp serve
- open 'localhost:8000/js/examples/lib/hello_world/'

For dart:
- gulp examples/pub.serve
- open 'localhost:8080'
2014-11-19 12:24:14 -08:00
Rado Kirov
1221857d17 feat(bootstraping): application bootstrapping implementation.
Entry-point to bootstrapping is a rootComponent. The bootstrapping
method, uses the component's selector to find the insertion element in
the DOM, and attaches the component in its ShadowRoot.
2014-11-18 15:02:38 -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
Tobias Bosch
7482b682d6 fix(test_lib): allow equality tests for Map 2014-11-17 17:47:50 -08:00
Tobias Bosch
b2ecdb5da7 fix(compiler): use parentheses around expressions and escape quotes 2014-11-17 17:47:50 -08:00
Tobias Bosch
03882dcccc refactor(ElementInjector): remove stale file and make StaticKeys private 2014-11-17 17:44:39 -08:00