|
@@ -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){;}
|
|
|
|