Merge pull request #2043 from Ansuel/materialfix
[project/luci.git] / applications / luci-app-travelmate / luasrc / view / travelmate / runtime.htm
1 <%#
2 Copyright 2017-2018 Dirk Brenken (dev@brenken.org)
3 This is free software, licensed under the Apache License, Version 2.0
4 -%>
5
6 <style type="text/css">
7 .runtime
8 {
9 color: #37c;
10 font-weight: bold;
11 display: inline-block;
12 width: 100%;
13 padding-top: 0.5rem;
14 }
15 </style>
16
17 <script type="text/javascript">
18 //<![CDATA[
19 function status_update(json)
20 {
21 var btn1 = document.getElementById("btn1");
22 var view = document.getElementById("value_1");
23 var input = json.data.travelmate_status;
24
25 btn1.value = "<%:Restart%>";
26 btn1.name = "do_restart";
27 view.innerHTML = input || "-";
28 view = document.getElementById("value_2");
29 input = json.data.travelmate_version;
30 view.innerHTML = input || "-";
31 view = document.getElementById("value_3");
32 input = json.data.station_id;
33 view.innerHTML = input || "-";
34 view = document.getElementById("value_4");
35 input = json.data.station_interface;
36 view.innerHTML = input || "-";
37 view = document.getElementById("value_5");
38 input = json.data.faulty_stations;
39 view.innerHTML = input || "-";
40 view = document.getElementById("value_6");
41 input = json.data.last_rundate;
42 view.innerHTML = input || "-";
43 }
44
45 function btn_action(action)
46 {
47 var btn1 = document.getElementById("btn1");
48 var btn1_running = document.getElementById("btn1_running");
49
50 btn1.disabled = true;
51 running(btn1_running, 1);
52
53 new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "travelmate")%>/action/' + action.name, null,
54 function(x)
55 {
56 if (!x)
57 {
58 return;
59 }
60 btn1.disabled = false;
61 running(btn1_running, 0);
62 });
63 }
64
65 function running(element, state)
66 {
67 if (state === 1)
68 {
69 var running_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
70 element.innerHTML = running_html;
71 }
72 else
73 {
74 element.innerHTML = '';
75 }
76 }
77
78 XHR.get('<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
79 function(x, json_info)
80 {
81 if (!x || !json_info)
82 {
83 return;
84 }
85 status_update(json_info)
86 });
87
88 XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "travelmate", "status")%>', null,
89 function(x, json_info)
90 {
91 if (!x || !json_info)
92 {
93 return;
94 }
95 status_update(json_info)
96 });
97 //]]>
98 </script>
99
100 <h3><%:Runtime Information%></h3>
101 <div class="cbi-value" id="status_1">
102 <label class="cbi-value-title" for="status_1"><%:Travelmate Status (Quality)%></label>
103 <div class="cbi-value-field">
104 <span class="runtime" id="value_1">-</span>
105 </div>
106 </div>
107 <div class="cbi-value" id="status_2">
108 <label class="cbi-value-title" for="status_2"><%:Travelmate Version%></label>
109 <div class="cbi-value-field">
110 <span class="runtime" id="value_2">-</span>
111 </div>
112 </div>
113 <div class="cbi-value" id="status_3">
114 <label class="cbi-value-title" for="status_3"><%:Station ID (RADIO/SSID/BSSID)%></label>
115 <div class="cbi-value-field">
116 <span class="runtime" id="value_3">-</span>
117 </div>
118 </div>
119 <div class="cbi-value" id="status_4">
120 <label class="cbi-value-title" for="status_4"><%:Station Interface%></label>
121 <div class="cbi-value-field">
122 <span class="runtime" id="value_4">-</span>
123 </div>
124 </div>
125 <div class="cbi-value" id="status_5">
126 <label class="cbi-value-title" for="status_5"><%:Faulty Stations%></label>
127 <div class="cbi-value-field">
128 <span class="runtime" id="value_5">-</span>
129 </div>
130 </div>
131 <div class="cbi-value" id="status_6">
132 <label class="cbi-value-title" for="status_6"><%:Last Run%></label>
133 <div class="cbi-value-field">
134 <span class="runtime" id="value_6">-</span>
135 </div>
136 </div>
137 <hr />
138 <div class="cbi-value" id="button_1">
139 <label class="cbi-value-title" for="button_1"><%:Restart Travelmate%></label>
140 <div class="cbi-value-field">
141 <input class="cbi-button cbi-button-reset" id="btn1" type="button" name="do_restart" value="<%:Restart%>" onclick="btn_action(this)" />
142 <span id="btn1_running" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>
143 </div>
144 </div>