mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
2 lines
2.8 KiB
JavaScript
2 lines
2.8 KiB
JavaScript
define([],function(){var a=Backbone.View.extend({elMain:"body",optionsDefault:{title:"ui-modal",body:"",backdrop:!0,height:null,width:null,closing_events:!1,closing_callback:null},buttonList:{},initialize:function(a){a&&this._create(a)},show:function(a){this.initialize(a),this.options.height?(this.$body.css("height",this.options.height),this.$body.css("overflow","hidden")):this.$body.css("max-height",$(window).height()/2),this.options.width&&this.$dialog.css("width",this.options.width),this.visible?this.$el.show():this.$el.fadeIn("fast"),this.visible=!0},hide:function(){this.visible=!1,this.$el.fadeOut("fast"),this.options.closing_callback&&this.options.closing_callback()},enableButton:function(a){var b=this.buttonList[a];this.$buttons.find("#"+b).prop("disabled",!1)},disableButton:function(a){var b=this.buttonList[a];this.$buttons.find("#"+b).prop("disabled",!0)},showButton:function(a){var b=this.buttonList[a];this.$buttons.find("#"+b).show()},hideButton:function(a){var b=this.buttonList[a];this.$buttons.find("#"+b).hide()},getButton:function(a){var b=this.buttonList[a];return this.$buttons.find("#"+b)},scrollTop:function(){return this.$body.scrollTop()},_create:function(a){var b=this;if(this.options=_.defaults(a,this.optionsDefault),"progress"==this.options.body&&(this.options.body=$('<div class="progress progress-striped active"><div class="progress-bar progress-bar-info" style="width:100%"></div></div>')),this.$el&&(this.$el.remove(),$(document).off("keyup.ui-modal")),this.setElement(this._template(this.options.title)),this.$dialog=this.$el.find(".modal-dialog"),this.$body=this.$el.find(".modal-body"),this.$footer=this.$el.find(".modal-footer"),this.$buttons=this.$el.find(".buttons"),this.$backdrop=this.$el.find(".modal-backdrop"),this.$body.html(this.options.body),this.options.backdrop||this.$backdrop.removeClass("in"),this.options.buttons){this.buttonList={};var c=0;$.each(this.options.buttons,function(a,d){var e="button-"+c++;b.$buttons.append($('<button id="'+e+'"></button>').text(a).click(d)).append(" "),b.buttonList[a]=e})}else this.$footer.hide();$(this.elMain).append($(this.el)),this.options.closing_events&&($(document).on("keyup.ui-modal",function(a){27==a.keyCode&&b.hide()}),this.$el.find(".modal-backdrop").on("click",function(){b.hide()}))},_template:function(a){return'<div class="ui-modal modal"><div class="modal-backdrop fade in" style="z-index: -1;"></div><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><button type="button" class="close" style="display: none;">×</button><h4 class="title">'+a+'</h4></div><div class="modal-body" style="position: static;"></div><div class="modal-footer"><div class="buttons" style="float: right;"></div></div></div</div></div>'}});return{View:a}});
|
|
//# sourceMappingURL=../../../maps/mvc/ui/ui-modal.js.map
|