Merge pull request #1614 from dibdot/adblock
[project/luci.git] / applications / luci-app-mwan3 / luasrc / view / mwan / status_interface.htm
1 <%#
2  Copyright 2014 Aedan Renner <chipdankly@gmail.com>
3  Copyright 2018 Florian Eckert <fe@dev.tdt.de>
4  Licensed to the public under the GNU General Public License v2.
5 -%>
6
7 <%+header%>
8
9 <ul class="cbi-tabmenu">
10         <li class="cbi-tab"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/overview")%>"><%:Interface%></a></li>
11         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/detail")%>"><%:Detail%></a></li>
12         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/diagnostics")%>"><%:Diagnostics%></a></li>
13         <li class="cbi-tab-disabled"><a href="<%=luci.dispatcher.build_url("admin/status/mwan/troubleshooting")%>"><%:Troubleshooting%></a></li>
14 </ul>
15
16 <script type="text/javascript" src="<%=resource%>/cbi.js"></script>
17 <script type="text/javascript">//<![CDATA[
18         XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "status", "mwan", "interface_status")%>', null,
19                 function(x, status)
20                 {
21                         var statusDiv = document.getElementById('mwan_status_text');
22                         if (status.interfaces)
23                         {
24                                 var statusview = '';
25                                 for ( var iface in status.interfaces)
26                                 {
27                                         var state = '';
28                                         var css = '';
29                                         switch (status.interfaces[iface].status)
30                                         {
31                                                 case 'online':
32                                                         state = '<%:Online (tracking active)%>';
33                                                         css = 'wanon';
34                                                         break;
35                                                 case 'notMonitored':
36                                                         state = '<%:Online (tracking off)%>';
37                                                         css = 'wanon';
38                                                         break;
39                                                 case 'offline':
40                                                         state = '<%:Offline%>';
41                                                         css = 'wanoff';
42                                                         break;
43                                                 default:
44                                                         state = '<%:Disabled%>';
45                                                         css = 'wanoff';
46                                                         break;
47                                         }
48                                         statusview += String.format(
49                                                 '<span class="%s"><strong>%s</strong><br />%s</span>',
50                                                 css,
51                                                 iface,
52                                                 state
53                                         );
54                                 }
55                                 statusDiv.innerHTML = statusview;
56                         }
57                         else
58                         {
59                                 statusDiv.innerHTML = '<strong><%:No MWAN interfaces found%></strong>';
60                         }
61                 }
62         );
63 //]]></script>
64
65 <div id="mwan_interface_status">
66         <fieldset id="interface_field" class="cbi-section">
67                 <legend><%:MWAN status - Interface Live Status%></legend>
68                 <div id="mwan_status_text"><img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" style="vertical-align:middle" /><%:Collecting data...%></div>
69         </fieldset>
70 </div>
71
72 <style type="text/css">
73   #mwan_status_text {
74         display: table;
75         font-size: 14px;
76         margin: auto;
77         max-width: 1044px;
78         min-width: 246px;
79         width: 100%;
80   }
81   .wanon {
82         background-color: rgb(144, 240, 144);
83   }
84   .wanoff {
85         background-color: rgb(240, 144, 144);
86   }
87   .wanon, .wanoff {
88         border-radius: 60px;
89         box-shadow: 0px 2px 5px -3px;
90         float: left;
91         margin: 8px 3px 0px 3px;
92         min-height: 30px;
93         min-width: 235px;
94         padding: 5px 10px 8px 10px;
95         text-align: center;
96   }
97   #mwan_statuslog_text {
98         padding: 20px;
99         text-align: left;
100   }
101 </style>
102
103 <%+footer%>