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

1 line
7.7 KiB
JavaScript

define("layout/menu",["exports","backbone","underscore","layout/communication-server-view","mvc/webhooks","utils/localization","utils/utils"],function(t,e,i,l,a,s,o){"use strict";function n(t){return t&&t.__esModule?t:{default:t}}function d(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}Object.defineProperty(t,"__esModule",{value:!0});var r=d(e),u=d(i),c=n(a),h=n(s),m=n(o),f=r.Collection.extend({model:r.Model.extend({defaults:{visible:!0,target:"_parent"}}),fetch:function(t){t=t||{},this.reset();var e=new l.CommunicationServerView;this.add(e.render()),this.add({id:"analysis",title:(0,h.default)("Analyze Data"),url:"",tooltip:(0,h.default)("Analysis home view")}),this.add({id:"workflow",title:(0,h.default)("Workflow"),tooltip:(0,h.default)("Chain tools into workflows"),disabled:!Galaxy.user.id,url:"workflows/list"}),this.add({id:"visualization",title:(0,h.default)("Visualize"),url:"visualizations/list",tooltip:(0,h.default)("Visualize datasets"),disabled:!Galaxy.user.id,menu:[{title:(0,h.default)("Create Visualization"),url:"visualizations"},{title:(0,h.default)("Interactive Environments"),url:"visualization/gie_list",target:"galaxy_main"},{title:(0,h.default)("Saved Visualizations"),url:"visualizations/list",target:"_frame"}]}),this.add({id:"shared",title:(0,h.default)("Shared Data"),url:"library/index",tooltip:(0,h.default)("Access published resources"),menu:[{title:(0,h.default)("Data Libraries"),url:"library/list"},{title:(0,h.default)("Histories"),url:"histories/list_published"},{title:(0,h.default)("Workflows"),url:"workflows/list_published"},{title:(0,h.default)("Visualizations"),url:"visualizations/list_published"},{title:(0,h.default)("Pages"),url:"pages/list_published"}]}),c.default.load({type:"masthead",callback:function(t){$(document).ready(function(){t.each(function(t){var e=t.toJSON();if(e.activate){var i={id:e.id,icon:e.config.icon,url:e.config.url,tooltip:e.config.tooltip,onclick:e.config.function&&new Function(e.config.function)};Galaxy.page?Galaxy.page.masthead.collection.add(i):Galaxy.masthead&&Galaxy.masthead.collection.add(i),m.default.appendScriptStyle(e)}})})}}),Galaxy.user.get("is_admin")&&this.add({id:"admin",title:(0,h.default)("Admin"),url:"admin",tooltip:(0,h.default)("Administer this Galaxy"),cls:"admin-only"});var i={id:"help",title:(0,h.default)("Help"),tooltip:(0,h.default)("Support, contact, and community"),menu:[{title:(0,h.default)("Support"),url:t.support_url,target:"_blank"},{title:(0,h.default)("Search"),url:t.search_url,target:"_blank"},{title:(0,h.default)("Mailing Lists"),url:t.mailing_lists,target:"_blank"},{title:(0,h.default)("Videos"),url:t.screencasts_url,target:"_blank"},{title:(0,h.default)("Wiki"),url:t.wiki_url,target:"_blank"},{title:(0,h.default)("How to Cite Galaxy"),url:t.citation_url,target:"_blank"},{title:(0,h.default)("Interactive Tours"),url:"tours"}]};t.terms_url&&i.menu.push({title:(0,h.default)("Terms and Conditions"),url:t.terms_url,target:"_blank"}),t.biostar_url&&i.menu.unshift({title:(0,h.default)("Ask a question"),url:"biostar/biostar_question_redirect",target:"_blank"}),t.biostar_url&&i.menu.unshift({title:(0,h.default)("Galaxy Biostar"),url:t.biostar_url_redirect,target:"_blank"}),this.add(i);var a={};return a=Galaxy.user.id?{id:"user",title:(0,h.default)("User"),cls:"loggedin-only",tooltip:(0,h.default)("Account and saved data"),menu:[{title:(0,h.default)("Logged in as")+" "+Galaxy.user.get("email")},{title:(0,h.default)("Preferences"),url:"user"},{title:(0,h.default)("Custom Builds"),url:"custom_builds"},{title:(0,h.default)("Logout"),url:"user/logout?session_csrf_token="+Galaxy.session_csrf_token,target:"_top",divider:!0},{title:(0,h.default)("Saved Datasets"),url:"datasets/list",target:"_top"},{title:(0,h.default)("Saved Histories"),url:"histories/list",target:"_top"},{title:(0,h.default)("Saved Pages"),url:"pages/list",target:"_top"},{title:(0,h.default)("Saved Visualizations"),url:"visualizations/list",target:"_top"}]}:t.allow_user_creation?{id:"user",title:(0,h.default)("Login or Register"),cls:"loggedout-only",tooltip:(0,h.default)("Account registration or login"),menu:[{title:(0,h.default)("Login"),url:"user/login",target:"galaxy_main",noscratchbook:!0},{title:(0,h.default)("Register"),url:"user/create",target:"galaxy_main",noscratchbook:!0}]}:{id:"user",title:(0,h.default)("Login"),cls:"loggedout-only",tooltip:(0,h.default)("Login"),url:"user/login",target:"galaxy_main",noscratchbook:!0},this.add(a),(new $.Deferred).resolve().promise()}}),g=r.View.extend({initialize:function(t){this.model=t.model,this.setElement(this._template()),this.$link=this.$(".nav-link"),this.$note=this.$(".nav-note"),this.$menu=this.$(".dropdown-menu"),this.listenTo(this.model,"change",this.render,this)},events:{"click .nav-link":"_toggleClick"},render:function(){var t=this;return $(".tooltip").remove(),this.$el.removeClass().addClass(this.model.get("disabled")&&"disabled").addClass(this.model.get("active")&&"active").addClass(this.model.get("menu")&&"dropdown").attr("id",this.model.id).css({visibility:this.model.get("visible")&&"visible"||"hidden"}),this.model.set("url",this._formatUrl(this.model.get("url"))),this.$note.html(this.model.get("note")||"").removeClass().addClass("nav-note").addClass(this.model.get("note_cls")).css({display:this.model.get("show_note")&&"block"||"none"}),this.$link.html(this.model.get("title")||"").removeClass().addClass("nav-link").addClass(this.model.get("cls")).addClass(this.model.get("icon")&&"nav-icon fa "+this.model.get("icon")).addClass(this.model.get("menu")&&"dropdown-toggle").addClass(this.model.get("toggle")&&"toggle").attr("target",this.model.get("target")).attr("href",this.model.get("url")).attr("title",this.model.get("tooltip")).tooltip("dispose"),this.model.get("tooltip")&&this.$link.tooltip({placement:"bottom"}),this.model.get("menu")&&this.model.get("show_menu")?(this.$menu.show(),$("#dd-helper").show().off().on("click",function(){$("#dd-helper").hide(),t.model.set("show_menu",!1)})):(this.$menu.hide(),$("#dd-helper").hide()),this.$menu.empty().removeClass(),this.model.get("menu")&&(u.each(this.model.get("menu"),function(e){t.$menu.append(t._buildMenuItem(e)),e.divider&&t.$menu.append($("<div/>").addClass("dropdown-divider"))}),this.$menu.addClass("dropdown-menu"),this.$link.append($("<b/>").addClass("caret"))),this},_buildMenuItem:function(t){var e=this;return t=u.defaults(t||{},{title:"",url:"",target:"_parent",noscratchbook:!1}),t.url=this._formatUrl(t.url),$("<a/>").addClass("dropdown-item").attr("href",t.url).attr("target",t.target).html(t.title).on("click",function(i){i.preventDefault(),e.model.set("show_menu",!1),t.onclick?t.onclick():Galaxy.frame.add(t)})},buildLink:function(t,e){return $("<div/>").append($("<a/>").attr("href",Galaxy.root+e).html(t)).html()},_toggleClick:function(t){var e=this,i=this.model;t.preventDefault(),$(".tooltip").hide(),i.trigger("dispatch",function(t){i.id!==t.id&&t.get("menu")&&t.set("show_menu",!1)}),i.get("disabled")?(this.$link.popover&&this.$link.popover("dispose"),this.$link.popover({html:!0,placement:"bottom",content:"Please "+this.buildLink("login","user/login?use_panels=True")+" or "+this.buildLink("register","user/create?use_panels=True")+" to use this feature."}).popover("show"),window.setTimeout(function(){e.$link.popover("dispose")},3e3)):i.get("menu")?i.set("show_menu",!0):i.get("onclick")?i.get("onclick")():Galaxy.frame.add(i.attributes)},_formatUrl:function(t){return"string"==typeof t&&-1===t.indexOf("//")&&"/"!=t.charAt(0)?Galaxy.root+t:t},_template:function(){return'\n <li class="nav-item">\n <a class="nav-link"/>\n <div class="nav-note"/>\n <div class="dropdown-menu"/>\n </li>'}});t.default={Collection:f,Tab:g}});