From 01482efa58dd30e82e640f237a654b8b079a7554 Mon Sep 17 00:00:00 2001 From: imamSidero Date: Wed, 4 Jan 2023 15:16:31 +0000 Subject: Bug fix for list of map values in properties Fixed list of map values in properties assignment page Issue-ID: SDC-4315 Signed-off-by: Imam hussain Change-Id: I3d4fcc11327bbc38d1ec24a06ca45aedcfb47ce1 --- .../properties-inputs/derived-fe-property.ts | 20 +++++++++++--------- .../dynamic-property/dynamic-property.component.ts | 22 ++++++++++++---------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/catalog-ui/src/app/models/properties-inputs/derived-fe-property.ts b/catalog-ui/src/app/models/properties-inputs/derived-fe-property.ts index 60d2726575..3985b98c93 100644 --- a/catalog-ui/src/app/models/properties-inputs/derived-fe-property.ts +++ b/catalog-ui/src/app/models/properties-inputs/derived-fe-property.ts @@ -69,16 +69,18 @@ export class DerivedFEProperty extends PropertyBEModel { this.propertiesName = parentName + '#' + this.name; if (property.type == PROPERTY_TYPES.LIST) { - if(property.value != null) { - const valueJson = JSON.parse(property.value); - if (key != '') { - this.mapKey = key; - }else{ - let indexNumber = Number(Object.keys(valueJson).sort().reverse()[0]) + 1; - this.mapKey = indexNumber.toString(); + if (property.schemaType != PROPERTY_TYPES.MAP) { + if(property.value != null) { + const valueJson = JSON.parse(property.value); + if (key != '') { + this.mapKey = key; + }else{ + let indexNumber = Number(Object.keys(valueJson).sort().reverse()[0]) + 1; + this.mapKey = indexNumber.toString(); + } + }else { + this.mapKey = "0"; } - }else { - this.mapKey = "0"; } this.mapKeyError = null; this.type = property.schema.property.type; diff --git a/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.ts b/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.ts index b1ceb9328e..548c676285 100644 --- a/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.ts +++ b/catalog-ui/src/app/ng2/components/logic/properties-table/dynamic-property/dynamic-property.component.ts @@ -155,16 +155,18 @@ export class DynamicPropertyComponent { let mapKeyValue = this.property instanceof DerivedFEProperty ? this.property.mapKey : ""; if (this.property.type == PROPERTY_TYPES.LIST && mapKeyValue === "") { - if(this.property.value != null) { - const valueJson = JSON.parse(this.property.value); - if(this.property instanceof PropertyFEModel && this.property.expandedChildPropertyId != null){ - let indexNumber = Number(Object.keys(valueJson).sort().reverse()[0]) + 1; - mapKeyValue = indexNumber.toString(); - }else{ - mapKeyValue = Object.keys(valueJson).sort().reverse()[0]; + if (this.property.schemaType != PROPERTY_TYPES.MAP) { + if (this.property.value != null) { + const valueJson = JSON.parse(this.property.value); + if (this.property instanceof PropertyFEModel && this.property.expandedChildPropertyId != null) { + let indexNumber = Number(Object.keys(valueJson).sort().reverse()[0]) + 1; + mapKeyValue = indexNumber.toString(); + }else{ + mapKeyValue = Object.keys(valueJson).sort().reverse()[0]; + } + }else { + mapKeyValue = "0"; } - }else { - mapKeyValue = "0"; } } let newProps: Array = this.propertiesUtils.createListOrMapChildren(this.property, mapKeyValue, null); @@ -286,7 +288,7 @@ export class DynamicPropertyComponent { } preventInsertItem = (property:DerivedFEProperty):boolean => { - if(property.type == PROPERTY_TYPES.MAP && Object.keys(property.valueObj).indexOf('') > -1 ){ + if(property.type == PROPERTY_TYPES.MAP && property.valueObj != null && Object.keys(property.valueObj).indexOf('') > -1 ){ return true; } return false; -- cgit 1.2.3-korg