luci-0.10: Merge r7907, r7927, r7966, r8222
[project/luci.git] / applications / luci-olsr / luasrc / view / status-olsr / overview.htm
index 952dd28cc73ea84217ba6b707cc48a55825b898a..d57da7cfe30b1eb3b2b77f4fb29bc59979260adf 100644 (file)
@@ -2,7 +2,7 @@
 LuCI - Lua Configuration Interface
 Copyright 2008 Steven Barth <steven@midlink.org>
 Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
-Copyright 2010 Manuel Munz <freifunk at somakoma dot de>
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -69,6 +69,23 @@ local nr_hna = #data.HNA
 
 local meshfactor = string.format("%.2f", nr_topo / nr_nodes)
 
+if luci.http.formvalue("status") == "1" then
+       rv = {
+               nr_neighbors = nr_neigbors,
+               neighbors = neighbors,
+               interfaces = interfaces,
+               nr_ifaces = nr_ifaces,
+               nr_links = nr_links,
+               nr_topo = nr_topo,
+               nr_nodes = nr_nodes,
+               meshfactor = meshfactor
+       }
+       luci.http.prepare_content("application/json")
+       luci.http.write_json(rv)
+       return
+end
+       
+
 local ipv = luci.model.uci.cursor():get_first("olsrd", "olsrd", "IpVersion", "4")
 
 function write_conf(conf, file)
@@ -104,64 +121,172 @@ end
 %>
 
 <%+header%>
+
+<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
+<script type="text/javascript">//<![CDATA[
+
+XHR.poll(30, '<%=REQUEST_URI%>', { status: 1 },
+                function(x, info)
+                {
+               var e;
+
+               if (e = document.getElementById('nr_neighbors'))
+                       e.innerHTML = info.nr_neighbors;
+
+               if (e = document.getElementById('neighbors'))
+                       e.innerHTML = info.neighbors;
+
+               if (e = document.getElementById('nr_ifaces'))
+                       e.innerHTML = info.nr_ifaces;
+
+               if (e = document.getElementById('interfaces'))
+                       e.innerHTML = info.interfaces;
+
+               if (e = document.getElementById('nr_links'))
+                       e.innerHTML = info.nr_links;
+
+               if (e = document.getElementById('nr_topo'))
+                       e.innerHTML = info.nr_topo;
+
+               if (e = document.getElementById('nr_nodes'))
+                       e.innerHTML = info.nr_nodes;
+
+               if (e = document.getElementById('meshfactor'))
+                       e.innerHTML = info.meshfactor;
+               }
+       );
+//]]></script>
+
+
 <h2><a id="content" name="content">OLSR <%:Overview%></a></h2>
 
 <div class="cbi-map">
        <div class="cbi-section-node">
-               <div class="cbi-value"><label class="cbi-value-title"><%:Interfaces%></label>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <label class="cbi-value-title"><%:Interfaces%></label>
+                       </div>
                        <div class="cbi-value-field">
                                <div style="width: 6em; float:left;">
-                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "interfaces")%>"><%=nr_ifaces%></a>
+                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "interfaces")%>">
+                                               <span id="nr_ifaces">
+                                                       <%=nr_ifaces%>
+                                               <span>
+                                       </a>
                                </div>
-                               <div style="padding-left: 6em;">
-                                       <%=interfaces%>
+                               <div style="padding-left: 21em;">
+                                       <span id="interfaces">
+                                               <%=interfaces%>
+                                       </span>
                                </div>
                        </div>
+                       <br/>
                </div>
-       
-               <div class="cbi-value"><label class="cbi-value-title"><%:Neighbors%></label>
+
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Neighbors%>
+                       </div>
                        <div class="cbi-value-field">
                                <div style="width: 6em; float:left;">
-                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "neighbors")%>"><%=nr_neigh%></a>
+                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "neighbors")%>">
+                                               <span id="nr_neigh">
+                                                       <%=nr_neigh%>
+                                               </span>
+                                       </a>
                                </div>
-                               <div style="padding-left: 6em;">
-                                       <%=neighbors%>
+                               <div style="padding-left: 21em;">
+                                       <span id="neighbors">
+                                               <%=neighbors%>
+                                       </span>
                                </div>
                        </div>
+                       <br/>
                </div>
 
-               <div class="cbi-value"><label class="cbi-value-title"><%:Nodes%></label>
-                       <div class="cbi-value-field"><a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>"><%=nr_nodes%></a>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Nodes%>
                        </div>
+                       <div class="cbi-value-field">
+                               <div style="width: 6em; float:left;">
+                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>">
+                                               <span id="nr_nodes">
+                                                       <%=nr_nodes%>
+                                               </span>
+                                       </a>
+                               </div>
+                       </div>
+                       <br/>
                </div>
 
-               <div class="cbi-value"><label class="cbi-value-title"><%:HNA%></label>
-                       <div class="cbi-value-field"><a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "hna")%>"><%=nr_hna%></a>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:HNA%>
+                       </div>
+                       <div class="cbi-value-field">
+                               <div style="width: 6em; float:left;">
+                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "hna")%>">
+                                               <span id="nr_hna">
+                                                       <%=nr_hna%>
+                                               </span>
+                                       </a>
+                               </div>
                        </div>
+                       <br/>
                </div>
 
-               <div class="cbi-value"><label class="cbi-value-title"><%:Links total%></label>
-                       <div class="cbi-value-field"><a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>"><%=nr_topo%></a>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Links total%>
                        </div>
+                       <div class="cbi-value-field">
+                               <div style="width: 6em; float:left;">
+                                       <a href="<%=luci.dispatcher.build_url("freifunk", "olsr", "topology")%>">
+                                               <span id="nr_topo">
+                                                       <%=nr_topo%>
+                                               </span>
+                                       </a>
+                               </div>
+                       </div>
+                       <br/>
                </div>
 
-               <div class="cbi-value"><label class="cbi-value-title"><%:Links per node (average)%></label>
-                       <div class="cbi-value-field"><%=meshfactor%>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Links per node (average)%>
                        </div>
+                       <div class="cbi-value-field">
+                               <div style="width: 6em; float:left;">
+                                       <span id="meshfactor">
+                                               <%=meshfactor%>
+                                       </span>
+                               </div>
+                       </div>
+                       <br/>
                </div>
        </div>
 </div>
+<br/>
 
 <h2><a id="content" name="content">OLSR <%:Configuration%></a></h2>
 
 <div class="cbi-map">
        <div class="cbi-section-node">
-               <div class="cbi-value"><label class="cbi-value-title"><%:Version%></label>
-                       <div class="cbi-value-field"><%=ver.version%> (built <%=ver.date%> on <%=ver.host%>)
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Version%>
+                       </div>
+                       <div class="cbi-value-field">
+                               <%=ver.version%> (built <%=ver.date%> on <%=ver.host%>)
                        </div>
+                       <br/>
                </div>
 
-               <div class="cbi-value"><label class="cbi-value-title"><%:Download Config%></label>
+               <div class="cbi-value">
+                       <div style="width: 15em; float:left;">
+                               <%:Download Config%>
+                       </div>
                        <div class="cbi-value-field">
                                <a href="<%=REQUEST_URI%>?openwrt">OpenWrt</a>,
                                <% if ipv == "6and4" then %>
@@ -171,6 +296,7 @@ end
                                        <a href="<%=REQUEST_URI%>?conf">OLSRD</a>
                                <% end %>
                        </div>
+                       <br/>
                </div>
        </div>
 </div>