Merge "Add sample test dsl type cba"
[ccsdk/cds.git] / cds-ui / client / src / app / feature-modules / resource-definition / resource-edit / resource-metadata / resource-metadata.component.ts
index 536be26..e155ec1 100644 (file)
@@ -3,6 +3,8 @@
 * ONAP : CDS
 * ================================================================================
 * Copyright 2019 TechMahindra
+*
+* Modifications Copyright (C) 2019 IBM
 *=================================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -18,7 +20,7 @@
 * ============LICENSE_END=========================================================
 */
 
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, EventEmitter, Output  } from '@angular/core';
 import {FormBuilder, FormGroup, Validators} from '@angular/forms';
 import { IResources } from 'src/app/common/core/store/models/resources.model';
 import { IResourcesState } from 'src/app/common/core/store/models/resourcesState.model';
@@ -37,7 +39,7 @@ import { IEntrySchema } from 'src/app/common/core/store/models/entrySchema.model
 })
 export class ResourceMetadataComponent implements OnInit {
     entry_schema:IEntrySchema;
-    properties: IPropertyData;
+    properties: any = {};
     ResourceMetadata: FormGroup;
     resource_name: string;
     tags: string;
@@ -45,7 +47,8 @@ export class ResourceMetadataComponent implements OnInit {
     resources: IResources;
     propertyValues = [];
     property = [];   
-  
+    @Output() resourcesData = new EventEmitter();
+     
  constructor(private formBuilder: FormBuilder, private store: Store<IAppState>) { 
     this.rdState = this.store.select('resources');
     this.ResourceMetadata = this.formBuilder.group({
@@ -65,19 +68,37 @@ export class ResourceMetadataComponent implements OnInit {
         this.resource_name = resourcesState.resources.name;
         this.tags = resourcesState.resources.tags;
         this.resources = resourcesState.resources;
-        this.properties= resourcesState.resources.property;
-        this.propertyValues=  this.checkNested(this.properties);
+        if (resourcesState.resources.definition && resourcesState.resources.definition.property) {
+         this.properties= resourcesState.resources.definition.property;
+        } else {
+           this.properties['description']= '';
+           this.properties['type'] = '';
+           this.properties['entry_schema'] = '';
+           this.properties['required'] = false;
+        }
+      //   this.propertyValues=  this.checkNested(this.properties);
         this.ResourceMetadata = this.formBuilder.group({
-       Resource_Name: [this.resource_name, Validators.required],
-        _tags: [this.tags, Validators.required],
-        _description : [ this.propertyValues[0], Validators.required],
-        _type: [ this.propertyValues[1], Validators.required],
-        required: [ this.propertyValues[2], Validators.required],
-        entry_schema: [this.propertyValues[3]]
+        Resource_Name: [this.resource_name, Validators.required],
+         _tags: [this.tags, Validators.required],
+         _description : [ this.properties.description, Validators.required, ''],
+         _type: [ this.properties.type, Validators.required],
+         required: [ JSON.stringify(this.properties.required), Validators.required],
+         entry_schema: [this.properties.entry_schema]
       });   
     })
  }
-    
+  
+ UploadMetadata() {
+  
+    this.resources.name = this.ResourceMetadata.value.Resource_Name;
+    this.resources.tags = this.ResourceMetadata.value._tags;
+    this.resources.definition.property.description = this.ResourceMetadata.value._description;
+    this.resources.definition.property.type = this.ResourceMetadata.value._type;
+    this.resources.definition.property.required = this.ResourceMetadata.value.required;
+    this.resources.definition.property.entry_schema = this.ResourceMetadata.value.entry_schema;
+       this.resourcesData.emit(this.resources); 
+ }
+   
  checkNested(obj) {
   for (let key in obj) {
     if (obj.hasOwnProperty(key)) {