Mercurial > piecrust2
diff foodtruckui/assets/js/foodtruck.js @ 602:c6bc0ef03f82
admin: Better UI for publishing websites.
* Support multiple publish targets.
* Dedicated UI for publishing.
* Some UI polish.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 27 Jan 2016 18:02:25 -0800 |
parents | d4a01a023998 |
children | c67dcc0fa80f |
line wrap: on
line diff
--- a/foodtruckui/assets/js/foodtruck.js Sun Jan 24 10:42:33 2016 -0800 +++ b/foodtruckui/assets/js/foodtruck.js Wed Jan 27 18:02:25 2016 -0800 @@ -3,41 +3,41 @@ $('.ft-nav-collapsed + ul').hide(); }); +var onPublishEvent = function(e) { + var msgEl = $('<div></div>'); + + var removeMsgEl = function() { + msgEl.remove(); + var publogEl = $('#ft-publog'); + if (publogEl.children().length == 0) { + publogEl.hide(); + } + }; + + msgEl.addClass('alert-dismissible'); + msgEl.attr('role', 'alert'); + msgEl.append('<button type="button" class="close" data-dismiss="alert" aria-label="close">' + + '<span aria-hidden="true">×</span></button>'); + msgEl.append('<div>' + e.data + '</div>'); + var timeoutId = window.setTimeout(function() { + msgEl.fadeOut(400, removeMsgEl); + }, 4000); + msgEl.mouseenter(function() { + window.clearTimeout(timeoutId); + }); + $('button', msgEl).click(removeMsgEl); + + var logEl = $('#ft-publog'); + logEl.append(msgEl); + logEl.show(); +}; + if (!!window.EventSource) { - var source = new EventSource('/bakelog'); - + var source = new EventSource('/publish-log'); source.onerror = function(e) { console.log("Error with SSE, closing.", e); source.close(); }; - source.addEventListener('message', function(e) { - var msgEl = $('<div></div>'); - - var removeMsgEl = function() { - msgEl.remove(); - var bakelogEl = $('#ft-bakelog'); - if (bakelogEl.children().length == 0) { - bakelogEl.hide(); - } - }; - - msgEl.addClass('alert-dismissible'); - msgEl.attr('role', 'alert'); - msgEl.append('<button type="button" class="close" data-dismiss="alert" aria-label="close">' + - '<span aria-hidden="true">×</span></button>'); - msgEl.append('<p>' + e.data + '</p>'); - var timeoutId = window.setTimeout(function() { - msgEl.fadeOut(400, removeMsgEl); - }, 4000); - msgEl.mouseenter(function() { - window.clearTimeout(timeoutId); - }); - $('button', msgEl).click(removeMsgEl); - - var logEl = $('#ft-bakelog'); - logEl.append(msgEl); - logEl.show(); - }); + source.addEventListener('message', onPublishEvent); } -