2864 Commits

Author SHA1 Message Date
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