diff options
author | vasraz <vasyl.razinkov@est.tech> | 2022-08-30 18:17:21 +0100 |
---|---|---|
committer | Vasyl Razinkov <vasyl.razinkov@est.tech> | 2022-09-02 12:46:09 +0000 |
commit | 3f48762a391733561bb1ed171ea0a15bf0ea50ee (patch) | |
tree | 2adc1aee69d1253c7a0c3d4fbc7f5440067b8d2f /catalog-ui/src/app/ng2 | |
parent | 97b5fa431d5924d90e97adedf76f3ce5648cd938 (diff) |
Allow to select properties in the get_attribute function
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech>
Change-Id: Ib35d5d1e3d83ed8e87ce45c20e9cc1a641c5bde2
Issue-ID: SDC-4149
Diffstat (limited to 'catalog-ui/src/app/ng2')
2 files changed, 19 insertions, 15 deletions
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<ComponentGenericResponse> = this.getPropertyObservable(); propertiesObservable.subscribe( (response: ComponentGenericResponse) => { - const properties: Array<PropertyBEModel | AttributeModel> = this.extractProperties(response); + const properties: Array<PropertyBEModel | AttributeBEModel> = 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<PropertyBEModel | AttributeModel> { + private extractProperties(componentGenericResponse: ComponentGenericResponse): Array<PropertyBEModel | AttributeBEModel> { 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<PropertyBEModel | AttributeModel>): void { + private addPropertiesToDropdown(properties: Array<PropertyBEModel | AttributeBEModel>): 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<PropertyBEModel | AttributeModel> = []): void { + private fillPropertyDropdownWithMatchingChildProperties(inputProperty: PropertyBEModel | AttributeBEModel, + parentPropertyList: Array<PropertyBEModel | AttributeBEModel> = []): 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 +} diff --git a/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts b/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts index a2abb38f65..c497e013b4 100644 --- a/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts +++ b/catalog-ui/src/app/ng2/services/component-services/topology-template.service.ts @@ -163,6 +163,10 @@ export class TopologyTemplateService { return this.getComponentDataByFieldsName(componentType, componentUniqueId, [COMPONENT_FIELDS.COMPONENT_ATTRIBUTES]); } + findAllComponentAttributesAndProperties(componentType: string, componentUniqueId: string): Observable<ComponentGenericResponse> { + return this.getComponentDataByFieldsName(componentType, componentUniqueId, [COMPONENT_FIELDS.COMPONENT_ATTRIBUTES, COMPONENT_FIELDS.COMPONENT_PROPERTIES]); + } + getCapabilitiesAndRequirements(componentType: string, componentId: string): Observable<ComponentGenericResponse> { return this.getComponentDataByFieldsName(componentType, componentId, [COMPONENT_FIELDS.COMPONENT_REQUIREMENTS, COMPONENT_FIELDS.COMPONENT_CAPABILITIES]); } |