Do not collapse complex property when setting element value 93/135193/7
authorJvD_Ericsson <jeff.van.dam@est.tech>
Tue, 27 Jun 2023 10:43:59 +0000 (11:43 +0100)
committerMichael Morris <michael.morris@est.tech>
Tue, 4 Jul 2023 13:42:17 +0000 (13:42 +0000)
Issue-ID: SDC-4555
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
Change-Id: Ia6d299e64480ec9c7aa72e18936344ff5bccf249

catalog-ui/src/app/ng2/pages/properties-assignment/services/properties.utils.ts

index 6a27622..0255a42 100644 (file)
@@ -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();
     };