if (!this.isInitialized) {
return;
}
- this.emitValidityChange();
if (this.formGroup.valid) {
this.onValidFunction.emit(this.toscaFunctionForm.value);
}
let keyToFind = [this.compositionMapKey];
let subPropertyToscaFunction = this.property.subPropertyToscaFunctions.find(subPropertyToscaFunction => this.areEqual(subPropertyToscaFunction.subPropertyPath, keyToFind));
- if (subPropertyToscaFunction){
- this.toscaFunction = subPropertyToscaFunction.toscaFunction;
- this.toscaFunctionForm.setValue(this.toscaFunction);
- this.toscaFunctionTypeForm.setValue(this.toscaFunction.type);
+ if (subPropertyToscaFunction){
+ this.toscaFunction = subPropertyToscaFunction.toscaFunction;
+ this.toscaFunctionForm.setValue(this.toscaFunction);
+ let type = this.toscaFunction.type;
+ if (type == ToscaFunctionType.CUSTOM) {
+ let name = (subPropertyToscaFunction.toscaFunction as ToscaCustomFunction).name;
+ let customToscaFunc = this.customToscaFunctions.find(custToscFunc => _.isEqual(custToscFunc.name, name))
+ if (customToscaFunc) {
+ this.toscaFunctionTypeForm.setValue(name);
+ } else {
+ this.toscaFunctionTypeForm.setValue("other");
+ }
+ } else {
+ this.toscaFunctionTypeForm.setValue(type);
}
- return;
+ }
+ return;
}
if (this.property instanceof PropertyDeclareAPIModel && this.property.subPropertyToscaFunctions && (<PropertyDeclareAPIModel> this.property).propertiesName){
let propertiesPath = (<PropertyDeclareAPIModel> this.property).propertiesName.split("#");
if (subPropertyToscaFunction){
this.toscaFunction = subPropertyToscaFunction.toscaFunction;
this.toscaFunctionForm.setValue(this.toscaFunction);
- this.toscaFunctionTypeForm.setValue(this.toscaFunction.type);
+ let type = this.toscaFunction.type;
+ if (type == ToscaFunctionType.CUSTOM) {
+ let name = (subPropertyToscaFunction.toscaFunction as ToscaCustomFunction).name;
+ let customToscaFunc = this.customToscaFunctions.find(custToscFunc => _.isEqual(custToscFunc.name, name))
+ if (customToscaFunc) {
+ this.toscaFunctionTypeForm.setValue(name);
+ } else {
+ this.toscaFunctionTypeForm.setValue("other");
+ }
+ } else {
+ this.toscaFunctionTypeForm.setValue(type);
+ }
}
return;
}
} else {
this.toscaFunctionForm.setValue(undefined);
}
+ this.emitValidityChange();
}
onGetFunctionValidityChange(validationEvent: ToscaGetFunctionValidationEvent): void {
} else {
this.toscaFunctionForm.setValue(undefined);
}
+ this.emitValidityChange();
}
onYamlFunctionValidityChange(validationEvent: YamlFunctionValidationEvent): void {