';
@@ -47,53 +99,88 @@ define(["jQuery", "loading", "events", "globalize", "serverNotifications", "huma
} else {
html += "
" + globalize.translate("LabelStopping") + "";
}
- return html
+ return html;
}
function updateTaskButton(elem, state) {
- "Idle" == state ? (elem.classList.add("btnStartTask"), elem.classList.remove("btnStopTask"), elem.classList.remove("hide"), elem.querySelector("i").innerHTML = "play_arrow", elem.title = globalize.translate("ButtonStart")) : "Running" == state ? (elem.classList.remove("btnStartTask"), elem.classList.add("btnStopTask"), elem.classList.remove("hide"), elem.querySelector("i").innerHTML = "stop", elem.title = globalize.translate("ButtonStop")) : (elem.classList.add("btnStartTask"), elem.classList.remove("btnStopTask"), elem.classList.add("hide"), elem.querySelector("i").innerHTML = "play_arrow", elem.title = globalize.translate("ButtonStart")), $(elem).parents(".listItem")[0].setAttribute("data-status", state)
+ if (state === "Running") {
+ elem.classList.remove("btnStartTask");
+ elem.classList.add("btnStopTask");
+ elem.classList.remove("hide");
+ elem.querySelector("i").innerHTML = "stop";
+ elem.title = globalize.translate("ButtonStop");
+ } else {
+ elem.classList.add("btnStartTask");
+ elem.classList.remove("btnStopTask");
+ elem.classList.add("hide");
+ elem.querySelector("i").innerHTML = "play_arrow";
+ elem.title = globalize.translate("ButtonStart");
+ }
+ $(elem).parents(".listItem")[0].setAttribute("data-status", state);
}
+
return function(view, params) {
function updateTasks(tasks) {
- for (var i = 0, length = tasks.length; i < length; i++) {
+ for (var i = 0; i < tasks.length; i++) {
var task = tasks[i];
view.querySelector("#taskProgress" + task.Id).innerHTML = getTaskProgressHtml(task);
- updateTaskButton(view.querySelector("#btnTask" + task.Id), task.State)
+ updateTaskButton(view.querySelector("#btnTask" + task.Id), task.State);
}
}
function onPollIntervalFired() {
- ApiClient.isMessageChannelOpen() || reloadList(view)
+ if (!ApiClient.isMessageChannelOpen()) {
+ reloadList(view);
+ }
}
function onScheduledTasksUpdate(e, apiClient, info) {
- apiClient.serverId() === serverId && updateTasks(info)
+ if (apiClient.serverId() === serverId) {
+ updateTasks(info);
+ }
}
function startInterval() {
- ApiClient.sendMessage("ScheduledTasksInfoStart", "1000,1000"), pollInterval && clearInterval(pollInterval), pollInterval = setInterval(onPollIntervalFired, 1e4)
+ ApiClient.sendMessage("ScheduledTasksInfoStart", "1000,1000");
+ pollInterval && clearInterval(pollInterval);
+ pollInterval = setInterval(onPollIntervalFired, 1e4);
}
function stopInterval() {
- ApiClient.sendMessage("ScheduledTasksInfoStop"), pollInterval && clearInterval(pollInterval)
+ ApiClient.sendMessage("ScheduledTasksInfoStop");
+ pollInterval && clearInterval(pollInterval);
}
+
var pollInterval, serverId = ApiClient.serverId();
+
$(".divScheduledTasks", view).on("click", ".btnStartTask", function() {
- var button = this,
- id = button.getAttribute("data-taskid");
+ var button = this;
+ var id = button.getAttribute("data-taskid");
ApiClient.startScheduledTask(id).then(function() {
- updateTaskButton(button, "Running"), reloadList(view)
+ updateTaskButton(button, "Running");
+ reloadList(view);
})
- }).on("click", ".btnStopTask", function() {
- var button = this,
- id = button.getAttribute("data-taskid");
+ });
+
+ $(".divScheduledTasks", view).on("click", ".btnStopTask", function() {
+ var button = this;
+ var id = button.getAttribute("data-taskid");
ApiClient.stopScheduledTask(id).then(function() {
- updateTaskButton(button, ""), reloadList(view)
+ updateTaskButton(button, "");
+ reloadList(view);
})
- }), view.addEventListener("viewbeforehide", function() {
- events.off(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate), stopInterval()
- }), view.addEventListener("viewshow", function() {
- loading.show(), startInterval(), reloadList(view), events.on(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate)
- })
+ });
+
+ view.addEventListener("viewbeforehide", function() {
+ events.off(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate);
+ stopInterval();
+ });
+
+ view.addEventListener("viewshow", function() {
+ loading.show();
+ startInterval();
+ reloadList(view);
+ events.on(serverNotifications, "ScheduledTasksInfo", onScheduledTasksUpdate);
+ });
}
});
diff --git a/src/dashboardgeneral.html b/src/dashboardgeneral.html
index f41fc80d4..a285b0e55 100644
--- a/src/dashboardgeneral.html
+++ b/src/dashboardgeneral.html
@@ -8,7 +8,7 @@
diff --git a/src/device.html b/src/device.html
index da9610979..b7a696fd7 100644
--- a/src/device.html
+++ b/src/device.html
@@ -9,7 +9,7 @@
diff --git a/src/livetvsettings.html b/src/livetvsettings.html
index ff8db2dd3..6e91d1ce5 100644
--- a/src/livetvsettings.html
+++ b/src/livetvsettings.html
@@ -4,7 +4,7 @@
diff --git a/src/livetvstatus.html b/src/livetvstatus.html
index f6a0c8aeb..f2e2b4c4b 100644
--- a/src/livetvstatus.html
+++ b/src/livetvstatus.html
@@ -10,7 +10,7 @@
-
+