1234 Commits

Author SHA1 Message Date
Tobias Bosch
7ae23adaff feat(core): speed up view creation via code gen for view factories.
BREAKING CHANGE:
- Platform pipes can only contain types and arrays of types,
  but no bindings any more.
- When using transformers, platform pipes need to be specified explicitly
  in the pubspec.yaml via the new config option
  `platform_pipes`.
- `Compiler.compileInHost` now returns a `HostViewFactoryRef`
- Component view is not yet created when component constructor is called.
  -> use `onInit` lifecycle callback to access the view of a component
- `ViewRef#setLocal` has been moved to new type `EmbeddedViewRef`
- `internalView` is gone, use `EmbeddedViewRef.rootNodes` to access
  the root nodes of an embedded view
- `renderer.setElementProperty`, `..setElementStyle`, `..setElementAttribute` now
  take a native element instead of an ElementRef
- `Renderer` interface now operates on plain native nodes,
  instead of `RenderElementRef`s or `RenderViewRef`s

Closes 
2016-01-05 08:56:46 -08:00
vsavkin
b44d36cf95 fix(forms): fix SelectControlValueAccessor not to call onChange twice
Closes 
2016-01-04 20:33:13 +00:00
Brian Ford
a038bb9ae3 fix(router): preserve specificity for redirects
Previously when comparing which of multiple possible routes to choose in
an ambiguous case, we looked at the specificity of the target of redirect
matches rather than the original match. This meant that if a redirect
used a whilecard, but redirected to a target that was a static path,
we'd cound the static path's specificity instead of the wildcard.

This change stores the specificity of the redirect on the RedirectInstruction.

Closes 
2016-01-04 20:06:21 +00:00
Brian Ford
b2bc50dbd1 fix(router): correctly sort route matches with children by specificity
This changes the way we calculate specificity. Instead of using a number,
we use a string, so that combining specificity across parent-child instructions
becomes a matter of concatenating them

Fixes 

Closes 
2015-12-21 10:38:13 +00:00
Julie Ralph
e748adda2e refactor(testing): move common testing logic into test_injector
Before, all test framework wrappers (internal for dart and js/ts,
angular2_test for dart and testing for js/ts) had similar logic to
keep track of current global test injector and test provider list.
This change wraps that logic into one class managed by the test
injector.

Closes 
2015-12-18 08:23:29 +00:00
vsavkin
197cf09689 feat(core): improve NoAnnotationError message
Closes 

Closes 
2015-12-17 23:37:54 +00:00
flyyang
9276dad42c docs: fix some typos in comments and strings
Couple of typos fixed:
- occuring -> occurring
- imlement -> implement
- idenitifer -> identifer
etc...

Closes 
2015-12-17 22:57:43 +00:00
Brian Ford
2a2f9a9a19 feat(router): support links with just auxiliary routes
Closes 
2015-12-16 19:50:19 +00:00
vsavkin
3dca9d522a feat(core): enable dev mode by default
BREAKING CHANGE

Before

Previously Angular would run in dev prod mode by default, and you could enable the dev mode by calling enableDevMode.

After

Now, Angular runs in the dev mode by default, and you can enable the prod mode by calling enableProdMode.
2015-12-15 08:34:44 -08:00
Julie Ralph
b803ecf7e7 refactor(testing): reenable injectAsync checking for return value
Before , injectAsync would check the return value and fail
if it was not a promise, to help users remember that they need to
return a promise from an async test.  removed that with the
introduction of the testing zone.

This un-deprecates `injectAsync` until we can resolve
https://github.com/angular/angular/issues/5515.

To be clear, this means that `inject` and `injectAsync` are now
identical except that `injectAsync` will fail if the test
does not return a promise, and `inject` will fail if the test
returns any value.

Closes 
2015-12-15 05:51:54 +00:00
Alex Eagle
2aaef81b1b Revert "refactor(testing): move common testing logic into test_injector"
This reverts commit b88a6d983fa8112aca5715182693e56683731878.
2015-12-14 20:27:31 -08:00
Victor Berchet
5a04ffec3e refactor(Directive): drop moduleId
moduleId is only used by components to resolve urls.
Directives have no templates and do not need moduleId.
Closes 
2015-12-15 01:20:56 +00:00
Julie Ralph
b88a6d983f refactor(testing): move common testing logic into test_injector
Before, all test framework wrappers (internal for dart and js/ts,
angular2_test for dart and testing for js/ts) had similar logic to
keep track of current global test injector and test provider list.
This change wraps that logic into one class managed by the test
injector.

Closes 
2015-12-15 01:14:48 +00:00
Jason Teplitz
006a96dd20 refactor(WebWorker): Make WebWorker bootstrap synchronous
BREAKING CHANGE

From the app thread, in both TypeScript and Dart, you bootstrap the app
using `application` instead of `asyncApplication`.
Before:
```TypeScript
platform([WORKER_APP_PLATFORM])
.asyncApplication(setupWebWorker, optionalProviders?)
.then((ref) => ref.bootstrap(RootComponent));
```
Now:
```TypeScript
platform([WORKER_APP_PLATFORM])
.application([WORKER_APP_APPLICATION])
.bootstrap(RootComponent);
```

closes 

Closes 
2015-12-14 21:04:46 +00:00
vsavkin
43f42d9c6e feat(facade): do not reexport Observable from angular2/core
BREAKING CHANGE

Before import {Observable} from 'angular2/core'

After import {Observable} from 'rxjs/Observable';
2015-12-12 19:28:13 +00:00
Jeff Cross
a885f37dfa fix(web_workers): remove unnecessary setup module and AppRootUrl
Since AppRootUrl is removed, the logic for extending and emitting
the root url as part of the setup seems unnecessary.

BREAKING CHANGES:

The setupWebWorker function exported from 
angular2/platform/worker_app  no longer returns a promise of providers, 
but instead synchronously returns providers.

Related to 
Closes 
2015-12-12 00:58:56 +00:00
vsavkin
44c648fc04 Revert "fix(animate): ensure transition properties are removed once the animation is over"
This reverts commit b8e69a21a904dad8d5855afc2788491aa73d0460.
2015-12-11 13:13:11 -08:00
Jeff Cross
979162d324 fix(public_spec): check exports of barrels instead of angular2/angular2
This changes the public api spec to check each public barrel individually
to make sure its API has not changed. The previous API spec has been
preserved but split into respective barrels.

The compiler barrel has been added to the spec, along with all of its
public exports. Previously, angular2/angular2 was only exporting a
handful of symbols from compiler, so there are now many more symbols
being tested in the spec for compiler than previously.

Part of 
Closes 
Supercedes 
2015-12-11 13:05:52 -08:00
Tim Blasi
92ddc62bed fix(styles): Escape \r characters in compiled text
Closes 

Closes 
2015-12-11 19:48:43 +00:00
Alejandro Caravaca Puchades
2ca5e38a78 fix(upgrade): allow directives with empty template 2015-12-11 11:39:45 -08:00
Matias Niemelä
b8e69a21a9 fix(animate): ensure transition properties are removed once the animation is over 2015-12-11 11:38:24 -08:00
Pawel Kozlowski
f1a9a537cb test(core): remove imports from 'angular2/angular2'
Closes 
2015-12-11 18:02:23 +00:00
Victor Berchet
080469f8e6 fix(HtmlParser): allow ng-content elements regardless the namespace
relates to 
Closes 
2015-12-11 01:36:48 +00:00
Victor Berchet
7c13372721 fix(TemplateParser): match element and attributes regardless the namespace 2015-12-11 01:36:48 +00:00
Jeff Cross
693d9dce5d fix(parse5): support comment nodes with getText and setText
In the browser, calling element.textContent causes child comment
nodes to be ignored, while getting textContent directly on a
comment node will return the comment. This change makes
parse5Adapter consistent with this behavior by adding a 2nd
argument to getText telling if it's being called recursively.

Closes 
2015-12-10 19:18:14 +00:00
Jeff Cross
194dc7da78 feat(renderer): use a comment instead of an element when stamping out template>` elements
Originally authored by @tbosch, this reverts the revert commit
e274ff8a69ca8e59237b6d0e01a8e2e9292f2142.

Closes 
2015-12-10 19:18:14 +00:00
Jeff Cross
79399e1c51 feat(dom_renderer): add setBindingDebugInfo method
This is used for setting property binding values as attributes
on elements when running in dev mode. This implementation will
also serialize binding information to template placeholder
comment nodes.

Closes 
2015-12-10 19:18:14 +00:00
Victor Berchet
9e44dd85ad feat(camelCase Angular): legacy template transformer 2015-12-09 19:59:40 -08:00
Victor Berchet
da9b46a071 feat: camelCase Angular (kebab-case removal)
BREAKING CHANGE:

Angular is now fully camel case.

Before:

    <p *ng-if="cond">
    <my-cmp [my-prop]="exp">
    <my-cmp (my-event)="action()">
    <my-cmp [(my-prop)]="prop">
    <input #my-input>
    <template ng-for #my-item [ng-for-of]=items #my-index="index">

After

    <p *ngIf="cond">
    <my-cmp [myProp]="exp">
    <my-cmp (myEvent)="action()">
    <my-cmp [(myProp)]="prop">
    <input #myInput>`,
    <template ngFor="#my-item" [ngForOf]=items #myIndex="index">

The full details are found in [angular2/docs/migration/kebab-case.md](https://github.com/angular/angular/blob/master/modules/angular2/docs/migration/kebab-case.md)
2015-12-09 19:59:40 -08:00
Matias Niemelä
28860d35b2 feat(core): provide support for relative assets for components
Assets defined for `templateUrl` and `styleUrls` can now be loaded
in relative to where the component file is placed so long as the
`moduleId` is set within the component annotation.

Closes 
2015-12-09 16:28:49 -08:00
Matias Niemelä
5f0ce30ee6 revert: feat(core): provide support for relative assets for components 2015-12-09 16:26:42 -08:00
Matias Niemelä
db096a5e22 feat(core): provide support for relative assets for components
Assets defined for `templateUrl` and `styleUrls` can now be loaded
in relative to where the component file is placed so long as the
`moduleId` is set within the component annotation.

Closes 

Closes 
2015-12-09 22:04:00 +00:00
vsavkin
0df8bc4e52 fix(dynamic_component_loader): leave the view tree in a consistent state when hydration fails
Closes 
2015-12-08 16:09:38 -08:00
vsavkin
0d9a1de4d9 fix(bootstrap): fix the configuration of ExceptionHandler 2015-12-08 16:09:37 -08:00
Brian Ford
aa85856e1c fix(router): set correct redirect/default URL from hashchange
Currently, hashchange events outside of Angular that cause navigation
do not take into account cases where the initial route URL changes
due to a redirect or a default route.

Closes 

Closes 
2015-12-08 22:34:19 +00:00
Victor Berchet
8657ca4298 fix(form): Form directives are exportedAs 'ngForm' (was 'form')
fixes 

BREAKING CHANGE:

Before:

    <form #f="form">

After:

    <form #f="ngForm">

Closes 
2015-12-08 20:25:16 +00:00
Jeff Cross
c39f4c3b38 refactor(Observable): implement toPromise and fromPromise without side effects
BREAKING CHANGE:

toPromise is no longer an instance method of the `Observable` returned
by Angular, and fromPromise is no longer available as a static method.

The easiest way to account for this change in applications is to import
the auto-patching modules from rxjs, which will automatically add these
operators back to the Observable prototype.

```
import 'rxjs/add/operator/toPromise';
import 'rxjs/add/observable/fromPromise';
```

Closes 
Closes 
2015-12-08 18:31:02 +00:00
Victor Berchet
1f35048d54 feat(TemplateParser): allow template elements regardless the namespace
Closes 
2015-12-08 17:46:14 +00:00
Victor Berchet
eb0ea931d0 fix(HtmlParser): ignore LF immediately following pre, textarea & listing
fixes 

Closes 
2015-12-08 02:39:17 +00:00
Victor Berchet
47f1d12731 fix(HtmlLexer): tag name must follow "<" without space
see http://www.w3.org/TR/html5/syntax.html#tag-open-state
2015-12-08 02:39:17 +00:00
Victor Berchet
aecf68117a feat(HtmlLexer): allow "<" in text tokens
fixes 
2015-12-08 02:39:17 +00:00
Victor Berchet
3a438615c3 fix(HtmlParser): Do not add parent element for template children
fixes 
2015-12-08 02:39:17 +00:00
Victor Berchet
9850e68703 fix(HtmlLexer): handle CR in input stream per HTML spec
fixes 
Closes 
2015-12-08 02:18:20 +00:00
Tero Parviainen
daaa8ee1cd fix(compiler): support properties on SVG elements
Have DomElementSchemaRegistry support namespaced elements,
so that it does not fail when directives are applied in SVG (or xlink).
Without this fix, directives or property bindings cannot be
used in SVG.

Related to 

Closes 
2015-12-08 02:18:07 +00:00
Pawel Kozlowski
50490b55eb fix(HtmlParser): mark <source> elements as void
Fixes 

Closes 
2015-12-08 02:15:15 +00:00
Yegor Jbanov
2d313c4d1d chore(parser): add tests for conditional expressions
Closes 
2015-12-07 15:16:57 -08:00
Pascal Precht
c6d6b75691 refactor(test/linker): fix typo in directive name 2015-12-04 19:32:51 -08:00
Pascal Precht
f664a9c4d5 refactor(test/linker): remove unused directive in tests 2015-12-04 19:32:51 -08:00
Victor Berchet
d388c0ae62 feat(HtmlParser): enforce only void & foreign elts can be self closed
BREAKING CHANGE:

`<whatever />` used to be expanded to `<whatever></whatever>`.
The parser now follows the HTML5 spec more closely.
Only void and foreign elements can be self closed.

Closes 
2015-12-04 20:05:27 +00:00
Victor Berchet
56604468e0 feat(HtmlParser): enforce no end tag for void elements
BREAKING CHANGE

End tags used to be tolerated for void elements with no content.
They are no more allowed so that we more closely follow the HTML5 spec.
2015-12-04 20:05:27 +00:00