aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/directives
diff options
context:
space:
mode:
authorimamSidero <imam.hussain@est.tech>2023-07-07 16:16:49 +0100
committerMichael Morris <michael.morris@est.tech>2023-07-19 13:29:38 +0000
commit3e63e2cdd6630dde5ecac3710bcb932d76d411da (patch)
tree759f60afa4d9c17c3432f3ea755f996b93a900dc /catalog-ui/src/app/directives
parent85e3cda38a1767ade1724ea18842a50772170a25 (diff)
Provide tosca function capability to list/map of complex type fields in composition view
Tosca function capability is provided to list/map entries of complex type fields in composition view Issue-ID: SDC-4562 Signed-off-by: Imam hussain <imam.hussain@est.tech> Change-Id: I38355f5ab399e1504ad433037d0d547fe07e9bfa
Diffstat (limited to 'catalog-ui/src/app/directives')
-rw-r--r--catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.html3
-rw-r--r--catalog-ui/src/app/directives/property-types/data-type-fields-structure/data-type-fields-structure.ts63
-rw-r--r--catalog-ui/src/app/directives/property-types/type-list/type-list-directive.html3
-rw-r--r--catalog-ui/src/app/directives/property-types/type-map/type-map-directive.html4
4 files changed, 49 insertions, 24 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 afbd520532..242c5860f3 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
@@ -31,7 +31,7 @@
</div>
<!--<div class="property-value">-->
<div class="inner-structure tosca-box tosca-parent">
- <div class="tosca-box" data-ng-if="complexToscapath == null">
+ <div class="tosca-box">
<form class="temp-form" data-ng-if="isService">
<input type="radio" name="hasToscaFunction-{{fieldsPrefixName}}" data-ng-checked="verifyTosca(property.name) == false" data-ng-click="onEnableTosca(false,property.name)"/>
Value
@@ -45,6 +45,7 @@
[allow-clear]="false"
[composition-map]="true"
[composition-map-key]="property.name"
+ [complex-list-key]="complexToscapath"
(on-valid-function)="onGetToscaFunction($event,property.name)"
>
</tosca-function>
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 37ca36a371..0849776f15 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
@@ -110,20 +110,6 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective {
scope.$watchCollection('[typeName,fieldsPrefixName]', (newData: any): void => {
this.rerender(scope);
});
- let childProp = this.PropertiesUtils.convertAddPropertyBAToPropertyFE(scope.parentProperty);
- scope.subpropertyMap = new Map<string,PropertyDeclareAPIModel>();
- scope.showToscaFunction = new Map<string,boolean>();
- childProp.flattenedChildren.forEach(prop => {
- scope.showToscaFunction.set(prop.name,false);
- if (scope.parentProperty.subPropertyToscaFunctions != null) {
- scope.parentProperty.subPropertyToscaFunctions.forEach(SubPropertyToscaFunction => {
- if (SubPropertyToscaFunction.subPropertyPath.toString() == prop.name) {
- scope.showToscaFunction.set(prop.name,true);
- }
- });
- }
- scope.subpropertyMap.set(prop.name,new PropertyDeclareAPIModel(childProp, prop));
- });
scope.expandAndCollapse = (): void => {
if (!scope.expanded) {
this.initDataOnScope(scope, $attr);
@@ -183,20 +169,20 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective {
}
scope.getToscaPathValue = (propertyName: string) : Array<string> => {
- const parentObj : PropertyDeclareAPIModel = scope.subpropertyMap.get(propertyName);
- if (parentObj.input instanceof DerivedFEProperty) {
- return parentObj.input.toscaPath;
- }
- return [propertyName];
+ let toscaPath = [propertyName];
+ if (scope.complexToscapath != null) {
+ toscaPath = [scope.complexToscapath,propertyName];
+ }
+ return toscaPath;
}
scope.onGetToscaFunction = (toscaGetFunction: ToscaGetFunction, key:string): void => {
- let toscaPath = key;
+ let toscaPath = scope.getToscaPathValue(key);
scope.valueObjRef[key] = "";
if (scope.parentProperty.subPropertyToscaFunctions != null) {
let toscaFlag : boolean = true
scope.parentProperty.subPropertyToscaFunctions.forEach(SubPropertyToscaFunction => {
- if (SubPropertyToscaFunction.subPropertyPath.toString() == toscaPath) {
+ if (SubPropertyToscaFunction.subPropertyPath.toString() == toscaPath.toString()) {
SubPropertyToscaFunction.toscaFunction = toscaGetFunction;
toscaFlag = false;
return;
@@ -205,13 +191,13 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective {
if (toscaFlag) {
let subPropertyToscaFunction = new SubPropertyToscaFunction();
subPropertyToscaFunction.toscaFunction = toscaGetFunction;
- subPropertyToscaFunction.subPropertyPath = [toscaPath];
+ subPropertyToscaFunction.subPropertyPath = toscaPath;
scope.parentProperty.subPropertyToscaFunctions.push(subPropertyToscaFunction);
}
} else {
let subPropertyToscaFunction = new SubPropertyToscaFunction();
subPropertyToscaFunction.toscaFunction = toscaGetFunction;
- subPropertyToscaFunction.subPropertyPath = [toscaPath];
+ subPropertyToscaFunction.subPropertyPath = toscaPath;
scope.parentProperty.subPropertyToscaFunctions = [subPropertyToscaFunction];
}
}
@@ -249,6 +235,37 @@ export class DataTypeFieldsStructureDirective implements ng.IDirective {
scope.valueObjRef = {};
}
+ let childProp = this.PropertiesUtils.convertAddPropertyBAToPropertyFE(scope.parentProperty);
+ scope.subpropertyMap = new Map<string,PropertyDeclareAPIModel>();
+ scope.showToscaFunction = new Map<string,boolean>();
+ if (childProp.flattenedChildren.length > 0) {
+ childProp.flattenedChildren.forEach(prop => {
+ scope.showToscaFunction.set(prop.name,false);
+ if (scope.parentProperty.subPropertyToscaFunctions != null) {
+ scope.parentProperty.subPropertyToscaFunctions.forEach(SubPropertyToscaFunction => {
+ let toscaPath = scope.getToscaPathValue(prop.name);
+ if (SubPropertyToscaFunction.subPropertyPath.toString() == toscaPath.toString()) {
+ scope.showToscaFunction.set(prop.name,true);
+ }
+ });
+ }
+ scope.subpropertyMap.set(prop.name,new PropertyDeclareAPIModel(childProp, prop));
+ });
+ } else {
+ scope.dataTypeProperties.forEach(prop => {
+ scope.showToscaFunction.set(prop.name,false);
+ if (scope.parentProperty.subPropertyToscaFunctions != null) {
+ scope.parentProperty.subPropertyToscaFunctions.forEach(SubPropertyToscaFunction => {
+ let toscaPath = scope.getToscaPathValue(prop.name);
+ if (SubPropertyToscaFunction.subPropertyPath.toString() == toscaPath.toString()) {
+ scope.showToscaFunction.set(prop.name,true);
+ }
+ });
+ }
+ scope.subpropertyMap.set(prop.name,new PropertyDeclareAPIModel(childProp, prop));
+ });
+ }
+
_.forEach(scope.currentTypeDefaultValue, (value, key) => {
if (angular.isUndefined(scope.valueObjRef[key])) {
if (typeof scope.currentTypeDefaultValue[key] == 'object') {
diff --git a/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.html b/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.html
index 109c9a9ec9..e7623b3067 100644
--- a/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.html
+++ b/catalog-ui/src/app/directives/property-types/type-list/type-list-directive.html
@@ -22,8 +22,11 @@
type-name="schemaProperty.type"
parent-form-obj="parentFormObj"
parent-property="parentProperty"
+ component-instance-map="componentInstanceMap"
fields-prefix-name="fieldsPrefixName+''+$index"
types="types"
+ is-service="isService"
+ complex-toscapath="$index"
read-only="readOnly"></fields-structure>
</div>
<div data-ng-if="!isSchemaTypeDataType">
diff --git a/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.html b/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.html
index fad6838d01..97e186eafb 100644
--- a/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.html
+++ b/catalog-ui/src/app/directives/property-types/type-map/type-map-directive.html
@@ -110,7 +110,11 @@
<fields-structure value-obj-ref="valueObjRef[mapKeysStatic[$index]]"
type-name="schemaProperty.type"
parent-form-obj="parentFormObj"
+ parent-property="parentProperty"
+ component-instance-map="componentInstanceMap"
fields-prefix-name="'mapValue'+fieldsPrefixName+''+$index"
+ is-service="isService"
+ complex-toscapath="mapKeys[$index]"
types="types"
read-only="readOnly"
></fields-structure>