<!-- Name -->
<div class="form-group"
- [ngClass]="{'has-error': (frm.submitted || bucketForm.controls.bucket.dirty) && bucketForm.controls.bucket.invalid}">
+ [ngClass]="{'has-error': bucketForm.showError('bucket', frm)}">
<label i18n
class="control-label col-sm-3"
for="bucket">Name
autofocus>
<span i18n
class="help-block"
- *ngIf="(frm.submitted || bucketForm.controls.bucket.dirty) && bucketForm.controls.bucket.hasError('required')">
+ *ngIf="bucketForm.showError('bucket', frm, 'required')">
This field is required.
</span>
<span i18n
class="help-block"
- *ngIf="(frm.submitted || bucketForm.controls.bucket.dirty) && bucketForm.controls.bucket.hasError('bucketNameInvalid')">
+ *ngIf="bucketForm.showError('bucket', frm, 'bucketNameInvalid')">
The value is not valid.
</span>
<span i18n
class="help-block"
- *ngIf="(frm.submitted || bucketForm.controls.bucket.dirty) && bucketForm.controls.bucket.hasError('bucketNameExists')">
+ *ngIf="bucketForm.showError('bucket', frm, 'bucketNameExists')">
The chosen name is already in use.
</span>
</div>
<!-- Owner -->
<div class="form-group"
- [ngClass]="{'has-error': (frm.submitted || bucketForm.controls.owner.dirty) && bucketForm.controls.owner.invalid}">
+ [ngClass]="{'has-error': bucketForm.showError('owner', frm)}">
<label i18n
class="control-label col-sm-3"
for="owner">Owner
</select>
<span i18n
class="help-block"
- *ngIf="(frm.submitted || bucketForm.controls.owner.dirty) && bucketForm.controls.owner.hasError('required')">
+ *ngIf="bucketForm.showError('owner', frm, 'required')">
This field is required.
</span>
</div>
import { Component, OnInit } from '@angular/core';
-import {
- AbstractControl,
- AsyncValidatorFn,
- FormBuilder,
- FormGroup,
- ValidationErrors,
- Validators
-} from '@angular/forms';
+import { AbstractControl, AsyncValidatorFn, ValidationErrors, Validators } from '@angular/forms';
import { ActivatedRoute, Router } from '@angular/router';
import * as _ from 'lodash';
import { RgwBucketService } from '../../../shared/api/rgw-bucket.service';
import { RgwUserService } from '../../../shared/api/rgw-user.service';
+import { CdFormBuilder } from '../../../shared/forms/cd-form-builder';
+import { CdFormGroup } from '../../../shared/forms/cd-form-group';
@Component({
selector: 'cd-rgw-bucket-form',
styleUrls: ['./rgw-bucket-form.component.scss']
})
export class RgwBucketFormComponent implements OnInit {
- bucketForm: FormGroup;
+ bucketForm: CdFormGroup;
editing = false;
error = false;
loading = false;
owners = null;
constructor(
- private formBuilder: FormBuilder,
private route: ActivatedRoute,
private router: Router,
+ private formBuilder: CdFormBuilder,
private rgwBucketService: RgwBucketService,
private rgwUserService: RgwUserService
) {