|
@@ -8,6 +8,7 @@ function drawForm(par){
|
|
|
populateSourceTable(par); //populateSourceTableData
|
|
|
let tableId="entryTable";
|
|
|
generateTable(par,"formDiv",tableId);
|
|
|
+ generateRow(par,tableId,"User");//generateTableRow
|
|
|
|
|
|
|
|
|
}
|
|
@@ -30,6 +31,19 @@ function sourceVar(crfEntryName,elementId,sourceName){
|
|
|
return f;
|
|
|
}
|
|
|
|
|
|
+function getField(config, data, varName){
|
|
|
+ let debug=false;
|
|
|
+ if (debug) print(config, "getField");
|
|
|
+ let fields=data.metaData.fields;
|
|
|
+ for (f in fields){
|
|
|
+ if (debug) print(config,"Checking "+f+": name "+fields[f].name+"/"+varName);
|
|
|
+ if (fields[f].name!=varName) continue;
|
|
|
+ return fields[f];
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
function generateHead(config, headDivName,divName,title){
|
|
|
print(config,"generateHead");
|
|
|
let tb=config.document.createElement('table');
|
|
@@ -125,6 +139,35 @@ function generateTable(par,divName,elementId){
|
|
|
}
|
|
|
|
|
|
|
|
|
+function generateRow(parameters, tableId, rowId){
|
|
|
+ let debug=true;
|
|
|
+ if (debug)
|
|
|
+ print(parameters.config,"generateRow: Start");
|
|
|
+ let config=generateQConfig(parameters.masterQuery);
|
|
|
+ config.success=function(data){generateTableRow(data, parameters, tableId, rowId)};
|
|
|
+ LABKEY.Query.selectRows(config);
|
|
|
+ if (debug)
|
|
|
+ print(parameters.config,"generateRow: End");
|
|
|
+ return;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+function generateTableRow(data, parameters, tableId, rowId){
|
|
|
+ let tb=parameters.config.document.getElementById(tableId);
|
|
|
+ let row=parameters.vars[rowId];
|
|
|
+ let field=getField(parameters.config,data,row.masterSelectVarName);
|
|
|
+ let trow=tb.insertRow();
|
|
|
+ let cell=parameters.config.document.createElement('th');
|
|
|
+ trow.appendChild(cell);
|
|
|
+ let text = parameters.config.document.createTextNode(field.shortCaption);
|
|
|
+ cell.appendChild(text);
|
|
|
+ cell=trow.insertCell();
|
|
|
+ let input = parameters.config.document.createElement("select");
|
|
|
+ input.id = row.selectId;
|
|
|
+ input.onchange=function(){row.callback(parameters,rowId)};
|
|
|
+ cell.appendChild(input);
|
|
|
+}
|
|
|
+
|
|
|
function generateListAndPopulateDaughterSelect(parameters,rowId){;}
|
|
|
function generateList(parameters,rowId){;}
|
|
|
|