From bdca39bee9f3921bce2a083c85b9f992aa1c07a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Ma=C5=BE=C3=A1ri?= Date: Thu, 10 Sep 2026 15:37:04 +0200 Subject: [PATCH 1/2] [NAB-400] - Change data dialog formRef - change FormControl to FormArray --- .../dialog-change-data.component.html | 11 +++---- .../dialog-change-data.component.ts | 30 ++++++++++++++----- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/app/dialogs/dialog-change-data/dialog-change-data.component.html b/src/app/dialogs/dialog-change-data/dialog-change-data.component.html index 88e053b..2c43562 100644 --- a/src/app/dialogs/dialog-change-data/dialog-change-data.component.html +++ b/src/app/dialogs/dialog-change-data/dialog-change-data.component.html @@ -1,15 +1,16 @@

Change referenced data value{{dataSet.length > 1 ? 's' : ''}}

- + {{data.id}} - - Value is required - Value can not be a negative number + + + Value is required + Value can not be a negative number No referenced data found - diff --git a/src/app/dialogs/dialog-change-data/dialog-change-data.component.ts b/src/app/dialogs/dialog-change-data/dialog-change-data.component.ts index 580e76a..508dc9e 100644 --- a/src/app/dialogs/dialog-change-data/dialog-change-data.component.ts +++ b/src/app/dialogs/dialog-change-data/dialog-change-data.component.ts @@ -1,5 +1,5 @@ import {Component, Inject} from '@angular/core'; -import {FormControl, ValidatorFn, Validators} from '@angular/forms'; +import {FormArray, FormControl, ValidatorFn, Validators} from '@angular/forms'; import {MAT_DIALOG_DATA} from '@angular/material/dialog'; export interface DataSet { @@ -19,17 +19,22 @@ export interface Data { export class DialogChangeDataComponent { public dataSet: Array; - public valueCtrl: FormControl; + public formArray: FormArray; constructor( @Inject(MAT_DIALOG_DATA) public data: DataSet, ) { this.dataSet = new Array(); - data.dataSet.forEach((value, id) => this.dataSet.push({id, value})); - this.valueCtrl = new FormControl('', [ - Validators.required, - this.validValue() - ]); + this.formArray = new FormArray([]); + + data.dataSet.forEach((value, id) => { + this.dataSet.push({id, value}); + const valueCtrl = new FormControl(value, [ + Validators.required, + this.validValue() + ]); + this.formArray.push(valueCtrl); + }); } private validValue(): ValidatorFn { @@ -41,4 +46,15 @@ export class DialogChangeDataComponent { return ({validMultiplicity: true}) }; } + + public getControl(index: number): FormControl { + return this.formArray.at(index) as FormControl; + } + + public onSave(): Array { + return this.dataSet.map((item, index) => ({ + id: item.id, + value: this.formArray.at(index).value + })); + } } From 346dd5b33c97ee497ec567ab1e4d47072fe672d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraj=20Ma=C5=BE=C3=A1ri?= Date: Fri, 11 Sep 2026 13:23:09 +0200 Subject: [PATCH 2/2] [NAB-400] - Change data dialog formRef - fix typo in negative number error ngIf --- .../dialog-change-data/dialog-change-data.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/dialogs/dialog-change-data/dialog-change-data.component.html b/src/app/dialogs/dialog-change-data/dialog-change-data.component.html index 2c43562..e7f7262 100644 --- a/src/app/dialogs/dialog-change-data/dialog-change-data.component.html +++ b/src/app/dialogs/dialog-change-data/dialog-change-data.component.html @@ -5,7 +5,7 @@

Change referenced data value{{dataSet.length > 1 ? 's' : '' Value is required - Value can not be a negative number + Value can not be a negative number No referenced data found