Quellcode durchsuchen

Adding populate table row w/o populateSelect

Eager Beaver vor 5 Jahren
Ursprung
Commit
5fbbc8e86c
1 geänderte Dateien mit 82 neuen und 0 gelöschten Zeilen
  1. 82 0
      web/tecant/crfPortal.js

+ 82 - 0
web/tecant/crfPortal.js

@@ -177,6 +177,88 @@ function generateTableRow(data, parameters, tableId, rowId){
 	
 }
 
+function populateSelectTableEntry(parameters,rowId){
+
+	let debug=true;	
+	let row=parameters.vars[rowId];
+	if (debug)
+		print(parameters.config,"populateSelectTableEntry:"+parameters.masterQuery+"/"+row.masterSelectVarName);
+		
+	
+
+	let config=generateQConfig(parameters.masterQuery);
+    
+    if ("filter" in row){
+		//populateSelect on authorizationQuery with authSelectVarName
+		let filter=row.filter;
+		if (debug){
+			print("Filter:"+filter.queryName);
+			print("FilterVar "+filter.filterVarName);
+		}
+		config.queryName=filter.queryName;
+		config.filterArray=[];
+		for (f in filter.filters){
+			if (debug) print(parameters.config,"Adding filter: "+f+" val "+filter.filters[f]);
+			config.filterArray.push(LABKEY.Filter.create(f,filter.filters[f]));
+		}
+	}
+	else{
+		config.queryName=parameters.masterQuery;
+	}
+	
+	config.success=function(data){populateTableRow(data,parameters,rowId)};
+	LABKEY.Query.selectRows(config);
+	if (debug)
+		print(parameters.config,"generateSelect: End");
+	return;
+	
+}
+
+function populateTableRow(data,parameters,rowId){
+	//data is output of selectRows on either 
+	//	* masterQuery looking at masterSelectVarName or 
+	//	* authQuery looking at authSelectVarName
+
+	//in both cases, query[varName] is a lookup variable, so do populateSelect with lookupData,queryData and parameters
+	let debug=true;
+	let row=parameters.vars[rowId];
+	let varName=row.masterSelectVarName;
+	if ("filter" in row){
+		if (row.filter.queryName==data.queryName){
+			varName=row.filter.filterVarName;
+		}
+	}
+
+	if (debug)
+		print(parameters.config,"generateSelectVar: "+data.queryName+"/"+varName+" size "+data.rows.length);
+
+	let field=getField(data,varName);
+	
+	if (!field) {
+		print("Field "+varName+" not found");
+		return;
+	}
+
+	if (!("lookup" in field)){
+		let entry=data.rows[0];
+		print("Field "+varName+" not a lookup");
+		//populateSelectNotLookup(data,parameters,rowId, entry);	
+		return;
+	}
+	
+	let config=generateQConfig(field.lookup.queryName);
+	config.schemaName=field.lookup.schemaName;
+	//config.success=function(lookupData){populateSelect(lookupData,data,parameters,rowId)};
+	config.success=function(data){selectRowsSuccess(par.config,data)};
+	LABKEY.Query.selectRows(config);	
+	
+	if (debug)
+		print(parameters.config,"generateSelectVar: End");
+	
+}	
+
+//populateSelect, populateSelectNotLookup
+
 function generateListAndPopulateDaughterSelect(parameters,rowId){;}
 function generateList(parameters,rowId){;}