Merge pull request #2434 from cshoredaniel/pr-luci-fix-rp-pppoe
[oweals/luci.git] / applications / luci-app-banip / luasrc / view / banip / runtime.htm
1 <%#
2 Copyright 2018-2019 Dirk Brenken (dev@brenken.org)
3 This is free software, licensed under the Apache License, Version 2.0
4 -%>
5
6 <%+banip/banip_css%>
7 <script type="text/javascript">
8 //<![CDATA[
9         function status_update(json)
10         {
11                         var btn1         = document.getElementById("btn1");
12                         var btn1_running = document.getElementById("btn1_running");
13                         var view         = document.getElementById("value_1");
14                         var input        = json.data.status;
15
16                         btn1.value = "<%:Reload%>";
17                         btn1.name  = "do_reload";
18                         view.innerHTML = input || "-";
19                         if (input != "running")
20                         {
21                                 btn1.disabled = false;
22                                 running(btn1_running, 0);
23                         }
24                         view = document.getElementById("value_2");
25                         input = json.data.version;
26                         view.innerHTML = input || "-";
27                         view = document.getElementById("value_3");
28                         input = json.data.fetch_info;
29                         view.innerHTML = input || "-";
30                         view = document.getElementById("value_4");
31                         input = json.data.ipset_info;
32                         view.innerHTML = input || "-";
33                         view = document.getElementById("value_5");
34                         input = json.data.last_run;
35                         view.innerHTML = input || "-";
36         }
37
38 function btn_action(action)
39         {
40                 var btn1 = document.getElementById("btn1");
41                 var btn1_running = document.getElementById("btn1_running");
42
43                 btn1.disabled = true;
44                 running(btn1_running, 1);
45
46                 new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "banip")%>/action/' + action.name, null,
47                 function(x)
48                 {
49                         if (!x)
50                         {
51                                 return;
52                         }
53                 });
54         }
55
56         function running(element, state)
57         {
58                 if (state === 1)
59                 {
60                         var running_html = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />';
61                         element.innerHTML = running_html;
62                 }
63                 else
64                 {
65                         element.innerHTML = '';
66                 }
67         }
68
69         XHR.get('<%=luci.dispatcher.build_url("admin", "services", "banip", "status")%>', null,
70         function(x, json_info)
71         {
72                 if (!x || !json_info)
73                 {
74                         return;
75                 }
76                 status_update(json_info)
77         });
78
79         XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "services", "banip", "status")%>', null,
80         function(x, json_info)
81         {
82                 if (!x || !json_info)
83                 {
84                         return;
85                 }
86                 status_update(json_info)
87         });
88 //]]>
89 </script>
90
91 <h3><%:Runtime Information%></h3>
92 <div class="cbi-value" id="status_1">
93         <label class="cbi-value-title" for="status_1"><%:banIP Status%></label>
94         <div class="cbi-value-field">
95                 <span class="runtime" id="value_1">-</span>
96         </div>
97 </div>
98 <div class="cbi-value" id="status_2">
99         <label class="cbi-value-title" for="status_2"><%:banIP Version%></label>
100         <div class="cbi-value-field">
101                 <span class="runtime" id="value_2">-</span>
102         </div>
103 </div>
104 <div class="cbi-value" id="status_3">
105         <label class="cbi-value-title" for="status_3"><%:Download Utility (SSL Library)%></label>
106         <div class="cbi-value-field">
107                 <span class="runtime" id="value_3">-</span>
108         </div>
109 </div>
110 <div class="cbi-value" id="status_4">
111         <label class="cbi-value-title" for="status_4"><%:IPSet Information%></label>
112         <div class="cbi-value-field">
113                 <span class="runtime" id="value_4">-</span>
114         </div>
115 </div>
116 <div class="cbi-value" id="status_5">
117         <label class="cbi-value-title" for="status_5"><%:Last Run%></label>
118         <div class="cbi-value-field">
119                 <span class="runtime" id="value_5">-</span>
120         </div>
121 </div>
122 <hr />
123 <div class="cbi-value" id="button_1">
124         <label class="cbi-value-title" for="button_1"><%:Reload IPSets%></label>
125         <div class="cbi-value-field">
126                 <input class="cbi-button cbi-button-apply" id="btn1" type="button" name="do_reload" value="<%:Reload%>" onclick="btn_action(this)" />
127                 <span id="btn1_running" class="btn_running"></span>
128         </div>
129 </div>
130