/** A base class for helping us display modal content @class ModalBodyView @extends Discourse.View @namespace Discourse @module Discourse **/ Discourse.ModalBodyView = Discourse.View.extend({ // Focus on first element didInsertElement: function() { var self = this; var $discourseModal = $('#discourse-modal'); $discourseModal.modal('show'); $discourseModal.one("hide", function () { self.get("controller").send("closeModal"); }); $('#modal-alert').hide(); if (!Discourse.Mobile.mobileView) { Em.run.schedule('afterRender', function() { self.$('input:first').focus(); }); } var title = this.get('title'); if (title) { this.set('controller.controllers.modal.title', title); } }, flashMessageChanged: function() { var flashMessage = this.get('controller.flashMessage'); if (flashMessage) { var messageClass = flashMessage.get('messageClass') || 'success'; var $alert = $('#modal-alert').hide().removeClass('alert-error', 'alert-success'); $alert.addClass("alert alert-" + messageClass).html(flashMessage.get('message')); $alert.fadeIn(); } }.observes('controller.flashMessage') });