Skip to content

Commit 5ba5da5

Browse files
committed
cleanup(forms): cleanup
1 parent 4d1ed50 commit 5ba5da5

File tree

8 files changed

+22
-39
lines changed

8 files changed

+22
-39
lines changed

modules/angular2/src/forms/directives/checkbox_value_accessor.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,10 @@ import {setProperty} from './shared';
3030
})
3131
export class CheckboxControlValueAccessor implements ControlValueAccessor {
3232
checked: boolean;
33-
onChange: Function;
34-
onTouched: Function;
33+
onChange = (_) => {};
34+
onTouched = () => {};
3535

3636
constructor(private cd: NgControl, private renderer: Renderer, private elementRef: ElementRef) {
37-
this.onChange = (_) => {};
38-
this.onTouched = (_) => {};
3937
cd.valueAccessor = this;
4038
}
4139

modules/angular2/src/forms/directives/default_value_accessor.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,10 @@ import {setProperty} from './shared';
3333
})
3434
export class DefaultValueAccessor implements ControlValueAccessor {
3535
value: string = null;
36-
onChange: Function;
37-
onTouched: Function;
36+
onChange = (_) => {};
37+
onTouched = () => {};
3838

3939
constructor(private cd: NgControl, private renderer: Renderer, private elementRef: ElementRef) {
40-
this.onChange = (_) => {};
41-
this.onTouched = (_) => {};
4240
cd.valueAccessor = this;
4341
}
4442

modules/angular2/src/forms/directives/ng_control_name.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,23 @@ const controlNameBinding =
7575
@Directive({
7676
selector: '[ng-control]',
7777
hostInjector: [controlNameBinding],
78-
properties: ['name: ng-control', 'model: ng-model'],
79-
events: ['ngModel'],
78+
properties: ['name: ngControl', 'model: ngModel'],
79+
events: ['update: ngModel'],
8080
lifecycle: [onDestroy, onChange],
8181
exportAs: 'form'
8282
})
8383
export class NgControlName extends NgControl {
8484
_parent: ControlContainer;
85-
ngModel: EventEmitter;
85+
update = new EventEmitter();
8686
model: any;
8787
ngValidators: QueryList<NgValidator>;
88-
_added: boolean;
88+
_added = false;
8989

9090
// Scope the query once https://github.com/angular/angular/issues/2603 is fixed
9191
constructor(@Ancestor() parent: ControlContainer,
9292
@Query(NgValidator) ngValidators: QueryList<NgValidator>) {
9393
super();
9494
this._parent = parent;
95-
this.ngModel = new EventEmitter();
96-
this._added = false;
9795
this.ngValidators = ngValidators;
9896
}
9997

@@ -109,7 +107,7 @@ export class NgControlName extends NgControl {
109107

110108
onDestroy() { this.formDirective.removeControl(this); }
111109

112-
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.ngModel, newValue); }
110+
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.update, newValue); }
113111

114112
get path(): List<string> { return controlPath(this.name, this._parent); }
115113

modules/angular2/src/forms/directives/ng_form_control.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,23 +63,21 @@ const formControlBinding =
6363
@Directive({
6464
selector: '[ng-form-control]',
6565
hostInjector: [formControlBinding],
66-
properties: ['form: ng-form-control', 'model: ng-model'],
67-
events: ['ngModel'],
66+
properties: ['form: ngFormControl', 'model: ngModel'],
67+
events: ['update: ngModel'],
6868
lifecycle: [onChange],
6969
exportAs: 'form'
7070
})
7171
export class NgFormControl extends NgControl {
7272
form: Control;
73-
ngModel: EventEmitter;
74-
_added: boolean;
73+
update = new EventEmitter();
74+
_added = false;
7575
model: any;
7676
ngValidators: QueryList<NgValidator>;
7777

7878
// Scope the query once https://github.com/angular/angular/issues/2603 is fixed
7979
constructor(@Query(NgValidator) ngValidators: QueryList<NgValidator>) {
8080
super();
81-
this.ngModel = new EventEmitter();
82-
this._added = false;
8381
this.ngValidators = ngValidators;
8482
}
8583

@@ -100,5 +98,5 @@ export class NgFormControl extends NgControl {
10098

10199
get validator(): Function { return composeNgValidator(this.ngValidators); }
102100

103-
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.ngModel, newValue); }
101+
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.update, newValue); }
104102
}

modules/angular2/src/forms/directives/ng_form_model.ts

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,14 +95,9 @@ const formDirectiveBinding =
9595
})
9696
export class NgFormModel extends ControlContainer implements Form {
9797
form: ControlGroup = null;
98-
directives: List<NgControl>;
98+
directives: List<NgControl> = [];
9999
ngSubmit = new EventEmitter();
100100

101-
constructor() {
102-
super();
103-
this.directives = [];
104-
}
105-
106101
onChange(_) { this._updateDomValue(); }
107102

108103
get formDirective(): Form { return this; }

modules/angular2/src/forms/directives/ng_model.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ const formControlBinding = CONST_EXPR(new Binding(NgControl, {toAlias: forwardRe
3333
@Directive({
3434
selector: '[ng-model]:not([ng-control]):not([ng-form-control])',
3535
hostInjector: [formControlBinding],
36-
properties: ['model: ng-model'],
37-
events: ['ngModel'],
36+
properties: ['model: ngModel'],
37+
events: ['update: ngModel'],
3838
lifecycle: [onChange],
3939
exportAs: 'form'
4040
})
4141
export class NgModel extends NgControl {
4242
_control = new Control("");
4343
_added = false;
44-
ngModel = new EventEmitter();
44+
update = new EventEmitter();
4545
model: any;
4646
ngValidators: QueryList<NgValidator>;
4747

@@ -69,5 +69,5 @@ export class NgModel extends NgControl {
6969

7070
get validator(): Function { return composeNgValidator(this.ngValidators); }
7171

72-
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.ngModel, newValue); }
72+
viewToModelUpdate(newValue: any): void { ObservableWrapper.callNext(this.update, newValue); }
7373
}

modules/angular2/src/forms/directives/select_control_value_accessor.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,11 @@ export class NgSelectOption {
4040
})
4141
export class SelectControlValueAccessor implements ControlValueAccessor {
4242
value = '';
43-
onChange: Function;
44-
onTouched: Function;
43+
onChange = (_) => {};
44+
onTouched = () => {};
4545

4646
constructor(private cd: NgControl, private renderer: Renderer, private elementRef: ElementRef,
4747
@Query(NgSelectOption, {descendants: true}) query: QueryList<NgSelectOption>) {
48-
this.onChange = (_) => {};
49-
this.onTouched = (_) => {};
5048
cd.valueAccessor = this;
5149

5250
this._updateValueWhenListOfOptionsChanges(query);

modules/examples/src/template_driven_forms/index.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ class CheckoutModel {
3535
*/
3636
@Directive({selector: '[credit-card]'})
3737
class CreditCardValidator {
38-
constructor(c: NgControl) {
39-
c.validator = Validators.compose([c.validator, CreditCardValidator.validate]);
40-
}
38+
get validator() { return CreditCardValidator.validate; }
4139

4240
static validate(c): StringMap<string, boolean> {
4341
if (isPresent(c.value) && RegExpWrapper.test(new RegExp("^\\d{16}$"), c.value)) {

0 commit comments

Comments
 (0)