summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-simple-adblock/luasrc
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-simple-adblock/luasrc')
-rw-r--r--applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua14
-rw-r--r--applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm103
2 files changed, 68 insertions, 49 deletions
diff --git a/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua b/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua
index ce5626f8e6..15e757cf41 100644
--- a/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua
+++ b/applications/luci-app-simple-adblock/luasrc/model/cbi/simple-adblock.lua
@@ -49,13 +49,12 @@ elseif targetDNS == "unbound.adb_list" then
outputGzip="/etc/" .. packageName .. ".unbound.gz"
end
-local tmpfs
+local tmpfs, tmpfsMessage, tmpfsError, tmpfsStats
+local tmpfsVersion, tmpfsStatus = "", "Stopped"
if fs.access("/var/run/" .. packageName .. ".json") then
tmpfs = jsonc.parse(util.trim(sys.exec("cat /var/run/" .. packageName .. ".json")))
end
-local tmpfsVersion, tmpfsStatus = "", "Stopped"
-local tmpfsMessage, tmpfsError, tmpfsStats
if tmpfs and tmpfs['data'] then
if tmpfs['data']['status'] and tmpfs['data']['status'] ~= "" then
tmpfsStatus = tmpfs['data']['status']
@@ -109,7 +108,7 @@ errorTable["errorParsingList"] = translate("failed to parse")
m = Map("simple-adblock", translate("Simple AdBlock Settings"))
m.apply_on_parse = true
m.on_after_apply = function(self)
- sys.call("/etc/init.d/simple-adblock restart")
+ sys.call("/etc/init.d/simple-adblock restart")
end
h = m:section(NamedSection, "config", "simple-adblock", translate("Service Status") .. " [" .. tmpfsVersion .. "]")
@@ -144,7 +143,6 @@ else
ss = h:option(DummyValue, "_dummy", translate("Service Status"))
ss.template = "simple-adblock/status"
if tmpfsStatus == "statusSuccess" then
--- ss.value = tmpfsStats
ss.value = tmpfsVersion .. " " .. translate("is blocking") ..
" " .. util.trim(sys.exec("wc -l < " .. outputFile)) ..
" " .. translate("domains") .. " (" .. translate("with") ..
@@ -172,8 +170,10 @@ else
end
end
end
- buttons = h:option(DummyValue, "_dummy")
- buttons.template = "simple-adblock/buttons"
+ if tmpfsVersion ~= "" then
+ buttons = h:option(DummyValue, "_dummy")
+ buttons.template = packageName .. "/buttons"
+ end
end
s = m:section(NamedSection, "config", "simple-adblock", translate("Configuration"))
diff --git a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm
index 08b725cf7f..0651ce459c 100644
--- a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm
+++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm
@@ -1,69 +1,88 @@
-<%#
- Copyright 2019 Stan Grishin <stangri@melmac.net>
--%>
+<%# Copyright 2020 Stan Grishin <stangri@melmac.net> -%>
+
+<%+simple-adblock/css%>
+<%+simple-adblock/js%>
<%-
local packageName = "simple-adblock"
- local enabledFlag = luci.model.uci.cursor():get(packageName, "config", "enabled")
+ local serviceRunning, serviceEnabled = false, false;
+ local tmpfs, tmpfsStatus;
if nixio.fs.access("/var/run/" .. packageName .. ".json") then
tmpfs = luci.jsonc.parse(luci.util.trim(luci.sys.exec("cat /var/run/" .. packageName .. ".json")))
- end
- local tmpfsVersion, tmpfsStatus, tmpfsMessage, tmpfsError, tmpfsStats = "", "Stopped"
- if tmpfs and tmpfs['data'] then
- if tmpfs['data']['status'] and tmpfs['data']['status'] ~= "" then
+ if tmpfs and tmpfs['data'] and tmpfs['data']['status'] then
tmpfsStatus = tmpfs['data']['status']
end
- if tmpfs['data']['message'] and tmpfs['data']['message'] ~= "" then
- tmpfsMessage = tmpfs['data']['message']
- end
- if tmpfs['data']['error'] and tmpfs['data']['error'] ~= "" then
- tmpfsError = tmpfs['data']['error']
- end
- if tmpfs['data']['stats'] and tmpfs['data']['stats'] ~= "" then
- tmpfsStats = tmpfs['data']['stats']
- end
- if tmpfs['data']['version'] and tmpfs['data']['version'] ~= "" then
- tmpfsVersion = " (" .. packageName .. " " .. tmpfs['data']['version'] .. ")"
- end
end
- if tmpfsStatus == "Stopped" then
- btn_start_style = "cbi-button cbi-button-apply important"
- btn_action_style = "cbi-button cbi-button-apply important"
- btn_stop_style = "cbi-button cbi-button-reset -disabled"
+ if tmpfsStatus == "statusStarting" or tmpfsStatus == "statusRestarting" or
+ tmpfsStatus == "statusForceReloading" or tmpfsStatus == "statusDownloading" or
+ tmpfsStatus == "statusError" or tmpfsStatus == "statusWarning"
+ or tmpfsStatus == "statusSuccess" then
+ serviceRunning = true
+ end
+
+ if luci.model.uci.cursor():get(packageName, "config", "enabled") == "1" then
+ serviceEnabled = true
+ end
+
+ if serviceEnabled then
+ btn_start_status = true
+ btn_action_status = true
+ btn_stop_status = true
+ btn_enable_status = false
+ btn_disable_status = true
else
- btn_start_style = "cbi-button cbi-button-apply -disabled"
- btn_action_style = "cbi-button cbi-button-apply important"
- btn_stop_style = "cbi-button cbi-button-reset important"
+ btn_start_status = false
+ btn_action_status = false
+ btn_stop_status = false
+ btn_enable_status = true
+ btn_disable_status = false
end
- if enabledFlag ~= "1" then
- btn_start_style = "cbi-button cbi-button-apply -disabled"
- btn_action_style = "cbi-button cbi-button-apply -disabled"
- btn_enable_style = "cbi-button cbi-button-apply important"
- btn_disable_style = "cbi-button cbi-button-reset -disabled"
+ if serviceRunning then
+ btn_start_status = false
+ btn_action_status = true
+ btn_stop_status = true
else
- btn_enable_style = "cbi-button cbi-button-apply -disabled"
- btn_disable_style = "cbi-button cbi-button-reset important"
+ btn_action_status = false
+ btn_stop_status = false
end
-%>
-<%+simple-adblock/css%>
-<%+simple-adblock/js%>
-
<div class="cbi-value"><label class="cbi-value-title">Service Control</label>
<div class="cbi-value-field">
- <input type="button" class="<%=btn_start_style%>" id="btn_start" name="start" value="<%:Start%>" onclick="button_action(this)" />
+ <input type="button" class="cbi-button cbi-button-apply" id="btn_start" name="start" value="<%:Start%>"
+ onclick="button_action(this)" />
<span id="btn_start_spinner" class="btn_spinner"></span>
- <input type="button" class="<%=btn_action_style%>" id="btn_action" name="action" value="<%:Force Re-Download%>" onclick="button_action(this)" />
+ <input type="button" class="cbi-button cbi-button-apply" id="btn_action" name="action" value="<%:Force Re-Download%>"
+ onclick="button_action(this)" />
<span id="btn_action_spinner" class="btn_spinner"></span>
- <input type="button" class="<%=btn_stop_style%>" id="btn_stop" name="stop" value="<%:Stop%>" onclick="button_action(this)" />
+ <input type="button" class="cbi-button cbi-button-reset" id="btn_stop" name="stop" value="<%:Stop%>"
+ onclick="button_action(this)" />
<span id="btn_stop_spinner" class="btn_spinner"></span>
&nbsp;
&nbsp;
&nbsp;
&nbsp;
- <input type="button" class="<%=btn_enable_style%>" id="btn_enable" name="enable" value="<%:Enable%>" onclick="button_action(this)" />
+ <input type="button" class="cbi-button cbi-button-apply" id="btn_enable" name="enable" value="<%:Enable%>"
+ onclick="button_action(this)" />
<span id="btn_enable_spinner" class="btn_spinner"></span>
- <input type="button" class="<%=btn_disable_style%>" id="btn_disable" name="disable" value="<%:Disable%>" onclick="button_action(this)" />
+ <input type="button" class="cbi-button cbi-button-reset" id="btn_disable" name="disable" value="<%:Disable%>"
+ onclick="button_action(this)" />
<span id="btn_disable_spinner" class="btn_spinner"></span>
</div>
</div>
+
+<%-if not btn_start_status then%>
+<script type="text/javascript">document.getElementById("btn_start").disabled = true;</script>
+<%-end%>
+<%-if not btn_action_status then%>
+<script type="text/javascript">document.getElementById("btn_action").disabled = true;</script>
+<%-end%>
+<%-if not btn_stop_status then%>
+<script type="text/javascript">document.getElementById("btn_stop").disabled = true;</script>
+<%-end%>
+<%-if not btn_enable_status then%>
+<script type="text/javascript">document.getElementById("btn_enable").disabled = true;</script>
+<%-end%>
+<%-if not btn_disable_status then%>
+<script type="text/javascript">document.getElementById("btn_disable").disabled = true;</script>
+<%-end%> \ No newline at end of file