Преглед на файлове

add populateSourceTable skeleton

Eager Beaver преди 5 години
родител
ревизия
d288c26e6b
променени са 2 файла, в които са добавени 63 реда и са изтрити 8 реда
  1. 10 7
      views/crfPortal.html
  2. 53 1
      web/tecant/crfPortal.js

+ 10 - 7
views/crfPortal.html

@@ -93,6 +93,8 @@ function init() {
 	par.formStatus=1;
 	par.addDiv="selectFormDiv";
 	
+	par.config=config;
+
 	par.source=new Object();
 	par.source.queryName="StudyProperties";
 	par.source.schemaName="study";
@@ -120,7 +122,7 @@ function init() {
 	//Crf		
 	let parCrf=new Object();
 	parCrf.masterSelectVarName="entryId";
-	//parCrf.callback=generateList;
+	parCrf.callback=generateList;
 	parCrf.selectId="crfSelect";
 	parCrf.addSelect=true;
 	parCrf.addNewFlag=-1;
@@ -131,7 +133,7 @@ function init() {
 	let parSite=new Object();
 	parSite.masterSelectVarName="Site";
 	
-	//parSite.callback=generateListAndPopulateDaughterSelect;
+	parSite.callback=generateListAndPopulateDaughterSelect;
 	parSite.selectId="SiteSelect";
 	parSite.daughterSelect="Crf";
 	parSite.inputType="select";
@@ -162,7 +164,7 @@ function init() {
 	par.vars["FormStatus"]=new Object();
 	let parFormStatus=par.vars["FormStatus"];
 	parFormStatus.masterSelectVarName="FormStatus";
-	//parFormStatus.callback=generateListAndPopulateDaughterSelect;
+	parFormStatus.callback=generateListAndPopulateDaughterSelect;
 	parFormStatus.selectId="FormStatusSelect";
 	parFormStatus.daughterSelect="Crf";
 	parFormStatus.inputType="select";
@@ -174,13 +176,14 @@ function init() {
 	parFormStatus.filter.filters["visibilityLevel"]="crfEditor"; 
 
 		
-	//par.vars["eudraCTNumber"]=sourceVar("EudraCTNumber","eudraCTNumber","EudraCTNumber");
-	//par.vars["studyCoordinator"]=sourceVar("StudyCoordinator","studyCoordinator","StudyCoordinator");
-	//par.vars["studySponsor"]=sourceVar("StudySponsor","studySponsor","StudySponsor");
+	par.vars["eudraCTNumber"]=sourceVar("EudraCTNumber","eudraCTNumber","EudraCTNumber");
+	par.vars["studyCoordinator"]=sourceVar("StudyCoordinator","studyCoordinator","StudyCoordinator");
+	par.vars["studySponsor"]=sourceVar("StudySponsor","studySponsor","StudySponsor");
+	par.vars["regulatoryNumber"]=sourceVar("RegulatoryNumber","regulatoryNumber","RegulatoryNumber");
 
 	par.filters=["User","Site","FormStatus"];
 	//par.filters=["User","Site"];
-	//drawForm(par);
+	drawForm(par);
 	
 }
 	

+ 53 - 1
web/tecant/crfPortal.js

@@ -3,6 +3,30 @@ function print(config,msg){
 	config.document.getElementById(config.debugId).value+="\n"+msg;
 }
 
+function drawForm(par){
+    
+	populateSourceTable(par);
+
+}
+
+function generateQConfig(listName){
+    let qConfig=new Object();
+    qConfig.containerPath="TECANT/Data";
+    qConfig.schemaName="lists";
+    qConfig.queryName=listName;
+    return qConfig;
+ }
+ 
+
+function sourceVar(crfEntryName,elementId,sourceName){
+	let f=new Object();
+	f.masterSelectVarName=crfEntryName;
+	f.selectId=elementId;
+	f.inputType="innerHTML";
+	f.sourceSelectVarName=sourceName;
+	return f;
+}
+
 function generateHead(config, headDivName,divName,title){
 	print(config,"generateHead");
 	let tb=config.document.createElement('table');
@@ -39,4 +63,32 @@ function toggleVisibility(config,divName,buttonName){
 		config.document.getElementById(buttonName).value="Show";
 
   	}
-}
+}
+
+function selectRowsSuccess(config,data){
+	print(config,"Select rows on "+data.queryName+" got "+data.rows.length+" rows.");
+}
+
+function populateSourceTable(par){
+	let debug=true;
+	if (debug){
+		print(par.config("populateSourceTable: Starting");
+	}
+    let config=generateQConfig(par.source.queryName);
+    config.schemaName=par.source.schemaName; 
+	
+	if (!("source" in par)) return;
+	if (debug){
+		print(par.config,"populateSourceTable ["+par.source.queryName+"]");
+	}
+
+	//config.success=function(data){populateSourceTableData(data,par)};
+	config.success=function(data){selectRowsSuccess(config,data)};
+	
+	config.failure=function(errorTxt){print(par.config,"populateSourceData:fail"+errorTxt.exception)};
+	LABKEY.Query.selectRows(config);
+}
+
+function generateListAndPopulateDaughterSelect(parameters,rowId){;}
+function generateList(parameters,rowId){;}
+