diff options
Diffstat (limited to 'src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-form-builder.ts')
-rw-r--r-- | src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-form-builder.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-form-builder.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-form-builder.ts new file mode 100644 index 000000000..9741b1e63 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/forms/cd-form-builder.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { AbstractControlOptions, FormBuilder } from '@angular/forms'; + +import { CdFormGroup } from './cd-form-group'; + +/** + * CdFormBuilder extends FormBuilder to create an CdFormGroup based form. + */ +@Injectable({ + providedIn: 'root' +}) +export class CdFormBuilder extends FormBuilder { + group( + controlsConfig: { [key: string]: any }, + extra: AbstractControlOptions | null = null + ): CdFormGroup { + const form = super.group(controlsConfig, extra); + return new CdFormGroup(form.controls, form.validator, form.asyncValidator); + } +} |