Merge "save resource-resolution component to the package"
authorKAPIL SINGAL <ks220y@att.com>
Sun, 25 Oct 2020 20:11:51 +0000 (20:11 +0000)
committerGerrit Code Review <gerrit@onap.org>
Sun, 25 Oct 2020 20:11:51 +0000 (20:11 +0000)
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/designer.store.ts
cds-ui/designer-client/src/app/modules/feature-modules/packages/designer/functions-attribute/functions-attribute.component.ts

index 37fc640..d332616 100644 (file)
@@ -19,12 +19,12 @@ limitations under the License.
 ============LICENSE_END============================================
 */
 
-import {Injectable} from '@angular/core';
-import {Store} from '../../../../common/core/stores/Store';
-import {DesignerService} from './designer.service';
-import {DesignerDashboardState} from './model/designer.dashboard.state';
-import {DeclarativeWorkflow} from './model/designer.workflow';
-import {NodeTemplate} from './model/desinger.nodeTemplate.model';
+import { Injectable } from '@angular/core';
+import { Store } from '../../../../common/core/stores/Store';
+import { DesignerService } from './designer.service';
+import { DesignerDashboardState } from './model/designer.dashboard.state';
+import { DeclarativeWorkflow } from './model/designer.workflow';
+import { NodeTemplate } from './model/desinger.nodeTemplate.model';
 
 
 @Injectable({
@@ -93,14 +93,14 @@ export class DesignerStore extends Store<DesignerDashboardState> {
      * you can add node template and don't add workflow step when you add dependencies for the
      * dg-generic function for example
      */
-    addNodeTemplate(nodeTemplateName: string, type: string) {
+    addNodeTemplate(nodeTemplateName: string, type: string, nodeTemplate: {} = new NodeTemplate(type)) {
         this.setState({
             ...this.state,
             template: {
                 ...this.state.template,
                 node_templates: {
                     ...this.state.template.node_templates,
-                    [nodeTemplateName]: new NodeTemplate(type)
+                    [nodeTemplateName]: nodeTemplate
                 }
             }
         });
index 624f9c7..20305e8 100644 (file)
@@ -75,6 +75,12 @@ export class FunctionsAttributeComponent implements OnInit, OnDestroy {
     }
 
     displayFunctionData() {
+
+        // tslint:disable-next-line: variable-name
+        const node_templates = {};
+        const type = 'component-resource-resolution';
+        const instanceName = this.currentFuncion['instance-name'];
+        // insert selected templates in nodeTemplates.artifacts
         this.selectedTemplates.forEach((value, key) => {
             console.log(key);
             console.log(value);
@@ -93,20 +99,27 @@ export class FunctionsAttributeComponent implements OnInit, OnDestroy {
                 };
             }
         });
+        // instantiate the final node_template object to save
+
+        this.nodeTemplates.type = 'component-resource-resolution';
+        node_templates[this.currentFuncion['instance-name']] = this.nodeTemplates;
+
+        delete this.currentFuncion['instance-name'];
+
         this.nodeTemplates.interfaces = {
             ResourceResolutionComponent: {
                 operations: {
                     process: {
-                        ...this.currentFuncion
+                        ...this.currentFuncion,
                     }
                 }
             }
         };
-        setTimeout(() => {
-            console.log(this.currentFuncion);
-            console.log(this.nodeTemplates);
 
-        }, 1500);
+        console.log(this.currentFuncion);
+        console.log(node_templates);
+        // tslint:disable-next-line: no-unused-expression
+        this.designerStore.addNodeTemplate(instanceName, type, node_templates[instanceName]);
     }
     // Template logic
     private setIsMappingOrTemplate(key: string, templateAndMapping: TemplateAndMapping, isFromTemplate: boolean) {