From 3f48762a391733561bb1ed171ea0a15bf0ea50ee Mon Sep 17 00:00:00 2001 From: vasraz Date: Tue, 30 Aug 2022 18:17:21 +0100 Subject: Allow to select properties in the get_attribute function Signed-off-by: Vasyl Razinkov Change-Id: Ib35d5d1e3d83ed8e87ce45c20e9cc1a641c5bde2 Issue-ID: SDC-4149 --- .../tosca-get-function.component.ts | 30 +++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'catalog-ui/src/app/ng2/pages') diff --git a/catalog-ui/src/app/ng2/pages/properties-assignment/tosca-function/tosca-get-function/tosca-get-function.component.ts b/catalog-ui/src/app/ng2/pages/properties-assignment/tosca-function/tosca-get-function/tosca-get-function.component.ts index 8f50cc14cd..64d155a55f 100644 --- a/catalog-ui/src/app/ng2/pages/properties-assignment/tosca-function/tosca-get-function/tosca-get-function.component.ts +++ b/catalog-ui/src/app/ng2/pages/properties-assignment/tosca-function/tosca-get-function/tosca-get-function.component.ts @@ -18,7 +18,7 @@ */ import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core'; -import {AttributeModel, ComponentMetadata, DataTypeModel, PropertyBEModel, PropertyModel} from 'app/models'; +import {AttributeBEModel, ComponentMetadata, DataTypeModel, PropertyBEModel, PropertyModel} from 'app/models'; import {TopologyTemplateService} from "../../../../services/component-services/topology-template.service"; import {WorkspaceService} from "../../../workspace/workspace.service"; import {PropertiesService} from "../../../../services/properties.service"; @@ -224,7 +224,7 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { this.startLoading(); const propertiesObservable: Observable = this.getPropertyObservable(); propertiesObservable.subscribe( (response: ComponentGenericResponse) => { - const properties: Array = this.extractProperties(response); + const properties: Array = this.extractProperties(response); if (!properties || properties.length === 0) { const msgCode = this.getNotFoundMsgCode(); this.dropDownErrorMsg = this.translateService.translate(msgCode, {type: this.propertyTypeToString()}); @@ -267,22 +267,22 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { return this.property.type; } - private extractProperties(componentGenericResponse: ComponentGenericResponse): Array { + private extractProperties(componentGenericResponse: ComponentGenericResponse): Array { if (this.isGetInput()) { return componentGenericResponse.inputs; } - const propertySource = this.propertySource.value; + const instanceId = this.instanceNameAndIdMap.get(this.propertySource.value); if (this.isGetProperty()) { if (this.isPropertySourceSelf()) { return componentGenericResponse.properties; } - const componentInstanceProperties: PropertyModel[] = componentGenericResponse.componentInstancesProperties[this.instanceNameAndIdMap.get(propertySource)]; - return this.removeSelectedProperty(componentInstanceProperties); + return this.removeSelectedProperty(componentGenericResponse.componentInstancesProperties[instanceId]); } if (this.isPropertySourceSelf()) { - return componentGenericResponse.attributes; + return [...(componentGenericResponse.attributes || []), ...(componentGenericResponse.properties || [])]; } - return componentGenericResponse.componentInstancesAttributes[this.instanceNameAndIdMap.get(propertySource)]; + return [...(componentGenericResponse.componentInstancesAttributes[instanceId] || []), + ...(componentGenericResponse.componentInstancesProperties[instanceId] || [])]; } private isPropertySourceSelf() { @@ -301,9 +301,9 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { } if (this.isGetAttribute()) { if (this.isPropertySourceSelf()) { - return this.topologyTemplateService.findAllComponentAttributes(this.componentMetadata.componentType, this.componentMetadata.uniqueId); + return this.topologyTemplateService.findAllComponentAttributesAndProperties(this.componentMetadata.componentType, this.componentMetadata.uniqueId); } - return this.topologyTemplateService.findAllComponentInstanceAttributes(this.componentMetadata.componentType, this.componentMetadata.uniqueId); + return this.topologyTemplateService.getComponentInstanceAttributesAndProperties(this.componentMetadata.uniqueId, this.componentMetadata.componentType); } } @@ -322,7 +322,7 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { this.propertyDropdownList.sort((a, b) => a.propertyLabel.localeCompare(b.propertyLabel)); } - private addPropertiesToDropdown(properties: Array): void { + private addPropertiesToDropdown(properties: Array): void { for (const property of properties) { if (this.hasSameType(property)) { this.addPropertyToDropdown({ @@ -337,8 +337,8 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { } } - private fillPropertyDropdownWithMatchingChildProperties(inputProperty: PropertyBEModel | AttributeModel, - parentPropertyList: Array = []): void { + private fillPropertyDropdownWithMatchingChildProperties(inputProperty: PropertyBEModel | AttributeBEModel, + parentPropertyList: Array = []): void { const dataTypeFound: DataTypeModel = this.dataTypeService.getDataTypeByModelAndTypeName(this.componentMetadata.model, inputProperty.type); if (!dataTypeFound || !dataTypeFound.properties) { return; @@ -358,7 +358,7 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { }); } - private hasSameType(property: PropertyBEModel | AttributeModel) { + private hasSameType(property: PropertyBEModel | AttributeBEModel) { if (this.typeHasSchema(this.property.type)) { if (!property.schema || !property.schema.property) { return false; @@ -440,4 +440,4 @@ export interface PropertyDropdownValue { export interface ToscaGetFunctionValidationEvent { isValid: boolean, toscaGetFunction: ToscaGetFunction, -} \ No newline at end of file +} -- cgit 1.2.3-korg