Skip to content

Commit 92dad17

Browse files
[DSC-2165] refactor
1 parent 5821042 commit 92dad17

2 files changed

Lines changed: 22 additions & 12 deletions

File tree

src/app/shared/form/builder/form-builder.service.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,14 @@ export class FormBuilderService extends DynamicFormService {
217217
});
218218
}
219219

220-
if (controlModel.group.some(control => (control as DsDynamicInputModel).language)) {
221-
const qualdropLanguageControl = controlModel.group.find(control => hasValue( (control as DsDynamicInputModel).language)) as DsDynamicInputModel;
220+
let qualdropLanguageControl = null;
221+
for (const control of controlModel.group) {
222+
if (hasValue((control as DsDynamicInputModel).language)) {
223+
qualdropLanguageControl = control as DsDynamicInputModel;
224+
break;
225+
}
226+
}
227+
if (qualdropLanguageControl) {
222228
controlModel.language = controlLanguage ?? qualdropLanguageControl.language;
223229
controlLanguage = controlModel.language;
224230
}

src/app/submission/sections/form/section-form.component.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -414,18 +414,22 @@ export class SubmissionSectionFormComponent extends SectionModelComponent implem
414414
const isQualdrop = event.model.parent instanceof DynamicQualdropModel;
415415

416416
if (isQualdrop) {
417-
const groupMetadata = this.formOperationsService.getQualdropValueMap(event).keys();
418-
this.formService.getForm(this.formId).pipe(take(1)).subscribe((form) => {
419-
[...groupMetadata].forEach((metadata) => {
420-
if (hasValue(form.data[metadata]) && form.data[metadata].length > 1) {
421-
form.data[metadata].forEach((entry: any) => {
422-
languageMap.set(metadata, [...(languageMap.get(metadata) ?? []), entry.language]);
423-
});
424-
} else {
425-
languageMap.set(metadata, [form.data[metadata][0].language]);
417+
const qualdropMap = this.formOperationsService.getQualdropValueMap(event);
418+
419+
if (qualdropMap) {
420+
const groupMetadata = qualdropMap.keys();
421+
this.formService.getForm(this.formId).pipe(take(1)).subscribe((form) => {
422+
for (const metadata of groupMetadata) {
423+
if (hasValue(form.data[metadata]) && form.data[metadata].length > 1) {
424+
form.data[metadata].forEach((entry: any) => {
425+
languageMap.set(metadata, [...(languageMap.get(metadata) ?? []), entry.language]);
426+
});
427+
} else {
428+
languageMap.set(metadata, [form.data[metadata][0].language]);
429+
}
426430
}
427431
});
428-
});
432+
}
429433

430434
this.formOperationsService.dispatchOperationsFromEvent(
431435
this.pathCombiner,

0 commit comments

Comments
 (0)