2 Copyright
2008-
2009 Steven Barth
<steven@midlink.org
>
3 Copyright
2008-
2018 Jo-Philipp Wich
<jo@mein.io
>
4 Licensed to the public under the Apache License
2.0.
7 <script type=
"text/javascript">//<![CDATA[
8 function wifi_delete(ev) {
9 if (!confirm(<%=luci.http.write_json(translate('Really delete this wireless network? The deletion cannot be undone! You might lose access to this device if you are connected via this network.'))%
>)) {
14 ev.target.previousElementSibling.value = '
1';
18 function wifi_restart(ev) {
21 findParent(ev.target, '.table').querySelectorAll('[
data-disabled=
"false"]').forEach(function(s) {
22 s.innerHTML = '
<em><%:Wireless is restarting...%
></em>';
25 (new XHR()).post('<%=url('admin/network/wireless_reconnect')%
>/' + ev.target.getAttribute('data-radio'),
26 { token: '<%=token%
>' }, XHR.run);
31 document.querySelectorAll('[data-network]').forEach(function(n) {
32 networks.push(n.getAttribute('data-network'));
35 XHR.poll(
5, '<%=url('admin/network/wireless_status')%
>/' + networks.join(','), null,
43 st.forEach(function(s) {
44 var r = radiostate[s.device.device] || (radiostate[s.device.device] = {});
46 s.is_assoc = (s.bssid && s.bssid != '
00:
00:
00:
00:
00:
00' && s.channel && s.mode != 'Unknown' && !s.disabled);
48 r.up = r.up || s.is_assoc;
49 r.channel = r.channel || s.channel;
50 r.bitrate = r.bitrate || s.bitrate;
51 r.frequency = r.frequency || s.frequency;
54 for( var i =
0; i < st.length; i++ )
57 sig = document.getElementById(iw.id + '-iw-signal'),
58 info = document.getElementById(iw.id + '-iw-status'),
59 disabled = (info && info.getAttribute('data-disabled') === 'true');
62 var q = disabled ? -
1 : p;
66 icon =
"<%=resource%>/icons/signal-none.png";
68 icon =
"<%=resource%>/icons/signal-0.png";
70 icon =
"<%=resource%>/icons/signal-0-25.png";
72 icon =
"<%=resource%>/icons/signal-25-50.png";
74 icon =
"<%=resource%>/icons/signal-50-75.png";
76 icon =
"<%=resource%>/icons/signal-75-100.png";
80 sig.innerHTML = String.format(
81 '
<span class=
"ifacebadge" title=
"<%:Signal%>: %d <%:dBm%> / <%:Noise%>: %d <%:dBm%>"><img src=
"%s" /> %d%%
</span>',
82 iw.signal, iw.noise, icon, p
88 info.innerHTML = String.format(
89 '
<strong><%:SSID%
>:
</strong> %h | ' +
90 '
<strong><%:Mode%
>:
</strong> %s
<br />' +
91 '
<strong><%:BSSID%
>:
</strong> %s | ' +
92 '
<strong><%:Encryption%
>:
</strong> %s',
93 iw.ssid, iw.mode, iw.bssid,
94 iw.encryption ? iw.encryption : '<%:None%
>'
97 info.innerHTML = String.format(
98 '
<strong><%:SSID%
>:
</strong> %h | ' +
99 '
<strong><%:Mode%
>:
</strong> %s
<br />' +
101 iw.ssid || '?', iw.mode,
102 disabled ? '
<em><%:Wireless is disabled%
></em>'
103 : '
<em><%:Wireless is not associated%
></em>'
108 for (var dev in radiostate)
110 var img = document.getElementById(dev + '-iw-upstate');
112 img.src = '<%=resource%
>/icons/wifi' + (radiostate[dev].up ? '' : '_disabled') + '.png';
114 var stat = document.getElementById(dev + '-iw-devinfo');
116 stat.innerHTML = String.format(
117 '
<strong><%:Channel%
>:
</strong> %s (%s <%:GHz%
>) | ' +
118 '
<strong><%:Bitrate%
>:
</strong> %s <%:Mbit/s%
>',
119 radiostate[dev].channel ? radiostate[dev].channel : '?',
120 radiostate[dev].frequency ? radiostate[dev].frequency : '?',
121 radiostate[dev].bitrate ? radiostate[dev].bitrate : '?'