Fix component workspace metadata not being set 93/129593/2
authorandre.schmid <andre.schmid@est.tech>
Fri, 10 Jun 2022 10:39:07 +0000 (11:39 +0100)
committerMichael Morris <michael.morris@est.tech>
Sat, 11 Jun 2022 19:15:23 +0000 (19:15 +0000)
The component metadata was not being initialized when the Component
constructor was being used.
Also, during the component checkout, instead of setting the
ComponentMetadata to the workspaceService, the code was setting the
component itself, causing issues in functionalities that uses the
metadata after a component checkout.

Change-Id: Ie9bb187ea04a2f4711d4df00ea335d531840378e
Issue-ID: SDC-4046
Signed-off-by: andre.schmid <andre.schmid@est.tech>
catalog-ui/src/app/models/components/component.ts
catalog-ui/src/app/view-models/workspace/workspace-view-model.ts

index e5859ab..89643d9 100644 (file)
@@ -205,6 +205,9 @@ export abstract class Component implements IComponent {
             this.isArchived = component.isArchived;
             this.vspArchived = component.vspArchived;
 
+            if (component.componentMetadata) {
+                this.componentMetadata = component.componentMetadata;
+            }
             if (component.categorySpecificMetadata && component.categories && component.categories[0]){
                 this.copyCategoryMetadata(component);
                 this.copySubcategoryMetadata(component);
@@ -244,8 +247,10 @@ export abstract class Component implements IComponent {
 
     //------------------------------------------ API Calls ----------------------------------------------------------------//
     public changeLifecycleState = (state:string, commentObj:AsdcComment):ng.IPromise<Component> => {
+        console.log('changeLifecycleState called', state);
         let deferred = this.$q.defer<Component>();
         let onSuccess = (componentMetadata:ComponentMetadata):void => {
+            console.log('changeLifecycleState onSuccess', componentMetadata);
             this.setComponentMetadata(componentMetadata);
             // this.version = componentMetadata.version;
             this.lifecycleState = componentMetadata.lifecycleState;
index 532df0e..7bed071 100644 (file)
@@ -568,7 +568,7 @@ export class WorkspaceViewModel {
                             this.initVersionObject();
                             this.$scope.isLoading = false;
                             this.EventListenerService.notifyObservers(EVENTS.ON_CHECKOUT, component);
-                            this.workspaceService.setComponentMetadata(component);
+                            this.workspaceService.setComponentMetadata(component.componentMetadata);
 
                             this.Notification.success({
                                 message: this.$filter('translate')("CHECKOUT_SUCCESS_MESSAGE_TEXT"),