view 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 source


$(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);
}