Commit graph

473 commits

Author SHA1 Message Date
vsavkin
3bdf669ddf cleanup(change_detection): removed dead code 2015-04-09 17:30:04 -07:00
vsavkin
69c3bff086 feat(change_detection): updated change detection to update directive directly, without the dispatcher 2015-04-08 22:14:50 -07:00
Tobias Bosch
50098767fc refactor(render): use render layer fully
Introduces angular2/src/core/compiler/ViewFactory which
extracts ProtoView.instantiate and replaces ViewPool.

Note: This is a work in progress commit to unblock other commits.
There will be follow ups to add unit tests, remove TODOs, …
2015-04-08 20:51:31 -07:00
Pawel Kozlowski
41262f4265 feat(Ruler): introduce Ruler service
Closes #1089

Closes #1253
2015-04-08 11:04:42 +02:00
Tobias Bosch
ca958464c4 refactor(render): create and store render ProtoViewRef in every app ProtoView
Needed to change Renderer.mergeChildComponentProtoViews to not create
new ProtoViews to be able to deal with cyclic references.

This commit is part of using the new render layer in Angular.
2015-04-07 20:27:25 -07:00
John Arstingstall
b7eea4f577 docs(directives): add # to for directive microsyntax example 2015-04-07 08:44:32 +02:00
Harry Terkelsen
2560af731a refactor(dart): use Map instead of HashMap
Closes #1202
2015-04-06 17:16:54 +00:00
Victor Berchet
86211eb5f0 doc(directives): add inline documentation
Closes #1240
2015-04-06 17:11:23 +00:00
Pawel Kozlowski
a3387b7f48 fix(di): allow injecting static attrs without type annotations
Closes #1226
2015-04-06 12:33:37 +02:00
Victor Berchet
94a48e8640 test(VmTurnZone): provide a stub VmTurnZone for CJS tests 2015-04-06 10:30:17 +02:00
Victor Berchet
d8aeb40b49 reafactor(XHR): rename XHRMock to MockXHR for consistency 2015-04-06 10:30:16 +02:00
Victor Berchet
52c55d0ee8 test: convert to using TestBed 2015-04-06 10:30:16 +02:00
Victor Berchet
438c2b31e4 test(TestBed): initial implementation 2015-04-06 10:30:16 +02:00
Victor Berchet
57e308dd46 test(MockTemplateResolver): allow directive overriding 2015-04-06 10:07:50 +02:00
Gerd Jungbluth
c922b5a112 docs(annotations): fix some typos, align docs with code
Closes #1227
2015-04-04 12:23:01 +02:00
PatrickJS
d552303cd5 docs(02_directives.md): foreach -> for
Closes #1235
2015-04-04 10:32:53 +02:00
Tobias Bosch
1d4d18d9db refactor(render): user render compiler 2015-04-03 23:41:00 -07:00
Patrick
069bbf3ed0 docs(02_directives.md): Fixes variable name for visibility in Components example 2015-04-03 14:18:15 -07:00
Kevin Moore
d77f409093 chore: analyzer fixes for Dart transformer 2015-04-03 14:18:14 -07:00
Andrew
25c709c58e fix(angular2): export PrivateComponent{Loader,Location} in angular2/core 2015-04-03 14:18:14 -07:00
Tim Blasi
bc909d1d0f refactor(dart/transform): Minor renames
Rename `setupReflection` => `initReflector`
Rename `TemplateComplier` => `TemplateCompiler`

Closes #1180
2015-04-03 13:16:24 -07:00
Tim Blasi
a6736ff9f2 perf(change detection): Assign this.locals in change detector ctor
Set `this.locals = null;` in the ctor of generated change detector
classes to prevent the class "shape" from changing on `hydrate`.
2015-04-03 12:23:47 -07:00
Alex Eagle
894a0f0ee5 chore(ts): duplicate the .es6 files in the facade directory to TypeScript.
Adds a gulp task which builds the .ts files (in the cjs build only).
The new files have extension .ts since they are now valid typescript.
Unfortunately until Typescript can emit System.require, we have to keep the old .es6 version
so traceur works inside the Karma preprocessor. This should be fixed soon.
2015-04-03 09:35:06 -07:00
vsavkin
abea92af59 refactor(change_detection): call onChange from the change detector 2015-04-02 21:22:42 -07:00
Misko Hevery
86dc3e5b07 docs: create public API surface
Closes #1181
2015-04-02 23:23:39 +00:00
Tobias Bosch
c1aa65239e refactor(render): move services to render folder
property_setter_factory
selector
style_inliner
style_url_resolver
shadow_css
2015-04-02 14:40:49 -07:00
Tobias Bosch
be5ccf6957 refactor(render): delete copies files so we add them via moves 2015-04-02 14:24:55 -07:00
Marc Laval
90d9a1df3f fix(IE11): first fixes
Closes #1179
2015-04-02 22:06:21 +02: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
Tim Blasi
788461b7e2 feat(di): Mark objects @Injectable
Allow `PrivateComponentLoader`, `Testability`, and `TestabilityRegistry` to be injected.
2015-04-02 11:02:26 -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
Alex Eagle
f68cdf3878 chore(ts): introduce some TypeScript type declarations.
This uses tsd to fetch the typings from another git repo. I've forked the DefinitelyTyped repo because some typings we use are not available upstream.
We should probably fork it in the Angular org, so everyone on the team has commit access to our DefinitelyTyped fork.
2015-04-01 12:01:45 -07:00
vsavkin
514ba54282 feat(change_detection): added changeDetection to Component 2015-03-31 20:54:44 -07:00
Alex Eagle
a11f683e7b chore(ts): Don't mask the Regexp builtin.
Doing so makes it impossible to compile with TypeScript, since it conflicts with the shape of the Regexp global var defined in the standard lib.
2015-03-31 19:20:21 -07:00
vsavkin
b65b145122 refactor(view): refactored DirectiveMemento to expose properties in a consistent way 2015-03-31 18:26:58 -07:00
vsavkin
982bb8b01d fix(forms): fixed a directive selector 2015-03-31 17:45:38 -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
Victor Berchet
48811cd805 doc(lifecycle): minor fixes 2015-03-31 21:12:37 +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
Jeff Cross
123ee8e06f feat(dom): add replaceChild to DOM adapter 2015-03-31 09:54:41 -07:00
Jeff Cross
7bf9525353 fix(benchmark_util): remove strict equality check from getStringParameter
Transpiled dart code was using identical() method to compare, which checks reference
equality, even for strings.
2015-03-31 09:54:41 -07:00
Naomi Black
3915e1b242 docs(annotations): Added new text 2015-03-30 17:19:58 -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 Templates
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
Sekib Omazic
b46d0bc48c docs(annotations): fix typo, align docs with code
Closes #1045
2015-03-28 15:39:50 +01:00
laiso
65320126c2 docs(directives): fix HTML in an example
Closes #1115
2015-03-28 15:37:11 +01:00
Tobias Bosch
33bfc4c24a feat(bench press): replace microIterations with microMetrics 2015-03-27 16:16:35 -07: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
vsavkin
6b985d56a5 cleanup(forms): added missing type annotations
Closes #1054
2015-03-27 11:30:39 -07:00
Victor Berchet
c8385ad998 refactor(cd): remove dead code 2015-03-27 16:59:23 +01: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
d304f41197 docs(core): improved docs on directive lifecycle 2015-03-26 18:18:25 -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
Rob Wormald
e706f3477b Remove invalid super() call
Unless I'm missing something?
2015-03-26 11:10:39 -07: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
0ae33b7e3c refactor(compiler): factorize common util code dash <-> camel
Closes #1114
Fixes #1097
2015-03-26 15:22:35 +01: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
Martin Probst
a0d86ac2bb chore(ts2dart): ts2dart doesn't support mixed typed/untyped var decl lists. 2015-03-25 16:41:33 -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
Misko Hevery
f995b07876 docs: annotations edits 2015-03-24 23:28:24 +00:00
Victor Berchet
101a4aa3cf feat(PrivateComponentLoader): Explicit error message when loading a non-component
fixes #1062
2015-03-24 22:11:41 +01:00
Victor Berchet
65d759316b fix(PrivateComponentLoader): add the loader to the app injector
fixes #1063
2015-03-24 22:10:26 +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
Nick Van Dyck
0e61a86763 docs: annotations 2015-03-24 00:42:58 +00: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
Nick Van Dyck
f1fca5abb6 (docs) decorator events property
As from what i understand shouldn't the event property rather be events: https://github.com/angular/angular/blob/master/modules/angular2/src/core/annotations/annotations.js#L161

Closes #1018
2015-03-21 18:26:13 +00:00
Matt Follett
045ce3c77a Fix which dependency is injected w/ current elem.
Docs for the "Injecting a directive from the current element" indicate that having a dependency of `dependency: Dependency` should cause the current element's dependency to be injected, but then uses the ID value from the parent element in the example.

Closes #1032
2015-03-21 18:14:43 +00:00
Misko Hevery
f822066e2a docs: annotations 2015-03-21 18:05:12 +00: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
Misko Hevery
38b96ed746 docs: annotations 2015-03-19 18:21:52 +00: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
Misko Hevery
81312e4b3e docs: annotations 2015-03-19 16:56:52 +00: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
Tim Blasi
5d502d4093 feat(dart/transform): Implement Html5LibDomAdapter methods.
Adding support for some additional `DomAdapter` methods necessary to run
`Complier` in the Dart transformer.
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
57723e1354 feat(di): Add the @Injectable annotation to Compiler
Mark `Compiler` and its dependencies as available to the `Injector`.
2015-03-17 22:12:47 -07:00
Tim Blasi
b656f63430 feat(di): Add the @Injectable annotation
Add an annotation marking a class as available to `Injector`s.
2015-03-17 22:12:47 -07:00
Marc Laval
a46af9c41c feat(build): check circular depencies in Node.js
Closes #980
2015-03-17 22:12:26 -07: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
PatrickJS
91398c3425 docs(application.js): ensure bootstrap promise,
so people using something like systemjs won't break the promise chain and at the same time shows that it's a promise

```es6
Promise.all({
  app1: System.import('app1').then(module => module.main()),
  app2: System.import('app2').then(module => module.main()),
  app3: System.import('app3').then(module => module.main())
})
.then(function(injectors) {
  console.log('dem injectors', injectors);
});
```

Closes #967
2015-03-17 22:11:26 -07:00
Pawel Kozlowski
59a1f836a2 fix: allow creation of var with camelCased names
Closes #957
2015-03-17 21:39:26 -07:00
Victor Berchet
c6893aceed perf(DirectiveDependency): iterate only once over Dependency properties
Closes #918
2015-03-17 21:24:02 -07:00
Nick Van Dyck
6fe294ff2b (docs) decorator events typo?
Ok I'm not sure (trying to understand angular2) but according to what i can see. Shouldn't the decorator event property be events. Please correct me if I'm wrong :p
2015-03-17 17:10:47 -07:00
Marc Laval
46b03a524e feat(test): more tests in Node.js 2015-03-17 16:58:58 -07:00
vsavkin
99f2d7faf6 removed circular deps so tests run on node 2015-03-17 16:31:37 -07:00
vsavkin
b92d16c08e cleanup(change_detection): removed an unused method 2015-03-17 15:23:59 -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
Peter Bacon Darwin
85799aa1a5 docs(*): add @publicModule tags
Initial set of tags to demonstrate the public docs filtering

Closes #988
2015-03-17 14:44:45 -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
Misko Hevery
115ac5f290 docs: directive docs 2015-03-16 02:53:22 +00: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
Misko Hevery
956b8c8792 docs: bootstrap method 2015-03-13 21:55:02 +00: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
Peter Bacon Darwin
1adb23d222 docs(TestInjector): reenable jsdoc comment for exported inject function
This was disabled due to a bug in dgeni. See #949
2015-03-13 20:53:25 +00: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
Victor Berchet
fde7e9e898 doc(TestInjector): fix a build error with dgeni 2015-03-13 18:48:29 +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
Pawel Kozlowski
d35fdfcd40 refactor: return copy of DOM attributes in Dart
This alligns with JS-version behaviour
2015-03-13 17:24:13 +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
Marc Laval
537f943f57 refactor(compiler): remove direct accesses to DOM
Closes #898
2015-03-11 11:58:18 +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
Marc Laval
f1f06018c1 fix(compiler): workaround for circular dependencies in nodejs
Closes #897
2015-03-10 21:58:13 +01:00
Brian Ford
e0feeaf973 fix(CompileStep): use namespace to resolve circular dep issue 2015-03-10 11:35:52 -07: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
Victor Berchet
86e9dd68a4 refactor(ElementBinderBuilder): refactor pipes support 2015-03-10 07:23:17 +01:00
Pawel Kozlowski
0d1dece7b4 feat: introduce Title service
Closes #612

Closes #900
2015-03-09 22:17:28 +01:00
Dylan Johnson
7e93c54603 docs(12_zones.md): Fix typos and inconsistent capitalization
Closes #893
2015-03-09 18:58:56 +01:00
Victor Berchet
b349c35678 feat(ElementInjector): implement @PropertySetter
relates to #621
2015-03-09 18:28:39 +01:00
Victor Berchet
c3873be295 fix(Compiler): asynchronous error reporting 2015-03-09 16:42:37 +01:00
Tobias Bosch
f9dcfa3ba5 feat(benchpress): add a file reporter 2015-03-06 12:50:05 -08:00
Alex Eagle
91426a8efe fix: remove one more use of for..of 2015-03-04 08:35:41 -08:00
Tobias Bosch
043b8c6d2e feat(bench press): add microIterations option 2015-03-03 14:41:03 -08:00
Victor Berchet
03793d0714 feat(CssProcessor): add support for CssTransformers
Closes #860
2015-03-03 11:24:08 -08:00
Victor Berchet
9982520a23 refactor(Compiler): make shadow DOM stragegy support more flexible 2015-03-03 11:24:08 -08:00
Victor Berchet
bcf4a96a84 refactor(Compiler): simplify the code
Closes #862
2015-03-03 11:21:02 -08:00
Tobias Bosch
81a5ae8f6e fix(build): report and fail on errors
tree benchmark was broken and we didn’t know it…

also changes reporting to not include messages from `console.time()`, …
2015-03-02 16:34:32 -08:00
vsavkin
733915d99b feat(forms): add support for nested forms 2015-03-02 14:53:03 -08:00
Tobias Bosch
7ddfbf8bea refactor(tests): move files from angular2/e2e_test to angular2/src/test_lib
The `e2e_test` folder in `angular2` never contained e2e tests but was
used to store utilities for writing e2e/perf tests. A better place for
them is `angular2/src/test_lib`.

Closes #855
2015-03-02 14:38:02 -08:00
vsavkin
ba0a1ec459 feat(di): add support for optional dependencies 2015-03-02 14:38:02 -08:00
Victor Berchet
23786aaa92 feat(DomAdapter): add types
Closes #842
2015-03-02 14:38:02 -08:00
Caitlin Potter
749a75812c fix(browser_adapter): work around WebKit bug with importing template elements
Closes #851

Closes #853
2015-03-02 14:38:02 -08:00
Bertrand Laporte
3059104e8d add compilation error test for dart
Closes #812
2015-03-02 14:38:02 -08:00
vsavkin
21f24d19dd feat(change_detection): implement hydration/dehydration 2015-03-02 13:28:39 -08:00
Richard Harrington
f30e3e59b5 fix(docs): fix typo in compiler integration_spec.js
Closes #834
2015-02-28 12:00:49 +01:00
Yegor Jbanov
cbe7b8c671 chore(refactor): easier to make sense of attr-to-prop map (even if a bit reduntant) 2015-02-27 22:11:08 -08:00
Yegor Jbanov
757eae8ad3 feat(compiler): DOM adapters + html5lib implementation; misc fixes 2015-02-27 16:49:14 -08:00
Alex Eagle
ab42664e76 Don't use the for..of syntax in AtScript. 2015-02-27 15:26:53 -08:00
Tim Blasi
ccb306cce7 docs(di): Fix typos, add some clarification.
Or maybe expose my lack of understanding, we'll see!
2015-02-27 14:54:16 -08:00
Pawel Kozlowski
7e6f536cf5 fix(compiler): properly bind to properties that don't have matching attr name
Fixes #619
Closes #783
2015-02-27 16:10:16 +01:00
Victor Berchet
8541cfd26d feat(ShadowDomStrategy): implemented EmulatedUnscopedShadowDomStrategy
- The new strategy do not scope component styles but make them global,
- The former EmulatedShadowStrategy has been renamed to
EmulatedScopedShadowDomStrategy. It does scope the styles.
2015-02-26 20:00:23 +01:00
Victor Berchet
9f181f39e9 fix(StyleUrlResolver): add support for media query in import rules 2015-02-26 20:00:23 +01:00
Victor Berchet
4d8d17ce3d fix(StyleInliner): add support for url(url) format 2015-02-26 20:00:23 +01:00
Victor Berchet
06f7481141 feat(RegExp): expose match indexes in Dart 2015-02-26 19:32:49 +01:00
Pawel Kozlowski
8d2720775c chore: re-add dependency on zone.js
Closes #811
2015-02-26 19:20:02 +01:00