Fixed start/stop buttons | Added confirm to remove popup #1

Merged
Ghost merged 14 commits from :main into main 1 year ago

@ -1,17 +1,18 @@
# #
# Copyright (C) 2022 jjm2473 <jjm2473@gmail.com> # Copyright (C) 2022 jason <ops@privatemail.com>
# #
# This is free software, licensed under the MIT License. # This is free software, licensed under the MIT License.
# #
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_VERSION=2.0.2.001
LUCI_TITLE:=Task library LUCI_TITLE:=Task library
LUCI_DEPENDS:=+luci-lib-xterm +taskd LUCI_DEPENDS:=+luci-lib-xterm +taskd
LUCI_EXTRA_DEPENDS:=taskd (>=1.0.3-1) LUCI_EXTRA_DEPENDS:=taskd (>=1.0.3-1)
LUCI_PKGARCH:=all LUCI_PKGARCH:=all
PKG_MAINTAINER:=jjm2473 <jjm2473@gmail.com> PKG_MAINTAINER:=jason <ops@privatemail.com>
include $(TOPDIR)/feeds/luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk

@ -1,41 +1,60 @@
<%
local taskd = require "luci.model.tasks"
local status = taskd.status(self.task_id)
<% if self.task_start_failed then %> -- Check if a task is running
<div class="alert-message warning"><%:Another task running, try again later.%> <a href="javascript:void(taskd.show_log('<%=self.task_id%>'))"><%:Click here to check running task%></a></div> local task_running = status.running
-- Check for a task start failure
if self.task_start_failed then
%>
<div class="alert-message warning">
<%:Another task running, try again later.%>
<a href="javascript:void(taskd.show_log('<%=self.task_id%>'))">
<%:Click here to check running task%>
</a>
</div>
<% end %> <% end %>
<%+cbi/map%> <%+cbi/map%>
<%
local task_running = false <div id="customModal" class="alert-message danger" style="display:none; text-align: center;">
local taskd = require "luci.model.tasks" <strong style="text-transform: uppercase;">This will permanently delete your installation, are you sure?</strong>
local status = taskd.status(self.task_id) <br>
task_running = status.running <input class="btn cbi-button cbi-button-remove" type="button" value="YES" onclick="proceedRemoval()" style="margin-right: 10px;">
-%> <input class="btn cbi-button" type="button" value="NO" onclick="closeRemoveConfirmation()">
</div>
<div class="cbi-page-actions control-group"> <div class="cbi-page-actions control-group">
<% <%
if not task_running then if not task_running then
%>
<%
local util = require "luci.util" local util = require "luci.util"
local container_status = util.trim(util.exec(self.script_path.." status")) local container_status = util.trim(util.exec(self.script_path.." status"))
local container_install = (string.len(container_status) > 0) local container_status_lower = string.lower(container_status)
local container_running = container_status == "running"
local container_install = not string.match(container_status_lower, " is not installed$")
local container_running = string.match(container_status_lower, "^up%W")
if container_install then if container_install then
-%> %>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Upgrade%>/<%:Apply%>" onclick="cbi_submit(this, 'cbi.apply', 'upgrade')" /> <input class="btn cbi-button cbi-button-apply" type="button" value="<%:Upgrade%>/<%:Apply%>" onclick="cbi_submit(this, 'cbi.apply', 'upgrade')" />
<% <%
if container_running then if container_running then
-%> %>
<input class="btn cbi-button cbi-button-remove" type="button" value="<%:Stop%>" onclick="cbi_submit(this, 'cbi.apply', 'stop')" /> <input class="btn cbi-button cbi-button-remove" type="button" value="<%:Stop%>" onclick="cbi_submit(this, 'cbi.apply', 'stop')" />
<input class="btn cbi-button cbi-button-reload" type="button" value="<%:Restart%>" onclick="cbi_submit(this, 'cbi.apply', 'restart')" /> <input class="btn cbi-button cbi-button-reload" type="button" value="<%:Restart%>" onclick="cbi_submit(this, 'cbi.apply', 'restart')" />
<% else %> <%
else
%>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Start%>" onclick="cbi_submit(this, 'cbi.apply', 'start')" /> <input class="btn cbi-button cbi-button-apply" type="button" value="<%:Start%>" onclick="cbi_submit(this, 'cbi.apply', 'start')" />
<input class="btn cbi-button cbi-button-remove" type="button" value="<%:Remove%>" onclick="showRemoveConfirmation()" />
<input class="btn cbi-button cbi-button-remove" type="button" value="<%:Remove%>" onclick="cbi_submit(this, 'cbi.apply', 'rm')" /> <%
<% end end
else %> else
%>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Install%>" onclick="cbi_submit(this, 'cbi.apply', 'install')" /> <input class="btn cbi-button cbi-button-apply" type="button" value="<%:Install%>" onclick="cbi_submit(this, 'cbi.apply', 'install')" />
<% end <%
end
else else
%> %>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Task Running%>&hellip;" onclick="taskd.show_log('<%=self.task_id%>')" /> <input class="btn cbi-button cbi-button-apply" type="button" value="<%:Task Running%>&hellip;" onclick="taskd.show_log('<%=self.task_id%>')" />
@ -44,10 +63,26 @@ end
%> %>
</div> </div>
<script>
function showRemoveConfirmation() {
document.getElementById("customModal").style.display = "block";
}
function closeRemoveConfirmation() {
document.getElementById("customModal").style.display = "none";
}
function proceedRemoval() {
closeRemoveConfirmation();
cbi_submit(document.querySelector('.cbi-button-remove'), 'cbi.apply', 'rm');
}
</script>
<%+tasks/embed%> <%+tasks/embed%>
<% <%
if self.auto_show_task and task_running then if self.auto_show_task and task_running then
-%> %>
<script> <script>
taskd.show_log("<%=self.task_id%>"); taskd.show_log("<%=self.task_id%>");
</script> </script>

Loading…
Cancel
Save