Pawel Kozlowski
97bc97153b
feat(forms): add ng-pending CSS class during async validation ( #11243 )
...
Closes #10336
2016-10-19 09:56:31 -07:00
Florian Kinder
b9fc090143
feat(forms): Added emitEvent to AbstractControl methods ( #11949 )
...
* feat(forms): Added emitEvent to AbstractControl methods
* style(forms): unified named parameter
2016-10-19 09:54:54 -07:00
Cédric Exbrayat
592f40aa9c
feat(forms): add hasError and getError to AbstractControlDirective ( #11985 )
...
Allows cleaner expressions in template-driven forms.
Before:
<label>Username</label><input name="username" ngModel required #username="ngModel">
<div *ngIf="username.dirty && username.control.hasError('required')">Username is required</div>
After:
<label>Username</label><input name="username" ngModel required #username="ngModel">
<div *ngIf="username.dirty && username.hasError('required')">Username is required</div>
Fixes #7255
2016-10-19 09:49:02 -07:00
Dzmitry Shylovich
bf60418fdc
feat(forms): Validator.pattern accepts a RegExp ( #12323 )
2016-10-19 09:37:54 -07:00
Florian Kinder
15fc5dd7ee
test(forms): added missing selfOnly tests ( #12317 )
2016-10-17 22:51:13 -07:00
Connor Wyatt
17e3410d98
Form submit event ( #11989 )
...
* feat(forms): ngSubmit event exposes $event from original submit event as local variable
Modify NgForm directive and FormGroup directive to expose the original submit event as $event in the ngSubmit event. Modify docs to reflect changes.
This resolves #10920 .
* refactor: code cleanup
2016-10-11 15:49:36 -07:00
Pawel Kozlowski
d22eeb70b8
fix(forms): allow optional fields with pattern and minlength validators ( #12147 )
2016-10-10 09:17:45 -07:00
Pawel Kozlowski
f50c1da4e2
fix(forms): properly validate blank strings with minlength ( #12091 )
2016-10-06 15:12:09 -07:00
Pawel Kozlowski
4a57dcfd8d
fix(forms): properly validate empty strings with patterns ( #11450 )
2016-10-04 16:14:23 -07:00
Victor Berchet
50c37d45dc
refactor: simplify arrow functions ( #12057 )
2016-10-04 15:57:37 -07:00
Alex Eagle
41c8c30973
chore(lint): remove unused imports ( #11923 )
...
This was done automatically by tslint, which can now fix issues it finds.
The fixer is still pending in PR https://github.com/palantir/tslint/pull/1568
Also I have a local bugfix for https://github.com/palantir/tslint/issues/1569
which causes too many imports to be deleted.
2016-09-27 17:12:25 -07:00
Kara Erickson
212f8dbde7
fix(forms): disable all radios with disable()
2016-09-20 15:00:12 -07:00
Kara
44da4984f9
fix(forms): support unbound disabled in ngModel ( #11736 )
2016-09-20 14:55:47 -07:00
Kara
51d73d3e4e
fix(forms): make setDisabledState optional for reactive form directives ( #11731 )
...
Closes #11719
2016-09-19 16:26:33 -07:00
Kara
61aad7925f
fix(forms): fix resetting radios ( #11546 )
...
Closes #11516
2016-09-12 15:15:58 -07:00
Kara
79055f727b
fix(forms): support dots in control names in contains ( #11542 )
...
Closes #11535
2016-09-12 15:15:50 -07:00
Kara
53f0c2206d
fix(forms): rename validator change fn due to conflict ( #11492 )
...
Closes #11479
2016-09-09 14:09:11 -07:00
Victor Berchet
0bce3907b8
fix(tests): add missing import ( #11490 )
2016-09-09 14:08:47 -07:00
Victor Berchet
5a4e46db20
refactor(tests): simplify code ( #11485 )
2016-09-09 12:04:38 -07:00
Kara
673de004d2
fix(forms): clear errors on disable ( #11463 )
...
Closes #11287
2016-09-09 12:00:38 -07:00
Kara
7b24028437
fix(forms): fix disabled support for empty form containers ( #11427 )
...
Closes #11386
2016-09-08 12:21:48 -07:00
Kara
8c09933803
fix(forms): support rebinding nested controls ( #11210 )
2016-09-02 15:57:35 -07:00
Kara
043493cb62
fix(forms): disabled controls should never be invalid ( #11257 )
...
Closes #11253
2016-09-01 16:51:42 -07:00
Kara
e8a1566065
fix(forms): support radio buttons with same name but diff parent ( #11152 )
...
Closes #10065
2016-08-29 17:49:42 -07:00
Kara Erickson
d2ad871279
fix(forms): update validity when validator dir changes
...
closes #11116
2016-08-29 13:12:46 -07:00
Javier Ros
0b665c0ece
feat(validations): add support to bind validation attributes
...
This change enables to bind the validations attributes `required`,
`minlength`, `maxlength` and `pattern`.
Closes : #10505 , #7393
2016-08-29 13:12:20 -07:00
Kara
ce08982f78
fix(forms): fix conflicting getter name ( #11081 )
2016-08-25 14:56:31 -07:00
Marc Laval
cbe0976426
test: improve perfs by removing unneeded TestBed.compileComponents() calls ( #11083 )
2016-08-25 14:56:14 -07:00
Kara
515ff61fcb
fix(forms): fully support rebinding form group directive ( #11051 )
2016-08-25 14:37:57 -07:00
Marc Laval
d7c82f5c0f
test: fix memory leak when running test campaign ( #11072 )
2016-08-25 14:37:46 -07:00
Kara
2b313e4979
feat(forms): add support for disabled controls ( #10994 )
2016-08-24 16:58:43 -07:00
Miško Hevery
8a5eb08672
fix(fakeAsync): have fakeAsync use Proxy zone. ( #10797 )
...
Closes #10503
It is possible for code in `beforeEach` to capture and fork a zone
(for example creating `NgZone` in `beforeEach`). Subsequently the code
in `it` may chose to do `fakeAsync`. The issue is that because the
code in `it` can use `NgZone` from the `beforeEach`. it effectively can
escape the `fakeAsync` zone. A solution is to run all of the test in
`ProxyZone` which allows a test to dynamically replace the rules at any
time. This allows the `beforeEach` to fork a zone, and then `it` to
retroactively became `fakeAsync` zone.
2016-08-19 12:10:53 -07:00
Kara
292ccf882a
test(forms): update reactive form integration tests to use TestBed ( #10908 )
2016-08-17 17:10:56 -07:00
Julie Ralph
4c9900dc3a
refactor(testing): remove deprecated testing functions ( #10832 )
...
Remove TestComponentBuilder, addProviders, and withProviders. These
were deprecated in rc5 - see the changelog for update information.
Note - this does not actually remove the functions, but makes them
internal only. They will be removed from the codebase entirely
at a later time.
2016-08-15 21:40:37 -07:00
Kara
04c11bb749
test(forms): update template-driven form tests to use testbed ( #10830 )
2016-08-15 16:37:59 -07:00
Kara
7f6685e451
test(forms): refactor form model tests to three files ( #10774 )
2016-08-13 17:26:08 -07:00
Kara
97f35714f7
feat(forms): add NgForm method that resets submit state ( #10715 )
2016-08-11 23:27:33 -07:00
Kara
7606c96c80
fix(forms): remove deprecated forms APIs ( #10624 )
...
BREAKING CHANGE:
The deprecated forms APIs in @angular/common have been removed. Please update to the new forms API in @angular/forms. See angular.io for more information.
2016-08-11 20:40:46 -07:00
Kara
2291929a15
feat(forms): add control status classes to form groups ( #10667 )
2016-08-11 09:01:09 -07:00
Kara
fcafdff10b
feat(forms): allow both patching and strict setting of values ( #10537 )
2016-08-05 13:35:17 -07:00
Jason Choi
99989f5d3f
chore(facade): remove most facade/async functions
2016-08-05 12:26:28 -07:00
Tobias Bosch
8e6091de6c
refactor(core): use `ngOnDestroy` in providers
...
Note about the addition of `beforeEach(fakeAsync(inject(…))))` in some tests:
`ApplicationRef` is now using `ngOnDestroy` and there is eager,
including all of its dependencies which contain `NgZone`.
The additional `fakeAsync` in `beforeEach` ensures that `NgZone`
uses the fake async zone as parent, and not the root zone.
BREAKING CHANGE (via deprecations):
- `ApplicationRef.dispose` is deprecated. Destroy the module that was
created during bootstrap instead by calling `NgModuleRef.destroy`.
- `AplicationRef.registerDisposeListener` is deprecated.
Use the `ngOnDestroy` lifecycle hook for providers or
`NgModuleRef.onDestroy` instead.
- `disposePlatform` is deprecated. Use `destroyPlatform` instead.
- `PlatformRef.dipose()` is deprecated. Use `PlatformRef.destroy()`
instead.
- `PlatformRef.registerDisposeListener` is deprecated. Use
`PlatformRef.onDestroy` instead.
- `PlaformRef.diposed` is deprecated. Use `PlatformRef.destroyed`
instead.
2016-08-02 11:23:26 -07:00
Kara
d6d4568830
fix(forms): allow arrays as parents ( #10440 )
...
Closes #10432
2016-08-02 09:40:42 -07:00
Kara
e0eea6c2f4
feat(forms): add invalid prop to abstract controls ( #10439 )
2016-08-01 18:41:25 -07:00
Kara
8d4499959a
feat(forms): add get method for easy access to child controls ( #10428 )
2016-08-01 14:22:50 -07:00
Victor Berchet
28c4852cd6
refactor: remove ts2dart annotations
2016-08-01 11:34:51 -07:00
Tobias Bosch
d0a95e35af
refactor(testing): introduce new testing api to support ng modules
...
BREAKING CHANGE:
- deprecations:
* `withProviders`, use `TestBed.withModule` instead
* `addProviders`, use `TestBed.configureTestingModule` instead
* `TestComponentBuilder`, use `TestBed.configureTestModule` / `TestBed.override...` / `TestBed.createComponent` instead.
Closes #10354
2016-07-29 04:47:18 -07:00
Kara
7c76a75452
fix(forms): update dirty before emitting value change ( #10362 )
...
Closes #5328
2016-07-28 14:25:33 -07:00
Kara
43349dd373
fix(forms): improve ngModel error messages ( #10314 )
2016-07-27 10:59:40 -07:00
Kara
0aba42ae5b
fix(forms): throw error if wrong control container for reactive forms ( #10286 )
2016-07-26 10:08:46 -07:00