Tobias Bosch
be5ccf6957
refactor(render): delete copies files so we add them via moves
2015-04-02 14:24:55 -07:00
Victor Berchet
1037cef22e
refactor(render): misc minor fixes
2015-04-02 20:50:05 +02:00
Tim Blasi
09948f4403
feat(dart/transform): Add a `di` transformer
...
Add a transformer for `di` which generates `.ng_deps.dart` files for all
`.dart` files it is run on. These `.ng_deps.dart` files register
metadata for any `@Injectable` classes.
Fix unit tests for changes introduced by the di transformer.
When using `pub (build|serve) --mode=ngstatic`, we will also generate
getters and setters, parse templates, and remove import of `dart:mirrors`
in the Angular transform. Because this is still relatively immature, we
use the mode to keep it opt-in for now.
Closes #700
2015-04-02 11:06:33 -07:00
Tobias Bosch
4f56628566
refactor(render): move services to right location
...
core/compiler/events -> render/dom/events
core/compiler/url_resolver -> services/url_resolver
core/compiler/xhr/* -> services/*
2015-04-02 10:35:27 -07:00
Tobias Bosch
bcbf1ccc68
refactor(render): remove duplicate files to prepare for move
...
Remove first so Github shows the files as being moved instead of copied and deleted.
2015-04-02 10:35:27 -07:00
Pawel Kozlowski
ae30d7ba40
fix(di): allow injecting event emitter fns without specifying type annotation
...
Fixes #965
Closes #1155
2015-04-02 19:07:49 +02:00
Marc Laval
1d79d534d9
test(selector): add tests with multiple attributes
...
Fixes #1025
Closes #1117
2015-04-02 18:06:44 +02:00
Tobias Bosch
6c60c3e547
feat(render): add initial implementation of render layer
2015-04-01 16:50:22 -07:00
Julie Ralph
e81e5fb2b9
feat(testability): add an initial scaffold for the testability api
...
Make each application component register itself onto the testability
API and exports the API onto the window object.
2015-04-01 13:54:06 -07:00
vsavkin
514ba54282
feat(change_detection): added changeDetection to Component
2015-03-31 20:54:44 -07:00
vsavkin
b65b145122
refactor(view): refactored DirectiveMemento to expose properties in a consistent way
2015-03-31 18:26:58 -07:00
Martin Probst
eb7b7581ca
fix(build): Actually code in the subset of JS that Traceur-Dart supports.
2015-03-31 16:08:49 -07:00
Martin Probst
54a4e4a67c
fix(dart): The Traceur dart transpiler doesn't support shorthand syntax.
2015-03-31 13:17:56 -07:00
Pawel Kozlowski
aca4604879
feat(CSSClass): support binding to classList
...
Closes #876
2015-03-31 21:53:24 +02:00
Martin Probst
136f64f4ac
fix(dart): don't instantiate abstract directive.
...
Directive is an abstract class, so it should not
be instantiated directly in tests.
2015-03-31 11:38:59 -07:00
Tim Blasi
ed5975d3e5
test(dart/transform): Add unit tests for url-linked templates
...
Test expression and method generation from url-linked templates.
2015-03-30 14:49:31 -07:00
Tim Blasi
1a788e6b0d
feat(dart/transform): Parse `url` values in `Template`s
...
When a `Template` annotation declares a `url` value, parse it to
generate `getter`s, `setter`s, and `method`s which will it needs to
access reflectively.
2015-03-30 14:49:31 -07:00
Marc Laval
d822793229
fix(test): add a test for @PropertySetter on a class with a dash
...
Closes #1113
Fixes #1099
2015-03-28 16:17:43 +01:00
vsavkin
e92918bbfe
feat(change_detector): split light dom and shadow dom children
2015-03-27 13:26:37 -07:00
vsavkin
723e8fde93
feat(change_detection): added a directive lifecycle hook that is called after children are checked
2015-03-27 13:26:36 -07:00
Caitlin Potter
9d21a6f40d
chore(package.json): upgrade traceur to v0.0.87
...
Fix in source-map test to follow through the sourcemap chain.
2015-03-26 18:37:03 -07:00
vsavkin
8d85b839b6
feat(change_detection): pass binding propagation config to pipe registry
2015-03-26 16:57:04 -07:00
Pawel Kozlowski
5306b6dd0c
fix(change_detection): expose values when detecting changes in key-value pairs
...
Fixes #1118
Closes #1123
2015-03-26 21:18:14 +01:00
Pawel Kozlowski
edc3709451
fix(ElementBinderBuilder): properly bind CSS classes with "-" in their names
...
Fixes #1057
Closes #1059
2015-03-26 19:25:31 +01:00
Victor Berchet
878fce6482
fix(ts): ts doesn't like ";;"
2015-03-26 17:32:48 +01:00
vsavkin
b02bd65871
feat(forms): made forms works with single controls
2015-03-26 07:48:17 -07:00
vsavkin
ee36aaf163
fix(tests): fixed a broken test
2015-03-26 07:46:26 -07:00
vsavkin
ff84506bd5
feat(forms): added support for arrays of controls
2015-03-26 07:43:25 -07:00
Marc Laval
b1dc6239ef
feat(core): @Attribute annotation
...
Closes #1091
Fixes #622
2015-03-26 10:51:44 +01:00
Victor Berchet
3ec837bfdb
test(di): Add a test for sync binding + resolved async dependency
2015-03-26 08:38:29 +01:00
Alex Eagle
9a0a2e319c
chore(ts2dart) remove extra semi
...
This breaks our ts2dart transpilation.
2015-03-25 17:06:47 -07:00
Yegor Jbanov
99045b2f6a
refactor: update Dart package dependencies
2015-03-25 15:54:12 -07:00
Marc Laval
58dd75a1c8
feat(compiler): Add support for setting attributes to Component host element
...
Fixes #1008
Fixes #1009
Closes #1052
2015-03-25 17:32:07 +01:00
Victor Berchet
101a4aa3cf
feat(PrivateComponentLoader): Explicit error message when loading a non-component
...
fixes #1062
2015-03-24 22:11:41 +01:00
vsavkin
19c1773133
feat(forms): added an observable of value changes to Control
2015-03-24 13:45:47 -07:00
vsavkin
9b3b3d325f
feat(facade): added support for observables
2015-03-24 13:45:39 -07:00
vsavkin
f8e7a37c0d
fix(view): fixed view instantiation to use the component template's change detector when creating BindingPropagationConfig
2015-03-24 07:49:28 -07:00
Victor Berchet
aab084866c
doc(test): add a comment on why tests are disabled
2015-03-24 09:52:41 +01:00
vsavkin
47c1a0f381
feat(forms): added value accessor for input=text
2015-03-23 08:53:27 -07:00
vsavkin
514529b5d9
refactor(formed): changed forms to use event and property setters instead of NgElement
2015-03-23 08:52:54 -07:00
vsavkin
a12dc7d75a
refactor(forms): wrapped all validators into the Validator class
2015-03-23 08:50:56 -07:00
Marc Laval
41b53e71e1
feat(selector): support , for multiple targets
...
Fixes #867
Closes #1019
2015-03-23 10:06:33 +01:00
Pawel Kozlowski
0fb9f3bd6c
fix(ElementBinderBuilder): properly bind to web component properties
...
Fixes #776
Closes #1024
2015-03-22 14:14:36 +01:00
Pawel Kozlowski
81f3f32217
refactor(DirectiveParser): remove checks for missing directives
...
Based on the discussion in #776 we can't reliably check if a given
element has a particular property at the compilation time. As such
the existing algorithm detecting "missing" directives can't be used.
We need to see if there is a different / better algorithm or maybe
those checks need to be moved later in the process (runtime). Leaving
integration tests in place (disabled) so we can come back to the
topic after unblocking the situation.
This commit effectivelly reverts 94e203b9df
2015-03-22 14:14:36 +01:00
Tim Blasi
b35f288794
refactor(dart/transform): Use package:guinness in tests
...
`guinness` is a Dart port of Jasmine. Since the rest of Angular 2 uses
Jasmine, use it for the transformer too.
Closes #8
Closes #1037
Closes #1000
2015-03-21 15:18:15 -07:00
Tim Blasi
4e82cc0861
refactor(dart/transform): Test `directive_linker` as a unit
...
Formerly, it was tested only as a piece of the transformer pipeline. Add
its own directory and test the linker on its own.
2015-03-21 15:18:15 -07:00
Tim Blasi
c735644c57
refactor(dart/transform): Minor logging changes
...
Enable easier testing by providing a null log implementation and a way
to use it.
2015-03-21 15:18:15 -07:00
Tim Blasi
5d479fa0ae
refactor(dart/transform): Remove `ngData`
...
Now that we have `Parser`, `ngData` is redundant & unnecessary.
2015-03-21 15:18:15 -07:00
Tim Blasi
8baedca972
style(dart/transform): Remove `src` from library directives
...
Conform to Angular 2 style by removing `src` from library directives.
Completed with:
```
find -name "*.dart" | xargs sed -i -e 's!library\(.*\)src\.\(.*\)!library \1\2!'
```
Closes #1005
Closes #1038
2015-03-21 14:55:11 -07:00
Marc Laval
02aa8e7945
feat(compiler): support bindings for any attribute
...
Closes #1029
2015-03-21 14:55:11 -07:00
Victor Berchet
ee523efcb4
feat(ShadowCss): Support the new deep combinator syntax >>>
...
fixes #990
ref http://dev.w3.org/csswg/css-scoping-1/#deep-combinator
Closes #1028
2015-03-21 14:55:11 -07:00
David-Emmanuel Divernois
bd48c927d0
fix(ViewContainer) removeChild called with null parent
...
In view_container.js, templateElement.parentNode can be null
when two template tags are nested in one another.
Accessing the parent node through view.nodes[0].parentNode fixes
the problem.
closes #997
Closes #999
2015-03-21 14:55:10 -07:00
gdi2290
b61b8d60b7
refactor(forEach): change to for-of with iterable
...
rename: foreach -> for
rename: array -> iterable
update: DartParseTreeWriter
update: naive_infinite_scroll
update: todo
fix: tests in foreach_spec
Closes #919
2015-03-21 14:19:21 -07:00
Marc Laval
2ff2ce3c6c
refactor(test_lib): remove IS_NODEJS
...
Closes #1015
2015-03-20 15:50:05 +01:00
Marc Laval
ab5ed6f2ec
chore(test): clean tests of if directive
...
Closes #1017
2015-03-20 15:48:55 +01:00
vsavkin
8a10edec01
feat(forms): added pristine and dirty
2015-03-19 14:36:21 -07:00
vsavkin
906fba4fab
fixed imports
2015-03-19 10:52:16 -07:00
vsavkin
d220b6a2a4
test(forms): added a test checking support for select
2015-03-19 10:19:14 -07:00
vsavkin
f42e6337b7
feat(forms): added support for textarea
2015-03-19 10:19:13 -07:00
Tim Blasi
08b56e1c53
feat(dart/transform): Add simple ParseTemplates step
...
Generate methods in the ParseTemplates step.
Add a test for inline template method generation.
2015-03-19 08:05:44 -07:00
Tim Blasi
b3fa1fa4fa
feat(dart/transform): Add simple ParseTemplates step
...
Adds a step that parses `inline` Template values to generate getters and
setters.
2015-03-19 07:06:51 -07:00
Pawel Kozlowski
e0710c4613
fix(PropertyBindingParser): detect bindings using full attribute name
...
Fixes #1001
Closes #1004
2015-03-18 21:52:15 -07:00
Patrice Chalin
376bdf4dc7
fix(bootstrap): report error on bootstrapping non-Component directive
...
Fixes #951 . Test case added to exercise new error reporting. Also added
extra test for when Template is missing.
Closes #961
2015-03-18 21:51:46 -07:00
Pawel Kozlowski
a35cc27781
fix(PropertyBindingParser): properly parse event bindings as actions
...
Fixes #981
Closes #987
2015-03-18 19:09:59 +01:00
Tim Blasi
d10df7de44
style(dart/transform): Rename .ngDeps.dart => .ng_deps.dart
...
Update to conform with file naming conventions.
Closes #975
2015-03-17 22:12:08 -07:00
Pawel Kozlowski
59a1f836a2
fix: allow creation of var with camelCased names
...
Closes #957
2015-03-17 21:39:26 -07:00
vsavkin
99f2d7faf6
removed circular deps so tests run on node
2015-03-17 16:31:37 -07:00
vsavkin
2041860a21
feat: added an ability to dynamically load components
2015-03-17 15:23:59 -07:00
vsavkin
7488456d68
feat(element_injector): added PrivateComponentLocation
2015-03-17 15:23:58 -07:00
vsavkin
b69f3043e0
feat(compiler): added the DynamicComponent annotation
2015-03-17 15:23:58 -07:00
vsavkin
a16954d3a5
refactor(view): separate context and locals
2015-03-17 14:25:57 -07:00
Yegor Jbanov
70c875ee14
refactor(shadow dom): do not use injectors nor directives
...
This prepares us for the app/render split in the compiler.
2015-03-16 16:58:38 -07:00
vsavkin
75ecaf02b9
chore: upgrade guinness to remove a workaround in testlib
2015-03-13 18:19:10 -07:00
vsavkin
33bff17f33
refactor(tests): refactor tests to clarify the behavior of onChange
2015-03-13 18:09:31 -07:00
vsavkin
3273adade5
refactor(view): change view to pass all bindings to proto change detector at once
2015-03-13 14:03:57 -07:00
Pawel Kozlowski
b39d2c0101
fix: properly bind to camelCased properties
...
Fixes #866
Closes #941
2015-03-13 19:50:47 +01:00
Marc Laval
e8965656a4
feat(directives/forms): run tests in NodeJS
...
Closes #921
2015-03-13 19:18:15 +01:00
Victor Berchet
7322ed721e
refactor: remove reference to the FIELD class
2015-03-13 18:59:51 +01:00
Marc Laval
8d2ee6bbda
feat(selector): add support for :not
...
Fixes #609
Closes #948
2015-03-13 18:26:10 +01:00
Tim Blasi
5c1c534894
test(dart/transform): Move BindGenerator tests to their own dir.
...
Move existing BindGenerator test to its own directory and to test that
phase specificially, rather than the whole pipeline.
Add another BindGenerator test.
2015-03-13 10:25:11 -07:00
Tim Blasi
4b12c19560
feat(dart/transform): Add a parser for `.ng_deps.dart` files and use.
...
Use the parser in `BindGenerator`
This checkin also removes types from `registerSetters` calls since they
can cause runtime failures (see #886 ). We will resolve this by
generating change detector classes in the future.
2015-03-13 10:24:15 -07:00
Tim Blasi
92b22d24d0
feat(dart/transform): Add a `.ng_deps.dart` file parser.
...
Create a common, reusable `.ng_deps.dart` file parser. All future transformer
phases build on the information in `.ng_deps.dart` files.
2015-03-13 10:24:15 -07:00
Tim Blasi
95c9eca64c
style(dart/transform): Change quote character for consistency.
...
Use ' as a quote character in generated output instead of ".
2015-03-13 10:24:15 -07:00
Victor Berchet
30253592ff
refactor(tests): refactor some tests to use the test injector
2015-03-13 18:20:02 +01:00
Victor Berchet
33b5ba863e
feat(tests): add a test injector
...
fixes #614
Asynchronous test should inject an AsyncTestCompleter:
Before:
it("async test", (done) => {
// ...
done();
});
After:
it("async test", inject([AsyncTestCompleter], (async) => {
// ...
async.done();
}));
Note: inject() is currently a function and the first parameter is the
array of DI tokens to inject as the test function parameters. This
construct is linked to Traceur limitations. The planned syntax is:
it("async test", @Inject (async: AsyncTestCompleter) => {
// ...
async.done();
});
2015-03-13 18:20:02 +01:00
Pawel Kozlowski
5926d2e2f7
refactor: use attributes for directives matching
...
Closes #940
2015-03-13 17:24:14 +01:00
Rado Kirov
f7963e1ea6
fix(shadowdom): allow conditional content tags.
...
Distribution is triggered on the host element injector after each new
view creation.
2015-03-12 12:06:47 -07:00
Victor Berchet
a82e20889d
feat(Injector): Support binding to null
2015-03-12 19:52:08 +01:00
Victor Berchet
951a808e0e
refactor(PropertySetter): use the global reflector
2015-03-12 19:49:34 +01:00
Marc Laval
c67194a3ef
fix(test_lib): remove getDistributedNodes emulation in NodeJS
2015-03-12 11:16:47 +01:00
Rado Kirov
dd3e6271c2
chore(services): rename services.
...
Closes #711
2015-03-11 18:30:37 -07:00
Tim Blasi
f4e0f51f5a
feat(dart/transform) Register parameter metadata information
...
Adds any metadata attached to a parameter to the "parameters" value
passed in to `registerType`.
For example:
`MyComponent(@Inject(Foo) foo)` generates
`"parameters": const [const [const Inject(Foo)]]`
Also reorganizes the testing code.
Closes #7
2015-03-11 17:21:49 -07:00
Rado Kirov
f1593ebca5
feat(shadowdom): turn on ShadowDom Emulated Mode by default.
...
Closes : #526
2015-03-11 12:46:15 -07:00
Marc Laval
1d4ff9bcdc
feat(compiler): parse5 DOM adapter
...
Closes #841
2015-03-11 14:42:54 +01:00
Tim Blasi
d0aceef4e0
perf(dart/transform) Restructure transform to independent phases
...
Update summary:
- Removes the need for resolution, gaining transform speed at the cost
of some precision and ability to detect errors
- Generates type registrations in the package alongside their declarations
- Ensures that line numbers do not change in transformed user code
2015-03-10 19:19:02 -07:00
vsavkin
08bd3a4443
feat(forms): add form builder
2015-03-10 18:12:50 -07:00
vsavkin
10fb7bb05f
refactor(forms): make form group responsible for supporting optional controls
2015-03-10 18:12:30 -07:00
Marc Laval
5acde20c7d
refactor(compiler): remove direct accesses to DOM in tests
...
Closes #899
2015-03-10 22:08:27 +01:00
Victor Berchet
370643539f
refactor(EventHandler): have a single instance of event handlers per ProtoView
2015-03-10 15:26:06 +01:00
Victor Berchet
bfa18ffd9b
feat(Directives): add the ability to declaratively bind events
...
relates to #621
2015-03-10 08:14:24 +01:00