summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts')
-rw-r--r--catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts25
1 files changed, 12 insertions, 13 deletions
diff --git a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts
index 61708ab948..21e8363eb8 100644
--- a/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts
+++ b/catalog-ui/src/app/ng2/pages/composition/interface-operatons/operation-creator/input-list/input-list-item/input-list-item.component.ts
@@ -30,6 +30,7 @@ import {ToscaFunctionValidationEvent} from "../../../../../properties-assignment
import {InstanceFeDetails} from "../../../../../../../models/instance-fe-details";
import {ToscaTypeHelper} from "app/utils/tosca-type-helper";
import {CustomToscaFunction} from "../../../../../../../models/default-custom-functions";
+import {SubPropertyToscaFunction} from "../../../../../../../models/sub-property-tosca-function";
@Component({
selector: 'app-input-list-item',
@@ -49,7 +50,7 @@ export class InputListItemComponent implements OnInit {
@Input() isMapChild: boolean = false;
@Input() showToscaFunctionOption: boolean = false;
@Input() listIndex: number;
- @Input() subPropertyToscaFunctions: SubPropertyToscaFunctions[];
+ @Input() subPropertyToscaFunctions: SubPropertyToscaFunction[];
@Input() isViewOnly: boolean;
@Input() allowDeletion: boolean = false;
@Input() toscaFunction: ToscaFunction;
@@ -86,6 +87,15 @@ export class InputListItemComponent implements OnInit {
}
}
+ ngOnChanges(): void {
+ if (this.isToscaFunction) {
+ this.property.toscaFunction = this.toscaFunction;
+ this.valueObjRef = this.toscaFunction.value;
+ } else {
+ this.property.toscaFunction = undefined;
+ }
+ }
+
private initEmptyPropertyInValueObjRef(property: PropertyBEModel) {
if (this.valueObjRef[property.name] == undefined) {
if (this.isTypeComplex(property.type) || this.isTypeMap(property.type)) {
@@ -101,18 +111,12 @@ export class InputListItemComponent implements OnInit {
getToscaFunction(key: any): any {
if (this.subPropertyToscaFunctions) {
for (let subPropertyToscaFunction of this.subPropertyToscaFunctions) {
- let found = subPropertyToscaFunction.subPropertyPath.find(value => value === key);
+ let found = subPropertyToscaFunction.subPropertyPath ? subPropertyToscaFunction.subPropertyPath.find(value => value === key) : false;
if (found) {
return subPropertyToscaFunction.toscaFunction;
}
}
}
- if ((key && this.valueObjRef[key] && this.valueObjRef[key].type)) {
- const type = this.valueObjRef[key].type;
- if (type in ToscaFunctionType) {
- return <ToscaFunction> this.valueObjRef[key];
- }
- }
return undefined;
}
@@ -347,8 +351,3 @@ export class InputListItemComponent implements OnInit {
}
}
-
-export interface SubPropertyToscaFunctions {
- subPropertyPath: string[];
- toscaFunction: ToscaFunction;
-}