diff --git a/dmp-frontend/src/app/ui/description/editor/description-editor.component.ts b/dmp-frontend/src/app/ui/description/editor/description-editor.component.ts index c28355d35..38523ebfa 100644 --- a/dmp-frontend/src/app/ui/description/editor/description-editor.component.ts +++ b/dmp-frontend/src/app/ui/description/editor/description-editor.component.ts @@ -1098,10 +1098,11 @@ export class DescriptionEditorComponent extends BaseEditor { let fieldsets = this.getNestedSectionFieldsets(section); - let sectionIds = this.getNestedSectionIds(section); let fieldsBySection: DescriptionFieldIndicator[] = fieldsets?.flatMap((fieldset: DescriptionTemplateFieldSet) => - fieldset.fields?.flatMap((field: DescriptionTemplateField) => - new DescriptionFieldIndicator(page.id, sectionIds, fieldset.id, field.id, field.data.fieldType, field.data.multipleSelect) + fieldset.fields?.flatMap((field: DescriptionTemplateField) => { + let sectionIds = this.getNestedSectionIdsByField(section, fieldset.id); + return new DescriptionFieldIndicator(page.id, sectionIds, fieldset.id, field.id, field.data.fieldType, field.data.multipleSelect) + } )); fieldsByPage.push(...fieldsBySection); @@ -1118,12 +1119,14 @@ export class DescriptionEditorComponent extends BaseEditor this.getNestedSectionIds(subsection))]; + return [section.id, ...section.sections.flatMap((subsection: DescriptionTemplateSection) => this.getNestedSectionIdsByField(subsection, fieldSetId))]; } - else return [section.id]; + else if (section.fieldSets.find(fieldSet => fieldSet.id == fieldSetId)) return [section.id]; + + else return []; } // // this._listenersSubscription.add(dmpSubscription);