Skip to content

Commit

Permalink
chore: 🤖 add setenable and disable
Browse files Browse the repository at this point in the history
  • Loading branch information
NetanelBasal committed May 18, 2020
1 parent 848cdac commit 463c362
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 0 deletions.
8 changes: 8 additions & 0 deletions projects/ngneat/reactive-forms/src/lib/formArray.ts
Original file line number Diff line number Diff line change
Expand Up @@ -178,4 +178,12 @@ export class FormArray<T = null> extends NgFormArray {
hasErrorAndDirty(error: string) {
return this.hasError(error) && this.dirty;
}

setEnable(enable = true, opts?: LimitedControlOptions) {
enable ? this.enable(opts) : this.disable(opts);
}

setDisable(disable = true, opts?: LimitedControlOptions) {
disable ? this.disable(opts) : this.enable(opts);
}
}
8 changes: 8 additions & 0 deletions projects/ngneat/reactive-forms/src/lib/formControl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,14 @@ export class FormControl<T = null> extends NgFormControl {
return this.hasError(error) && this.dirty;
}

setEnable(enable = true, opts?: LimitedControlOptions) {
enable ? this.enable(opts) : this.disable(opts);
}

setDisable(disable = true, opts?: LimitedControlOptions) {
disable ? this.disable(opts) : this.enable(opts);
}

private getRawValue() {
return this.value;
}
Expand Down
8 changes: 8 additions & 0 deletions projects/ngneat/reactive-forms/src/lib/formGroup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -224,4 +224,12 @@ export class FormGroup<T extends object = null> extends NgFormGroup {
hasErrorAndDirty(error: string, ...path: any): any {
return this.hasError(error, path.length === 0 ? undefined : path) && this.dirty;
}

setEnable(enable = true, opts?: LimitedControlOptions) {
enable ? this.enable(opts) : this.disable(opts);
}

setDisable(disable = true, opts?: LimitedControlOptions) {
disable ? this.disable(opts) : this.enable(opts);
}
}
19 changes: 19 additions & 0 deletions projects/ngneat/reactive-forms/src/lib/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,22 @@ export interface AbstractControl<T> extends AngularAbstractControl {

export type ExtractStrings<T> = Extract<keyof T, string>;

// We need this methods for `getControl` method type
export interface ExtendedAbstractControl<T> extends AbstractControl<T> {
patchValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription;

patchValue(valueOrObservable: (state: T) => T, options?: ControlOptions): void;

patchValue(valueOrObservable: T, options?: ControlOptions): void;

patchValue(valueOrObservable: T | Observable<T> | ((state: T) => T), options?: ControlOptions): Subscription | void;

setValue(valueOrObservable: Observable<T>, options?: ControlOptions): Subscription;

setValue(valueOrObservable: T, options?: ControlOptions): void;

setValue(valueOrObservable: T | Observable<T>, options?: ControlOptions): Subscription | void;

mergeValidators(validators: ValidatorFn<T> | ValidatorFn<T>[]): void;

validateOn(observableValidation: Observable<null | object>): Subscription;
Expand Down Expand Up @@ -123,4 +138,8 @@ export interface ExtendedAbstractControl<T> extends AbstractControl<T> {
): boolean;

hasErrorAndDirty(error: string, ...path: any): any;

setEnable(enable: boolean, opts?: LimitedControlOptions);

setDisable(disable: boolean, opts?: LimitedControlOptions);
}

0 comments on commit 463c362

Please sign in to comment.