* 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.
* ============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';
})
export class ResourceMetadataComponent implements OnInit {
entry_schema:IEntrySchema;
- properties: IPropertyData;
+ properties: any = {};
ResourceMetadata: FormGroup;
resource_name: string;
tags: string;
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({
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)) {