diff options
author | Dirk Brenken <dev@brenken.org> | 2018-09-01 08:42:00 +0200 |
---|---|---|
committer | Dirk Brenken <dev@brenken.org> | 2018-09-01 08:42:00 +0200 |
commit | 4e56083833a69860b9a016e0db7b4ae4e0e224ad (patch) | |
tree | 69842ea3e08ff2e951748f82b2ab85dda0efd6cc /applications | |
parent | b93d3f3a1812e05def960835d39080780edb7129 (diff) |
luci-app-adblock: sync with adblock 3.5.5
* fix cornercase issues in runtime information/json parsing
Signed-off-by: Dirk Brenken <dev@brenken.org>
Diffstat (limited to 'applications')
-rw-r--r-- | applications/luci-app-adblock/luasrc/view/adblock/runtime.htm | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm index 3f4d64259..4f7cfbf8a 100644 --- a/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm +++ b/applications/luci-app-adblock/luasrc/view/adblock/runtime.htm @@ -18,60 +18,50 @@ This is free software, licensed under the Apache License, Version 2.0 //<![CDATA[ function status_update(json) { - var view = document.getElementById("value_1"); - 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 input = json.data.adblock_status; + 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 input = json.data.adblock_status || "-"; - view.innerHTML = input || "-"; - if (input === "enabled") - { - btn1.value = "<%:Suspend%>"; - btn1.name = "do_suspend"; - btn2.value = "<%:Refresh%>"; - btn2.name = "do_refresh"; - btn1.disabled = false; - running(btn1_running, 0); - btn2.disabled = false; - running(btn2_running, 0); - } - else if (input === "paused") - { - btn1.value = "<%:Resume%>"; - btn1.name = "do_resume"; - btn2.value = "<%:Refresh%>"; - btn2.name = "do_refresh"; - btn1.disabled = false; - running(btn1_running, 0); - btn2.disabled = false; - running(btn2_running, 0); - } - else - { - btn1.value = "<%:Suspend%>"; - btn1.name = "do_suspend"; - btn2.value = "<%:Refresh%>"; - btn2.name = "do_refresh"; - btn1.disabled = true; - btn2.disabled = true; - } - view = document.getElementById("value_2"); - input = json.data.adblock_version; - view.innerHTML = input || "-"; - view = document.getElementById("value_3"); - input = json.data.fetch_utility; - view.innerHTML = input || "-"; - view = document.getElementById("value_4"); - input = json.data.dns_backend; - view.innerHTML = input || "-"; - view = document.getElementById("value_5"); - input = json.data.overall_domains; - view.innerHTML = input || "-"; - view = document.getElementById("value_6"); - input = json.data.last_rundate; - view.innerHTML = input || "-"; + document.getElementById("value_1").innerHTML = input; + if (input === "enabled") + { + btn1.value = "<%:Suspend%>"; + btn1.name = "do_suspend"; + btn2.value = "<%:Refresh%>"; + btn2.name = "do_refresh"; + btn1.disabled = false; + running(btn1_running, 0); + btn2.disabled = false; + running(btn2_running, 0); + } + else if (input === "paused") + { + btn1.value = "<%:Resume%>"; + btn1.name = "do_resume"; + btn2.value = "<%:Refresh%>"; + btn2.name = "do_refresh"; + btn1.disabled = false; + running(btn1_running, 0); + btn2.disabled = false; + running(btn2_running, 0); + } + else + { + btn1.value = "<%:Suspend%>"; + btn1.name = "do_suspend"; + btn2.value = "<%:Refresh%>"; + btn2.name = "do_refresh"; + btn1.disabled = true; + btn2.disabled = true; + } + + document.getElementById("value_2").innerHTML = json.data.adblock_version || "-"; + document.getElementById("value_3").innerHTML = json.data.fetch_utility || "-"; + document.getElementById("value_4").innerHTML = json.data.dns_backend || "-"; + document.getElementById("value_5").innerHTML = json.data.overall_domains || "-"; + document.getElementById("value_6").innerHTML = json.data.last_rundate || "-"; } function btn_action(action) @@ -116,32 +106,42 @@ This is free software, licensed under the Apache License, Version 2.0 } } + function reset_view() + { + document.getElementById("btn1").value = "<%:Suspend%>"; + document.getElementById("btn1").name = "do_suspend"; + document.getElementById("btn2").value = "<%:Refresh%>"; + document.getElementById("btn2").name = "do_refresh"; + document.getElementById("btn1").disabled = true; + document.getElementById("btn2").disabled = true; + document.getElementById("value_1").innerHTML = "-"; + document.getElementById("value_2").innerHTML = "-"; + document.getElementById("value_3").innerHTML = "-"; + document.getElementById("value_4").innerHTML = "-"; + document.getElementById("value_5").innerHTML = "-"; + document.getElementById("value_6").innerHTML = "-"; + } + XHR.get('<%=luci.dispatcher.build_url("admin", "services", "adblock", "status")%>', null, function(x, json_info) { - if (!x || !json_info) + if (!x || !json_info || !json_info.data) { - var btn1 = document.getElementById("btn1"); - var btn2 = document.getElementById("btn2"); - btn1.value = "<%:Suspend%>"; - btn1.name = "do_suspend"; - btn2.value = "<%:Refresh%>"; - btn2.name = "do_refresh"; - btn1.disabled = true; - btn2.disabled = true; + reset_view(); return; } - status_update(json_info) + status_update(json_info); }); XHR.poll(5, '<%=luci.dispatcher.build_url("admin", "services", "adblock", "status")%>', null, function(x, json_info) { - if (!x || !json_info) + if (!x || !json_info || !json_info.data) { + reset_view(); return; } - status_update(json_info) + status_update(json_info); }); //]]> </script> |