Commit Graph

2318 Commits

Author SHA1 Message Date
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
Ciro Nunes 2797075200 chore: use load-plugins to make gulpfile shorter 2014-11-24 18:24:15 -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
Marc Laval ead2769dd6 fix(examples): hello-world app on Windows 2014-11-23 15:39:23 -08:00
Rado Kirov 03e2c94c6c doc(readme): adds examples to readme. 2014-11-21 16:27:54 -08: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 41856ad3f0 fix(build): don’t do `pub get` until all pub specs have been copied
Fixes #130
Closes #227
2014-11-19 17:29: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
Victor Berchet f864aa1f8e fix(class fields): handle untyped fields 2014-11-19 23:12:14 +01: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
vsavkin daf8f72b74 feat(ChangeDetector): implement enabling/disabling records 2014-11-17 16:54:25 -08:00
Tobias Bosch 8dfbc242af refactor(benchmark): simplify writing benchmarks
Adds `benchmarks/benchpress` module and adjusts the compiler
benchmarks to use it. Also adds the Angular 1.3 benchmark
to the compiler benchmarks.

Closes #202
2014-11-17 12:27:29 -08:00
Rado Kirov be4cb2db3a feat(view): add support for instantiation of nested component views.
Include shadowDom creation and integration tests for nested components.

Fix accidentally clobbered modules/core/test/compiler/view_spec.js by
previous commit.
2014-11-14 16:09:36 -08:00
Tobias Bosch b07ea6b90e feat(compiler): add benchmarks
- compileEmptyTemplate
- compile25ElementsNoBindings
- compile25ElementsWithBindings

For the results see the PR #197.

Closes #197
2014-11-14 14:25:02 -08:00
Tobias Bosch aa9eeb80e7 fix(change_detection/lexer): support production mode
The Lexer uses the global `assert` function of Dart, which is not
yet available in JavaScript. Later on, all `assert` statements should
be automatically removed by Traceur.
2014-11-14 14:22:38 -08:00
Ciro Nunes 7d0673723f chore: remove unnecessary file
Closes #182
2014-11-14 14:01:31 -08:00
vsavkin d7208b8429 feat(ElementInjector): add NgElement 2014-11-14 13:22:39 -08:00
vsavkin ac8351b7bc feat(ElementInjector): change ElementInjector so @parent and @ancestor do not include self. 2014-11-14 13:18:39 -08:00
vsavkin b87891d77c chore: change the built task to ignore "unused import" errors 2014-11-14 13:16:56 -08:00
vsavkin e15bcf0ffd refactor(ChangeDetector): pass formatters when instantiating a watch group 2014-11-14 13:16:55 -08:00
vsavkin 03410850b4 feat(change_detector): cleanup 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
Rado Kirov b8e3617a1d refactor(annotations): replace Module functions with plain lists.
Renames:
elementServices -> shadowDomServices.
2014-11-14 13:03:24 -08:00
Tobias Bosch 1b79c91320 fix(compiler, view): centralize TemplateElement checks and fix inconsistencies
Fixes #189
Closes #194
2014-11-14 11:04:18 -08:00
Tobias Bosch 5e0ff2cbb7 refactor(ElementBinder): Store componentDirective and templateDirective as well. 2014-11-13 17:36:45 -08:00