From 63f4c5920a6a3d07a79b0a546b72b5aebc189a68 Mon Sep 17 00:00:00 2001 From: imamSidero Date: Thu, 25 May 2023 17:23:11 +0100 Subject: Bug fix on tosca function impact changes Providing the required inputs and dependency changes for tosca functionality Issue-ID: SDC-4510 Signed-off-by: Imam hussain Change-Id: Idf5af079c50bf2b9a09f572af30ca9fc294a831e --- .../data-type-fields-structure.html | 9 +++++++++ .../data-type-fields-structure/data-type-fields-structure.ts | 11 +++++++++-- .../property-types/type-list/type-list-directive.ts | 3 ++- .../tosca-get-function/tosca-get-function.component.ts | 11 ++++++++--- .../component-property-form/property-form-view.html | 3 +++ 5 files changed, 31 insertions(+), 6 deletions(-) diff --git a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.html b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.html index 792919172e..78aa7bc7f4 100644 --- a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.html +++ b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.html @@ -33,9 +33,12 @@
@@ -44,19 +47,25 @@
diff --git a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts index 419ad2d9a6..30c7b06733 100644 --- a/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts +++ b/catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts @@ -22,15 +22,18 @@ * Created by obarda on 1/27/2016. */ 'use strict'; -import { DataTypesMap } from 'app/models'; +import { DataTypesMap, PropertyModel } from 'app/models'; import { DataTypePropertyModel } from 'app/models/data-type-properties'; import { DataTypesService } from 'app/services'; import { ValidationUtils } from 'app/utils'; +import {InstanceFeDetails} from "app/models/instance-fe-details"; import * as _ from 'lodash'; export interface IDataTypeFieldsStructureScope extends ng.IScope { parentFormObj: ng.IFormController; dataTypeProperties: DataTypePropertyModel[]; + parentProperty:PropertyModel; + componentInstanceMap: Map; typeName: string; valueObjRef: any; propertyNameValidationPattern: RegExp; @@ -43,6 +46,7 @@ export interface IDataTypeFieldsStructureScope extends ng.IScope { expanded: boolean; dataTypesService: DataTypesService; constraints: string[]; + isService:boolean; expandAndCollapse(): void; getValidationPattern(type: string): RegExp; @@ -58,12 +62,15 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective { scope = { valueObjRef: '=', typeName: '=', + componentInstanceMap: '=', + parentProperty: '=', parentFormObj: '=', fieldsPrefixName: '=', readOnly: '=', defaultValue: '@', types: '=', - expandByDefault: '=' + expandByDefault: '=', + isService: '=' }; restrict = 'E'; diff --git a/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.ts b/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.ts index b2d322be1c..40a29da5fb 100644 --- a/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.ts +++ b/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.ts @@ -123,7 +123,8 @@ export class TypeListDirective implements ng.IDirective { link = (scope:ITypeListScope, element:any, $attr:any) => { scope.propertyNameValidationPattern = this.PropertyNameValidationPattern; scope.stringSchema = this.stringSchema; - if (scope.valueObjRef.length == 0) { + if (scope.valueObjRef == null || scope.valueObjRef.length == 0) { + scope.valueObjRef = []; scope.valueObjRef.push(""); } scope.showToscaFunction = new Array(scope.valueObjRef.length); 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 7987ba26cf..cbbc2d98c0 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 @@ -63,6 +63,7 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { dropdownValuesLabel: string; dropDownErrorMsg: string; indexListValues:Array; + parentListTypeFlag : boolean; private isInitialized: boolean = false; private componentMetadata: ComponentMetadata; @@ -77,6 +78,10 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { ngOnInit(): void { this.componentMetadata = this.workspaceService.metadata; this.indexListValues = []; + if (this.property != null) { + this.parentListTypeFlag = (this.property.type != PROPERTY_TYPES.LIST && (!this.isComplexType(this.property.type) || (this.isComplexType(this.property.type) + && this.property instanceof PropertyDeclareAPIModel && ( this.property).input instanceof DerivedFEProperty && this.property.input.type != PROPERTY_TYPES.LIST))); + } this.formGroup.valueChanges.subscribe(() => { this.formValidation(); }); @@ -452,8 +457,8 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { if (this.property.type === PROPERTY_TYPES.ANY) { return true; } - let validPropertyType = (this.property.type != PROPERTY_TYPES.LIST && property.type === PROPERTY_TYPES.LIST) ? property.schema.property.type : property.type; - if (this.property.type != PROPERTY_TYPES.LIST && property.type === PROPERTY_TYPES.LIST && this.isComplexType(validPropertyType)) { + let validPropertyType = (this.parentListTypeFlag && property.type === PROPERTY_TYPES.LIST) ? property.schema.property.type : property.type; + if (this.parentListTypeFlag && property.type === PROPERTY_TYPES.LIST && this.isComplexType(validPropertyType)) { let returnFlag : boolean = false; const dataTypeFound: DataTypeModel = this.dataTypeService.getDataTypeByModelAndTypeName(this.componentMetadata.model, validPropertyType); if (dataTypeFound && dataTypeFound.properties) { @@ -555,7 +560,7 @@ export class ToscaGetFunctionComponent implements OnInit, OnChanges { this.indexListValues = []; let subPropertyDropdownList : Array = []; const selectedProperty: PropertyDropdownValue = this.selectedProperty.value; - if (selectedProperty.isList) { + if (this.parentListTypeFlag && selectedProperty.isList) { toscaIndexFlag = true; if (selectedProperty.schemaType != null) { nestedToscaFlag = true; diff --git a/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view.html b/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view.html index d0c3cc6f95..682c7a9b7c 100644 --- a/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view.html +++ b/catalog-ui/src/app/view-models/forms/property-forms/component-property-form/property-form-view.html @@ -166,11 +166,14 @@
-- cgit 1.2.3-korg