aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.WebDashboard/Html/scripts/LogPage.js
diff options
context:
space:
mode:
authorLukePulverenti <luke.pulverenti@gmail.com>2013-02-20 20:33:05 -0500
committerLukePulverenti <luke.pulverenti@gmail.com>2013-02-20 20:33:05 -0500
commit767cdc1f6f6a63ce997fc9476911e2c361f9d402 (patch)
tree49add55976f895441167c66cfa95e5c7688d18ce /MediaBrowser.WebDashboard/Html/scripts/LogPage.js
parent845554722efaed872948a9e0f7202e3ef52f1b6e (diff)
Pushing missing changes
Diffstat (limited to 'MediaBrowser.WebDashboard/Html/scripts/LogPage.js')
-rw-r--r--MediaBrowser.WebDashboard/Html/scripts/LogPage.js86
1 files changed, 86 insertions, 0 deletions
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