3564 Commits

Author SHA1 Message Date
vsavkin
a3b90411aa fix(router): fix RouterLinkActive to handle the case when the link has extra paths 2016-06-30 09:26:57 -07:00
vsavkin
5781b96490 fix(router): redirect should not add unnecessary brackets 2016-06-30 09:26:57 -07:00
vsavkin
f208ee0d57 fix(router): reexport router directives 2016-06-30 09:26:57 -07:00
ipinak
8aa388de6c doc(directive): fixes incorrect example code () 2016-06-29 22:16:43 -07:00
Tobias Bosch
51d4c9dcbd fix(compiler): make code easier to type check
These changes are needed for the G3 sync as we use a different version/settings of Typescript than on Github.

closes 
2016-06-29 10:43:58 -07:00
Tobias Bosch
e81dea695c fix(compiler): report not existing files as errors
Closes 
2016-06-29 07:35:34 -07:00
Miško Hevery
3fec27961e fix: support *directive on <template> ()
fixes 
2016-06-28 21:53:41 -07:00
vsavkin
3784696b9e fix(router): make the contstructor of the router service public 2016-06-28 18:39:37 -07:00
vsavkin
8c45aebc18 fix(router): make router links work on non-a tags 2016-06-28 18:39:37 -07:00
Martin Probst
810c722413 docs(security): point users to docs when sanitization fails. () 2016-06-28 18:13:46 -07:00
Igor Minar
e2116c53f3 fix(upgrade): add peerDependency on platform-browser-dynamic ()
Closes 
2016-06-28 17:27:28 -07:00
vsavkin
296a447e3c docs(router): add api docs 2016-06-28 14:49:29 -07:00
Kara
0961bd1eff feat(forms): use formControlName on radio buttons when name is absent () 2016-06-28 15:21:53 -06:00
Naomi Black
9340e1b065 docs(security): security api doc update and fix stability marker for Type 2016-06-28 14:01:48 -07:00
Martin Probst
2d9d7f1310 fix(security): allow empty CSS values. () 2016-06-28 11:45:02 -07:00
Victor Berchet
5ee84fe0f6 refactor: add types ()
relates to 
2016-06-28 11:35:59 -07:00
Jeff Cross
1620426393 fix(http): don't encode values that are allowed in query ()
This implements a new class, QueryEncoder, that provides
methods for encoding keys and values of query parameter.
The encoder encodes with encodeURIComponent, and then
decodes a whitelist of allowed characters back to their
unencoded form.

BREAKING CHANGE:

The changes to Http's URLSearchParams serialization now 
prevent encoding of these characters inside query parameters
which were previously converted to percent-encoded values:

@ : $ , ; + ; ? /

The default encoding behavior can be overridden by extending
QueryEncoder, as documented in the URLSearchParams service.

Fixes 
2016-06-28 11:31:35 -07:00
Tobias Bosch
bf598d6b8b feat(compiler): support sync runtime compile
Adds new abstraction `Compiler` with methods
`compileComponentAsync` and `compileComponentSync`.
This is in preparation of deprecating `ComponentResolver`.

`compileComponentSync` is able to compile components
synchronously given all components either have an inline
template or they have been compiled before.

Also changes `TestComponentBuilder.createSync` to
take a `Type` and use the new `compileComponentSync` method.

Also supports overriding the component metadata even if
the component has already been compiled.

Also fixes  in a better way.

BREAKING CHANGE:
`TestComponentBuilder.createSync` now takes a component type
and throws if not all templates are either inlined
are compiled before via `createAsync`.

Closes 
2016-06-28 10:26:16 -07:00
Igor Minar
24eb8389d2 fix: public api surface fixes + stability markers
- ts-api-guardian will now error if a new public symbol is added with a stability marker (`@stable`, `@experimental`, `@deprecated`)
- DomEventsPlugin and KeyEventsPlugin were removed from public api surface - these classes is an implementation detail
- deprecated BROWSER_PROVIDERS was removed completely
- `@angular/compiler` was removed from the ts-api-guardian check since this package shouldn't contain anything that users need to directly import
- the rest of the api surface was conservatively marked as stable or experimental

BREAKING CHANGES: DomEventsPlugin and KeyEventsPlugin previously exported from core are no longer public - these classes are implementation detail.

Previously deprecated BROWSER_PROVIDERS was completely removed from platform-browser.

Closes 
Closes 
Ref 
2016-06-28 07:39:40 -07:00
vsavkin
fcfddbf79c feat(router): add pathMatch property to replace terminal 2016-06-27 20:21:30 -07:00
vsavkin
dc64e90ab9 feat(router): use componentFactoryResolver 2016-06-27 20:21:30 -07:00
vsavkin
e12b1277df feat(core): split ChangeDetectorStrategy into ChangeDetectionStrategy and ChangeDetectorStatus 2016-06-27 20:19:20 -07:00
Kara
797914e948 fix(forms): emit statusChange when child controls have async validator () 2016-06-27 21:01:24 -06:00
Matias Niemelä
e0b0a594bb fix(animations): ensure void => * animations are triggered when an expression is omitted
Closes 
Closes 
2016-06-27 18:55:10 -07:00
Kara
ed0ade6f34 fix(forms): make radio button selection logic more flexible ()
Closes 
2016-06-27 15:29:33 -06:00
Tobias Bosch
5cc7b41f39 Revert "fix(Compiler): relax childIsRecursive check ()"
This fix prevented waiting for child components even if the cycle was only introduced via the `directives` array, i.e. without actually having a cycle. This easily causes issues for applications that have one shared list of directives for all components.

This reverts commit 3d5bb2318454ba428b816f6aee6e6aaf427d70a7.

Closes 
2016-06-27 14:27:03 -07:00
vsavkin
f2f1ec0117 feat(router): implement data and resolve 2016-06-27 14:25:56 -07:00
Alex Eagle
e913d9954d chore(typings): restrict Angular to es5+collections+promise 2016-06-27 13:58:59 -07:00
vsavkin
d20488752b fix(router): top-levels do not work in ngIf 2016-06-27 13:34:54 -07:00
vsavkin
855f3afb28 fix(router): canceled navigations should return a promise that is resolved with false 2016-06-27 13:34:54 -07:00
vsavkin
3f44377f2f fix(router): handle empty path with query params 2016-06-27 13:34:54 -07:00
vsavkin
90295e3252 fix(router): preserve fragment on initial load 2016-06-27 13:34:54 -07:00
Martin Probst
db66509e66 test(security): tests for HTML5 elements, srcset.
Part of .
2016-06-27 12:19:03 -07:00
Cyrille Tuzi
6605eb30e9 feat(security): allow more HTML5 elements and attributes in sanitizers
Allow more elements and attributes from the HTML5 spec which were stripped by the htmlSanitizer.

fixes 

feat(security): allow audio data URLs in urlSanitizer

test(security) : add test for valid audio data URL

feat(security): allow and sanitize srcset attributes

test(security): test for srcset sanitization
2016-06-27 12:19:03 -07:00
Gion Kunz
3644eef860 feat(DomRenderer): Adding support for document fragments in SVG foreign objects () 2016-06-27 08:26:45 -07:00
choeller
eef9512ce6 fix(forms): async validator-directives process Observables correctly ()
Closes #/8022
2016-06-26 16:52:50 -06:00
Marek Buko
9f00a1b902 fix(forms): add select multiple accessor as built-in accessor 2016-06-26 16:24:27 -06:00
Jesús Rodríguez
c369bc747d docs: update cheatsheet import lines () 2016-06-26 07:31:35 -07:00
Kara Erickson
c03e1f2f59 feat(forms): add support for formArrayName
Closes 
2016-06-25 13:30:53 -07:00
Kara Erickson
17dcbf66b9 feat(forms): expose ValidatorFn and AsyncValidatorFn
Closes 
2016-06-24 18:24:11 -07:00
Julie Ralph
40b907a657 refactor(testing): remove wrapping of Jasmine functions ()
Instead, the async function now determines whether it should return a promise
or instead call a done function parameter. Importing Jasmine functions
from `@angular/core/testing` is no longer necessary and is now deprecated.

Additionally, beforeEachProviders is also deprecated, as it is specific
to the testing framework. Instead, use the new addProviders method directly.

Before:
```js
import {beforeEachProviders, it, describe, inject} from 'angular2/testing/core';

describe('my code', () => {
  beforeEachProviders(() => [MyService]);

  it('does stuff', inject([MyService], (service) => {
    // actual test
  });
});
```

After:
```js
import {addProviders, inject} from 'angular2/testing/core';

describe('my code', () => {
  beforeEach(() => {
    addProviders([MyService]);
  });

  it('does stuff', inject([MyService], (service) => {
    // actual test
  });
});
```
2016-06-24 17:48:35 -07:00
Julie Ralph
a33195dcf3 fix(core/testing compiler/testing): move TestComponentBuilder to core/testing ()
TestComponentBuilder now lives in core/testing. compiler/testing contains a private
OverridingTestComponentBuilder implementation which handles the private behavior
we need to override templates. This is part of the effort to simplify the testing
imports and hide compiler APIs.

Closes 

BREAKING CHANGE:

`TestComponentBuilder` is now imported from `@angular/core/testing`. Imports
from `@angular/compiler/testing` are deprecated.

Before:

```
import {TestComponentBuilder, TestComponentRenderer, ComponentFixtureAutoDetect} from '@angular/compiler/testing';
```

After:
```
import {TestComponentBuilder, TestComponentRenderer, ComponentFixtureAutoDetect} from '@angular/core/testing';
```
2016-06-24 17:35:01 -07:00
Kara Erickson
de127109f9 feat(forms): make valueChanges and statusChanges available on abstract control directives 2016-06-24 14:37:19 -07:00
vsavkin
83208983b3 chore(router): bump up version number 2016-06-24 13:07:42 -07:00
vsavkin
327d04c9c6 chore(router): clang-format 2016-06-24 12:44:32 -07:00
vsavkin
54edce2bab fix(router): wildcard don't get notified on url changes 2016-06-24 12:44:32 -07:00
vsavkin
1a145ac500 fix(router): default exact to false in routerLinkActiveOptions 2016-06-24 12:44:32 -07:00
vsavkin
9f978cf49d test(router): add a test checking that you can use a slash in query params 2016-06-24 12:44:32 -07:00
vsavkin
41b781107b fix(router): doen't throw on canDeactive when route hasn't advanced 2016-06-24 12:44:32 -07:00
Julie Ralph
dcf75126bf fix(common/testing): remove internal MockLocationStrategy from common/testing ()
BREAKING CHANGE:

MockLocationStrategy was intended to be internal only and is now removed
from the `@angular/common/testing` public api.

Use `SpyLocation` from `@angular/common/testing` for location testing.
2016-06-24 12:41:57 -07:00