+
+ scope.onEnableTosca = (toscaFlag:boolean,key:string):void => {
+ scope.showToscaFunction.set(key,toscaFlag);
+ scope.valueObjRef[key] = "";
+ if (!toscaFlag) {
+ if (scope.parentProperty.subPropertyToscaFunctions != null) {
+ let subToscaFunctionList : Array<SubPropertyToscaFunction> = [];
+ scope.parentProperty.subPropertyToscaFunctions.forEach((SubPropertyToscaFunction, index) => {
+ if (SubPropertyToscaFunction.subPropertyPath.toString() != key) {
+ subToscaFunctionList.push(SubPropertyToscaFunction);
+ }
+ });
+ scope.parentProperty.subPropertyToscaFunctions = subToscaFunctionList;
+ }
+ }
+ };
+
+ scope.verifyTosca = (propName:string) : boolean => {
+ return scope.showToscaFunction.get(propName);
+ }
+
+ scope.getSubProperty = (propertyName: string) : PropertyDeclareAPIModel => {
+ return scope.subpropertyMap.get(propertyName);
+ }
+
+ scope.getToscaPathValue = (propertyName: string) : Array<string> => {
+ const parentObj : PropertyDeclareAPIModel = scope.subpropertyMap.get(propertyName);
+ if (parentObj.input instanceof DerivedFEProperty) {
+ return parentObj.input.toscaPath;
+ }
+ return [propertyName];
+ }
+
+ scope.onGetToscaFunction = (toscaGetFunction: ToscaGetFunction, key:string): void => {
+ let toscaPath = key;
+ scope.valueObjRef[key] = "";
+ if (scope.parentProperty.subPropertyToscaFunctions != null) {
+ let toscaFlag : boolean = true
+ scope.parentProperty.subPropertyToscaFunctions.forEach(SubPropertyToscaFunction => {
+ if (SubPropertyToscaFunction.subPropertyPath.toString() == toscaPath) {
+ SubPropertyToscaFunction.toscaFunction = toscaGetFunction;
+ toscaFlag = false;
+ return;
+ }
+ });
+ if (toscaFlag) {
+ let subPropertyToscaFunction = new SubPropertyToscaFunction();
+ subPropertyToscaFunction.toscaFunction = toscaGetFunction;
+ subPropertyToscaFunction.subPropertyPath = [toscaPath];
+ scope.parentProperty.subPropertyToscaFunctions.push(subPropertyToscaFunction);
+ }
+ } else {
+ let subPropertyToscaFunction = new SubPropertyToscaFunction();
+ subPropertyToscaFunction.toscaFunction = toscaGetFunction;
+ subPropertyToscaFunction.subPropertyPath = [toscaPath];
+ scope.parentProperty.subPropertyToscaFunctions = [subPropertyToscaFunction];
+ }
+ }
+