]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
add option to fold tables on xml web pages
authorJan Michel <j.michel@gsi.de>
Mon, 7 May 2018 14:58:38 +0000 (16:58 +0200)
committerJan Michel <j.michel@gsi.de>
Mon, 7 May 2018 14:58:38 +0000 (16:58 +0200)
web/htdocs/commands/xmlpage.pm
web/htdocs/layout/styles.css
web/htdocs/scripts/scriptsnew.js

index 02dd199052b684c8f178b6bc6f5ca0422db91050..59d42333e086263a0357789f382977212139de5d 100644 (file)
@@ -25,6 +25,7 @@ sub initPage {
   my ($cmdMod,$cmdAddr,$cmdReg) = split('-',$setup[$active]->{cmd});
   my $israte  = $setup[$active]->{rate};
   my $iscache = $setup[$active]->{cache};
+  my $isfold  = $setup[$active]->{fold};
   
   $getscript = $page->{getscript};
   if(!defined $getscript) {
@@ -58,7 +59,7 @@ if($setup[$active]->{generic} == 1) {
   print qq|
   <div class="checkbox"><input type="text" id="target" title="Enter any valid command in the form Module-Address-Name" 
   value="$cmd" onChange="settarget()" onLoad="settarget()"
-  style="width:150px;text-align:left"></div>
+  style="width:250px;text-align:left"></div>
   |;
   }
 
@@ -80,6 +81,8 @@ print qq|
     <label for="rate">Rates</label></div>
 <div class="checkbox"|.($setup[$active]->{nocache}?'style="display:none"':"").qq|><input type="checkbox" onChange="settarget()" value="1" id="cache" title="Use caching of data to reduce load on DAQ network" $iscache>
     <label for="cache">Use Cache</label></div>
+<div class="checkbox"><input type="checkbox" value="0" id="fold" title="Fold table on large pages" $isfold>
+    <label for="cache">Fold Tables</label></div>
 <div class="checkbox"><input type="button" class="stdbutton" onClick="refresh(-1);" value="Refresh"></div>
 </div>
 <div id="content"></div>|;
@@ -106,6 +109,9 @@ sub printJavaScripts {
 ####### javascript function land ################
 
   print qq|
+<script language="javascript"> 
+   var isNotFolded = new Array();
+</script>   
 <script language="javascript" src="../scripts/scriptsnew.js"></script>
 <script language="javascript" src="../scripts/xmlpage.js"></script>
 <script language="javascript">
@@ -114,8 +120,9 @@ sub printJavaScripts {
   var command="|.$setup[$n]->{cmd}.qq|";
   var currentpage = $active;
   var Timeoutvar;
-  
 
+
+  isNotFolded[1] = 1;
   setTimeout('eatCookies()',100);
 //   setTimeout('document.getElementById("period").value = period;',300);
   setTimeout('document.getElementById("content").addEventListener("click",editsetting,0)',400);
index 2d1685819f70e6a39b8d75cf8677e2d7a76d8894..70592bf5d88bce293027d5b4e47128c8a3ca3b51 100644 (file)
@@ -293,3 +293,11 @@ table#server-details pre {
 .smallboxes input {
   width:40px;
   }
+
+.folded tbody {
+  display : none;
+}  
+
+.folded thead tr{
+  height:50px;
+  }  
index 8339f498160cb32efb6c6d8c8881ab8ff6927a30..7cba2088284ce053d2c34498da5f0ddb9d325583 100644 (file)
@@ -38,6 +38,20 @@ function getdataprint(command,dId,async,time,callback) {
       //if(cb)
       if(document.getElementById(destId)){
         document.getElementById(destId).innerHTML  = xmlhttp.responseText;  
+        if(document.getElementById("fold") && document.getElementById("fold").checked) {
+           t = document.getElementsByClassName('queryresult');
+           for (var i=0; i<t.length; i++) {
+            if(!isNotFolded[i]) { 
+              t[i].classList.add("folded");
+              isNotFolded[i] = 0;
+              }
+            t[i].number = i;  
+            t[i].onclick = function() {
+              this.classList.toggle("folded");
+              isNotFolded[this.number] = 1 - isNotFolded[this.number];
+              }  
+            }
+          }
 //         t = document.getElementsByClassName('sortable');
 //         for (var i=0; i<t.length; i++) {       
 //           sorttable.makeSortable(t[i]);