applications/luci-multiwan: add status indicators, patch by Etienne Champetier <etien...
[project/luci.git] / applications / luci-multiwan / luasrc / view / multiwan_status.htm
1 <script type="text/javascript">//<![CDATA[
2         XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "network", "multiwan", "status")%>', null,
3                 function(x, st)
4                 {
5                         var tx = document.getElementById('multiwan_status_text');
6                         if (tx)
7                         {
8                                 if (st && st.wans)
9                                 {
10                                         var temp = '';
11
12                                         for( var i = 0; i < st.wans.length; i++ )
13                                         {
14                                                 var stat = '<%:Unknown%>';
15                                                 var cssc = '';
16
17                                                 switch (st.wans[i].status)
18                                                 {
19                                                         case 'ok':
20                                                                 stat = '<%:OK%>';
21                                                                 cssc = 'wanok';
22                                                                 break;
23
24                                                         case 'ko':
25                                                                 stat = '<%:KO%>';
26                                                                 cssc = 'wanko';
27                                                                 break;
28
29                                                         case 'recovering':
30                                                                 stat = String.format('<%:Recovering%>(%d)', st.wans[i].count);
31                                                                 cssc = 'wanrecov';
32                                                                 break;
33
34                                                         case 'failing':
35                                                                 stat = String.format('<%:Failing%>(%d)', st.wans[i].count);
36                                                                 cssc = 'wanfail';
37                                                                 break;
38                                                 }
39
40                                                 temp += String.format(
41                                                         '<span class="%s"><strong>%s (<a href="%q">%s</a>) :</strong> %s</span>',
42                                                                 cssc, st.wans[i].name, st.wans[i].link, st.wans[i].ifname, stat
43                                                 );
44                                         }
45                                         
46                                         tx.innerHTML = temp;
47                                 }
48                                 else
49                                 {
50                                         tx.innerHTML = '';
51                                 }
52                         }
53                 }
54         );
55 //]]></script>
56
57 <style type="text/css">
58   .wanok { background-color: rgb(144, 240, 144); }
59   .wanko { background-color: rgb(240, 144, 144); }
60   .wanrecov { background-color: rgb(240, 240, 0); }
61   .wanfail { background-color: rgb(255, 165, 0); }
62   .wanko, .wanok, .wanrecov, .wanfail {
63         padding: 0.4em;
64         margin: 0.4em;
65   }
66 </style>
67
68 <fieldset class="cbi-section">
69         <legend><%:Multi-WAN Status%></legend>
70         <div id="multiwan_status_text" style="text-align:center;"><em><%:Collecting data...%></em></div>
71 </fieldset>