diff foodtruck/assets/js/foodtruck.js @ 616:ccd328d0881f

cm: Merge the 2 foodtruck folders, cleanup.
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 04 Feb 2016 23:22:50 -0800
parents foodtruckui/assets/js/foodtruck.js@cbb170d9c894
children c2708f20a87b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foodtruck/assets/js/foodtruck.js	Thu Feb 04 23:22:50 2016 -0800
@@ -0,0 +1,60 @@
+
+$(document).ready(function() {
+    $('.ft-nav-collapsed + ul').hide();
+
+    $('#ft-commit-modal').on('shown.bs.modal', function () {
+        $('#ft-commit-msg').focus();
+    });
+
+    var publogEl = $('#ft-publog');
+    publogEl.mouseenter(function() {
+        publogEl.attr('data-autohide', 'false');
+    });
+    publogEl.on('hide', function() {
+        var containerEl = $('#ft-publog-container', publogEl);
+        containerEl.empty();
+    });
+
+    var closePublogBtn = $('button', publogEl);
+    closePublogBtn.on('click', function() {
+        publogEl.fadeOut(200);
+    });
+});
+
+var onPublishEvent = function(e) {
+
+    var publogEl = $('#ft-publog');
+    var containerEl = $('#ft-publog-container', publogEl);
+
+    var msgEl = $('<div>' + e.data + '</div>');
+    var removeMsgEl = function() {
+        msgEl.remove();
+        if (containerEl.children().length == 0) {
+            // Last message, hide the log window.
+            publogEl.fadeOut(200);
+        }
+    };
+    var timeoutId = window.setTimeout(function() {
+        if (publogEl.attr('data-autohide') == 'true') {
+            msgEl.fadeOut(400, removeMsgEl);
+        }
+    }, 4000);
+
+    if (containerEl.children().length == 0) {
+        // First message, show the log window, reset the mouseover marker.
+        publogEl.attr('data-autohide', 'true');
+        publogEl.fadeIn(200);
+    }
+    containerEl.append(msgEl);
+};
+
+if (!!window.EventSource) {
+    var source = new EventSource('/publish-log');
+    source.onerror = function(e) {
+        console.log("Error with SSE, closing.", e);
+        source.close();
+    };
+    source.addEventListener('message', onPublishEvent);
+}
+
+