]> jspc29.x-matter.uni-frankfurt.de Git - daqtools.git/commitdiff
added auto refresh after write
authorJan Michel <j.michel@gsi.de>
Thu, 17 Oct 2013 13:55:40 +0000 (15:55 +0200)
committerJan Michel <j.michel@gsi.de>
Thu, 17 Oct 2013 13:55:40 +0000 (15:55 +0200)
web/htdocs/commands/xmlpage.pm
web/htdocs/index.html
web/htdocs/scripts/scriptsnew.js

index 9bec50062d54eb00e16cd525fe962ab126b9e57d..4cbfd5865beb36793dab13caa0666bfdf0994806 100644 (file)
@@ -3,25 +3,8 @@ package xmlpage;
 
 
 my $active = 0;
-my $n = 0;
 my @setup;
 
-sub getView {
-  my ($n) = @_;
-#   $active = $n;
-
-  if($setup[$n]->{refresh}) {
-    print qq|<input type="button" class="stdbutton" onClick="getdataprint('../xml-db/get.pl?|.$setup[$n]->{cmd}.qq|','content',false);" value="Refresh">|;
-    }
-  print qq|<div id="content"></div>|;
-  print qq|<script language="javascript">
-    setTimeout("getdataprint('../xml-db/get.pl?|.$setup[$n]->{cmd}.qq|','content',false,|.$setup[$n]->{period}.qq|)",400);
-    document.getElementById("content").addEventListener("click",test,0);
-  </script>|;
-  
-  
-}
-
 
 sub initPage {
   my ($ref_setup,$page) = @_;
@@ -44,7 +27,7 @@ sub initPage {
 <link href="../layout/styles.css" rel="stylesheet" type="text/css"/>
 <link href="../layout/blue.css" rel="stylesheet" title="Light Blue" type="text/css"/>
 EOF
-  printJavaScripts();
+  printJavaScripts($active);
   print qq(
 </HEAD>
 <BODY>
@@ -58,7 +41,15 @@ for ( my $s = 0; $s < scalar @setup; $s++) {
 print qq(</div>);
 
 if ($active!=-1) {
-  getView($active);
+
+  if($setup[$active]->{refresh}) {
+    print qq|<input type="button" class="stdbutton" onClick="refresh();" value="Refresh">|;
+    }
+  print qq|<div id="content"></div>|;
+  print qq|<script language="javascript">
+    setTimeout("refresh()",400);
+    document.getElementById("content").addEventListener("click",editsetting,0);
+  </script>|;
   }
 
 print <<EOF ;
@@ -66,11 +57,8 @@ print <<EOF ;
 </div>
 <div id="debugpane">
 <div class="header">Debug Output</div>
-<span id="returntext">
-</span>
+<span id="returntext"></span>
 </div>
-
-
 </BODY>
 </HTML>
 EOF
@@ -81,26 +69,30 @@ EOF
 
 
 sub printJavaScripts {
-
+  my ($n) =  @_;
 ####### javascript function land ################
 
-  print <<EOF;
+  print qq|
 <script language="javascript" src="../scripts/scriptsnew.js"></script>
 
 <script language="javascript">
 
   
-  function test(e) {
+  function editsetting(e) {
     if(e.target.getAttribute("class") && e.target.getAttribute("class").indexOf("editable")!=-1) {
       var text = e.target.getAttribute("cstr");
           text += "\\nCurrent Value: "+e.target.innerHTML+" ("+e.target.getAttribute("raw")+")\\n ";
       var newval = prompt(text,e.target.getAttribute("raw"));
-      getdataprint('../xml-db/put.pl?'+e.target.getAttribute("cstr")+'-'+newval,'returntext',false,0);
+      getdataprint('../xml-db/put.pl?'+e.target.getAttribute("cstr")+'-'+newval,'returntext',false,0,refresh);
       }
     }
+    
+  function refresh() {
+    getdataprint('../xml-db/get.pl?|.$setup[$n]->{cmd}.qq|','content',false,|.$setup[$n]->{period}.qq|);
+    }
   
 </script>
-EOF
+|;
 }
 
 
index ad761286e243e26cc23c2ed68cf4c454afdec4fb..2d1c7be397f06f01d06385b0abdba258c9069c72 100755 (executable)
@@ -37,8 +37,14 @@ The main documentation of the network can be found in these two documents:
 <li><a href="cts.htm">CTS Control</a>
 <li><a href="tdc/tdc.htm">TDC</a>
 <li><a href="tdc/tdc_debug.htm">TDC Debug</a>
+<li><a href="tdc/tdcstatctrl.pl">TDC (xml-based)</a>
+</ul>
+<ul>
 <li><a href="padiwa/padiwa.htm">Padiwa</a>
 <li><a href="thresh/threshold.htm">Threshold settings</a>
+<li><a href="nxyter/index.pl">Nxyter Read-out</a>
+</ul>
+<ul>
 <li><a href="network/trbnet.pl">TrbNet status</a>
 <li><a href="network/gbe.htm">GbE status</a>
 <li><a href="network/map.htm">Network Map</a>
index 1bc169fab5ddd143292be713007199c935af8aeb..ae2e084409c129dcccae4c7ae328dc72bdc83719 100644 (file)
@@ -17,7 +17,7 @@ function getdata(command,callback) {
   }
 
   
-function getdataprint(command,dId,async,time) {
+function getdataprint(command,dId,async,time,callback) {
   //async==true : do what you can when you can do it :D
   //async==false : do the task after you finished the previous task!
   
@@ -25,9 +25,9 @@ function getdataprint(command,dId,async,time) {
 //   alert("caller is " + arguments.callee.caller.toString());
   
   var xmlhttp = null;
-  //var cb = null;
+  var cb = null;
   xmlhttp=new XMLHttpRequest();
-  //cb = callback;
+  cb = callback;
   var destId = dId;
   var cmd = command;
   var asynci = async;
@@ -39,6 +39,9 @@ function getdataprint(command,dId,async,time) {
       if(document.getElementById(destId)){
         document.getElementById(destId).innerHTML  = xmlhttp.responseText;  
         }
+      if(cb) {
+        cb();
+        }
       if(time) {  
         setTimeout("getdataprint('"+cmd+"','"+destId+"','"+asynci+"','"+timei+"')",timei);
         }