cy.get('button[name=add_client]').click({ force: true });
cy.get('input[name=addresses]').type(client['addresses']);
+ // Check if we can remove clients and add it again
+ cy.get('span[name=remove_client]').click({ force: true });
+ cy.get('button[name=add_client]').click({ force: true });
+ cy.get('input[name=addresses]').type(client['addresses']);
+
cy.get('cd-submit-button').click();
}
formArrayName="initiators">
<div class="card mb-2"
*ngFor="let initiator of initiators.controls; let ii = index"
- [formGroupName]="ii">
+ [formGroup]="initiator">
<div class="card-header">
<ng-container i18n>Initiator</ng-container>: {{ initiator.getValue('client_iqn') }}
<button type="button"
formArrayName="groups">
<div class="card mb-2"
*ngFor="let group of groups.controls; let gi = index"
- [formGroupName]="gi">
+ [formGroup]="group">
<div class="card-header">
<ng-container i18n>Group</ng-container>: {{ group.getValue('group_id') }}
<button type="button"
</span>
<ng-container formArrayName="clients">
- <div *ngFor="let item of form.get('clients').value; let index = index; trackBy: trackByFn">
+ <div *ngFor="let item of clientsFormArray.controls; let index = index; trackBy: trackByFn">
<div class="card"
- [formGroupName]="index">
+ [formGroup]="item">
<div class="card-header">
{{ (index + 1) | ordinal }}
<span class="float-right clickable"
+ name="remove_client"
(click)="removeClient(index)"
ngbTooltip="Remove">×</span>
</div>
nfsSquash: any[] = this.nfsService.nfsSquash;
nfsAccessType: any[] = this.nfsService.nfsAccessType;
icons = Icons;
+ clientsFormArray: FormArray;
constructor(private nfsService: NfsService) {}
const fg = this.addClient();
fg.patchValue(client);
});
+ this.clientsFormArray = this.form.get('clients') as FormArray;
}
getNoAccessTypeDescr() {
}
addClient() {
- const clients = this.form.get('clients') as FormArray;
+ this.clientsFormArray = this.form.get('clients') as FormArray;
const REGEX_IP = `(([0-9]{1,3})\\.([0-9]{1,3})\\.([0-9]{1,3})\.([0-9]{1,3})([/](\\d|[1-2]\\d|3[0-2]))?)`;
const REGEX_LIST_IP = `${REGEX_IP}([ ,]{1,2}${REGEX_IP})*`;
-
const fg = new CdFormGroup({
addresses: new FormControl('', {
validators: [Validators.required, Validators.pattern(REGEX_LIST_IP)]
squash: new FormControl('')
});
- clients.push(fg);
+ this.clientsFormArray.push(fg);
return fg;
}
removeClient(index: number) {
- const clients = this.form.get('clients') as FormArray;
- clients.removeAt(index);
+ this.clientsFormArray = this.form.get('clients') as FormArray;
+ this.clientsFormArray.removeAt(index);
}
showError(index: number, control: string, formDir: NgForm, x: string) {
}
getValue(index: number, control: string) {
- const clients = this.form.get('clients') as FormArray;
- const client = clients.at(index) as CdFormGroup;
+ this.clientsFormArray = this.form.get('clients') as FormArray;
+ const client = this.clientsFormArray.at(index) as CdFormGroup;
return client.getValue(control);
}