From b0b217c4ad3252c4eb24d2fc0a5508e51eee0fba Mon Sep 17 00:00:00 2001 From: JvD_Ericsson Date: Tue, 27 Jun 2023 11:43:59 +0100 Subject: Do not collapse complex property when setting element value Issue-ID: SDC-4555 Signed-off-by: JvD_Ericsson Change-Id: Ia6d299e64480ec9c7aa72e18936344ff5bccf249 --- .../ng2/pages/properties-assignment/services/properties.utils.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/services/properties.utils.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/services/properties.utils.ts index 6a27622638..0255a42b48 100644 --- a/catalog-ui/src/app/ng2/pages/properties-assignment/services/properties.utils.ts +++ b/catalog-ui/src/app/ng2/pages/properties-assignment/services/properties.utils.ts @@ -143,6 +143,7 @@ export class PropertiesUtils { * Note: This logic is different than assignflattenedchildrenvalues - here we merge values, there we pick either the parents value, props value, or default value - without merging. */ public initValueObjectRef = (property: PropertyFEModel): void => { + let index: number; property.resetValueObjValidation(); if (property.isDeclared) { //if property is declared, it gets a simple input instead. List and map values and pseudo-children will be handled in property component property.valueObj = property.value || property.defaultValue || null; // use null for empty value object @@ -152,6 +153,9 @@ export class PropertiesUtils { } else { property.valueObj = property.getValueObj(); if (property.derivedDataType == DerivedPropertyType.LIST || property.derivedDataType == DerivedPropertyType.MAP) { + if (property.flattenedChildren && property.flattenedChildren.length > 0) { + index = property.flattenedChildren.indexOf(property.flattenedChildren.find(prop => prop.propertiesName == property.expandedChildPropertyId)); + } property.flattenedChildren = []; Object.keys(property.valueObj).forEach((key) => { property.flattenedChildren.push(...this.createListOrMapChildren(property, key, property.valueObj[key])); @@ -185,6 +189,9 @@ export class PropertiesUtils { property.valueObj = JSON.stringify(property.getValueObj()); } } + if (typeof index === "number" && property.flattenedChildren && property.flattenedChildren.length > 0) { + property.expandedChildPropertyId = property.flattenedChildren[index].propertiesName; + } property.updateValueObjOrig(); }; -- cgit 1.2.3-korg