2 Copyright
2017-
2018 Dirk Brenken (dev@brenken.org)
3 This is free software, licensed under the Apache License, Version
2.0
6 <style type=
"text/css">
11 display: inline-block;
17 <script type=
"text/javascript">
19 function status_update(json)
21 var btn1 = document.getElementById(
"btn1");
22 var btn1_running = document.getElementById(
"btn1_running");
23 var btn2 = document.getElementById(
"btn2");
24 var btn2_running = document.getElementById(
"btn2_running");
25 var input = json.data.adblock_status ||
"-";
27 document.getElementById(
"value_1").innerHTML = input;
28 if (input ===
"enabled")
30 btn1.value =
"<%:Suspend%>";
31 btn1.name =
"do_suspend";
32 btn2.value =
"<%:Refresh%>";
33 btn2.name =
"do_refresh";
34 btn1.disabled = false;
35 running(btn1_running,
0);
36 btn2.disabled = false;
37 running(btn2_running,
0);
39 else if (input ===
"paused")
41 btn1.value =
"<%:Resume%>";
42 btn1.name =
"do_resume";
43 btn2.value =
"<%:Refresh%>";
44 btn2.name =
"do_refresh";
45 btn1.disabled = false;
46 running(btn1_running,
0);
47 btn2.disabled = false;
48 running(btn2_running,
0);
52 btn1.value =
"<%:Suspend%>";
53 btn1.name =
"do_suspend";
54 btn2.value =
"<%:Refresh%>";
55 btn2.name =
"do_refresh";
60 document.getElementById(
"value_2").innerHTML = json.data.adblock_version ||
"-";
61 document.getElementById(
"value_3").innerHTML = json.data.fetch_utility ||
"-";
62 document.getElementById(
"value_4").innerHTML = json.data.dns_backend ||
"-";
63 document.getElementById(
"value_5").innerHTML = json.data.overall_domains ||
"-";
64 document.getElementById(
"value_6").innerHTML = json.data.last_rundate ||
"-";
67 function btn_action(action)
69 var btn1 = document.getElementById(
"btn1");
70 var btn1_running = document.getElementById(
"btn1_running");
71 var btn2 = document.getElementById(
"btn2");
72 var btn2_running = document.getElementById(
"btn2_running");
77 if (action.name ===
"do_refresh")
79 running(btn2_running,
1);
83 running(btn1_running,
1);
86 new XHR.get('<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock")%
>/action/' + action.name, null,
96 function running(element, state)
100 var running_html = '
<img src=
"<%=resource%>/icons/loading.gif" alt=
"<%:Loading%>" width=
"16" height=
"16" style=
"vertical-align:middle" />';
101 element.innerHTML = running_html;
105 element.innerHTML = '';
109 function reset_view()
111 document.getElementById(
"btn1").value =
"<%:Suspend%>";
112 document.getElementById(
"btn1").name =
"do_suspend";
113 document.getElementById(
"btn2").value =
"<%:Refresh%>";
114 document.getElementById(
"btn2").name =
"do_refresh";
115 document.getElementById(
"btn1").disabled = true;
116 document.getElementById(
"btn2").disabled = true;
117 document.getElementById(
"value_1").innerHTML =
"-";
118 document.getElementById(
"value_2").innerHTML =
"-";
119 document.getElementById(
"value_3").innerHTML =
"-";
120 document.getElementById(
"value_4").innerHTML =
"-";
121 document.getElementById(
"value_5").innerHTML =
"-";
122 document.getElementById(
"value_6").innerHTML =
"-";
125 XHR.get('<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock",
"status")%
>', null,
126 function(x, json_info)
128 if (!x || !json_info || !json_info.data)
133 status_update(json_info);
136 XHR.poll(
5, '<%=luci.dispatcher.build_url(
"admin",
"services",
"adblock",
"status")%
>', null,
137 function(x, json_info)
139 if (!x || !json_info || !json_info.data)
144 status_update(json_info);
149 <h3><%:Runtime Information%
></h3>
150 <div class=
"cbi-value" id=
"status_1">
151 <label class=
"cbi-value-title" for=
"status_1"><%:Adblock Status%
></label>
152 <div class=
"cbi-value-field">
153 <span class=
"runtime" id=
"value_1">-
</span>
156 <div class=
"cbi-value" id=
"status_2">
157 <label class=
"cbi-value-title" for=
"status_2"><%:Adblock Version%
></label>
158 <div class=
"cbi-value-field">
159 <span class=
"runtime" id=
"value_2">-
</span>
162 <div class=
"cbi-value" id=
"status_3">
163 <label class=
"cbi-value-title" for=
"status_3"><%:Download Utility (SSL Library)%
></label>
164 <div class=
"cbi-value-field">
165 <span class=
"runtime" id=
"value_3">-
</span>
168 <div class=
"cbi-value" id=
"status_4">
169 <label class=
"cbi-value-title" for=
"status_4"><%:DNS Backend (DNS Directory)%
></label>
170 <div class=
"cbi-value-field">
171 <span class=
"runtime" id=
"value_4">-
</span>
174 <div class=
"cbi-value" id=
"status_5">
175 <label class=
"cbi-value-title" for=
"status_5"><%:Overall Domains%
></label>
176 <div class=
"cbi-value-field">
177 <span class=
"runtime" id=
"value_5">-
</span>
180 <div class=
"cbi-value" id=
"status_6">
181 <label class=
"cbi-value-title" for=
"status_6"><%:Last Run%
></label>
182 <div class=
"cbi-value-field">
183 <span class=
"runtime" id=
"value_6">-
</span>
187 <div class=
"cbi-value" id=
"button_1">
188 <label class=
"cbi-value-title" for=
"button_1"><%:Suspend / Resume Adblock%
></label>
189 <div class=
"cbi-value-field">
190 <input class=
"cbi-button cbi-button-reset" id=
"btn1" type=
"button" value=
"" onclick=
"btn_action(this)" />
191 <span id=
"btn1_running" style=
"display:inline-block; width:16px; height:16px; margin:0 5px"></span>
195 <div class=
"cbi-value" id=
"button_2">
196 <label class=
"cbi-value-title" for=
"button_2"><%:Refresh Blocklist Sources%
></label>
197 <div class=
"cbi-value-field">
198 <input class=
"cbi-button cbi-button-apply" id=
"btn2" type=
"button" value=
"" onclick=
"btn_action(this)" />
199 <span id=
"btn2_running" style=
"display:inline-block; width:16px; height:16px; margin:0 5px"></span>