33 lines
940 B
JavaScript
33 lines
940 B
JavaScript
|
"use strict";
|
||
|
define(function () {
|
||
|
|
||
|
return Backbone.Marionette.Region.extend({
|
||
|
el: "#modal-region",
|
||
|
|
||
|
constructor: function () {
|
||
|
_.bindAll(this);
|
||
|
Backbone.Marionette.Region.prototype.constructor.apply(this, arguments);
|
||
|
this.on("show", this.showModal, this);
|
||
|
},
|
||
|
|
||
|
getEl: function (selector) {
|
||
|
var $el = $(selector);
|
||
|
$el.on("hidden", this.close);
|
||
|
return $el;
|
||
|
},
|
||
|
|
||
|
showModal: function (view) {
|
||
|
view.on("close", this.hideModal, this);
|
||
|
this.$el.addClass('modal hide fade');
|
||
|
|
||
|
//need tab index so close on escape works
|
||
|
//https://github.com/twitter/bootstrap/issues/4663
|
||
|
this.$el.attr('tabindex','-1');
|
||
|
this.$el.modal({'show': true, 'keyboard': true});
|
||
|
},
|
||
|
|
||
|
hideModal: function () {
|
||
|
this.$el.modal('hide');
|
||
|
}
|
||
|
});
|
||
|
});
|