"].join(""),{variable:"tool"})});e.default={ToolParameter:f,IntegerToolParameter:m,SelectToolParameter:v,Tool:b,ToolCollection:w,ToolSearch:k,ToolPanel:C,ToolPanelView:A,ToolFormView:E}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a){function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=i(3),s=r(o),l=i(4),d=r(l),c=i(9),u=r(c),h=i(63),f=r(h),p=i(40),_=r(p),m=t.View.extend({initialize:function(t){var e=this;this.modal=parent.Galaxy.modal||new u.default.View,this.form=new f.default(s.default.merge({listen_to_history:!0,always_refresh:!1,buildmodel:function(t,i){var a=i.model.attributes,r="",o={},l=a.job_id;l?r=Galaxy.root+"api/jobs/"+l+"/build_for_rerun":(r=Galaxy.root+"api/tools/"+a.id+"/build",o=n.extend({},Galaxy.params),o.tool_id&&delete o.tool_id),a.version&&(o.tool_version=a.version),s.default.get({url:r,data:o,success:function(n){if(!n.display)return void(window.location=Galaxy.root);i.model.set(n),e._customize(i),Galaxy.emit.debug("tool-form-base::_buildModel()","Initial tool model ready.",n),t.resolve()},error:function(e,r){var o=e&&e.err_msg||"Uncaught error.";401==r?window.location=Galaxy.root+"user/login?"+n.param({redirect:Galaxy.root+"?tool_id="+a.id}):i.$el.is(":empty")?i.$el.prepend(new d.default.Message({message:o,status:"danger",persistent:!0,large:!0}).$el):Galaxy.modal&&Galaxy.modal.show({title:"Tool request failed",body:o,buttons:{Close:function(){Galaxy.modal.hide()}}}),Galaxy.emit.debug("tool-form-base::_buildModel()","Initial tool model request failed.",e),t.reject()}})},postchange:function(t,e){var i={tool_id:e.model.get("id"),tool_version:e.model.get("version"),inputs:n.extend(!0,{},e.data.create())};e.wait(!0),Galaxy.emit.debug("tool-form::postchange()","Sending current state.",i),s.default.request({type:"POST",url:Galaxy.root+"api/tools/"+e.model.get("id")+"/build",data:i,success:function(i){e.update(i),e.wait(!1),Galaxy.emit.debug("tool-form::postchange()","Received new model.",i),t.resolve()},error:function(e){Galaxy.emit.debug("tool-form::postchange()","Refresh request failed.",e),t.reject()}})}},t)),this.deferred=this.form.deferred,this.setElement(""),this.$el.append(this.form.$el)},_customize:function(t){var e=this,i=t.model.attributes,n=new d.default.Button({icon:"fa-check",tooltip:"Execute: "+i.name+" ("+i.version+")",title:"Execute",cls:"btn btn-primary ui-clear-float",wait_cls:"btn btn-info ui-clear-float",onclick:function(){n.wait(),t.portlet.disable(),e.submit(i,function(){n.unwait(),t.portlet.enable()})}});i.buttons={execute:n},i.job_id&&i.job_remap&&i.inputs.push({label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",i.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})},submit:function(t,e){var i=this,r={tool_id:t.id,tool_version:t.version,inputs:this.form.data.create()};if(this.form.trigger("reset"),!i.validate(r))return Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(e&&e());if(t.action!==Galaxy.root+"tool_runner/index"){var o=n("").attr({action:t.action,method:t.method,enctype:t.enctype});return a.each(r.inputs,function(t,e){o.append(n("").attr({name:e,value:t}))}),o.hide().appendTo("body").submit().remove(),void(e&&e())}Galaxy.emit.debug("tool-form::submit()","Validation complete.",r),s.default.request({type:"POST",url:Galaxy.root+"api/tools",data:r,success:function(t){if(e&&e(),i.$el.children().hide(),i.$el.append(i._templateSuccess(t)),t.jobs&&t.jobs.length>0){i.$el.append(n("",{id:"webhook-view"}));new _.default.WebhookView({urlRoot:Galaxy.root+"api/webhooks/tool",toolId:r.tool_id})}parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(t){e&&e(),Galaxy.emit.debug("tool-form::submit","Submission failed.",t);var n=!1;if(t&&t.err_data){var a=i.form.data.matchResponse(t.err_data);for(var o in a){i.form.highlight(o,a[o]),n=!0;break}}n||i.modal.show({title:"Job submission failed",body:i._templateError(r,t&&t.err_msg),buttons:{Close:function(){i.modal.hide()}}})}})},validate:function(t){var e=t.inputs,i=-1,n=null;for(var a in e){var r=e[a],o=this.form.data.match(a),s=this.form.field_list[o],l=this.form.input_list[o];if(o&&l&&s){if(!l.optional&&null==r)return this.form.highlight(o),!1;if(r&&r.batch){var d=r.values.length,c=d>0&&r.values[0]&&r.values[0].src;if(c)if(null===n)n=c;else if(n!==c)return this.form.highlight(o,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===i)i=d;else if(i!==d)return this.form.highlight(o,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains "+d+" selection(s) while a previous field contains "+i+"."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0},_templateSuccess:function(t){if(t.jobs&&t.jobs.length>0){var e=t.jobs.length,i=1==e?"1 job has":e+" jobs have",r=n("").addClass("donemessagelarge").append(n("").text(i+" been successfully added to the queue - resulting in the following datasets:"));return a.each(t.outputs,function(t){r.append(n("").addClass("messagerow").append(n("").text(t.hid+": "+t.name)))}),r.append(n("").append("").text("You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.")),r}return this._templateError(t,"Invalid success response. No jobs found.")},_templateError:function(t,e){return n("").addClass("errormessagelarge").append(n("").text("The server could not complete the request. Please contact the Galaxy Team if this error persists. "+(e||""))).append(n("").text(JSON.stringify(t,null,4)))}});e.default={View:m}}).call(e,i(1),i(0),i(2))},,function(t,e,i){"use strict";(function(t,i,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.Model.extend({defaults:{url_base:"",async:!1,async_ops:[],categorical_filters:[],filters:{},sort_key:null,show_item_checkboxes:!1,advanced_search:!1,cur_page:1,num_pages:1,operation:void 0,item_ids:void 0},can_async_op:function(t){return-1!==i.indexOf(this.attributes.async_ops,t)},add_filter:function(t,e,i){if(i){var n,a=this.attributes.filters[t];if(null===a||void 0===a)n=e;else if("string"==typeof a)if("All"==a||a==e)n=e;else{var r=[];r[0]=a,r[1]=e,n=r}else n=a,-1===n.indexOf(e)&&n.push(e);this.attributes.filters[t]=n}else this.attributes.filters[t]=e},remove_filter:function(t,e){var n=this.attributes.filters[t];if(null===n||void 0===n)return!1;if("string"==typeof n)this.attributes.filters[t]="";else{var a=i.indexOf(n,e);-1!==a&&(n[a]="")}},get_url_data:function(){var t={async:this.attributes.async,sort:this.attributes.sort_key,page:this.attributes.cur_page,show_item_checkboxes:this.attributes.show_item_checkboxes,advanced_search:this.attributes.advanced_search};this.attributes.operation&&(t.operation=this.attributes.operation),this.attributes.item_ids&&(t.id=this.attributes.item_ids);var e=this;return i.each(i.pairs(e.attributes.filters),function(e){t["f-"+e[0]]=e[1]}),t},get_url:function(t){return this.get("url_base")+"?"+n.param(this.get_url_data())+"&"+n.param(t)}})}).call(e,i(1),i(2),i(0))},function(t,e,i){"use strict";(function(t,n){Object.defineProperty(e,"__esModule",{value:!0});var a=i(3),r=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={grid:function(t){var e="";return e=t.embedded?this.grid_header(t)+this.grid_table(t):'
',n=1);for(var a in e.items){var r=e.items[a],o=r.encode_id;i+="
",e.show_item_checkboxes&&(i+='
');for(var s in e.columns){var l=e.columns[s];if(l.visible){var d="";l.nowrap&&(d='style="white-space:nowrap;"');var c=r.column_config[l.label],u=c.link,h=c.value,f=c.target;"string"===t.type(h)&&(h=h.replace(/\/\//g,"/"));var p="",_="";l.attach_popup&&(p="grid-"+a+"-popup",_="menubutton",""!=u&&(_+=" split"),_+=" popup"),i+="
'},grid_filters:function(t){var e=t.default_filter_dict,i=t.filters,n="none";t.advanced_search&&(n="block");var a=!1;for(var r in t.columns){var o=t.columns[r];if("advanced"==o.filterable){var s=o.key,l=i[s],d=e[s];l&&d&&l!=d&&(n="block"),a=!0}}var c="block";"block"==n&&(c="none");var u='
';for(var r in t.columns){var o=t.columns[r];"standard"==o.filterable&&(u+=this.grid_column_filter(t,o))}u+="
',i.is_text){o+=''}else{o+='';var m=!1;for(var g in e.categorical_filters[r]){var v=e.categorical_filters[r][g],b="",w="";for(var y in v)b=y,w=v[y];m&&(o+=" | "),m=!0;var h=n[r];h&&v[r]&&h==w?o+=''+g+"":o+=''+g+""}o+=""}return o+="
"},filter_element:function(t,e){return''+(e=r.default.sanitize(e))+''}}}).call(e,i(0),i(2))},function(t,e,i){"use strict";(function(t,n){function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=function(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}(r),s=i(146),l=a(s),d=i(13),c=a(d),u=i(41),h=a(u),f=i(61),p=a(f),_=i(26),m=a(_),g=i(3),v=a(g);i(170),i(169),i(171),i(157),i(174),i(159),i(172),i(173),i(25);var b=null,w=null,y=function(){this.initialize&&this.initialize.apply(this,arguments)};y.extend=t.Model.extend;var x=y.extend({initialize:function(t){v.default.cssLoadFile("static/style/jquery.rating.css"),v.default.cssLoadFile("static/style/autocomplete_tagging.css"),v.default.cssLoadFile("static/style/jquery-ui/smoothness/jquery-ui.css"),v.default.cssLoadFile("static/style/library.css"),v.default.cssLoadFile("static/style/trackster.css"),this.baseURL=t},save_viz:function(){Galaxy.modal.show({title:"Saving...",body:"progress"});var t=[];n(".bookmark").each(function(){t.push({position:n(this).children(".position").text(),annotation:n(this).children(".annotation").text()})});var e=w.overview_drawable?w.overview_drawable.config.get_value("name"):null,i={view:w.to_dict(),viewport:{chrom:w.chrom,start:w.low,end:w.high,overview:e},bookmarks:t};return n.ajax({url:Galaxy.root+"visualization/save",type:"POST",dataType:"json",data:{id:w.vis_id,title:w.config.get_value("name"),dbkey:w.dbkey,type:"trackster",vis_json:JSON.stringify(i)}}).success(function(t){Galaxy.modal.hide(),w.vis_id=t.vis_id,w.has_changes=!1,window.history.pushState({},"",t.url+window.location.hash)}).error(function(){Galaxy.modal.show({title:"Could Not Save",body:"Could not save visualization. Please try again later.",buttons:{Cancel:function(){Galaxy.modal.hide()}}})})},createButtonMenu:function(){var t=this,e=h.default.create_icon_buttons_menu([{icon_class:"plus-button",title:"Add tracks",on_click:function(){c.default.select_datasets({dbkey:w.dbkey},function(t){o.each(t,function(t){w.add_drawable(l.default.object_from_template(t,w,w))})})}},{icon_class:"block--plus",title:"Add group",on_click:function(){w.add_drawable(new l.default.DrawableGroup(w,w,{name:"New Group"}))}},{icon_class:"bookmarks",title:"Bookmarks",on_click:function(){force_right_panel("0px"==n("div#right").css("right")?"hide":"show")}},{icon_class:"globe",title:"Circster",on_click:function(){window.location=t.baseURL+"visualization/circster?id="+w.vis_id}},{icon_class:"disk--arrow",title:"Save",on_click:function(){t.save_viz()}},{icon_class:"cross-circle",title:"Close",on_click:function(){t.handle_unsaved_changes(w)}}],{tooltip_config:{placement:"bottom"}});return this.buttonMenu=e,e},add_bookmark:function(t,e,i){var a=n("#right .unified-panel-body"),r=n("").addClass("bookmark").appendTo(a),o=n("").addClass("position").appendTo(r),s=(n("").text(t).appendTo(o).click(function(){return w.go_to(t),!1}),n("").text(e).appendTo(r));if(i){var l=n("").addClass("delete-icon-container").prependTo(r).click(function(){return r.slideUp("fast"),r.remove(),w.has_changes=!0,!1});n("").addClass("icon-button delete").appendTo(l);s.make_text_editable({num_rows:3,use_textarea:!0,help_text:"Edit bookmark note"}).addClass("annotation")}return w.has_changes=!0,r},create_visualization:function(t,e,i,a,r){var s=this,d=new l.default.TracksterView(o.extend(t,{header:!1}));return d.editor=!0,n.when(d.load_chroms_deferred).then(function(t){if(e){var n=e.chrom,o=e.start,c=e.end,u=e.overview;n&&void 0!==o&&c?d.change_chrom(n,o,c):d.change_chrom(t[0].chrom)}else d.change_chrom(t[0].chrom);if(i)for(var h=0;h"),n("#right-border").click(function(){w.resize_window()}),force_right_panel("hide"),galaxy_config.app.id?this.view_existing():p.default.get("dataset_id")?this.choose_existing_or_new():this.view_new()},choose_existing_or_new:function(){var t=this,e=p.default.get("dbkey"),i={},n={dbkey:e,dataset_id:p.default.get("dataset_id"),hda_ldda:p.default.get("hda_ldda"),gene_region:p.default.get("gene_region")};e&&(i["f-dbkey"]=e),Galaxy.modal.show({title:"View Data in a New or Saved Visualization?",body:"
You can add this dataset as:
a new track to one of your existing, saved Trackster sessions if they share the genome build: "+(e||"Not available.")+"
or create a new session with this dataset as the only track
",buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},"View in saved visualization":function(){t.view_in_saved(n)},"View in new visualization":function(){t.view_new()}}})},view_in_saved:function(t){var e=new m.default({url_base:Galaxy.root+"visualization/list_tracks",dict_format:!0,embedded:!0});Galaxy.modal.show({title:"Add Data to Saved Visualization",body:e.$el,buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},"Add to visualization":function(){n(parent.document).find("input[name=id]:checked").each(function(){t.id=n(this).val(),window.location=Galaxy.root+"visualization/trackster?"+n.param(t)})}}})},view_existing:function(){var t=galaxy_config.app.viz_config;w=b.create_visualization({container:n("#center .unified-panel-body"),name:t.title,vis_id:t.vis_id,dbkey:t.dbkey},t.viewport,t.tracks,t.bookmarks,!0),this.init_editor()},view_new:function(){var t=this;n.ajax({url:Galaxy.root+"api/genomes?chrom_info=True",data:{},error:function(){alert("Couldn't create new browser.")},success:function(e){Galaxy.modal.show({title:"New Visualization",body:t.template_view_new(e),buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},Create:function(){t.create_browser(n("#new-title").val(),n("#new-dbkey").val()),Galaxy.modal.hide()}}});var i=e.map(function(t){return t[1]});galaxy_config.app.default_dbkey&&o.contains(i,galaxy_config.app.default_dbkey)&&n("#new-dbkey").val(galaxy_config.app.default_dbkey),n("#new-title").focus(),n("select[name='dbkey']").select2(),n("#overlay").css("overflow","auto")}})},template_view_new:function(t){for(var e=''},create_browser:function(t,e){n(document).trigger("convert_to_values"),w=b.create_visualization({container:n("#center .unified-panel-body"),name:t,dbkey:e},galaxy_config.app.gene_region),this.init_editor(),w.editor=!0},init_editor:function(){n("#center .unified-panel-title").text(w.config.get_value("name")+" ("+w.dbkey+")"),galaxy_config.app.add_dataset&&n.ajax({url:Galaxy.root+"api/datasets/"+galaxy_config.app.add_dataset,data:{hda_ldda:"hda",data_type:"track_config"},dataType:"json",success:function(t){w.add_drawable(l.default.object_from_template(t,w,w))}}),n("#add-bookmark-button").click(function(){var t=w.chrom+":"+w.low+"-"+w.high;return b.add_bookmark(t,"Bookmark description",!0)}),b.init_keyboard_nav(w),n(window).on("beforeunload",function(){if(w.has_changes)return"There are unsaved changes to your visualization that will be lost if you leave this page."})}});e.default={TracksterUI:x,GalaxyApp:k}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n){function a(t){return t&&t.__esModule?t:{default:t}}function r(t,e){e||(e=0);var i=Math.pow(10,e);return Math.round(t*i)/i}function o(e){var i=t.Deferred();return t.ajax({type:"HEAD",url:e,beforeSend:function(t){t.setRequestHeader("Range","bytes=0-10")},success:function(t,e,n){i.resolve(206===n.status)}}),i}Object.defineProperty(e,"__esModule",{value:!0});var s=i(2),l=function(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}(s),d=i(13),c=a(d),u=i(147),h=a(u),f=i(14),p=a(f),_=i(148),m=a(_),g=i(149),v=a(g),b=i(150),w=a(b),y=i(15),x=a(y),k=i(140),C=a(k),S=i(21),$=a(S),T=i(151),M=a(T);i(25);var O=l.extend,A={},E=function(t,e){A[t.attr("id")]=e},z=function(e,i,n,a){n=".group",A[e.attr("id")]=a,e.bind("drag",{handle:"."+i,relative:!0},function(e,i){var a,r,o,s,l,d=(t(this),t(this).parent()),c=d.children(".track,.group"),u=A[t(this).attr("id")];if(r=t(this).parents(n),0!==r.length){o=r.position().top,s=o+r.outerHeight();var h=A[r.attr("id")];if(i.offsetYs)return t(this).insertAfter(r),h.remove_drawable(u),void h.container.add_drawable(u)}for(r=null,l=0;l=o&&i.offsetY<=s)return i.offsetY-o0?l-1:l))}).bind("dragstart",function(){t(this).addClass("dragging")}).bind("dragend",function(){t(this).removeClass("dragging")})},R="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",P=["Histogram","Line","Filled","Intensity"],j=function t(e,i,n){if(t.id_counter||(t.id_counter=0),this.id=t.id_counter++,this.view=e,this.container=i,this.drag_handle_class=n.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=$.default.ConfigSettingCollection.from_models_and_saved_values(this.config_params,n.prefs),this.config.get_value("name")||this.config.set_value("name",n.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,!1!==n.header){var a=new h.default.TrackHeaderView({model:this,id:this.id});this.header_div=a.$el,this.container_div.append(this.header_div);var r=a.icons_div;this.action_icons=a.action_icons,this.container_div.hover(function(){r.show()},function(){r.hide()})}};j.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(t){t.config.get_value("content_visible")?(t.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),t.hide_contents(),t.config.set_value("content_visible",!1)):(t.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),t.config.set_value("content_visible",!0),t.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(t){new $.default.ConfigSettingCollectionView({collection:t.config}).render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(e){t(".tooltip").remove(),e.remove()}}],O(j.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return!(!this.enabled||!this.config.get_value("content_visible"))},request_draw:function(){},_draw:function(t){},to_dict:function(){},set_name:function(t){this.old_name=this.config.get_value("name"),this.config.set_value("name",t)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var e=this.view;this.container_div.hide(0,function(){t(this).remove(),e.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var q=function(t,e,i){j.call(this,t,e,i),this.obj_type=i.obj_type,this.drawables=[]};O(q.prototype,j.prototype,{unpack_drawables:function(t){this.drawables=[];for(var e,i=0;i").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),E(this.container_div,this),E(this.content_div,this),z(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new w.default.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after(t("")),this.saved_filters_managers=[],"drawables"in n&&this.unpack_drawables(n.drawables),"filters"in n){var a=this.filters_manager;this.filters_manager=new w.default.FiltersManager(this,n.filters),a.parent_div.replaceWith(this.filters_manager.parent_div),n.filters.visible&&this.setup_multitrack_filtering()}};O(D.prototype,j.prototype,q.prototype,{action_icons_def:[j.prototype.action_icons_def[0],j.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(e){t(".tooltip").remove(),e.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(t){t.filters_manager.visible()?(t.filters_manager.clear_filters(),t._restore_filter_managers()):(t.setup_multitrack_filtering(),t.request_draw({clear_tile_cache:!0})),t.filters_manager.toggle()}},j.prototype.action_icons_def[2]],build_container_div:function(){var e=t("").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(e),e},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var e=this.drawables.length;if(0===e)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===e)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof J),this.action_icons.filters_icon.hide();else{var i,n,a,r=this.drawables[0].get_type(),o=0;for(i=0;i1&&o===this.drawables.length){var s,l={};for(a=this.drawables[0],n=0;n0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var t=0;t0){this.saved_filters_managers=[];for(var t=0;t").addClass("top-container").appendTo(e),this.browser_content_div=t("").addClass("content").appendTo(e),this.bottom_container=t("").addClass("bottom-container").appendTo(e),this.top_labeltrack=t("").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=t("").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,E(this.viewport_container,i),this.intro_div=t("").addClass("intro").appendTo(this.viewport_container);t("").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){c.default.select_datasets({dbkey:i.dbkey},function(t){l.each(t,function(t){i.add_drawable(nt(t,i,i))})})});this.nav_container=t("").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=t("").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=t("").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=t("").addClass("overview-viewport").appendTo(this.overview),this.overview_close=t("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=t("").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=t("").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=t("").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=t("").addClass("nav-controls").appendTo(this.nav),this.chrom_select=t("").attr({name:"chrom"}).addClass("chrom-nav").append("").appendTo(this.nav_controls);var n=function(e){"focusout"!==e.type&&13!==(e.keyCode||e.which)&&27!==(e.keyCode||e.which)||(27!==(e.keyCode||e.which)&&i.go_to(t(this).val()),t(this).hide(),t(this).val(""),i.location_span.show(),i.chrom_select.show()),e.stopPropagation()};this.nav_input=t("").addClass("nav-input").hide().bind("keyup focusout",n).appendTo(this.nav_controls),this.location_span=t("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){i.location_span.hide(),i.chrom_select.hide(),i.nav_input.val(i.chrom+":"+i.low+"-"+i.high),i.nav_input.css("display","inline-block"),i.nav_input.select(),i.nav_input.focus(),i.nav_input.autocomplete({source:function(e,n){var a=[],r=t.map(i.get_tracks(Q),function(t){return t.data_manager.search_features(e.term).success(function(t){a=a.concat(t)})});t.when.apply(t,r).done(function(){n(t.map(a,function(t){return{label:t[0],value:t[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=t("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=t("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){i.zoom_out()}).appendTo(this.nav_controls),this.zi_link=t("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){i.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){i.change_chrom(i.chrom_select.val())}),this.browser_content_div.click(function(e){t(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(t){i.zoom_in(t.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(t,e){this.current_x=e.offsetX}).bind("drag",function(t,e){var n=e.offsetX-this.current_x;this.current_x=e.offsetX;var a=Math.round(n/i.viewport_container.width()*(i.max_high-i.max_low));i.move_delta(-a)}),this.overview_close.click(function(){i.reset_overview()}),this.viewport_container.bind("draginit",function(t,e){if(t.clientX>i.viewport_container.width()-16)return!1}).bind("dragstart",function(t,e){e.original_low=i.low,e.current_height=t.clientY,e.current_x=e.offsetX}).bind("drag",function(e,n){var a=t(this),r=n.offsetX-n.current_x,o=a.scrollTop()-(e.clientY-n.current_height);a.scrollTop(o),n.current_height=e.clientY,n.current_x=n.offsetX;var s=Math.round(r/i.viewport_container.width()*(i.high-i.low));i.move_delta(s)}),this.top_labeltrack.bind("dragstart",function(e,n){return t("").addClass("zoom-area").css("height",i.browser_content_div.height()+i.top_labeltrack.height()+1).appendTo(t(this))}).bind("drag",function(e,n){t(n.proxy).css({left:Math.min(e.pageX,n.startX)-i.container.offset().left,width:Math.abs(e.pageX-n.startX)});var a=Math.min(e.pageX,n.startX)-i.container.offset().left,r=Math.max(e.pageX,n.startX)-i.container.offset().left,o=i.high-i.low,s=i.viewport_container.width();i.update_location(Math.round(a/s*o)+i.low,Math.round(r/s*o)+i.low)}).bind("dragend",function(e,n){var a=Math.min(e.pageX,n.startX),r=Math.max(e.pageX,n.startX),o=i.high-i.low,s=i.viewport_container.width(),l=i.low;i.low=Math.round(a/s*o)+l,i.high=Math.round(r/s*o)+l,t(n.proxy).remove(),i.request_redraw()}),this.add_label_track(new X(this,{content_div:this.top_labeltrack})),t(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){i.resize_window()},500)}),t(document).bind("redraw",function(){i.redraw()}),this.reset(),t(window).trigger("resize")},get_base_color:function(t){return this.config.get_value(t.toLowerCase()+"_color")||this.config.get_value("n_color")}});O(I.prototype,q.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(t,e,i,n){if(this.timer&&clearTimeout(this.timer),n){var a=this;this.timer=setTimeout(function(){a.trigger("navigate",t+":"+e+"-"+i)},500)}else view.trigger("navigate",t+":"+e+"-"+i)},update_location:function(t,e){this.location_span.text(p.default.commatize(t)+" - "+p.default.commatize(e)),this.nav_input.val(this.chrom+":"+p.default.commatize(t)+"-"+p.default.commatize(e));var i=this.chrom_select.val();""!==i&&this.trigger_navigate(i,this.low,this.high,!0)},load_chroms:function(e){e.num=100;var i=this,n=t.Deferred();return t.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:e,dataType:"json",success:function(e){if(0!==e.chrom_info.length){if(e.reference){var a=new W(i);i.add_label_track(a),i.reference_track=a}i.chrom_data=e.chrom_info,i.chrom_select.html(""),i.chrom_select.append(t(''));for(var r=0,o=i.chrom_data.length;r");l.text(s),l.val(s),i.chrom_select.append(l)}e.prev_chroms&&i.chrom_select.append(t('')),e.next_chroms&&i.chrom_select.append(t('')),i.chrom_start_index=e.start_index,n.resolve(e.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+i.dbkey)}}),n},change_chrom:function(e,i,n){var a=this;if(!a.chrom_data)return void a.load_chroms_deferred.then(function(){a.change_chrom(e,i,n)});if(e&&"None"!==e){if("previous"===e)return void a.load_chroms({low:this.chrom_start_index-100});if("next"===e)return void a.load_chroms({low:this.chrom_start_index+100});var r=t.grep(a.chrom_data,function(t,i){return t.chrom===e})[0];if(void 0===r)return void a.load_chroms({chrom:e},function(){a.change_chrom(e,i,n)});if(e!==a.chrom){a.chrom=e,a.chrom_select.val(a.chrom),a.max_high=r.len-1,a.reset();for(var o=0,s=a.drawables.length;oe.max_high?(e.high=e.max_high,e.low=e.max_high-i):(e.high-=t,e.low-=t),e.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){e.request_redraw()},200);var n=e.chrom_select.val();this.trigger_navigate(n,e.low,e.high,!0)},add_drawable:function(t){q.prototype.add_drawable.call(this,t),t.init(),this.changed(),this.update_intro_div();var e=this;t.config.on("change",function(){e.changed()})},add_label_track:function(t){t.view=this,t.init(),this.label_tracks.push(t)},remove_drawable:function(e,i){if(q.prototype.remove_drawable.call(this,e),i){var n=this;e.container_div.hide(0,function(){t(this).remove(),n.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(t,e){var i=this,n=e?[e]:i.drawables;l.each(n,function(e){var n=l.find(i.tracks_to_be_redrawn,function(t){return t[0]===e});n?n[1]=t:i.tracks_to_be_redrawn.push([e,t])}),this.requested_redraw||(requestAnimationFrame(function(){i._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var t=this.low,e=this.high;tthis.max_high&&(e=this.max_high);var i=this.high-this.low;0!==this.high&&i").addClass("param-label").text(i.get("label")).appendTo(e);t("").addClass("param-input").html(i.get("html")).appendTo(e).find(":input").val(i.get("value")),t("").appendTo(e)},update_value:function(e){this.model.set_value(t(e.target).val())}}),B=n.View.extend({initialize:function(t){this.model.on("change:hidden",this.set_visible,this)},render:function(){var e=this,i=this.model,n=this.$el.addClass("dynamic-tool").hide();n.bind("drag",function(t){t.stopPropagation()}).click(function(t){t.stopPropagation()}).bind("dblclick",function(t){t.stopPropagation()}).keydown(function(t){t.stopPropagation()});t("
").addClass("param-row").appendTo(n),r=t("").attr("value","Run on complete dataset").appendTo(a);t("").attr("value","Run on visible region").appendTo(a).click(function(){e.run_on_region()}),r.click(function(){e.run_on_dataset()}),i.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var t=0;t").append(a),this.data=r,this.stale=!1};G.prototype.predisplay_actions=function(){};var U=function(t,e,i,n,a){G.call(this,t,e,i,n,a)};U.prototype.predisplay_actions=function(){};var F=function(t,e,i,n,a,r,o,s,l,d,c){G.call(this,t,e,i,n,a),this.mode=r,this.all_slotted=s,this.feature_mapper=l,this.has_icons=!1,this.incomplete_features=d,this.other_tiles_features_drawn={},this.seq_data=c};O(F.prototype,G.prototype),F.prototype.predisplay_actions=function(){};var H=function(e,i,a){O(a,{drag_handle_class:"draghandle"}),j.call(this,e,i,a),this.dataset=null,a.dataset&&(this.dataset=a.dataset instanceof n.Model?a.dataset:new x.default.Dataset(a.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in a?a.data_query_wait:5e3,this.data_manager="data_manager"in a?a.data_manager:new c.default.GenomeDataManager({dataset:this.dataset,genome:new c.default.Genome({key:e.dbkey,chroms_info:{chrom_info:e.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=t("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in a&&!a.resize||this.add_resize_handle())};O(H.prototype,j.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},j.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(t){t.view.set_overview(t)}},j.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(t){t.filters_manager.visible()?t.filters_manager.clear_filters():t.filters_manager.init_filters(),t.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(e){e.tool.toggle(),e.tool.is_visible()?e.set_name(e.config.get_value("name")+e.tool_region_and_parameters_str()):e.revert_name(),t(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(e){var i="Tool:"+e.tool.get("name")+" Dataset:"+e.config.get_value("name")+' Region(s): ',a=function(){Galaxy.modal.hide(),t(window).unbind("keypress.check_enter_esc")},r=function(){var i,a=t('select[name="regions"] option:selected').val(),r=new c.default.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),o=l.map(t(".bookmark"),function(e){return new c.default.GenomeRegion({from_str:t(e).children(".position").text()})});i="cur"===a?[r]:"bookmarks"===a?o:[r].concat(o),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+t.param({dataset_id:e.dataset.id,hda_ldda:e.dataset.get("hda_ldda"),regions:JSON.stringify(new n.Collection(i).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:i,buttons:{No:a,Yes:r}})}},j.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&j.prototype.can_draw.call(this)},build_container_div:function(){return t("").addClass("track").attr("id","track_"+this.id)},set_dataset:function(t){this.dataset=t,this.data_manager.set("dataset",t)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var e=this,i=!1,n=!1,a=t("
");t(e.container_div).hover(function(){e.config.get_value("content_visible")&&(i=!0,a.show())},function(){i=!1,n||a.hide()}),a.hide().bind("dragstart",function(i,a){n=!0,a.original_height=t(e.content_div).height()}).bind("drag",function(i,n){var a=Math.min(Math.max(n.original_height+n.deltaY,e.min_height_px),e.max_height_px);t(e.tiles_div).css("height",a),e.visible_height_px=e.max_height_px===a?0:a,e.on_resize()}).bind("dragend",function(t,r){e.tile_cache.clear(),n=!1,i||a.hide(),e.config.set_value("height",e.visible_height_px),e.changed()}).appendTo(e.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof X?"LabelTrack":this instanceof W?"ReferenceTrack":this instanceof K?"LineTrack":this instanceof et?"ReadTrack":this instanceof tt?"VariantTrack":this instanceof J?"CompositeTrack":this instanceof Q?"FeatureTrack":""},show_message:function(e){return this.tiles_div.remove(),t("").addClass("message").html(e).appendTo(this.content_div)},init:function(e){var i=this;if(i.enabled=!1,i.tile_cache.clear(),i.data_manager.clear(),i.content_div.children().remove(),i.container_div.removeClass("nodata error pending"),i.tiles_div=t("").addClass("tiles").appendTo(i.content_div),i.dataset.id){var n=t.Deferred(),a={hda_ldda:i.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:i.view.chrom,retry:e};return t.getJSON(this.dataset.url(),a,function(e){if(e&&"error"!==e&&"error"!==e.kind)"no converter"===e?(i.container_div.addClass("error"),i.show_message(R)):"no data"===e||void 0!==e.data&&(null===e.data||0===e.data.length)?(i.container_div.addClass("nodata"),i.show_message("No data for this chrom/contig.")):"pending"===e?(i.container_div.addClass("pending"),i.show_message("Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background."),setTimeout(function(){i.init()},i.data_query_wait)):"data"!==e&&"data"!==e.status||(e.valid_chroms&&(i.valid_chroms=e.valid_chroms,i.update_icons()),i.tiles_div.text("Ready for display"),i.view.chrom?(i.tiles_div.text(""),i.tiles_div.css("height",i.visible_height_px+"px"),i.enabled=!0,t.when.apply(t,i.predraw_init()).done(function(){n.resolve(),i.container_div.removeClass("nodata error pending"),i.request_draw()})):n.resolve());else{i.container_div.addClass("error");var a=i.show_message("Cannot display dataset due to an error. ");e.message&&(a.append(t("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
'}});e.default={View:h}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a,r){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=i(162),l=o(s),d=i(40),c=o(d),u=i(7),h=o(u),f=i(3),p=o(f),_=t.Collection.extend({model:t.Model.extend({defaults:{visible:!0,target:"_parent"}}),fetch:function(t){t=t||{},this.reset();var e=new l.default.GenericNavView;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:"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"}]}),this.add({id:"visualization",title:(0,h.default)("Visualization"),url:"visualizations/list",tooltip:(0,h.default)("Visualize datasets"),disabled:!Galaxy.user.id,menu:[{title:(0,h.default)("New Track Browser"),url:"visualization/trackster",target:"_frame"},{title:(0,h.default)("Saved Visualizations"),url:"visualizations/list",target:"_frame"},{title:(0,h.default)("Interactive Environments"),url:"visualization/gie_list",target:"galaxy_main"}]}),c.default.add({url:"api/webhooks/masthead/all",callback:function(t){n(document).ready(function(){n.each(t.models,function(t,e){var i=e.toJSON();if(i.activate){var n={id:i.name,icon:i.config.icon,url:i.config.url,tooltip:i.config.tooltip,onclick:i.config.function&&new Function(i.config.function)};Galaxy.page?Galaxy.page.masthead.collection.add(n):Galaxy.masthead&&Galaxy.masthead.collection.add(n),p.default.appendScriptStyle(i)}})})}}),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 r={};r=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 Histories"),url:"histories/list",target:"_top"},{title:(0,h.default)("Saved Datasets"),url:"datasets/list",target:"_top"},{title:(0,h.default)("Saved Pages"),url:"pages/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(r);var o=this.get(t.active_view);return o&&o.set("active",!0),(new a.Deferred).resolve().promise()}}),m=t.View.extend({initialize:function(t){this.model=t.model,this.setElement(this._template()),this.$dropdown=this.$(".dropdown"),this.$toggle=this.$(".dropdown-toggle"),this.$menu=this.$(".dropdown-menu"),this.$note=this.$(".dropdown-note"),this.listenTo(this.model,"change",this.render,this)},events:{"click .dropdown-toggle":"_toggleClick"},render:function(){var t=this;return n(".tooltip").remove(),this.$el.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("dropdown-note").addClass(this.model.get("note_cls")).css({display:this.model.get("show_note")&&"block"||"none"}),this.$toggle.html(this.model.get("title")||"").removeClass().addClass("dropdown-toggle").addClass(this.model.get("cls")).addClass(this.model.get("icon")&&"dropdown-icon fa "+this.model.get("icon")).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("destroy"),this.model.get("tooltip")&&this.$toggle.tooltip({placement:"bottom"}),this.$dropdown.removeClass().addClass("dropdown").addClass(this.model.get("disabled")&&"disabled").addClass(this.model.get("active")&&"active"),this.model.get("menu")&&this.model.get("show_menu")?(this.$menu.show(),n("#dd-helper").show().off().on("click",function(){n("#dd-helper").hide(),t.model.set("show_menu",!1)})):(t.$menu.hide(),n("#dd-helper").hide()),this.$menu.empty().removeClass("dropdown-menu"),this.model.get("menu")&&(r.each(this.model.get("menu"),function(e){t.$menu.append(t._buildMenuItem(e)),e.divider&&t.$menu.append(n("").addClass("divider"))}),t.$menu.addClass("dropdown-menu"),t.$toggle.append(n("").addClass("caret"))),this},_buildMenuItem:function(t){var e=this;return t=r.defaults(t||{},{title:"",url:"",target:"_parent",noscratchbook:!1}),t.url=e._formatUrl(t.url),n("").append(n("").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)}))},_toggleClick:function(t){var e=this,i=this.model;if(t.preventDefault(),n(".tooltip").hide(),i.trigger("dispatch",function(t){i.id!==t.id&&t.get("menu")&&t.set("show_menu",!1)}),i.get("disabled")){var a=function(t,e){return n("").append(n("").attr("href",Galaxy.root+e).html(t)).html()};this.$toggle.popover&&this.$toggle.popover("destroy"),this.$toggle.popover({html:!0,placement:"bottom",content:"Please "+a("login","user/login?use_panels=True")+" or "+a("register","user/create?use_panels=True")+" to use this feature."}).popover("show"),setTimeout(function(){e.$toggle.popover("destroy")},5e3)}else 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'
"].join(""),{variable:"tool"})});e.default={ToolParameter:f,IntegerToolParameter:m,SelectToolParameter:v,Tool:b,ToolCollection:w,ToolSearch:k,ToolPanel:C,ToolPanelView:A,ToolFormView:E}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a){function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=i(3),s=r(o),l=i(4),d=r(l),c=i(9),u=r(c),h=i(63),f=r(h),p=i(40),_=r(p),m=t.View.extend({initialize:function(t){var e=this;this.modal=parent.Galaxy.modal||new u.default.View,this.form=new f.default(s.default.merge({listen_to_history:!0,always_refresh:!1,buildmodel:function(t,i){var a=i.model.attributes,r="",o={},l=a.job_id;l?r=Galaxy.root+"api/jobs/"+l+"/build_for_rerun":(r=Galaxy.root+"api/tools/"+a.id+"/build",o=n.extend({},Galaxy.params),o.tool_id&&delete o.tool_id),a.version&&(o.tool_version=a.version),s.default.get({url:r,data:o,success:function(n){if(!n.display)return void(window.location=Galaxy.root);i.model.set(n),e._customize(i),Galaxy.emit.debug("tool-form-base::_buildModel()","Initial tool model ready.",n),t.resolve()},error:function(e,r){var o=e&&e.err_msg||"Uncaught error.";401==r?window.location=Galaxy.root+"user/login?"+n.param({redirect:Galaxy.root+"?tool_id="+a.id}):i.$el.is(":empty")?i.$el.prepend(new d.default.Message({message:o,status:"danger",persistent:!0,large:!0}).$el):Galaxy.modal&&Galaxy.modal.show({title:"Tool request failed",body:o,buttons:{Close:function(){Galaxy.modal.hide()}}}),Galaxy.emit.debug("tool-form-base::_buildModel()","Initial tool model request failed.",e),t.reject()}})},postchange:function(t,e){var i={tool_id:e.model.get("id"),tool_version:e.model.get("version"),inputs:n.extend(!0,{},e.data.create())};e.wait(!0),Galaxy.emit.debug("tool-form::postchange()","Sending current state.",i),s.default.request({type:"POST",url:Galaxy.root+"api/tools/"+e.model.get("id")+"/build",data:i,success:function(i){e.update(i),e.wait(!1),Galaxy.emit.debug("tool-form::postchange()","Received new model.",i),t.resolve()},error:function(e){Galaxy.emit.debug("tool-form::postchange()","Refresh request failed.",e),t.reject()}})}},t)),this.deferred=this.form.deferred,this.setElement(""),this.$el.append(this.form.$el)},_customize:function(t){var e=this,i=t.model.attributes,n=new d.default.Button({icon:"fa-check",tooltip:"Execute: "+i.name+" ("+i.version+")",title:"Execute",cls:"btn btn-primary ui-clear-float",wait_cls:"btn btn-info ui-clear-float",onclick:function(){n.wait(),t.portlet.disable(),e.submit(i,function(){n.unwait(),t.portlet.enable()})}});i.buttons={execute:n},i.job_id&&i.job_remap&&i.inputs.push({label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",i.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})},submit:function(t,e){var i=this,r={tool_id:t.id,tool_version:t.version,inputs:this.form.data.create()};if(this.form.trigger("reset"),!i.validate(r))return Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(e&&e());if(t.action!==Galaxy.root+"tool_runner/index"){var o=n("").attr({action:t.action,method:t.method,enctype:t.enctype});return a.each(r.inputs,function(t,e){o.append(n("").attr({name:e,value:t}))}),o.hide().appendTo("body").submit().remove(),void(e&&e())}Galaxy.emit.debug("tool-form::submit()","Validation complete.",r),s.default.request({type:"POST",url:Galaxy.root+"api/tools",data:r,success:function(t){if(e&&e(),i.$el.children().hide(),i.$el.append(i._templateSuccess(t)),t.jobs&&t.jobs.length>0){i.$el.append(n("",{id:"webhook-view"}));new _.default.WebhookView({urlRoot:Galaxy.root+"api/webhooks/tool",toolId:r.tool_id})}parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(t){e&&e(),Galaxy.emit.debug("tool-form::submit","Submission failed.",t);var n=!1;if(t&&t.err_data){var a=i.form.data.matchResponse(t.err_data);for(var o in a){i.form.highlight(o,a[o]),n=!0;break}}n||i.modal.show({title:"Job submission failed",body:i._templateError(r,t&&t.err_msg),buttons:{Close:function(){i.modal.hide()}}})}})},validate:function(t){var e=t.inputs,i=-1,n=null;for(var a in e){var r=e[a],o=this.form.data.match(a),s=this.form.field_list[o],l=this.form.input_list[o];if(o&&l&&s){if(!l.optional&&null==r)return this.form.highlight(o),!1;if(r&&r.batch){var d=r.values.length,c=d>0&&r.values[0]&&r.values[0].src;if(c)if(null===n)n=c;else if(n!==c)return this.form.highlight(o,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===i)i=d;else if(i!==d)return this.form.highlight(o,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains "+d+" selection(s) while a previous field contains "+i+"."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0},_templateSuccess:function(t){if(t.jobs&&t.jobs.length>0){var e=t.jobs.length,i=1==e?"1 job has":e+" jobs have",r=n("").addClass("donemessagelarge").append(n("").text(i+" been successfully added to the queue - resulting in the following datasets:"));return a.each(t.outputs,function(t){r.append(n("").addClass("messagerow").append(n("").text(t.hid+": "+t.name)))}),r.append(n("").append("").text("You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.")),r}return this._templateError(t,"Invalid success response. No jobs found.")},_templateError:function(t,e){return n("").addClass("errormessagelarge").append(n("").text("The server could not complete the request. Please contact the Galaxy Team if this error persists. "+(e||""))).append(n("").text(JSON.stringify(t,null,4)))}});e.default={View:m}}).call(e,i(1),i(0),i(2))},,function(t,e,i){"use strict";(function(t,i,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=t.Model.extend({defaults:{url_base:"",async:!1,async_ops:[],categorical_filters:[],filters:{},sort_key:null,show_item_checkboxes:!1,advanced_search:!1,cur_page:1,num_pages:1,operation:void 0,item_ids:void 0},can_async_op:function(t){return-1!==i.indexOf(this.attributes.async_ops,t)},add_filter:function(t,e,i){if(i){var n,a=this.attributes.filters[t];if(null===a||void 0===a)n=e;else if("string"==typeof a)if("All"==a||a==e)n=e;else{var r=[];r[0]=a,r[1]=e,n=r}else n=a,-1===n.indexOf(e)&&n.push(e);this.attributes.filters[t]=n}else this.attributes.filters[t]=e},remove_filter:function(t,e){var n=this.attributes.filters[t];if(null===n||void 0===n)return!1;if("string"==typeof n)this.attributes.filters[t]="";else{var a=i.indexOf(n,e);-1!==a&&(n[a]="")}},get_url_data:function(){var t={async:this.attributes.async,sort:this.attributes.sort_key,page:this.attributes.cur_page,show_item_checkboxes:this.attributes.show_item_checkboxes,advanced_search:this.attributes.advanced_search};this.attributes.operation&&(t.operation=this.attributes.operation),this.attributes.item_ids&&(t.id=this.attributes.item_ids);var e=this;return i.each(i.pairs(e.attributes.filters),function(e){t["f-"+e[0]]=e[1]}),t},get_url:function(t){return this.get("url_base")+"?"+n.param(this.get_url_data())+"&"+n.param(t)}})}).call(e,i(1),i(2),i(0))},function(t,e,i){"use strict";(function(t,n){Object.defineProperty(e,"__esModule",{value:!0});var a=i(3),r=function(t){return t&&t.__esModule?t:{default:t}}(a);e.default={grid:function(t){var e="";return e=t.embedded?this.grid_header(t)+this.grid_table(t):'
',n=1);for(var a in e.items){var r=e.items[a],o=r.encode_id;i+="
",e.show_item_checkboxes&&(i+='
');for(var s in e.columns){var l=e.columns[s];if(l.visible){var d="";l.nowrap&&(d='style="white-space:nowrap;"');var c=r.column_config[l.label],u=c.link,h=c.value,f=c.target;"string"===t.type(h)&&(h=h.replace(/\/\//g,"/"));var p="",_="";l.attach_popup&&(p="grid-"+a+"-popup",_="menubutton",""!=u&&(_+=" split"),_+=" popup"),i+="
'},grid_filters:function(t){var e=t.default_filter_dict,i=t.filters,n="none";t.advanced_search&&(n="block");var a=!1;for(var r in t.columns){var o=t.columns[r];if("advanced"==o.filterable){var s=o.key,l=i[s],d=e[s];l&&d&&l!=d&&(n="block"),a=!0}}var c="block";"block"==n&&(c="none");var u='
';for(var r in t.columns){var o=t.columns[r];"standard"==o.filterable&&(u+=this.grid_column_filter(t,o))}u+="
',i.is_text){o+=''}else{o+='';var m=!1;for(var g in e.categorical_filters[r]){var v=e.categorical_filters[r][g],b="",w="";for(var y in v)b=y,w=v[y];m&&(o+=" | "),m=!0;var h=n[r];h&&v[r]&&h==w?o+=''+g+"":o+=''+g+""}o+=""}return o+="
"},filter_element:function(t,e){return''+(e=r.default.sanitize(e))+''}}}).call(e,i(0),i(2))},function(t,e,i){"use strict";(function(t,n){function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(2),o=function(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}(r),s=i(146),l=a(s),d=i(13),c=a(d),u=i(41),h=a(u),f=i(61),p=a(f),_=i(26),m=a(_),g=i(3),v=a(g);i(170),i(169),i(171),i(157),i(174),i(159),i(172),i(173),i(25);var b=null,w=null,y=function(){this.initialize&&this.initialize.apply(this,arguments)};y.extend=t.Model.extend;var x=y.extend({initialize:function(t){v.default.cssLoadFile("static/style/jquery.rating.css"),v.default.cssLoadFile("static/style/autocomplete_tagging.css"),v.default.cssLoadFile("static/style/jquery-ui/smoothness/jquery-ui.css"),v.default.cssLoadFile("static/style/library.css"),v.default.cssLoadFile("static/style/trackster.css"),this.baseURL=t},save_viz:function(){Galaxy.modal.show({title:"Saving...",body:"progress"});var t=[];n(".bookmark").each(function(){t.push({position:n(this).children(".position").text(),annotation:n(this).children(".annotation").text()})});var e=w.overview_drawable?w.overview_drawable.config.get_value("name"):null,i={view:w.to_dict(),viewport:{chrom:w.chrom,start:w.low,end:w.high,overview:e},bookmarks:t};return n.ajax({url:Galaxy.root+"visualization/save",type:"POST",dataType:"json",data:{id:w.vis_id,title:w.config.get_value("name"),dbkey:w.dbkey,type:"trackster",vis_json:JSON.stringify(i)}}).success(function(t){Galaxy.modal.hide(),w.vis_id=t.vis_id,w.has_changes=!1,window.history.pushState({},"",t.url+window.location.hash)}).error(function(){Galaxy.modal.show({title:"Could Not Save",body:"Could not save visualization. Please try again later.",buttons:{Cancel:function(){Galaxy.modal.hide()}}})})},createButtonMenu:function(){var t=this,e=h.default.create_icon_buttons_menu([{icon_class:"plus-button",title:"Add tracks",on_click:function(){c.default.select_datasets({dbkey:w.dbkey},function(t){o.each(t,function(t){w.add_drawable(l.default.object_from_template(t,w,w))})})}},{icon_class:"block--plus",title:"Add group",on_click:function(){w.add_drawable(new l.default.DrawableGroup(w,w,{name:"New Group"}))}},{icon_class:"bookmarks",title:"Bookmarks",on_click:function(){force_right_panel("0px"==n("div#right").css("right")?"hide":"show")}},{icon_class:"globe",title:"Circster",on_click:function(){window.location=t.baseURL+"visualization/circster?id="+w.vis_id}},{icon_class:"disk--arrow",title:"Save",on_click:function(){t.save_viz()}},{icon_class:"cross-circle",title:"Close",on_click:function(){t.handle_unsaved_changes(w)}}],{tooltip_config:{placement:"bottom"}});return this.buttonMenu=e,e},add_bookmark:function(t,e,i){var a=n("#right .unified-panel-body"),r=n("").addClass("bookmark").appendTo(a),o=n("").addClass("position").appendTo(r),s=(n("").text(t).appendTo(o).click(function(){return w.go_to(t),!1}),n("").text(e).appendTo(r));if(i){var l=n("").addClass("delete-icon-container").prependTo(r).click(function(){return r.slideUp("fast"),r.remove(),w.has_changes=!0,!1});n("").addClass("icon-button delete").appendTo(l);s.make_text_editable({num_rows:3,use_textarea:!0,help_text:"Edit bookmark note"}).addClass("annotation")}return w.has_changes=!0,r},create_visualization:function(t,e,i,a,r){var s=this,d=new l.default.TracksterView(o.extend(t,{header:!1}));return d.editor=!0,n.when(d.load_chroms_deferred).then(function(t){if(e){var n=e.chrom,o=e.start,c=e.end,u=e.overview;n&&void 0!==o&&c?d.change_chrom(n,o,c):d.change_chrom(t[0].chrom)}else d.change_chrom(t[0].chrom);if(i)for(var h=0;h"),n("#right-border").click(function(){w.resize_window()}),force_right_panel("hide"),galaxy_config.app.id?this.view_existing():p.default.get("dataset_id")?this.choose_existing_or_new():this.view_new()},choose_existing_or_new:function(){var t=this,e=p.default.get("dbkey"),i={},n={dbkey:e,dataset_id:p.default.get("dataset_id"),hda_ldda:p.default.get("hda_ldda"),gene_region:p.default.get("gene_region")};e&&(i["f-dbkey"]=e),Galaxy.modal.show({title:"View Data in a New or Saved Visualization?",body:"
You can add this dataset as:
a new track to one of your existing, saved Trackster sessions if they share the genome build: "+(e||"Not available.")+"
or create a new session with this dataset as the only track
",buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},"View in saved visualization":function(){t.view_in_saved(n)},"View in new visualization":function(){t.view_new()}}})},view_in_saved:function(t){var e=new m.default({url_base:Galaxy.root+"visualization/list_tracks",dict_format:!0,embedded:!0});Galaxy.modal.show({title:"Add Data to Saved Visualization",body:e.$el,buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},"Add to visualization":function(){n(parent.document).find("input[name=id]:checked").each(function(){t.id=n(this).val(),window.location=Galaxy.root+"visualization/trackster?"+n.param(t)})}}})},view_existing:function(){var t=galaxy_config.app.viz_config;w=b.create_visualization({container:n("#center .unified-panel-body"),name:t.title,vis_id:t.vis_id,dbkey:t.dbkey},t.viewport,t.tracks,t.bookmarks,!0),this.init_editor()},view_new:function(){var t=this;n.ajax({url:Galaxy.root+"api/genomes?chrom_info=True",data:{},error:function(){alert("Couldn't create new browser.")},success:function(e){Galaxy.modal.show({title:"New Visualization",body:t.template_view_new(e),buttons:{Cancel:function(){window.location=Galaxy.root+"visualizations/list"},Create:function(){t.create_browser(n("#new-title").val(),n("#new-dbkey").val()),Galaxy.modal.hide()}}});var i=e.map(function(t){return t[1]});galaxy_config.app.default_dbkey&&o.contains(i,galaxy_config.app.default_dbkey)&&n("#new-dbkey").val(galaxy_config.app.default_dbkey),n("#new-title").focus(),n("select[name='dbkey']").select2(),n("#overlay").css("overflow","auto")}})},template_view_new:function(t){for(var e=''},create_browser:function(t,e){n(document).trigger("convert_to_values"),w=b.create_visualization({container:n("#center .unified-panel-body"),name:t,dbkey:e},galaxy_config.app.gene_region),this.init_editor(),w.editor=!0},init_editor:function(){n("#center .unified-panel-title").text(w.config.get_value("name")+" ("+w.dbkey+")"),galaxy_config.app.add_dataset&&n.ajax({url:Galaxy.root+"api/datasets/"+galaxy_config.app.add_dataset,data:{hda_ldda:"hda",data_type:"track_config"},dataType:"json",success:function(t){w.add_drawable(l.default.object_from_template(t,w,w))}}),n("#add-bookmark-button").click(function(){var t=w.chrom+":"+w.low+"-"+w.high;return b.add_bookmark(t,"Bookmark description",!0)}),b.init_keyboard_nav(w),n(window).on("beforeunload",function(){if(w.has_changes)return"There are unsaved changes to your visualization that will be lost if you leave this page."})}});e.default={TracksterUI:x,GalaxyApp:k}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n){function a(t){return t&&t.__esModule?t:{default:t}}function r(t,e){e||(e=0);var i=Math.pow(10,e);return Math.round(t*i)/i}function o(e){var i=t.Deferred();return t.ajax({type:"HEAD",url:e,beforeSend:function(t){t.setRequestHeader("Range","bytes=0-10")},success:function(t,e,n){i.resolve(206===n.status)}}),i}Object.defineProperty(e,"__esModule",{value:!0});var s=i(2),l=function(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}(s),d=i(13),c=a(d),u=i(147),h=a(u),f=i(14),p=a(f),_=i(148),m=a(_),g=i(149),v=a(g),b=i(150),w=a(b),y=i(15),x=a(y),k=i(140),C=a(k),S=i(21),$=a(S),T=i(151),M=a(T);i(25);var O=l.extend,A={},E=function(t,e){A[t.attr("id")]=e},z=function(e,i,n,a){n=".group",A[e.attr("id")]=a,e.bind("drag",{handle:"."+i,relative:!0},function(e,i){var a,r,o,s,l,d=(t(this),t(this).parent()),c=d.children(".track,.group"),u=A[t(this).attr("id")];if(r=t(this).parents(n),0!==r.length){o=r.position().top,s=o+r.outerHeight();var h=A[r.attr("id")];if(i.offsetYs)return t(this).insertAfter(r),h.remove_drawable(u),void h.container.add_drawable(u)}for(r=null,l=0;l=o&&i.offsetY<=s)return i.offsetY-o0?l-1:l))}).bind("dragstart",function(){t(this).addClass("dragging")}).bind("dragend",function(){t(this).removeClass("dragging")})},R="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",P=["Histogram","Line","Filled","Intensity"],j=function t(e,i,n){if(t.id_counter||(t.id_counter=0),this.id=t.id_counter++,this.view=e,this.container=i,this.drag_handle_class=n.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=$.default.ConfigSettingCollection.from_models_and_saved_values(this.config_params,n.prefs),this.config.get_value("name")||this.config.set_value("name",n.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,!1!==n.header){var a=new h.default.TrackHeaderView({model:this,id:this.id});this.header_div=a.$el,this.container_div.append(this.header_div);var r=a.icons_div;this.action_icons=a.action_icons,this.container_div.hover(function(){r.show()},function(){r.hide()})}};j.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(t){t.config.get_value("content_visible")?(t.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),t.hide_contents(),t.config.set_value("content_visible",!1)):(t.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),t.config.set_value("content_visible",!0),t.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(t){new $.default.ConfigSettingCollectionView({collection:t.config}).render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(e){t(".tooltip").remove(),e.remove()}}],O(j.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return!(!this.enabled||!this.config.get_value("content_visible"))},request_draw:function(){},_draw:function(t){},to_dict:function(){},set_name:function(t){this.old_name=this.config.get_value("name"),this.config.set_value("name",t)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var e=this.view;this.container_div.hide(0,function(){t(this).remove(),e.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var q=function(t,e,i){j.call(this,t,e,i),this.obj_type=i.obj_type,this.drawables=[]};O(q.prototype,j.prototype,{unpack_drawables:function(t){this.drawables=[];for(var e,i=0;i").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),E(this.container_div,this),E(this.content_div,this),z(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new w.default.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after(t("")),this.saved_filters_managers=[],"drawables"in n&&this.unpack_drawables(n.drawables),"filters"in n){var a=this.filters_manager;this.filters_manager=new w.default.FiltersManager(this,n.filters),a.parent_div.replaceWith(this.filters_manager.parent_div),n.filters.visible&&this.setup_multitrack_filtering()}};O(D.prototype,j.prototype,q.prototype,{action_icons_def:[j.prototype.action_icons_def[0],j.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(e){t(".tooltip").remove(),e.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(t){t.filters_manager.visible()?(t.filters_manager.clear_filters(),t._restore_filter_managers()):(t.setup_multitrack_filtering(),t.request_draw({clear_tile_cache:!0})),t.filters_manager.toggle()}},j.prototype.action_icons_def[2]],build_container_div:function(){var e=t("").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(e),e},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var e=this.drawables.length;if(0===e)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===e)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof J),this.action_icons.filters_icon.hide();else{var i,n,a,r=this.drawables[0].get_type(),o=0;for(i=0;i1&&o===this.drawables.length){var s,l={};for(a=this.drawables[0],n=0;n0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var t=0;t0){this.saved_filters_managers=[];for(var t=0;t").addClass("top-container").appendTo(e),this.browser_content_div=t("").addClass("content").appendTo(e),this.bottom_container=t("").addClass("bottom-container").appendTo(e),this.top_labeltrack=t("").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=t("").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,E(this.viewport_container,i),this.intro_div=t("").addClass("intro").appendTo(this.viewport_container);t("").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){c.default.select_datasets({dbkey:i.dbkey},function(t){l.each(t,function(t){i.add_drawable(nt(t,i,i))})})});this.nav_container=t("").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=t("").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=t("").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=t("").addClass("overview-viewport").appendTo(this.overview),this.overview_close=t("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=t("").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=t("").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=t("").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=t("").addClass("nav-controls").appendTo(this.nav),this.chrom_select=t("").attr({name:"chrom"}).addClass("chrom-nav").append("").appendTo(this.nav_controls);var n=function(e){"focusout"!==e.type&&13!==(e.keyCode||e.which)&&27!==(e.keyCode||e.which)||(27!==(e.keyCode||e.which)&&i.go_to(t(this).val()),t(this).hide(),t(this).val(""),i.location_span.show(),i.chrom_select.show()),e.stopPropagation()};this.nav_input=t("").addClass("nav-input").hide().bind("keyup focusout",n).appendTo(this.nav_controls),this.location_span=t("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){i.location_span.hide(),i.chrom_select.hide(),i.nav_input.val(i.chrom+":"+i.low+"-"+i.high),i.nav_input.css("display","inline-block"),i.nav_input.select(),i.nav_input.focus(),i.nav_input.autocomplete({source:function(e,n){var a=[],r=t.map(i.get_tracks(Q),function(t){return t.data_manager.search_features(e.term).success(function(t){a=a.concat(t)})});t.when.apply(t,r).done(function(){n(t.map(a,function(t){return{label:t[0],value:t[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=t("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=t("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){i.zoom_out()}).appendTo(this.nav_controls),this.zi_link=t("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){i.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){i.change_chrom(i.chrom_select.val())}),this.browser_content_div.click(function(e){t(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(t){i.zoom_in(t.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(t,e){this.current_x=e.offsetX}).bind("drag",function(t,e){var n=e.offsetX-this.current_x;this.current_x=e.offsetX;var a=Math.round(n/i.viewport_container.width()*(i.max_high-i.max_low));i.move_delta(-a)}),this.overview_close.click(function(){i.reset_overview()}),this.viewport_container.bind("draginit",function(t,e){if(t.clientX>i.viewport_container.width()-16)return!1}).bind("dragstart",function(t,e){e.original_low=i.low,e.current_height=t.clientY,e.current_x=e.offsetX}).bind("drag",function(e,n){var a=t(this),r=n.offsetX-n.current_x,o=a.scrollTop()-(e.clientY-n.current_height);a.scrollTop(o),n.current_height=e.clientY,n.current_x=n.offsetX;var s=Math.round(r/i.viewport_container.width()*(i.high-i.low));i.move_delta(s)}),this.top_labeltrack.bind("dragstart",function(e,n){return t("").addClass("zoom-area").css("height",i.browser_content_div.height()+i.top_labeltrack.height()+1).appendTo(t(this))}).bind("drag",function(e,n){t(n.proxy).css({left:Math.min(e.pageX,n.startX)-i.container.offset().left,width:Math.abs(e.pageX-n.startX)});var a=Math.min(e.pageX,n.startX)-i.container.offset().left,r=Math.max(e.pageX,n.startX)-i.container.offset().left,o=i.high-i.low,s=i.viewport_container.width();i.update_location(Math.round(a/s*o)+i.low,Math.round(r/s*o)+i.low)}).bind("dragend",function(e,n){var a=Math.min(e.pageX,n.startX),r=Math.max(e.pageX,n.startX),o=i.high-i.low,s=i.viewport_container.width(),l=i.low;i.low=Math.round(a/s*o)+l,i.high=Math.round(r/s*o)+l,t(n.proxy).remove(),i.request_redraw()}),this.add_label_track(new X(this,{content_div:this.top_labeltrack})),t(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){i.resize_window()},500)}),t(document).bind("redraw",function(){i.redraw()}),this.reset(),t(window).trigger("resize")},get_base_color:function(t){return this.config.get_value(t.toLowerCase()+"_color")||this.config.get_value("n_color")}});O(I.prototype,q.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(t,e,i,n){if(this.timer&&clearTimeout(this.timer),n){var a=this;this.timer=setTimeout(function(){a.trigger("navigate",t+":"+e+"-"+i)},500)}else view.trigger("navigate",t+":"+e+"-"+i)},update_location:function(t,e){this.location_span.text(p.default.commatize(t)+" - "+p.default.commatize(e)),this.nav_input.val(this.chrom+":"+p.default.commatize(t)+"-"+p.default.commatize(e));var i=this.chrom_select.val();""!==i&&this.trigger_navigate(i,this.low,this.high,!0)},load_chroms:function(e){e.num=100;var i=this,n=t.Deferred();return t.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:e,dataType:"json",success:function(e){if(0!==e.chrom_info.length){if(e.reference){var a=new W(i);i.add_label_track(a),i.reference_track=a}i.chrom_data=e.chrom_info,i.chrom_select.html(""),i.chrom_select.append(t(''));for(var r=0,o=i.chrom_data.length;r");l.text(s),l.val(s),i.chrom_select.append(l)}e.prev_chroms&&i.chrom_select.append(t('')),e.next_chroms&&i.chrom_select.append(t('')),i.chrom_start_index=e.start_index,n.resolve(e.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+i.dbkey)}}),n},change_chrom:function(e,i,n){var a=this;if(!a.chrom_data)return void a.load_chroms_deferred.then(function(){a.change_chrom(e,i,n)});if(e&&"None"!==e){if("previous"===e)return void a.load_chroms({low:this.chrom_start_index-100});if("next"===e)return void a.load_chroms({low:this.chrom_start_index+100});var r=t.grep(a.chrom_data,function(t,i){return t.chrom===e})[0];if(void 0===r)return void a.load_chroms({chrom:e},function(){a.change_chrom(e,i,n)});if(e!==a.chrom){a.chrom=e,a.chrom_select.val(a.chrom),a.max_high=r.len-1,a.reset();for(var o=0,s=a.drawables.length;oe.max_high?(e.high=e.max_high,e.low=e.max_high-i):(e.high-=t,e.low-=t),e.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){e.request_redraw()},200);var n=e.chrom_select.val();this.trigger_navigate(n,e.low,e.high,!0)},add_drawable:function(t){q.prototype.add_drawable.call(this,t),t.init(),this.changed(),this.update_intro_div();var e=this;t.config.on("change",function(){e.changed()})},add_label_track:function(t){t.view=this,t.init(),this.label_tracks.push(t)},remove_drawable:function(e,i){if(q.prototype.remove_drawable.call(this,e),i){var n=this;e.container_div.hide(0,function(){t(this).remove(),n.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(t,e){var i=this,n=e?[e]:i.drawables;l.each(n,function(e){var n=l.find(i.tracks_to_be_redrawn,function(t){return t[0]===e});n?n[1]=t:i.tracks_to_be_redrawn.push([e,t])}),this.requested_redraw||(requestAnimationFrame(function(){i._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var t=this.low,e=this.high;tthis.max_high&&(e=this.max_high);var i=this.high-this.low;0!==this.high&&i").addClass("param-label").text(i.get("label")).appendTo(e);t("").addClass("param-input").html(i.get("html")).appendTo(e).find(":input").val(i.get("value")),t("").appendTo(e)},update_value:function(e){this.model.set_value(t(e.target).val())}}),B=n.View.extend({initialize:function(t){this.model.on("change:hidden",this.set_visible,this)},render:function(){var e=this,i=this.model,n=this.$el.addClass("dynamic-tool").hide();n.bind("drag",function(t){t.stopPropagation()}).click(function(t){t.stopPropagation()}).bind("dblclick",function(t){t.stopPropagation()}).keydown(function(t){t.stopPropagation()});t("
").addClass("param-row").appendTo(n),r=t("").attr("value","Run on complete dataset").appendTo(a);t("").attr("value","Run on visible region").appendTo(a).click(function(){e.run_on_region()}),r.click(function(){e.run_on_dataset()}),i.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var t=0;t").append(a),this.data=r,this.stale=!1};G.prototype.predisplay_actions=function(){};var U=function(t,e,i,n,a){G.call(this,t,e,i,n,a)};U.prototype.predisplay_actions=function(){};var F=function(t,e,i,n,a,r,o,s,l,d,c){G.call(this,t,e,i,n,a),this.mode=r,this.all_slotted=s,this.feature_mapper=l,this.has_icons=!1,this.incomplete_features=d,this.other_tiles_features_drawn={},this.seq_data=c};O(F.prototype,G.prototype),F.prototype.predisplay_actions=function(){};var H=function(e,i,a){O(a,{drag_handle_class:"draghandle"}),j.call(this,e,i,a),this.dataset=null,a.dataset&&(this.dataset=a.dataset instanceof n.Model?a.dataset:new x.default.Dataset(a.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in a?a.data_query_wait:5e3,this.data_manager="data_manager"in a?a.data_manager:new c.default.GenomeDataManager({dataset:this.dataset,genome:new c.default.Genome({key:e.dbkey,chroms_info:{chrom_info:e.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=t("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in a&&!a.resize||this.add_resize_handle())};O(H.prototype,j.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},j.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(t){t.view.set_overview(t)}},j.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(t){t.filters_manager.visible()?t.filters_manager.clear_filters():t.filters_manager.init_filters(),t.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(e){e.tool.toggle(),e.tool.is_visible()?e.set_name(e.config.get_value("name")+e.tool_region_and_parameters_str()):e.revert_name(),t(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(e){var i="Tool:"+e.tool.get("name")+" Dataset:"+e.config.get_value("name")+' Region(s): ',a=function(){Galaxy.modal.hide(),t(window).unbind("keypress.check_enter_esc")},r=function(){var i,a=t('select[name="regions"] option:selected').val(),r=new c.default.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),o=l.map(t(".bookmark"),function(e){return new c.default.GenomeRegion({from_str:t(e).children(".position").text()})});i="cur"===a?[r]:"bookmarks"===a?o:[r].concat(o),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+t.param({dataset_id:e.dataset.id,hda_ldda:e.dataset.get("hda_ldda"),regions:JSON.stringify(new n.Collection(i).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:i,buttons:{No:a,Yes:r}})}},j.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&j.prototype.can_draw.call(this)},build_container_div:function(){return t("").addClass("track").attr("id","track_"+this.id)},set_dataset:function(t){this.dataset=t,this.data_manager.set("dataset",t)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var e=this,i=!1,n=!1,a=t("
");t(e.container_div).hover(function(){e.config.get_value("content_visible")&&(i=!0,a.show())},function(){i=!1,n||a.hide()}),a.hide().bind("dragstart",function(i,a){n=!0,a.original_height=t(e.content_div).height()}).bind("drag",function(i,n){var a=Math.min(Math.max(n.original_height+n.deltaY,e.min_height_px),e.max_height_px);t(e.tiles_div).css("height",a),e.visible_height_px=e.max_height_px===a?0:a,e.on_resize()}).bind("dragend",function(t,r){e.tile_cache.clear(),n=!1,i||a.hide(),e.config.set_value("height",e.visible_height_px),e.changed()}).appendTo(e.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof X?"LabelTrack":this instanceof W?"ReferenceTrack":this instanceof K?"LineTrack":this instanceof et?"ReadTrack":this instanceof tt?"VariantTrack":this instanceof J?"CompositeTrack":this instanceof Q?"FeatureTrack":""},show_message:function(e){return this.tiles_div.remove(),t("").addClass("message").html(e).appendTo(this.content_div)},init:function(e){var i=this;if(i.enabled=!1,i.tile_cache.clear(),i.data_manager.clear(),i.content_div.children().remove(),i.container_div.removeClass("nodata error pending"),i.tiles_div=t("").addClass("tiles").appendTo(i.content_div),i.dataset.id){var n=t.Deferred(),a={hda_ldda:i.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:i.view.chrom,retry:e};return t.getJSON(this.dataset.url(),a,function(e){if(e&&"error"!==e&&"error"!==e.kind)"no converter"===e?(i.container_div.addClass("error"),i.show_message(R)):"no data"===e||void 0!==e.data&&(null===e.data||0===e.data.length)?(i.container_div.addClass("nodata"),i.show_message("No data for this chrom/contig.")):"pending"===e?(i.container_div.addClass("pending"),i.show_message("Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background."),setTimeout(function(){i.init()},i.data_query_wait)):"data"!==e&&"data"!==e.status||(e.valid_chroms&&(i.valid_chroms=e.valid_chroms,i.update_icons()),i.tiles_div.text("Ready for display"),i.view.chrom?(i.tiles_div.text(""),i.tiles_div.css("height",i.visible_height_px+"px"),i.enabled=!0,t.when.apply(t,i.predraw_init()).done(function(){n.resolve(),i.container_div.removeClass("nodata error pending"),i.request_draw()})):n.resolve());else{i.container_div.addClass("error");var a=i.show_message("Cannot display dataset due to an error. ");e.message&&(a.append(t("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
'}});e.default={View:h}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a,r){function o(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var s=i(162),l=o(s),d=i(40),c=o(d),u=i(7),h=o(u),f=i(3),p=o(f),_=t.Collection.extend({model:t.Model.extend({defaults:{visible:!0,target:"_parent"}}),fetch:function(t){t=t||{},this.reset();var e=new l.default.GenericNavView;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:"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"}]}),this.add({id:"visualization",title:(0,h.default)("Visualization"),url:"visualizations/list",tooltip:(0,h.default)("Visualize datasets"),disabled:!Galaxy.user.id,menu:[{title:(0,h.default)("New Track Browser"),url:"visualization/trackster",target:"_frame"},{title:(0,h.default)("Saved Visualizations"),url:"visualizations/list",target:"_frame"},{title:(0,h.default)("Interactive Environments"),url:"visualization/gie_list",target:"galaxy_main"}]}),c.default.add({url:"api/webhooks/masthead/all",callback:function(t){n(document).ready(function(){n.each(t.models,function(t,e){var i=e.toJSON();if(i.activate){var n={id:i.name,icon:i.config.icon,url:i.config.url,tooltip:i.config.tooltip,onclick:i.config.function&&new Function(i.config.function)};Galaxy.page?Galaxy.page.masthead.collection.add(n):Galaxy.masthead&&Galaxy.masthead.collection.add(n),p.default.appendScriptStyle(i)}})})}}),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 r={};r=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 Histories"),url:"histories/list",target:"_top"},{title:(0,h.default)("Saved Datasets"),url:"datasets/list",target:"_top"},{title:(0,h.default)("Saved Pages"),url:"pages/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(r);var o=this.get(t.active_view);return o&&o.set("active",!0),(new a.Deferred).resolve().promise()}}),m=t.View.extend({initialize:function(t){this.model=t.model,this.setElement(this._template()),this.$dropdown=this.$(".dropdown"),this.$toggle=this.$(".dropdown-toggle"),this.$menu=this.$(".dropdown-menu"),this.$note=this.$(".dropdown-note"),this.listenTo(this.model,"change",this.render,this)},events:{"click .dropdown-toggle":"_toggleClick"},render:function(){var t=this;return n(".tooltip").remove(),this.$el.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("dropdown-note").addClass(this.model.get("note_cls")).css({display:this.model.get("show_note")&&"block"||"none"}),this.$toggle.html(this.model.get("title")||"").removeClass().addClass("dropdown-toggle").addClass(this.model.get("cls")).addClass(this.model.get("icon")&&"dropdown-icon fa "+this.model.get("icon")).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("destroy"),this.model.get("tooltip")&&this.$toggle.tooltip({placement:"bottom"}),this.$dropdown.removeClass().addClass("dropdown").addClass(this.model.get("disabled")&&"disabled").addClass(this.model.get("active")&&"active"),this.model.get("menu")&&this.model.get("show_menu")?(this.$menu.show(),n("#dd-helper").show().off().on("click",function(){n("#dd-helper").hide(),t.model.set("show_menu",!1)})):(t.$menu.hide(),n("#dd-helper").hide()),this.$menu.empty().removeClass("dropdown-menu"),this.model.get("menu")&&(r.each(this.model.get("menu"),function(e){t.$menu.append(t._buildMenuItem(e)),e.divider&&t.$menu.append(n("").addClass("divider"))}),t.$menu.addClass("dropdown-menu"),t.$toggle.append(n("").addClass("caret"))),this},_buildMenuItem:function(t){var e=this;return t=r.defaults(t||{},{title:"",url:"",target:"_parent",noscratchbook:!1}),t.url=e._formatUrl(t.url),n("").append(n("").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)}))},_toggleClick:function(t){var e=this,i=this.model;if(t.preventDefault(),n(".tooltip").hide(),i.trigger("dispatch",function(t){i.id!==t.id&&t.get("menu")&&t.set("show_menu",!1)}),i.get("disabled")){var a=function(t,e){return n("").append(n("").attr("href",Galaxy.root+e).html(t)).html()};this.$toggle.popover&&this.$toggle.popover("destroy"),this.$toggle.popover({html:!0,placement:"bottom",content:"Please "+a("login","user/login?use_panels=True")+" or "+a("register","user/create?use_panels=True")+" to use this feature."}).popover("show"),setTimeout(function(){e.$toggle.popover("destroy")},5e3)}else 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'