Files
galaxy/static/scripts/layout/panel.js
T

3 lines
3.7 KiB
JavaScript

"use strict";define(["jquery","libs/underscore","libs/backbone"],function(e,t,i){var n=160,s=800,a=i.View.extend({initialize:function(e){this.view=e.view,this.hidden=!1,this.saved_size=null,this.hiddenByTool=!1},$center:function(){return this.$el.siblings("#center")},$toggleButton:function(){return this.$(".unified-panel-footer > .panel-collapse")},render:function(){var e=this,i=this.view,n=this.view.model.attributes||{};this.$el.html(this._templatePanel(this.id)),t.each(n.buttons,function(t){e.$(".panel-header-buttons").append(t.$el)}),this.$el.addClass(n.cls),this.$(".panel-header-text").html(t.escape(n.title)),this.$(".unified-panel-body").append(i.$el),i.render()},_templatePanel:function(){return[this._templateHeader(),this._templateBody(),this._templateFooter()].join("")},_templateHeader:function(e){return['<div class="unified-panel-header" unselectable="on">','<div class="unified-panel-header-inner">','<div class="panel-header-buttons" style="float: right"/>','<div class="panel-header-text"/>',"</div>","</div>"].join("")},_templateBody:function(e){return'<div class="unified-panel-body"/>'},_templateFooter:function(e){return['<div class="unified-panel-footer">','<div class="panel-collapse ',t.escape(this.id),'"/>','<div class="drag"/>',"</div>"].join("")},events:{"mousedown .unified-panel-footer > .drag":"_mousedownDragHandler","click .unified-panel-footer > .panel-collapse":"toggle"},_mousedownDragHandler:function(t){function i(e){var t=e.pageX-d;d=e.pageX;var i=a.$el.width(),o=h?i+t:i-t;o=Math.min(s,Math.max(n,o)),a.resize(o)}var a=this,h="left"===this.id,d=t.pageX;e("#dd-helper").show().on("mousemove",i).one("mouseup",function(t){e(this).hide().off("mousemove",i)})},resize:function(e){return this.$el.css("width",e),this.$center().css(this.id,e),this},show:function(){if(this.hidden){var e=this,t={},i=this.id;return t[i]=0,e.$el.css(i,-this.saved_size).show().animate(t,"fast",function(){e.resize(e.saved_size)}),e.hidden=!1,e.$toggleButton().removeClass("hidden"),this}},hide:function(){if(!this.hidden){var e={},t=this.id;return this.saved_size=this.$el.width(),e[t]=-this.saved_size,this.$el.animate(e,"fast"),this.$center().css(t,0),this.hidden=!0,this.$toggleButton().addClass("hidden"),this}},toggle:function(e){return this.hidden?this.show():this.hide(),this.hiddenByTool=!1,this},handle_minwidth_hint:function(e){return this.$center().width()-(this.hidden?this.saved_size:0)<e?this.hidden||(this.toggle(),this.hiddenByTool=!0):this.hiddenByTool&&(this.toggle(),this.hiddenByTool=!1),self},force_panel:function(e){return"show"==e?this.show():"hide"==e?this.hide():self},toString:function(){return"SidePanel("+this.id+")"}});return{SidePanel:a,LeftPanel:a.extend({id:"left"}),RightPanel:a.extend({id:"right"}),CenterPanel:i.View.extend({initialize:function(i){this.setElement(e(this.template())),this.$frame=this.$(".center-frame"),this.$panel=this.$(".center-panel"),this.$frame.on("load",t.bind(this._iframeChangeHandler,this))},_iframeChangeHandler:function(t){var i=t.currentTarget,n=i.contentWindow&&i.contentWindow.location;n&&n.host&&(e(i).show(),this.$panel.empty().hide(),Galaxy.trigger("center-frame:load",{fullpath:n.pathname+n.search+n.hash,pathname:n.pathname,search:n.search,hash:n.hash}))},display:function(e){var t=this.$frame[0].contentWindow||{},i=t.onbeforeunload&&t.onbeforeunload();i&&!confirm(i)||(t.onbeforeunload=void 0,this.$frame.attr("src","about:blank").hide(),this.$panel.empty().scrollTop(0).append(e.$el).show(),Galaxy.trigger("center-panel:load",e))},template:function(){return'<div class="center-container"><iframe id="galaxy_main" name="galaxy_main" frameborder="0" class="center-frame" /><div class="center-panel" /></div>'},toString:function(){return"CenterPanel"}})}});
//# sourceMappingURL=../../maps/layout/panel.js.map