5052 Commits

Author SHA1 Message Date
Chuck Jazdzewski
388afa414e test(compiler): add integration like tests to compiler unit tests ()
Closes PR 

PR Close 
2017-02-03 15:06:51 -06:00
Misko Hevery
1961332f26 chore(release): cut the 4.0.0-beta.6 release 2017-02-02 21:01:27 -08:00
Miško Hevery
69a4bb0bcd doc: standardize deprecation of preserveQueryParams (4.0 only) ()
PR closes 
2017-02-01 16:48:19 -08:00
Miško Hevery
a7479f657a fix: ngModel should use rxjs/symbol/observable to detect observable ()
PR closes 
2017-02-01 16:47:41 -08:00
Tobias Bosch
a05e50fda3 feat(core): view engine - add missing DI features ()
Part of 

PR Close 
2017-02-01 14:16:01 -06:00
Tobias Bosch
ae7f5f37d2 refactor(core): view engine - remove ViewData.parentDiIndex ()
Instead, calculate it on the fly

Part of 
2017-02-01 14:15:47 -06:00
Tobias Bosch
45e1e36477 feat(core): view engine - add support for OnPush and detached views. ()
Part of 

PR Close 
2017-02-01 14:15:47 -06:00
Tobias Bosch
08ff67ea11 feat(core): view engine - add WrappedValue support ()
Part of 
2017-02-01 14:15:38 -06:00
Miško Hevery
1bc5368ea0 fix: closure compiler warning ()
PR Close 
2017-02-01 14:11:52 -06:00
Dzmitry Shylovich
093cc04748 fix(common): DatePipe parses input string if it's not a valid date in browser ()
Closes 
Closes 

PR Close 
2017-02-01 14:01:58 -06:00
Dzmitry Shylovich
9d2c71269b refactor(common): remove isDate from facade () 2017-02-01 14:01:46 -06:00
Tobias Bosch
0a29574d98 feat(core): view engine - support content projection ()
Part of 

PR Close 
2017-02-01 09:29:51 -06:00
Chuck Jazdzewski
86b2b2504f feat(common): rename underlying NgFor class and add a type parameter ()
Note, this affects the underlying class and should not affect usage.

DEPRECATION:
- the `NgFor` class is now deprecated. Use `NgForOf<T>` instead.
  IMPORTANT: Only the `NgFor` class is deprecated, not the `ngFor`
  directive. The `*ngFor` and related directives are unaffected by
  this change  as references to the `NgFor` class generated from
  templates will be automatically converted to references to
  `NgForOf<T>` without requiring any template modifications.
- `TrackByFn` is now deprecated. Use `TrackByFunction<T>` instead.

Migration:
- Replace direct references to the `NgFor` class to `NgForOf<any>`.
- Replace references to `TrackByFn` to `TrackByFunction<any>`.

BREAKING CHANGE:
A definition of `Iterable<T>` is now required to correctly compile
Angular applications. Support for `Iterable<T>` is not required at
runtime but a type definition `Iterable<T>` must be available.

`NgFor`, and now `NgForOf<T>`, already supports `Iterable<T>` at
runtime. With this change the type definition is updated to reflect
this support.

Migration:
- add "es2015.iterable.ts" to your tsconfig.json "libs" fields.

Part of 

PR Close 
2017-02-01 09:29:51 -06:00
Chuck Jazdzewski
69e14b500b feat(compiler): generate type parameters for generic type references () 2017-02-01 09:29:51 -06:00
Georgios Kalpakas
7670cc1a86 feat(upgrade): export VERSION from upgrade/static ()
PR Close 
2017-02-01 09:29:51 -06:00
Georgios Kalpakas
ea63676970 refactor(upgrade): use shared code in downgradeNg2Component() ()
This unified the implementations of dynamic's `downgradeNg2Component()` and
static's `downgradeComponent()`.
2017-02-01 09:29:51 -06:00
Georgios Kalpakas
1367cd9569 fix(upgrade): respect hierarchical injectors for downgraded components ()
Correctly wire up hierarchical injectors for downgraded components in
`upgrade/static`: Downgraded components inherit the injector of the first
downgraded component up the DOM tree.

This is similar to (part of) d91a86a, but for `upgrade/static`.

POSSIBLE BREAKING CHANGE:

In order to enable more control over the wiring of downgraded components and
their content (which eventually allows better control over features like
injector setup and content projection), it was necessary to change the
implementation of the directives generated for downgraed components.

The directives are now terminal and manually take care of projecting and
compiling their contents in the post-linking function. This is similar to how
the dynamic version of `upgrade` does it.

This is not expected to affect apps, since the relative order of individual
operations is preserved. Still, it is difficult to predict how every possible
usecase may be affected.
2017-02-01 09:29:51 -06:00
Georgios Kalpakas
9aafdc7b02 feat(upgrade): allow non-element selectors for downgraded components ()
This affects the dynamic version of `upgrade` and makes it more consistent with
the static version, while removing an artificial limitation.

This commit also refactors the file layout and code, in order to share code wrt
to dowgrading components between the dynamic and static versions.
2017-02-01 09:29:51 -06:00
Georgios Kalpakas
1f90f29369 feat(upgrade): return a function (instead of array) from downgradeInjectable() ()
This makes it more consistent with the dynamic version of `upgrade` and makes it
possible to share code between the dynamic and static versions.

This commit also refactors the file layout, moving common and dynamic-specific
files to `common/` and `dynamic/` directories respectively and renaming `aot/`
to `static/`.

Some private keys, used as AngularJS DI tokens, have also been renamed, but this
should  not affect apps, since these keys are undocumented and not supposed to
be used externally.

BREAKING CHANGE:

Previously, `upgrade/static/downgradeInjectable` returned an array of the form:

```js
['dep1', 'dep2', ..., function factory(dep1, dep2, ...) { ... }]
```

Now it returns a function with an `$inject` property:

```js
factory.$inject = ['dep1', 'dep2', ...];
function factory(dep1, dep2, ...) { ... }
```

It shouldn't affect the behavior of apps, since both forms are equally suitable
to be used for registering AngularJS injectable services, but it is possible
that type-checking might fail or that current code breaks if it relies on the
returned value being an array.
2017-02-01 09:29:51 -06:00
Miško Hevery
e0e5e78835 fix: lint errors to make circle-ci green 2017-01-31 19:01:48 -06:00
Alex Eagle
b4214d60a6 fix(compiler): allow expressions or functions in extends ()
Fixes 

PR Close 
2017-01-31 18:35:10 -06:00
Victor Berchet
5921c872b6 fix(compiler): only lex messages that are needed by angular ()
To avoid the lexer erroring on syntax not supported by Angular.

PR Close 
2017-01-31 16:21:55 -06:00
Tobias Bosch
52b21275f4 feat(core): view engine - add debug information ()
Creates debug information for the renderer,
and also reports errors relative to the
declaration place in the template.

Part of 

PR Close 
2017-01-31 16:21:54 -06:00
Chuck Jazdzewski
49fb8143e8 fix(language-service): do not crash when Angular cannot be located ()
Fixes 

PR Close 
2017-01-31 15:45:52 -06:00
cexbrayat
5f2b3173d7 fix(http): use params without RequestOptions ()
`params` has been introduced in 4.0.0-beta.0

Before:

    http.get(url, new RequestOptions({params: searchParams}))

After:

    http.get(url, {params: searchParams})

Fixes 

PR Close 
2017-01-31 15:44:49 -06:00
evan Liu
c87c3bec93 feat(router): deprecate preserveQueryParams,add queryParamsHandling ()
PR Close 
2017-01-31 15:43:25 -06:00
Dzmitry Shylovich
2ffa1a71aa docs(forms): fix FormArray description ()
Closes 

PR Close 
2017-01-31 15:42:42 -06:00
Toxicable
94f84c5d7e fix(forms): Verify functions passed into async validators returns Observable or Promise () 2017-01-31 12:15:56 -06:00
Dzmitry Shylovich
ff290af38c fix(common): introduce isObservable method ()
Closes 

PR Close 
2017-01-31 12:14:19 -06:00
Dzmitry Shylovich
fe441186e7 fix(common): add PopStateEvent interface ()
Closes 

PR Close 
2017-01-31 12:08:54 -06:00
Dzmitry Shylovich
f89d004c51 fix(forms): provide a method to compare options ()
Closes 

PR Close 
2017-01-31 11:38:30 -06:00
Dzmitry Shylovich
6c7300c7de fix(forms): async validator cancels previous subscription when input has changed ()
Fixes 
Fixes 
Fixes 
Fixes 

PR Close 
2017-01-31 11:37:25 -06:00
Alex Eagle
22058298d3 fix(closure): suppress some closure compiler warnings ()
PR Close 
2017-01-30 18:34:14 -06:00
Dzmitry Shylovich
1df9319af1 fix(forms): fix broken unit test () 2017-01-30 10:07:09 -08:00
Toxicable
7b7ae5fe56 feat(forms): add equalsTo validator ()
PR Close: 
2017-01-29 12:22:24 -06:00
WilliamKoza
94b62c963d fix(common) add interface PipeTransform to Async pipe ()
PR Close 
2017-01-29 12:18:55 -06:00
Dzmitry Shylovich
579567ca79 fix(router): fix CanActivateChild guard provided in a lazy loaded module ()
Closes 

PR Close 
2017-01-29 12:17:03 -06:00
Dzmitry Shylovich
47d41d492b fix(router): fix navigation from the root component ngOnInit hook ()
Closes 

PR Close 
2017-01-29 12:16:12 -06:00
Dzmitry Shylovich
e075b1ba83 fix(router): fix CanActivate redirect to the root on initial load ()
Closes 

PR Close 
2017-01-29 12:15:46 -06:00
Dzmitry Shylovich
029f558d45 fix(forms): select shows blank line when nothing is selected in IE/Edge ()
Closes 

PR Close 
2017-01-29 12:15:11 -06:00
执衡
c5ea03a023 feat(ngModel):handle ime events ()
PR Close: 
2017-01-29 12:14:32 -06:00
Dzmitry Shylovich
cd3901f774 fix(platform-browser): remove style nodes on destroy ()
Closes 

PR Close 
2017-01-29 12:10:44 -06:00
Dzmitry Shylovich
a64c9b5d5b refactor(platform-browser): polishing () 2017-01-29 12:10:39 -06:00
Dzmitry Shylovich
863285a4b0 fix(core): add bootstrapped modules into platform modules list ()
Closes 

PR Close 
2017-01-29 12:09:46 -06:00
Dimitri Benin
5f40e5ba21 fix(testing): async/fakeAsync/inject/withModule helpers should pass through context to callback functions ()
Make sure that context (`this`) that is passed to functions generated by test helpers is passed through to the callback functions. Enables usage of Jasmine's variable sharing system to prevent accidental memory leaks during test runs.
2017-01-29 12:08:53 -06:00
Dzmitry Shylovich
d69717cf79 feat(forms): add email validator ()
Closes 

PR Close 
2017-01-29 12:07:05 -06:00
Georgios Kalpakas
00979838ef refactor(upgrade): allow Closure advanced optimizations in UpgradeComponent ()
Get rid of the dynamic invocation style used in `callLifecycleHook()`, which
would break under Closure Compiler's advanced optimizations.
Related to https://github.com/angular/angular/pull/13020#discussion_r93492935.

PR Close 
2017-01-29 12:02:52 -06:00
Dzmitry Shylovich
a277e97dd7 fix(core): ViewContainerRef.indexOf doesn't throw error when empty ()
PR Close 
2017-01-29 11:50:23 -06:00
Dzmitry Shylovich
9e5617e41e fix(http): remove dots from jsonp callback name ()
PR Close 
2017-01-29 11:49:40 -06:00
Nuno Arruda
0854a5dea4 style(docs): update copyright years () 2017-01-27 20:47:14 -08:00