summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm')
-rw-r--r--applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm200
1 files changed, 138 insertions, 62 deletions
diff --git a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
index 74542a9ca5..98e2e64bce 100644
--- a/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
+++ b/applications/luci-app-travelmate/luasrc/view/travelmate/stations.htm
@@ -4,75 +4,151 @@ This is free software, licensed under the Apache License, Version 2.0
-%>
<%-
- local write = io.write
- local uci = require("luci.model.uci").cursor()
- local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
+ local uci = require("luci.model.uci").cursor()
+ local trmiface = uci:get("travelmate", "global", "trm_iface") or "trm_wwan"
-%>
<%+header%>
+<script type="text/javascript">
+//<![CDATA[
+ function status_update(json)
+ {
+ var i;
+ var j;
+ var search;
+ var view;
+ var list;
+ var status = json.data.travelmate_status;
+ var faulty = json.data.faulty_stations;
+
+ if (faulty)
+ {
+ var faulty_array = faulty.split(' ');
+ for (i = 0; i < faulty_array.length; i++)
+ {
+ for (j = 1; j <= 5; j++)
+ {
+ search = j + "_" + faulty_array[i];
+ view = document.getElementById(search);
+ if (view)
+ {
+ view.setAttribute("name", "station_nok");
+ view.setAttribute("style", "color: #a22; font-weight: bold");
+ }
+ }
+ }
+ }
+ else
+ {
+ list = document.getElementsByName("station_nok");
+ if (list.length > 0)
+ {
+ for (i = 0; i < list.length; i++)
+ {
+ list[i].removeAttribute("style");
+ }
+ }
+ }
+
+ if (status.startsWith("connected"))
+ {
+ for (i = 1; i <= 5; i++)
+ {
+ search = i + "_" + json.data.station_id;
+ view = document.getElementById(search);
+ if (view)
+ {
+ view.setAttribute("style", "color: #37c; font-weight: bold");
+ }
+ }
+ }
+ else
+ {
+ list = document.getElementsByName("station_ok");
+ if (list.length > 0)
+ {
+ for (i = 0; i < list.length; i++)
+ {
+ list[i].removeAttribute("style");
+ }
+ }
+ }
+ }
+
+ XHR.get('<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
+ function(x, json_info)
+ {
+ if (!x || !json_info)
+ {
+ return;
+ }
+ status_update(json_info)
+ });
+
+ XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
+ function(x, json_info)
+ {
+ if (!x || !json_info)
+ {
+ return;
+ }
+ status_update(json_info)
+ });
+//]]>
+</script>
<div class="cbi-map">
-<div class="cbi-map-descr">
- <%=translatef("Provides an overview of all configured uplinks for the travelmate interface (%s). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue.", trmiface)%>
-</div>
+ <div class="cbi-map-descr">
+ <%=translatef("Provides an overview of all configured uplinks for the travelmate interface (%s). You can edit, delete or re-order existing uplinks or scan for a new one. The currently used uplink is emphasized in blue, faulty stations in red.", trmiface)%>
+ </div>
-<div class="cbi-section">
- <div class="table cbi-section-table">
- <div class="tr cbi-section-table-titles">
- <div class="th left"><%:Device%></div>
- <div class="th left"><%:SSID%></div>
- <div class="th left"><%:BSSID%></div>
- <div class="th left"><%:Encryption%></div>
- <div class="th center">&#160;</div>
- </div>
-<%
- uci:foreach("wireless", "wifi-iface", function(s)
- local iface = s.network or ""
- if iface == trmiface then
- local section = s['.name'] or ""
- local device = s.device or "-"
- local ssid = s.ssid or "-"
- local bssid = s.bssid or "-"
- local encryption = s.encryption or "-"
- local disabled = s.disabled or ""
- local style = "text-align:left;color:#000000"
- if disabled == "0" then
- style = "text-align:left;color:#0069d6;font-weight:bold"
- end
-%>
- <div class="tr cbi-section-table-row cbi-rowstyle-1" style="<%=style%>">
- <div class="td" style="<%=style%>"><%=device%></div>
- <div class="td" style="<%=style%>"><%=ssid%></div>
- <div class="td" style="<%=style%>"><%=bssid%></div>
- <div class="td" style="<%=style%>"><%=encryption%></div>
- <div class="td cbi-section-actions">
- <input class="cbi-button cbi-button-up" type="button" value="<%:Up%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=up'" alt="<%:Move up%>" title="<%:Move up%>"/>
- <input class="cbi-button cbi-button-down" type="button" value="<%:Down%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=down'" alt="<%:Move down%>" title="<%:Move down%>"/>
- <input type="button" class="cbi-button cbi-button-edit" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" value="<%:Edit%>"/>
- <input type="button" class="cbi-button cbi-button-remove" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" value="<%:Delete%>"/>
- </div>
- </div>
-<%
- end
- end)
-%>
- </div>
-</div>
-<div class="cbi-page-actions right">
-<%
- uci:foreach("wireless", "wifi-device", function(s)
- local device = s[".name"]
-%>
- <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/wifiscan')%>" method="post">
- <input type="hidden" name="device" value="<%=device%>"/>
- <input type="hidden" name="token" value="<%=token%>"/>
- <input type="submit" class="cbi-button cbi-button-action important" title="<%:Find and join network on%> <%=device%>" value="<%:Scan%> <%=device%>"/>
- </form>
-<%
- end)
-%>
-</div>
+ <div class="cbi-section">
+ <div class="table cbi-section-table">
+ <div class="tr cbi-section-table-titles">
+ <div class="th left"><%:Device%></div>
+ <div class="th left"><%:SSID%></div>
+ <div class="th left"><%:BSSID%></div>
+ <div class="th left"><%:Encryption%></div>
+ <div class="th center"><%:Action%></div>
+ </div>
+ <%- uci:foreach("wireless", "wifi-iface", function(s)
+ local iface = s.network or ""
+ if iface == trmiface then
+ local section = s['.name'] or ""
+ local device = s.device or "-"
+ local ssid = s.ssid or "-"
+ local bssid = s.bssid or "-"
+ local encr = s.encryption or "-"
+ -%>
+ <div class="tr cbi-section-table-row cbi-rowstyle-1" name="station_ok" id="1_<%=device%>/<%=ssid%>/<%=bssid%>">
+ <div class="td left" name="station_ok" id="2_<%=device%>/<%=ssid%>/<%=bssid%>"><%=device%></div>
+ <div class="td left" name="station_ok" id="3_<%=device%>/<%=ssid%>/<%=bssid%>"><%=ssid%></div>
+ <div class="td left" name="station_ok" id="4_<%=device%>/<%=ssid%>/<%=bssid%>"><%=bssid%></div>
+ <div class="td left" name="station_ok" id="5_<%=device%>/<%=ssid%>/<%=bssid%>"><%=encr%></div>
+ <div class="td middle cbi-section-actions">
+ <div>
+ <input class="cbi-button cbi-button-up" type="button" value="<%:Up%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=up'" alt="<%:Move up%>" title="<%:Move up%>" />
+ <input class="cbi-button cbi-button-down" type="button" value="<%:Down%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiorder')%>?cfg=<%=section%>&amp;dir=down'" alt="<%:Move down%>" title="<%:Move down%>" />
+ <input class="cbi-button cbi-button-edit" type="button" value="<%:Edit%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifiedit')%>?cfg=<%=section%>'" title="<%:Edit this Uplink%>" />
+ <input class="cbi-button cbi-button-remove" type="button" value="<%:Delete%>" onclick="location.href='<%=luci.dispatcher.build_url('admin/services/travelmate/wifidelete')%>?cfg=<%=section%>'" title="<%:Delete this Uplink%>" />
+ </div>
+ </div>
+ </div>
+ <%- end; end) -%>
+ </div>
+ </div>
+ <div class="cbi-page-actions right">
+ <%- uci:foreach("wireless", "wifi-device", function(s)
+ local device = s[".name"]
+ local hwmode = s.hwmode or "-" -%>
+ <form class="inline" action="<%=luci.dispatcher.build_url('admin/services/travelmate/wifiscan')%>" method="post">
+ <input type="hidden" name="device" value="<%=device%>" />
+ <input type="hidden" name="token" value="<%=token%>" />
+ <input type="submit" class="cbi-button cbi-button-action important" title="<%:Find and join network on%> <%=device%>" value="<%:Scan%> <%=device%> (<%=hwmode%>)" />
+ </form>
+ <%- end) -%>
+ </div>
</div>
<%+footer%>