Merge pull request #1735 from sumpfralle/olsr-jsoninfo-parser-handle-empty-result
[oweals/luci.git] / applications / luci-app-banip / luasrc / view / banip / runtime.htm
index 041fcb143cbc6a375e1553c26a8b94718caa071a..44682206b7b987190023cb05f893ab840d14c7c7 100644 (file)
@@ -1,5 +1,5 @@
 <%#
-Copyright 2018 Dirk Brenken (dev@brenken.org)
+Copyright 2018-2019 Dirk Brenken (dev@brenken.org)
 This is free software, licensed under the Apache License, Version 2.0
 -%>
 
@@ -10,16 +10,23 @@ This is free software, licensed under the Apache License, Version 2.0
        {
                        var btn1         = document.getElementById("btn1");
                        var btn1_running = document.getElementById("btn1_running");
+                       var btn2         = document.getElementById("btn2");
+                       var btn2_running = document.getElementById("btn2_running");
                        var view         = document.getElementById("value_1");
                        var input        = json.data.status;
 
                        btn1.value = "<%:Refresh%>";
                        btn1.name  = "do_refresh";
+
+                       btn2.value = "<%:Reload%>";
+                       btn2.name  = "do_reload";
                        view.innerHTML = input || "-";
                        if (input != "running")
                        {
                                btn1.disabled = false;
                                running(btn1_running, 0);
+                               btn2.disabled = false;
+                               running(btn2_running, 0);
                        }
                        view = document.getElementById("value_2");
                        input = json.data.version;
@@ -31,6 +38,9 @@ This is free software, licensed under the Apache License, Version 2.0
                        input = json.data.ipset_info;
                        view.innerHTML = input || "-";
                        view = document.getElementById("value_5");
+                       input = json.data.backup_dir;
+                       view.innerHTML = input || "-";
+                       view = document.getElementById("value_6");
                        input = json.data.last_run;
                        view.innerHTML = input || "-";
        }
@@ -39,10 +49,21 @@ function btn_action(action)
        {
                var btn1 = document.getElementById("btn1");
                var btn1_running = document.getElementById("btn1_running");
+               var btn2 = document.getElementById("btn2");
+               var btn2_running = document.getElementById("btn2_running");
 
-               btn1.disabled = true;
-               running(btn1_running, 1);
-
+               if (action.name === "do_refresh")
+               {
+                       btn1.disabled = true;
+                       btn2.disabled = true;
+                       running(btn1_running, 1);
+               }
+               else if (action.name === "do_reload")
+               {
+                       btn1.disabled = true;
+                       btn2.disabled = true;
+                       running(btn2_running, 1);
+               }
                new XHR.get('<%=luci.dispatcher.build_url("admin", "services", "banip")%>/action/' + action.name, null,
                function(x)
                {
@@ -76,7 +97,7 @@ function btn_action(action)
                status_update(json_info)
        });
 
-       XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "banip", "status")%>', null,
+       XHR.poll(-1, '<%=luci.dispatcher.build_url("admin", "services", "banip", "status")%>', null,
        function(x, json_info)
        {
                if (!x || !json_info)
@@ -114,17 +135,30 @@ function btn_action(action)
        </div>
 </div>
 <div class="cbi-value" id="status_5">
-       <label class="cbi-value-title" for="status_5"><%:Last Run%></label>
+       <label class="cbi-value-title" for="status_5"><%:Backup Directory%></label>
        <div class="cbi-value-field">
                <span class="runtime" id="value_5">-</span>
        </div>
 </div>
+<div class="cbi-value" id="status_6">
+       <label class="cbi-value-title" for="status_6"><%:Last Run%></label>
+       <div class="cbi-value-field">
+               <span class="runtime" id="value_6">-</span>
+       </div>
+</div>
 <hr />
 <div class="cbi-value" id="button_1">
        <label class="cbi-value-title" for="button_1"><%:Refresh IPSets%></label>
        <div class="cbi-value-field">
                <input class="cbi-button cbi-button-apply" id="btn1" type="button" name="do_refresh" value="<%:Refresh%>" onclick="btn_action(this)" />
-               <span id="btn1_running" style="display:inline-block; width:16px; height:16px; margin:0 5px"></span>
+               <span id="btn1_running" class="btn_running"></span>
+       </div>
+</div>
+<div class="cbi-value" id="button_2">
+       <label class="cbi-value-title" for="button_2"><%:Reload IPSet Sources%></label>
+       <div class="cbi-value-field">
+               <input class="cbi-button cbi-button-reset" id="btn2" type="button" name="do_reload" value="<%:Reload%>" onclick="btn_action(this)" />
+               <span id="btn2_running" class="btn_running"></span>
        </div>
 </div>