var ScheduledTasksPage = { onPageShow: function () { Dashboard.showLoadingMsg(); ScheduledTasksPage.reloadList(true); $(ApiClient).on("websocketmessage", ScheduledTasksPage.onWebSocketMessage).on("websocketopen", ScheduledTasksPage.onWebSocketConnectionChange).on("websocketerror", ScheduledTasksPage.onWebSocketConnectionChange).on("websocketclose", ScheduledTasksPage.onWebSocketConnectionChange); }, onPageHide: function () { $(ApiClient).off("websocketmessage", ScheduledTasksPage.onWebSocketMessage).off("websocketopen", ScheduledTasksPage.onWebSocketConnectionChange).off("websocketerror", ScheduledTasksPage.onWebSocketConnectionChange).off("websocketclose", ScheduledTasksPage.onWebSocketConnectionChange); ScheduledTasksPage.stopInterval(); }, startInterval: function () { if (ApiClient.isWebSocketOpen()) { ApiClient.sendWebSocketMessage("ScheduledTasksInfoStart", "1500,1500"); } }, stopInterval: function () { if (ApiClient.isWebSocketOpen()) { ApiClient.sendWebSocketMessage("ScheduledTasksInfoStop"); } }, onWebSocketMessage: function (e, msg) { if (msg.MessageType == "ScheduledTasksInfo") { ScheduledTasksPage.populateList(msg.Data); } }, onWebSocketConnectionChange: function() { ScheduledTasksPage.reloadList(true); }, reloadList: function (updateInterval) { if (updateInterval) { ScheduledTasksPage.stopInterval(); } ApiClient.getScheduledTasks().done(function (tasks) { ScheduledTasksPage.populateList(tasks); Dashboard.hideLoadingMsg(); if (updateInterval) { ScheduledTasksPage.startInterval(); } }); }, populateList: function (tasks) { tasks = tasks.sort(function (a, b) { a = a.Category + " " + a.Name; b = b.Category + " " + b.Name; if (a == b) { return 0; } if (a < b) { return -1; } return 1; }); var page = $($.mobile.activePage); var html = ""; html += '
" + text + "
"; } html += "Start"; } else if (task.State == "Running") { var progress = (task.CurrentProgressPercentage || 0).toFixed(1); html += ''; html += "" + progress + "%"; html += '
'; html += "Stop"; } else { html += "Stopping
"; html += " "; } html += ""; html += "