luci-app-nlbw: fix sporadic premature EOF when rendering JSON data
[project/luci.git] / applications / luci-app-mwan3 / luasrc / view / mwan / status_interface.htm
1 <%+header%>
2
3 <ul class="cbi-tabmenu">
4         <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface Status%></a></li>
5         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detailed Status%></a></li>
6         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
7         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
8 </ul>
9
10 <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
11 <script type="text/javascript">//<![CDATA[
12         XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_status")%>', null,
13                 function(x, mArray)
14                 {
15                         var statusDiv = document.getElementById('mwan_status_text');
16                         if (mArray.wans)
17                         {
18                                 var interfaceStatus = '';
19                                 for ( var i = 0; i < mArray.wans.length; i++ )
20                                 {
21                                         var status = '';
22                                         var css = '';
23                                         switch (mArray.wans[i].status)
24                                         {
25                                                 case 'online':
26                                                         status = '<%:Online (tracking active)%>';
27                                                         css = 'wanon';
28                                                         break;
29                                                 case 'notMonitored':
30                                                         status = '<%:Online (tracking off)%>';
31                                                         css = 'wanon';
32                                                         break;
33                                                 case 'offline':
34                                                         status = '<%:Offline%>';
35                                                         css = 'wanoff';
36                                                         break;
37                                                 case 'notEnabled':
38                                                         status = '<%:Disabled%>';
39                                                         css = 'wanoff';
40                                                         break;
41                                         }
42                                         interfaceStatus += String.format(
43                                                 '<span class="%s"><strong>%s (<a href="%q">%s</a>)</strong><br />%s</span>',
44                                                 css, mArray.wans[i].name, mArray.wans[i].link, mArray.wans[i].ifname, status
45                                         );
46                                 }
47                                 statusDiv.innerHTML = interfaceStatus;
48                         }
49                         else
50                         {
51                                 statusDiv.innerHTML = '<strong><%:No MWAN interfaces found%></strong>';
52                         }
53
54                         var logs = document.getElementById('mwan_statuslog_text');
55                         if (mArray.mwanlog)
56                         {
57                                 var mwanLog = '<%:Last 50 MWAN systemlog entries. Newest entries sorted at the top :%>';
58                                 logs.innerHTML = String.format('<pre>%s<br /><br />%s</pre>', mwanLog, mArray.mwanlog[0]);
59                         }
60                         else
61                         {
62                                 logs.innerHTML = '<strong><%:No MWAN systemlog history found%></strong>';
63                         }
64                 }
65         );
66 //]]></script>
67
68 <div id="mwan_interface_status">
69         <fieldset id="interface_field" class="cbi-section">
70                 <legend><%:MWAN Interface Live Status%></legend>
71                 <div id="mwan_status_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /><%:Collecting data...%></div>
72         </fieldset>
73         <fieldset class="cbi-section">
74                 <legend><%:MWAN Interface Systemlog%></legend>
75                 <div id="mwan_statuslog_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /><%:Collecting data...%></div>
76         </fieldset>
77 </div>
78
79 <style type="text/css">
80   #mwan_status_text {
81         display: table;
82         font-size: 14px;
83         margin: auto;
84         max-width: 1044px;
85         min-width: 246px;
86         width: 100%;
87   }
88   .wanon {
89         background-color: rgb(144, 240, 144);
90   }
91   .wanoff {
92         background-color: rgb(240, 144, 144);
93   }
94   .wanon, .wanoff {
95         border-radius: 60px;
96         box-shadow: 0px 2px 5px -3px;
97         float: left;
98         margin: 8px 3px 0px 3px;
99         min-height: 30px;
100         min-width: 235px;
101         padding: 5px 10px 8px 10px;
102         text-align: center;
103   }
104   #mwan_statuslog_text {
105         padding: 20px;
106         text-align: left;
107   }
108 </style>
109
110 <%+footer%>