(function(Backbone, $, _) { var NotificationView = Backbone.View.extend({ events : { "click .action-primary": "triggerCallback" }, initialize: function() { this.template = _.template($('#notification-tpl').text()); }, render: function() { this.$el.html(this.template({ type: this.model.get("type"), title: this.model.get("title"), message: this.model.get("message"), details: this.model.get("details"), actionText: this.model.get("actionText"), actionClass: this.model.get("actionClass"), actionIconClass: this.model.get("actionIconClass") })); this.$('.message').focus(); return this; }, triggerCallback: function(event) { event.preventDefault(); var actionCallback = this.model.get("actionCallback"); if (actionCallback) { actionCallback(this); } } }); this.NotificationView = NotificationView; }).call(this, Backbone, $, _);