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
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
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
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
Tobias Bosch
352b6406ad
fix(BaseException): Support stack traces in BaseException
2014-11-13 17:32:56 -08:00
Tobias Bosch
7308a3acc7
refactor(ElementInjector): support components
...
- Allow to access containing component directive instance from the shadow DOM.
- Allow to access app services of the app level injector of the component
when the component is instantiated.
2014-11-13 17:32:52 -08:00
Tobias Bosch
7a70f8f92d
feat(compiler): initial version of the compiler.
...
Supports:
- binds text nodes, element properties and directive properties
- locates decorator, component and template directives.
- inline templates of components
The compiler is built using a pipeline design,
see core/src/compiler/pipeline package.
Integration tests to show how the compiler, change_detection and DI work
together:
core/test/compiler/integration_spec.js
2014-11-11 17:55:50 -08:00
Sekib Omazic
62efb56b0a
fix(lang): fix small typo.
2014-11-11 16:59:29 -08:00
Sekib Omazic
398571e3e4
docs(di): simple typo
2014-11-10 17:07:57 -08:00
vsavkin
90fd1a9227
refactor(Parser): cleanup
2014-11-07 16:21:12 -08:00
Alxandr
cb276fe412
Fixed small typo in example
...
Closes #165
2014-11-07 16:20:38 -08:00
Vojta Jina
d16d6a02ab
feat(transpiler): class fields for Dart
2014-11-07 10:29:48 -08:00
Vojta Jina
b4ff802e28
feat(deps): update Traceur 0.0.74
2014-11-07 10:29:48 -08:00
vsavkin
a1c6f1bbe9
refactor(Key): extract KeyRegistry to remove the need in `Key.clear`
2014-11-06 10:56:45 -08:00
vsavkin
9448d78aa8
refactor(ProtoElementInjector): change `instantiate` to take positional args
2014-11-06 10:13:07 -08:00
vsavkin
b5f6417635
refactor(ElementInjector): use `index` instead of the `elementInjector` field to instantiate element injectors
2014-11-06 10:03:20 -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
Vojta Jina
2b7738c12c
fix(example): make it work
2014-11-05 11:19:02 -08:00
vsavkin
18cdab7450
refactor(parser): clean up tests
2014-11-04 16:08:01 -08:00
vsavkin
03c779321f
cleanup(parser): add type annotations to all AST classes
2014-11-04 15:56:43 -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
Rado Kirov
8c566dcfb5
feat(elementBinder): introduce element binder.
...
It is a plain-old-data class to seperate the protoInjector from the
textNodes and elementBinding data.
2014-10-30 14:59:32 -07:00
Rado Kirov
91f50b67b7
feat(view): hook watch group instantiation in the view.
2014-10-29 17:04:56 -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
vsavkin
acd7035347
feat(test_lib): change test_lib.dart to structurally compare objects
2014-10-29 18:25:32 -04:00
vsavkin
9bd65abb32
feat(ElementInjector): throw when encounter a cyclic dependency
2014-10-29 17:52:51 -04:00
Rado Kirov
b0c9d05ea7
feat(view): add onChange implementation to view.
2014-10-29 13:32:20 -07:00
Tobias Bosch
08d4a37c06
feat(selector): initial version of the selector
2014-10-28 14:46:55 -07:00
Tobias Bosch
d0c870fb32
feat(facade/collection): add StringMap support
2014-10-28 14:46:38 -07:00
Tobias Bosch
d4c099de8c
feat(facade/lang): add math and regexp support
2014-10-28 14:46:09 -07:00
Tobias Bosch
cc115d58ca
fix(facade/lang): use strict equality for performance
2014-10-28 14:45:50 -07:00
Victor Berchet
c90a7114d3
feat(ChangeDetector): Add support for chained properties
2014-10-28 11:33:09 +01:00
Victor Berchet
63494a74bf
chore(pubspec): fix a typo
2014-10-28 11:17:00 +01:00
vsavkin
c11ca944d4
perf(ElementInjector): add a benchmark measuring the instantiation of element injectors without using reflection
2014-10-27 17:56:05 -04:00
vsavkin
e3b772425e
feat(ElementInjector): change ElementInjector to accept bindings or types
2014-10-27 17:56:05 -04:00
vsavkin
31831eee5e
feat(View): implement ProtoView.instantiate
2014-10-27 17:18:35 -04:00
vsavkin
79d270c3dd
feat(ElementInjector): add support for "special" objects
2014-10-27 14:14:56 -04:00
vsavkin
e3548b497f
feat(ElementInjector): implement ElementInjector
2014-10-27 10:16:50 -04:00
vsavkin
ea0df352be
feat(di): add metadata to Key
2014-10-27 10:04:12 -04:00
vsavkin
2a4b63b614
refactor(collection): use Map instead of Object
2014-10-18 17:50:55 -04:00
vsavkin
1f4caa8773
feat(benchmark): add a simple benchmark for the di module
2014-10-18 17:06:23 -04:00
vsavkin
2f732c6b84
docs(di): add docs to di module
2014-10-14 08:11:44 -04:00
vsavkin
1a7d5160f2
use Promise instead of Future
2014-10-12 17:47:52 -04:00
vsavkin
f524a89cb6
feat(injector): add support for default bindings
2014-10-12 17:29:02 -04:00
vsavkin
b71cd9f380
refactor(di): use boolean instead of bool
2014-10-12 17:15:58 -04:00
vsavkin
92b2559109
refactor(di): cleanup
2014-10-12 17:06:41 -04:00
vsavkin
c3d9b5c91e
refactor(di): simplify Injector API
2014-10-12 17:06:41 -04:00
vsavkin
f0870791f6
refactor(di): cleanup to make dartanalyzer happy
2014-10-12 17:06:41 -04:00
vsavkin
97667e2591
refactor(di): make use of optional parameters
2014-10-12 17:06:41 -04:00
vsavkin
3f3fb7017e
refactor(injector): implement support for nested bindings
2014-10-12 17:06:41 -04:00
vsavkin
0b60f8494d
style(di): add new lines
2014-10-12 17:06:41 -04:00
vsavkin
d313cac42f
refactor(injector): change toFactory to use reflector to construct dependencies
2014-10-12 17:06:40 -04:00
vsavkin
06a221671c
refactor(injector): cleanup
2014-10-12 17:06:40 -04:00