From 97930ffc459281aa11c8e3fb1ffacafdc3d161be Mon Sep 17 00:00:00 2001 From: "k.kedron" Date: Tue, 3 Mar 2020 10:59:51 +0100 Subject: Fixed updating VFC Added checking that newProperty.path isn't null. Also added refreshing the returned property from the backend. Issue-ID: SDC-2800 Signed-off-by: Krystian Kedron Change-Id: I82449d04f3151b5233cd99fb919b47f6d05a83fa --- .../property-form-view-model.ts | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'catalog-ui') diff --git a/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts b/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts index 3d1ac3d591..609997ca19 100644 --- a/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts +++ b/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view-model.ts @@ -290,7 +290,8 @@ export class PropertyFormViewModel { let myValueString:string = JSON.stringify(this.$scope.myValue); property.value = myValueString; } - this.updateInstanceProperties(property.resourceInstanceUniqueId, [property]).subscribe((propertiesFromBE) => onPropertySuccess(propertiesFromBE[0]), onPropertyFaild); + this.updateInstanceProperties(property.resourceInstanceUniqueId, [property]).subscribe((propertiesFromBE) => onPropertySuccess(propertiesFromBE[0]), + error => onPropertyFaild(error)); } else { if (!this.$scope.editPropertyModel.property.simpleType && !this.$scope.isSimpleType(property.type)) { let myValueString:string = JSON.stringify(this.$scope.myValue); @@ -298,7 +299,7 @@ export class PropertyFormViewModel { } else { this.$scope.editPropertyModel.property.defaultValue = this.$scope.editPropertyModel.property.value; } - this.addOrUpdateProperty(property).subscribe(onPropertySuccess, onPropertyFaild); + this.addOrUpdateProperty(property).subscribe(onPropertySuccess, error => onPropertyFaild(error)); } } }; @@ -387,21 +388,23 @@ export class PropertyFormViewModel { const okButton = {testId: "OK", text: "OK", type: SdcUiCommon.ButtonType.info, callback: onOk, closeModal: true} as SdcUiComponents.ModalButtonComponent; this.modalService.openInfoModal(title, message, 'delete-modal', [okButton]); }; - } + }; private updateInstanceProperties = (componentInstanceId:string, properties:PropertyModel[]):Observable => { return this.ComponentInstanceServiceNg2.updateInstanceProperties(this.workspaceService.metadata.componentType, this.workspaceService.metadata.uniqueId, componentInstanceId, properties) .map(newProperties => { newProperties.forEach((newProperty) => { - if(newProperty.path[0] === newProperty.resourceInstanceUniqueId) newProperty.path.shift(); - // find exist instance property in parent component for update the new value ( find bu uniqueId & path) - let existProperty: PropertyModel = _.find(this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId], { - uniqueId: newProperty.uniqueId, - path: newProperty.path - }); - let index = this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId].indexOf(existProperty); - this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId][index] = newProperty; + if (!_.isNil(newProperty.path)) { + if (newProperty.path[0] === newProperty.resourceInstanceUniqueId) newProperty.path.shift(); + // find exist instance property in parent component for update the new value ( find bu uniqueId & path) + let existProperty: PropertyModel = _.find(this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId], { + uniqueId: newProperty.uniqueId, + path: newProperty.path + }); + let index = this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId].indexOf(existProperty); + this.compositionService.componentInstancesProperties[newProperty.resourceInstanceUniqueId][index] = newProperty; + } }); return newProperties; }); -- cgit 1.2.3-korg