diff options
Diffstat (limited to 'applications/luci-app-simple-adblock/luasrc/view/simple-adblock')
4 files changed, 169 insertions, 0 deletions
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 new file mode 100644 index 0000000000..0651ce459c --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/buttons.htm @@ -0,0 +1,88 @@ +<%# Copyright 2020 Stan Grishin <stangri@melmac.net> -%> + +<%+simple-adblock/css%> +<%+simple-adblock/js%> + +<%- + local packageName = "simple-adblock" + 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"))) + if tmpfs and tmpfs['data'] and tmpfs['data']['status'] then + tmpfsStatus = tmpfs['data']['status'] + end + end + 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_status = false + btn_action_status = false + btn_stop_status = false + btn_enable_status = true + btn_disable_status = false + end + if serviceRunning then + btn_start_status = false + btn_action_status = true + btn_stop_status = true + else + btn_action_status = false + btn_stop_status = false + end +-%> + +<div class="cbi-value"><label class="cbi-value-title">Service Control</label> + <div class="cbi-value-field"> + <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="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="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> + + + + + <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="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 diff --git a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/css.htm b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/css.htm new file mode 100644 index 0000000000..6fb3d51d3b --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/css.htm @@ -0,0 +1,9 @@ +<style type="text/css"> + .btn_spinner + { + display: inline-block; + width: 0px; + height: 16px; + margin: 0 0px; + } +</style> diff --git a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/error.htm b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/error.htm new file mode 100644 index 0000000000..4ab2e11291 --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/error.htm @@ -0,0 +1,13 @@ +<%# +Copyright 2017-2019 Stan Grishin (stangri@melmac.net) +This is free software, licensed under the Apache License, Version 2.0 +-%> + +<%+cbi/valueheader%> + +<textarea rows="<%=select(2, self:cfgvalue(section):gsub('\n', '\n'))%>" + style="border:none;box-shadow:none;background:transparent;font-weight:bold;line-height:20px;width:50em;padding:none;margin:6px;resize:none;overflow:hidden;" + disabled="disabled"><%=self:cfgvalue(section):gsub('\n', '\n')%> +</textarea> + +<%+cbi/valuefooter%> diff --git a/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/js.htm b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/js.htm new file mode 100644 index 0000000000..51198293f5 --- /dev/null +++ b/applications/luci-app-simple-adblock/luasrc/view/simple-adblock/js.htm @@ -0,0 +1,59 @@ +<script type="text/javascript"> +//<![CDATA[ + function button_action(action) { + var xhr = new XHR(false); + var btn_start = document.getElementById("btn_start"); + var btn_action = document.getElementById("btn_action"); + var btn_stop = document.getElementById("btn_stop"); + var btn_enable = document.getElementById("btn_enable"); + var btn_disable = document.getElementById("btn_disable"); + var btn_spinner; + switch (action.name) { + case "start": + btn_spinner = document.getElementById("btn_start_spinner"); + break; + case "action": + btn_spinner = document.getElementById("btn_action_spinner"); + break; + case "stop": + btn_spinner = document.getElementById("btn_stop_spinner"); + break; + case "enable": + btn_spinner = document.getElementById("btn_enable_spinner"); + break; + case "disable": + btn_spinner = document.getElementById("btn_disable_spinner"); + break; + } + btn_start.disabled = true; + btn_action.disabled = true; + btn_stop.disabled = true; + btn_enable.disabled = true; + btn_disable.disabled = true; + spinner(btn_spinner, 1); + xhr.get('<%=luci.dispatcher.build_url("admin", "services", "simple-adblock", "action")%>/' + action.name, null, + function (x) { + if (!x) { + return; + } + btn_start.disabled = false; + btn_action.disabled = false; + btn_stop.disabled = false; + btn_enable.disabled = false; + btn_disable.disabled = false; + spinner(btn_spinner, 0); + location.reload(); + }); +} +function spinner(element, state) { + if (state === 1) { + element.style.width = "16px"; + element.innerHTML = '<img src="<%=resource%>/icons/loading.gif" alt="<%:Loading%>" width="16" height="16" style="vertical-align:middle" />'; + } + else { + element.style.width = "0px"; + element.innerHTML = ''; + } +} +//]]> +</script>
\ No newline at end of file |