aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts')
-rw-r--r--catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts10
1 files changed, 6 insertions, 4 deletions
diff --git a/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts b/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts
index a0c9a6c460..fa71e47804 100644
--- a/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts
+++ b/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.ts
@@ -96,15 +96,17 @@ export class TypeMapDirective implements ng.IDirective {
} else {
scope.parentFormObj[fieldName].$setValidity('keyExist', true);
if (!scope.parentFormObj[fieldName].$invalid) {
+ //To preserve the order of the keys, delete each one and recreate
let newObj = {};
- angular.forEach(scope.valueObjRef,function(value:any,key:string){
+ angular.copy(scope.valueObjRef , newObj);
+ angular.forEach(newObj,function(value:any,key:string){
+ delete scope.valueObjRef[key];
if(key == oldKey){
- newObj[newKey] = value;
+ scope.valueObjRef[newKey] = value;
}else{
- newObj[key] = value;
+ scope.valueObjRef[key] = value;
}
});
- scope.valueObjRef = newObj;
}
}
};