var App = App || {}; App.Presenters = App.Presenters || {}; App.Presenters.MessagePresenter = function(_, jQuery) { var options = { instant: false }; function showInfo($el, message) { return showMessage($el, 'info', message); } function showError($el, message) { return showMessage($el, 'error', message); } function hideMessages($el) { var $messages = $el.children('.message'); if (options.instant) { $messages.each(function() { jQuery(this).slideUp('fast', function() { jQuery(this).remove(); }); }); } else { $messages.remove(); } } function showMessage($el, className, message) { var $messageDiv = jQuery('
'); $messageDiv.addClass('message'); $messageDiv.addClass(className); $messageDiv.html(message); if (!options.instant) { $messageDiv.hide(); } $el.append($messageDiv); if (!options.instant) { $messageDiv.slideDown('fast'); } return $messageDiv; } return _.extend(options, { showInfo: showInfo, showError: showError, hideMessages: hideMessages, }); }; App.DI.register('messagePresenter', ['_', 'jQuery'], App.Presenters.MessagePresenter);