From 767cdc1f6f6a63ce997fc9476911e2c361f9d402 Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Wed, 20 Feb 2013 20:33:05 -0500 Subject: Pushing missing changes --- MediaBrowser.WebDashboard/Html/scripts/LogPage.js | 86 +++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 MediaBrowser.WebDashboard/Html/scripts/LogPage.js (limited to 'MediaBrowser.WebDashboard/Html/scripts/LogPage.js') diff --git a/MediaBrowser.WebDashboard/Html/scripts/LogPage.js b/MediaBrowser.WebDashboard/Html/scripts/LogPage.js new file mode 100644 index 000000000..133eb34fb --- /dev/null +++ b/MediaBrowser.WebDashboard/Html/scripts/LogPage.js @@ -0,0 +1,86 @@ +var LogPage = { + + onPageShow: function () { + + LogPage.startLine = 0; + + $('#logContents', this).html(''); + + $(document).on("websocketmessage", LogPage.onWebSocketMessage).on("websocketopen", LogPage.onWebSocketConnectionChange).on("websocketerror", LogPage.onWebSocketConnectionChange).on("websocketclose", LogPage.onWebSocketConnectionChange); + + LogPage.startInterval(); + + var autoScroll = localStorage.getItem("autoScrollLogPage"); + + if (autoScroll == "true") { + LogPage.updateAutoScroll(true); + } + else if (autoScroll == "false") { + LogPage.updateAutoScroll(false); + } + }, + + onPageHide: function () { + + $(document).off("websocketmessage", LogPage.onWebSocketMessage).off("websocketopen", LogPage.onWebSocketConnectionChange).off("websocketerror", LogPage.onWebSocketConnectionChange).off("websocketclose", LogPage.onWebSocketConnectionChange); + + LogPage.stopInterval(); + }, + + startInterval: function () { + + if (Dashboard.isWebSocketOpen()) { + Dashboard.sendWebSocketMessage("LogFileStart", "0,2000"); + } + }, + + stopInterval: function () { + + if (Dashboard.isWebSocketOpen()) { + Dashboard.sendWebSocketMessage("LogFileStop"); + } + }, + + onWebSocketConnectionChange: function () { + LogPage.stopInterval(); + LogPage.startInterval(); + }, + + onWebSocketMessage: function (e, msg) { + + if (msg.MessageType == "LogFile") { + LogPage.appendLines(msg.Data); + } + }, + + appendLines: function (lines) { + + if (!lines.length) { + return; + } + + LogPage.startLine += lines.length; + + lines = lines.join('\n') + '\n'; + + var elem = $('#logContents', $.mobile.activePage).append(lines)[0]; + + elem.style.height = (elem.scrollHeight) + 'px'; + + if ($('#chkAutoScroll', $.mobile.activePage).checked()) { + $('html, body').animate({ scrollTop: $(document).height() }, 'slow'); + } + }, + + updateAutoScroll: function (value) { + + var page = $.mobile.activePage; + + $('#chkAutoScrollBottom', page).checked(value).checkboxradio('refresh'); + $('#chkAutoScroll', page).checked(value).checkboxradio('refresh'); + + localStorage.setItem("autoScrollLogPage", value.toString()); + } +}; + +$(document).on('pageshow', "#logPage", LogPage.onPageShow).on('pagehide', "#logPage", LogPage.onPageHide); \ No newline at end of file -- cgit v1.2.3