Files
galaxy/static/scripts/layout/masthead.js
T
2018-05-23 15:37:14 -04:00

1 line
2.4 KiB
JavaScript

define("layout/masthead",["exports","backbone","layout/menu","layout/scratchbook","mvc/user/user-quotameter"],function(t,a,n,e,r){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(t,"__esModule",{value:!0});var o=function(t){if(t&&t.__esModule)return t;var a={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(a[n]=t[n]);return a.default=t,a}(a),s=i(n),l=i(e),d=i(r),c=o.View.extend({initialize:function(t){var a=this;this.options=t,this.setElement(this._template()),this.$navbarBrandLink=this.$(".navbar-brand"),this.$navbarBrandImage=this.$(".navbar-brand-image"),this.$navbarBrandTitle=this.$(".navbar-brand-title"),this.$navbarTabs=this.$(".navbar-nav"),this.$quoteMeter=this.$(".quota-meter-container"),this.collection=new s.default.Collection,this.collection.on("add",function(t){a.$navbarTabs.append(new s.default.Tab({model:t}).render().$el)}).on("reset",function(){a.$navbarTabs.empty()}).on("dispatch",function(t){a.collection.each(function(a){t(a)})}).fetch(this.options),this.highlight(t.active_view),Galaxy.frame=this.frame=new l.default({collection:this.collection}),Galaxy.quotaMeter=this.quotaMeter=new d.default.UserQuotaMeter({model:Galaxy.user,el:this.$quoteMeter}),$(window).on("click",function(t){var a=$(t.target).closest("a[download]");1==a.length&&(0===$("iframe[id=download]").length&&$("body").append($("<iframe/>").attr("id","download").hide()),$("iframe[id=download]").attr("src",a.attr("href")),t.preventDefault())}).on("beforeunload",function(){var t="";if(a.collection.each(function(a){var n=a.get("onbeforeunload")&&a.get("onbeforeunload")();n&&(t+=n+" ")}),""!==t)return t})},render:function(){return this.$navbarBrandTitle.html("Galaxy "+(this.options.brand&&"/ "+this.options.brand||"")),this.$navbarBrandLink.attr("href",this.options.logo_url),this.$navbarBrandImage.attr("src",this.options.logo_src),this.quotaMeter.render(),this},highlight:function(t){this.collection.forEach(function(a){a.set("active",a.id==t)})},_template:function(){return'\n <nav id="masthead" class="navbar navbar-expand fixed-top justify-content-center navbar-dark">\n <a class="navbar-brand">\n <img class="navbar-brand-image"/>\n <span class="navbar-brand-title"/>\n </a>\n <ul class="navbar-nav"/>\n <div class="quota-meter-container"/>\n </nav>'}});t.default={View:c}});