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.
#
include $(TOPDIR)/rules.mk
PKG_VERSION=2.0.2.001
LUCI_TITLE:=Task library
LUCI_DEPENDS:=+luci-lib-xterm +taskd
LUCI_EXTRA_DEPENDS:=taskd (>=1.0.3-1)
LUCI_PKGARCH:=all
PKG_MAINTAINER:=jjm2473 <jjm2473@gmail.com>
PKG_MAINTAINER:=jason <ops@privatemail.com>
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 %>
<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>
-- Check if a task is running
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 %>
<%+cbi/map%>
<%
local task_running = false
local taskd = require "luci.model.tasks"
local status = taskd.status(self.task_id)
task_running = status.running
-%>
<div id="customModal" class="alert-message danger" style="display:none; text-align: center;">
<strong style="text-transform: uppercase;">This will permanently delete your installation, are you sure?</strong>
<br>
<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">
<%
if not task_running then
%>
<%
local util = require "luci.util"
local container_status = util.trim(util.exec(self.script_path.." status"))
local container_install = (string.len(container_status) > 0)
local container_running = container_status == "running"
local container_status_lower = string.lower(container_status)
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
-%>
%>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Upgrade%>/<%:Apply%>" onclick="cbi_submit(this, 'cbi.apply', 'upgrade')" />
<%
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-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-remove" type="button" value="<%:Remove%>" onclick="cbi_submit(this, 'cbi.apply', 'rm')" />
<% end
else %>
<input class="btn cbi-button cbi-button-remove" type="button" value="<%:Remove%>" onclick="showRemoveConfirmation()" />
<%
end
else
%>
<input class="btn cbi-button cbi-button-apply" type="button" value="<%:Install%>" onclick="cbi_submit(this, 'cbi.apply', 'install')" />
<% end
<%
end
else
%>
<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>
<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%>
<%
if self.auto_show_task and task_running then
-%>
%>
<script>
taskd.show_log("<%=self.task_id%>");
</script>

Loading…
Cancel
Save