When writing up your analysis, remember to include all references that should be cited in order
to completely describe your work. Also, please remember to cite Galaxy.
"}});e.default={View:o}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a){Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=(function(t){t&&t.__esModule}(r),t.Model.extend({initialize:function(t){this.app=t},checksum:function(){var t="",e=this;return this.app.section.$el.find(".section-row").each(function(){var i=n(this).attr("id"),a=e.app.field_list[i];a&&(t+=i+":"+JSON.stringify(a.value&&a.value())+":"+a.collapsed+";")}),t},create:function(){function t(t,e,n){i.flat_dict[t]=e,a[t]=n,i.app.element_list[e]&&i.app.element_list[e].$el.attr("tour_id",t)}function e(n,a){for(var r in a){var o=a[r];if(o.input){var l=o.input,d=n;switch(""!=n&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],u=null;for(var h in o){var f=h.indexOf("section-");-1!=f&&(f+="section-".length,c.push(parseInt(h.substr(f))),u||(u=h.substr(0,f)))}c.sort(function(t,e){return t-e});var r=0;for(var p in c)e(d+"_"+r++,o[u+c[p]]);break;case"conditional":var _=i.app.field_list[l.id].value();t(d+"|"+l.test_param.name,l.id,_);var m=s(l,_);-1!=m&&e(d,a[l.id+"-section-"+m]);break;case"section":e(!l.flat&&d||"",o);break;default:var g=i.app.field_list[l.id];if(g&&g.value){var _=g.value();if((void 0===l.ignore||l.ignore!=_)&&(g.collapsed&&l.collapsible_value&&(_=l.collapsible_value),t(d,l.id,_),l.payload))for(var v in l.payload)t(v,l.id,l.payload[v])}}}}}var i=this,n={};this._iterate(this.app.section.$el,n);var a={};return this.flat_dict={},e("",n),a},match:function(t){return this.flat_dict&&this.flat_dict[t]},matchCase:function(t,e){return s(t,e)},matchModel:function(t,e){var i=this;l(t.inputs,function(t,n){i.flat_dict[n]&&e(t,i.flat_dict[n])})},matchResponse:function(t){function e(t,a){if("string"==typeof a){var r=n.flat_dict[t];r&&(i[r]=a)}else for(var o in a){var s=o;if(""!==t){var l="|";a instanceof Array&&(l="_"),s=t+l+s}e(s,a[o])}}var i={},n=this;return e("",t),i},_iterate:function(t,e){var i=this;n(t).children().each(function(){var t=this,a=n(t).attr("id");if(n(t).hasClass("section-row")){var r=i.app.input_list[a];e[a]=r&&{input:r}||{},i._iterate(t,e[a])}else i._iterate(t,e)})}})),s=function(t,e){"boolean"==t.test_param.type&&(e="true"==e?t.test_param.truevalue||"true":t.test_param.falsevalue||"false");for(var i in t.cases)if(t.cases[i].value==e)return i;return-1},l=function t(e,i,r,o){o=n.extend(!0,{},o),a.each(e,function(t){t&&t.type&&t.name&&(o[t.name]=t)});for(var l in e){var d=e[l];d.name=d.name||l;var c=r?r+"|"+d.name:d.name;switch(d.type){case"repeat":a.each(d.cache,function(e,n){t(e,i,c+"_"+n,o)});break;case"conditional":if(d.test_param){i(d.test_param,c+"|"+d.test_param.name,o);var u=s(d,d.test_param.value);-1!=u?t(d.cases[u].inputs,i,c,o):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":t(d.inputs,i,c,o);break;default:i(d,c,o)}}};e.default={Manager:o,visitInputs:l}}).call(e,i(1),i(0),i(2))},function(t,e,i){"use strict";(function(t,i,n){Object.defineProperty(e,"__esModule",{value:!0});var a=t.View.extend({initialize:function(e){this.model=e&&e.model||new t.Model(e),this.setElement(i("").addClass("corner frame")),this.$el.append(i("").addClass("f-header corner").append(i("").addClass("f-title")).append(i("").addClass("f-icon f-close fa fa-close").tooltip({title:"Close",placement:"bottom"}))).append(i("").addClass("f-content")).append(i("").addClass("f-resize f-icon corner fa fa-expand").tooltip({title:"Resize"})).append(i("").addClass("f-cover")),this.$header=this.$(".f-header"),this.$title=this.$(".f-title"),this.$content=this.$(".f-content"),this.render(),this.listenTo(this.model,"change",this.render,this)},render:function(){var t=this,e=this.model.attributes;this.$title.html(e.title||""),this.$header.find(".f-icon-left").remove(),n.each(e.menu,function(e){var a=i("").addClass("f-icon-left").addClass(e.icon);n.isFunction(e.disabled)&&e.disabled()?a.attr("disabled",!0):a.on("click",function(){e.onclick(t)}).tooltip({title:e.tooltip,placement:"bottom"}),t.$header.append(a)}),e.url?this.$content.html(i("").addClass("f-iframe").attr("scrolling","auto").attr("src",e.url+(-1===e.url.indexOf("?")?"?":"&")+"widget=True")):e.content&&(n.isFunction(e.content)?e.content(t.$content):t.$content.html(e.content))}}),r=t.View.extend({defaultOptions:{frame:{cols:6,rows:3},rows:1e3,cell:130,margin:5,scroll:5,top_min:40,frame_max:9,visible:!0},cols:0,top:0,top_max:0,frame_z:0,frame_counter:0,frame_uid:0,frame_list:{},frame_shadow:null,visible:!1,event:{},initialize:function(e){var a=this;this.options=n.defaults(e||{},this.defaultOptions),this.visible=this.options.visible,this.top=this.top_max=this.options.top_min,this.setElement(i("").addClass("galaxy-frame").append(i("").addClass("frame-background")).append(i("").addClass("frame-menu frame-scroll-up fa fa-chevron-up fa-2x")).append(i("").addClass("frame-menu frame-scroll-down fa fa-chevron-down fa-2x"))),this.frame_shadow=new t.View({el:i("").addClass("corner frame-shadow")}),this.$el.append(this.frame_shadow.$el),this._frameInit(this.frame_shadow,"#frame-shadow"),this._frameResize(this.frame_shadow,{width:0,height:0}),this.frame_list["#frame-shadow"]=this.frame_shadow,this.visible?this.show():this.hide(),this._panelRefresh(),i(window).resize(function(){a.visible&&a._panelRefresh()})},render:function(){this.$(".frame-scroll-up")[this.top!=this.options.top_min&&"show"||"hide"](),this.$(".frame-scroll-down")[this.top!=this.top_max&&"show"||"hide"]()},add:function(t){if(this.frame_counter>=this.options.frame_max)Galaxy.modal.show({title:"Warning",body:"You have reached the maximum number of allowed frames ("+this.options.frame_max+").",buttons:{Close:function(){Galaxy.modal.hide()}}});else{var e="#frame-"+this.frame_uid++;if(0!==i(e).length)Galaxy.modal.show({title:"Error",body:"This frame already exists. This page might contain multiple frame managers.",buttons:{Close:function(){Galaxy.modal.hide()}}});else{this.top=this.options.top_min;var n=new a(t);this.$el.append(n.$el),t.width=this._toPixelCoord("width",this.options.frame.cols),t.height=this._toPixelCoord("height",this.options.frame.rows),this.frame_z=parseInt(n.$el.css("z-index")),this.frame_list[e]=n,this.frame_counter++,this._frameInit(n,e),this._frameResize(n,{width:t.width,height:t.height}),this._frameInsert(n,{top:0,left:0},!0),!this.visible&&this.show(),this.trigger("add")}}},del:function(t){var e=this,i=t.$el;i.fadeOut("fast",function(){i.remove(),delete e.frame_list[t.id],e.frame_counter--,e._panelRefresh(!0),e._panelAnimationComplete(),e.trigger("remove")})},show:function(){this.visible=!0,this.$el.fadeIn("fast"),this.trigger("show")},hide:function(){this.event.type||(this.visible=!1,this.$el.fadeOut("fast",function(){i(this).hide()}),this.trigger("hide"))},length:function(){return this.frame_counter},events:{mousemove:"_eventFrameMouseMove",mouseup:"_eventFrameMouseUp",mouseleave:"_eventFrameMouseUp",mousewheel:"_eventPanelScroll",DOMMouseScroll:"_eventPanelScroll","mousedown .frame":"_eventFrameMouseDown","mousedown .frame-background":"_eventHide","mousedown .frame-scroll-up":"_eventPanelScroll_up","mousedown .frame-scroll-down":"_eventPanelScroll_down","mousedown .f-close":"_eventFrameClose"},_eventFrameMouseDown:function(t){i(".tooltip").hide(),this.event.type||((i(t.target).hasClass("f-header")||i(t.target).hasClass("f-title"))&&(this.event.type="drag"),i(t.target).hasClass("f-resize")&&(this.event.type="resize"),this.event.type&&(t.preventDefault(),this.event.target=this._frameIdentify(t.target),this.event.xy={x:t.originalEvent.pageX,y:t.originalEvent.pageY},this._frameDragStart(this.event.target)))},_eventFrameMouseMove:function(t){if(this.event.type){var e={x:t.originalEvent.pageX,y:t.originalEvent.pageY},i={x:e.x-this.event.xy.x,y:e.y-this.event.xy.y};this.event.xy=e;var n=this._frameScreen(this.event.target);if("resize"==this.event.type){n.width+=i.x,n.height+=i.y;var a=this.options.cell-this.options.margin-1;n.width=Math.max(n.width,a),n.height=Math.max(n.height,a),this._frameResize(this.event.target,n),n.width=this._toGridCoord("width",n.width)+1,n.height=this._toGridCoord("height",n.height)+1,n.width=this._toPixelCoord("width",n.width),n.height=this._toPixelCoord("height",n.height),this._frameResize(this.frame_shadow,n),this._frameInsert(this.frame_shadow,{top:this._toGridCoord("top",n.top),left:this._toGridCoord("left",n.left)})}else if("drag"==this.event.type){n.left+=i.x,n.top+=i.y,this._frameOffset(this.event.target,n);var r={top:this._toGridCoord("top",n.top),left:this._toGridCoord("left",n.left)};0!==r.left&&r.left++,this._frameInsert(this.frame_shadow,r)}}},_eventFrameMouseUp:function(t){this.event.type&&(this._frameDragStop(this.event.target),this.event.type=null)},_eventFrameClose:function(t){this.event.type||(t.preventDefault(),this.del(this._frameIdentify(t.target)))},_eventHide:function(t){!this.event.type&&this.hide()},_eventPanelScroll:function(t){if(!this.event.type&&this.visible){0!==i(t.srcElement).parents(".frame").length?t.stopPropagation():(t.preventDefault(),this._panelScroll(t.originalEvent.detail?t.originalEvent.detail:t.originalEvent.wheelDelta/-3))}},_eventPanelScroll_up:function(t){this.event.type||(t.preventDefault(),this._panelScroll(-this.options.scroll))},_eventPanelScroll_down:function(t){this.event.type||(t.preventDefault(),this._panelScroll(this.options.scroll))},_frameIdentify:function(t){return this.frame_list["#"+i(t).closest(".frame").attr("id")]},_frameDragStart:function(t){this._frameFocus(t,!0);var e=this._frameScreen(t);this._frameResize(this.frame_shadow,e),this._frameGrid(this.frame_shadow,t.grid_location),t.grid_location=null,this.frame_shadow.$el.show(),i(".f-cover").show()},_frameDragStop:function(t){this._frameFocus(t,!1);var e=this._frameScreen(this.frame_shadow);this._frameResize(t,e),this._frameGrid(t,this.frame_shadow.grid_location,!0),this.frame_shadow.grid_location=null,this.frame_shadow.$el.hide(),i(".f-cover").hide(),this._panelAnimationComplete()},_toGridCoord:function(t,e){var i="width"==t||"height"==t?1:-1;return"top"==t&&(e-=this.top),parseInt((e+i*this.options.margin)/this.options.cell,10)},_toPixelCoord:function(t,e){var i="width"==t||"height"==t?1:-1,n=e*this.options.cell-i*this.options.margin;return"top"==t&&(n+=this.top),n},_toGrid:function(t){return{top:this._toGridCoord("top",t.top),left:this._toGridCoord("left",t.left),width:this._toGridCoord("width",t.width),height:this._toGridCoord("height",t.height)}},_toPixel:function(t){return{top:this._toPixelCoord("top",t.top),left:this._toPixelCoord("left",t.left),width:this._toPixelCoord("width",t.width),height:this._toPixelCoord("height",t.height)}},_isCollision:function(t){for(var e in this.frame_list){var i=this.frame_list[e];if(null!==i.grid_location&&function(t,e){return!(t.left>e.left+e.width-1||t.left+t.width-1e.top+e.height-1||t.top+t.height-1e[1]?1:0}),n.each(o,function(t){r._framePlace(t[0],a)}),this.top_max=0,n.each(this.frame_list,function(t){null!==t.grid_location&&(r.top_max=Math.max(r.top_max,t.grid_location.top+t.grid_location.height))}),this.top_max=i(window).height()-this.top_max*this.options.cell-2*this.options.margin,this.top_max=Math.min(this.top_max,this.options.top_min),this.render()},_framePlace:function(t,e){t.grid_location=null;for(var i=this._toGrid(this._frameScreen(t)),n=!1,a=0;a=48&&e<=57&&!a[16]||e>=96&&e<=105||(190==e||110==e)&&-1==n(this).val().indexOf(".")&&i.model.get("precise")||(189==e||109==e)&&-1==n(this).val().indexOf("-")||i._isParameter(n(this).val())||a[91]||a[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var s=o.step;s||(s=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:s}).on("slide",function(t,e){i.value(e.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var t=this.model.get("value");this.has_slider&&this.$slider.slider("value",t),t!==this.$text.val()&&this.$text.val(t)},value:function(t){var e=this.model.attributes;return void 0!==t&&(null===t||""===t||this._isParameter(t)||(isNaN(t)&&(t=0),!e.precise&&(t=Math.round(t)),null!==e.max&&(t=Math.min(t,e.max)),null!==e.min&&(t=Math.max(t,e.min))),this.model.set("value",t),this.model.trigger("change"),e.onchange(t)),this.model.get("value")},_isParameter:function(t){return this.model.get("is_workflow")&&"$"===String(t).substring(0,1)},_template:function(){return'
'}});e.default={View:o}}).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}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=a(r),s=i(23),l=a(s),d=l.default.BaseIcons.extend({initialize:function(t){t.type=t.display||"checkbox",t.multiple="checkbox"==t.type,l.default.BaseIcons.prototype.initialize.call(this,t)},_setValue:function(e){if(l.default.BaseIcons.prototype._setValue.call(this,e),void 0!==e&&null!==e&&this.header_index){var i=this,a=t.isArray(e)?e:[e];n.each(a,function(t){var e=i.header_index[t];n.each(e,function(t){i._setState(t,!0)})})}},_setState:function(t,e){var i=this.$(".button-"+t),n=this.$(".subgroup-"+t);i.data("is_expanded",e),e?(n.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(n.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function e(t,e){var i=t.find(".button-"+e);i.on("click",function(){n._setState(e,!i.data("is_expanded"))})}function i(a,r,s){s=s||[];for(var l in r){var d=r[l],c=d.options&&d.options.length>0,u=s.slice(0);n.header_index[d.value]=u.slice(0);var h=t("");if(c){var f=o.default.uid(),p=t("").addClass("button-"+f).addClass("ui-drilldown-button fa fa-plus-square"),_=t("").addClass("subgroup-"+f).addClass("ui-drilldown-subgroup");h.append(t("").append(p).append(n._templateOption({label:d.name,value:d.value}))),u.push(f),i(_,d.options,u),h.append(_),e(h,f)}else h.append(n._templateOption({label:d.name,value:d.value}));a.append(h)}}var n=this;this.header_index={};var a=t("");return i(a,this.model.get("data")),a},_template:function(){return t("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});e.default={View:d}}).call(e,i(0),i(2))},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(3),l=o(s),d=i(4),c=(o(d),i(11)),u=o(c),h=i(49),f=o(h),p=i(50),_=o(p),m=i(51),g=o(m),v=t.View.extend({initialize:function(t,e){this.app=t,this.inputs=e.inputs,this.parameters=new g.default,this.setElement(n("")),this.render()},render:function(){var t=this;this.$el.empty(),a.each(this.inputs,function(e){t.add(e)})},add:function(t){var e=r.extend(!0,{},t);switch(e.id=t.id=l.default.uid(),this.app.input_list[e.id]=e,e.type){case"conditional":this._addConditional(e);break;case"repeat":this._addRepeat(e);break;case"section":this._addSection(e);break;default:this._addRow(e)}},_addConditional:function(t){var e=this;t.test_param.id=t.id,this.app.model.get("sustain_conditionals")&&(t.test_param.disabled=!0);var i=this._addRow(t.test_param);i.model&&i.model.set("onchange",function(i){var n=e.app.data.matchCase(t,i);for(var a in t.cases){var r=t.cases[a],o=e.$("#"+t.id+"-section-"+a),s=!1;for(var l in r.inputs)if(!r.inputs[l].hidden){s=!0;break}a==n&&s?o.fadeIn("fast"):o.hide()}e.app.trigger("change")});for(var n in t.cases){var a=new v(this.app,{inputs:t.cases[n].inputs});this._append(a.$el.addClass("ui-form-section"),t.id+"-section-"+n)}i.trigger("change")},_addRepeat:function(t){function e(e){var a=t.id+"-section-"+n++,o=new v(i.app,{inputs:e});r.add({id:a,$el:o.$el,ondel:function(){r.del(a),i.app.trigger("change")}})}for(var i=this,n=0,r=new f.default.View({title:t.title||"Repeat",min:t.min,max:t.max,onnew:function(){e(t.inputs),i.app.trigger("change")}}),o=a.size(t.cache),s=0;s").addClass("ui-form-info").html(t.help)),this.app.on("expand",function(t){e.$("#"+t).length>0&&e.expand()}),this._append(e.$el,t.id)},_addRow:function(t){var e=this,i=t.id;t.onchange=t.onchange||function(){e.app.trigger("change",i)};var n=this.parameters.create(t);this.app.field_list[i]=n;var a=new _.default(this.app,{name:t.name,label:t.hide_label?"":t.label||t.name,value:t.value,text_value:t.text_value,collapsible_value:t.collapsible_value,collapsible_preview:t.collapsible_preview,help:t.help,argument:t.argument,disabled:t.disabled,color:t.color,style:t.style,backdrop:t.backdrop,hidden:t.hidden,fixed:t.fixed,field:n});return this.app.element_list[i]=a,this._append(a.$el,t.id),n},_append:function(t,e){this.$el.append(t.addClass("section-row").attr("id",e))}});e.default={View:v}}).call(e,i(1),i(0),i(2),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(11),d=r(l),c=i(4),u=r(c),h=t.View.extend({initialize:function(t){this.list={},this.options=s.default.merge(t,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new u.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){t.onnew&&t.onnew()}}),this.setElement(n("").append(this.$list=n("")).append(n("").append(this.button_new.$el)))},size:function(){return a.size(this.list)},add:function(t){if(!t.id||this.list[t.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var e=new u.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){t.ondel&&t.ondel()}}),i=new d.default.View({id:t.id,title:"placeholder",cls:t.cls||"ui-portlet-repeat",operations:{button_delete:e}});i.append(t.$el),i.$el.addClass("section-row").hide(),this.list[t.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(t){if(!this.list[t])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+t).remove(),delete this.list[t],this.button_new.enable(),this._refresh()},delAll:function(){for(var t in this.list)this.del(t)},hideOptions:function(){this.button_new.$el.hide(),a.each(this.list,function(t){t.hideOperation("button_delete")}),a.isEmpty(this.list)&&this.$el.append(n("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var t=0;for(var e in this.list){var i=this.list[e];i.title(++t+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});e.default={View:h}}).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.View.extend({initialize:function(e,i){this.app=e,this.app_options=e.model?e.model.attributes:{},this.field=i&&i.field||new t.View,this.model=i&&i.model||new t.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var n=this.model.get("collapsible_value");this.field.collapsed=void 0!==n&&JSON.stringify(this.model.get("value"))==JSON.stringify(n),this.listenTo(this.model,"change",this.render,this),this.render();var a=this;this.$collapsible.on("click",function(){a.field.collapsed=!a.field.collapsed,e.trigger&&e.trigger("change"),a.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){a.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(t){this.model.set("error_text",t)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var t=this.model.get("help",""),e=this.model.get("argument");e&&-1==t.indexOf("("+e+")")&&(t+=" ("+e+")"),this.$info.html(t),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(n.escape(this.model.get("text_value")));var a=this.model.get("error_text");if(this.$error[a?"show":"hide"](),this.$el[a?"addClass":"removeClass"]("ui-error"),this.$error_text.html(a),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var r=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+r)).attr("data-original-title",this.model.get("text_"+r)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(e,i(1),i(0),i(2))},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(52),u=r(c),h=i(53),f=r(h),p=i(54),_=r(p),m=i(55),g=r(m),v=i(57),b=r(v);e.default=t.Model.extend({types:{text:"_fieldText",password:"_fieldText",select:"_fieldSelect",data_column:"_fieldSelect",genomebuild:"_fieldSelect",data:"_fieldData",data_collection:"_fieldData",integer:"_fieldSlider",float:"_fieldSlider",boolean:"_fieldBoolean",drill_down:"_fieldDrilldown",color:"_fieldColor",hidden:"_fieldHidden",hidden_data:"_fieldHidden",baseurl:"_fieldHidden",library_data:"_fieldLibrary",ftpfile:"_fieldFtp",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(t){var e=this.types[t.type],i="function"==typeof this[e]?this[e].call(this,t):null;return i||(i=t.options?this._fieldSelect(t):this._fieldText(t),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+t.type+").")),void 0===t.value&&(t.value=null),i.value(t.value),i},_fieldData:function(t){return new u.default.View({id:"field-"+t.id,extensions:t.extensions,optional:t.optional,multiple:t.multiple,type:t.type,flavor:t.flavor,data:t.options,onchange:t.onchange})},_fieldSelect:function(t){if(t.is_workflow)return this._fieldText(t);"data_column"==t.type&&(t.error_text="Missing columns in referenced dataset.");var e=t.data;e||(e=[],n.each(t.options,function(t){e.push({label:t[0],value:t[1]})}));var i=d.default.Select;switch(t.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+t.id,data:e,error_text:t.error_text||"No options available",readonly:t.readonly,multiple:t.multiple,optional:t.optional,onchange:t.onchange,individual:t.individual,searchable:"workflow"!==t.flavor})},_fieldDrilldown:function(t){return t.is_workflow?this._fieldText(t):new d.default.Drilldown.View({id:"field-"+t.id,data:t.options,display:t.display,optional:t.optional,onchange:t.onchange})},_fieldText:function(t){if(t.options&&t.data)if(t.area=t.multiple,s.default.isEmpty(t.value))t.value=null;else if(a.isArray(t.value)){var e="";for(var i in t.value){if(e+=String(t.value[i]),!t.multiple)break;e+="\n"}t.value=e}return new d.default.Input({id:"field-"+t.id,type:t.type,area:t.area,readonly:t.readonly,placeholder:t.placeholder,datalist:t.datalist,onchange:t.onchange})},_fieldSlider:function(t){return new d.default.Slider.View({id:"field-"+t.id,precise:"float"==t.type,is_workflow:t.is_workflow,min:t.min,max:t.max,onchange:t.onchange})},_fieldHidden:function(t){return new d.default.Hidden({id:"field-"+t.id,info:t.info})},_fieldBoolean:function(t){return new d.default.RadioButton.View({id:"field-"+t.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:t.onchange})},_fieldColor:function(t){return new b.default({id:"field-"+t.id,onchange:t.onchange})},_fieldLibrary:function(t){return new f.default.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:t.onchange})},_fieldFtp:function(t){return new _.default.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:t.onchange})},_fieldGenomeSpace:function(t){var e=this;return new g.default.View({id:"field-"+t.id,onchange:function(){e.app.trigger("change")}})},_fieldUpload:function(t){return new d.default.Upload({id:"field-"+t.id,onchange:t.onchange})}})}).call(e,i(1),i(2),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(22),u=r(c),h={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},f={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:h.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:h.ENABLED}]},p=t.View.extend({initialize:function(e){var i=this;this.model=e&&e.model||new t.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(e),this.setElement(n("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var a=n("").addClass("ui-form-info").append(n("").addClass("fa fa-sitemap")).append(n("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:a.clone(),enabled:a.clone().append(n("").append(n("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(n("").css("clear","both"))},this.$el.on("dragenter",function(t){this.lastenter=t.target,i.$el.addClass("ui-dragover")}).on("dragover",function(t){t.preventDefault()}).on("dragleave",function(t){this.lastenter===t.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(t){i._handleDrop(t)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){e.onchange&&e.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(t){this.model.set("data",t)},value:function(t){void 0!==t&&this.model.set("value",t);var e=this.model.get("current");if(this.config[e]){var i=this.fields[e].value();if(null!==i&&(i=n.isArray(i)?i:[i],i.length>0)){var a=this._batch({values:[]});for(var r in i){var o=this.history[i[r]+"_"+this.config[e].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[r]+"'."),null;a.values.push(o)}return a.values.sort(function(t,e){return t.hid-e.hid}),a}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+t+"'.");return null},_changeCurrent:function(){var t=this;a.each(this.fields,function(e,i){t.model.get("current")==i?(e.$el.show(),a.each(t.$batch,function(e,n){e[t.config[i].batch==n?"show":"hide"]()}),t.button_type.value(i)):e.$el.hide()})},_changeType:function(){var t=this,e=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");f[e]?this.config=f[e]:(this.config=f.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+e+"'."));var i=t.model.get("data"),n=s.default.textify(this.model.get("extensions")),r=this.model.get("src_labels");this.fields=[],this.button_data=[],a.each(this.config,function(e,a){t.button_data.push({value:a,icon:e.icon,tooltip:e.tooltip}),t.fields.push(new u.default.View({optional:t.model.get("optional"),multiple:e.multiple,searchable:!e.multiple||i&&i[e.src]&&i[e.src].length>t.model.get("pagelimit"),individual:!0,error_text:"No "+(n?n+" ":"")+(r[e.src]||"content")+" available.",onchange:function(){t.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(e){t.model.set("current",e),t.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),a.each(this.fields,function(e){t.$el.append(e.$el.css({"margin-left":o}))}),a.each(this.$batch,function(e,i){t.$el.append(e.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var t=this;a.each(this.fields,function(e){e[t.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var t=this.model.get("data"),e=this,i={};a.each(t,function(t,n){i[n]=[],a.each(t,function(t){i[n].push({hid:t.hid,keep:t.keep,label:t.hid+": "+t.name,value:t.id,tags:t.tags}),e.history[t.id+"_"+n]=t})}),a.each(this.config,function(t,n){i[t.src]&&e.fields[n].add(i[t.src],function(t,e){return e.hid-t.hid})})},_changeValue:function(){var t=this.model.get("value");if(t&&t.values&&t.values.length>0){var e=[];a.each(t.values,function(t){e.push(t.id)});for(var i=t.values[0].src,n=t.values.length>1,r=0;r
"}});e.default={View:o}}).call(e,i(1),i(0))},function(t,e,i){"use strict";(function(t,n,a){Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=(function(t){t&&t.__esModule}(r),t.Model.extend({initialize:function(t){this.app=t},checksum:function(){var t="",e=this;return this.app.section.$el.find(".section-row").each(function(){var i=n(this).attr("id"),a=e.app.field_list[i];a&&(t+=i+":"+JSON.stringify(a.value&&a.value())+":"+a.collapsed+";")}),t},create:function(){function t(t,e,n){i.flat_dict[t]=e,a[t]=n,i.app.element_list[e]&&i.app.element_list[e].$el.attr("tour_id",t)}function e(n,a){for(var r in a){var o=a[r];if(o.input){var l=o.input,d=n;switch(""!=n&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],u=null;for(var h in o){var f=h.indexOf("section-");-1!=f&&(f+="section-".length,c.push(parseInt(h.substr(f))),u||(u=h.substr(0,f)))}c.sort(function(t,e){return t-e});var r=0;for(var p in c)e(d+"_"+r++,o[u+c[p]]);break;case"conditional":var _=i.app.field_list[l.id].value();t(d+"|"+l.test_param.name,l.id,_);var m=s(l,_);-1!=m&&e(d,a[l.id+"-section-"+m]);break;case"section":e(!l.flat&&d||"",o);break;default:var g=i.app.field_list[l.id];if(g&&g.value){var _=g.value();if((void 0===l.ignore||l.ignore!=_)&&(g.collapsed&&l.collapsible_value&&(_=l.collapsible_value),t(d,l.id,_),l.payload))for(var v in l.payload)t(v,l.id,l.payload[v])}}}}}var i=this,n={};this._iterate(this.app.section.$el,n);var a={};return this.flat_dict={},e("",n),a},match:function(t){return this.flat_dict&&this.flat_dict[t]},matchCase:function(t,e){return s(t,e)},matchModel:function(t,e){var i=this;l(t.inputs,function(t,n){i.flat_dict[n]&&e(t,i.flat_dict[n])})},matchResponse:function(t){function e(t,a){if("string"==typeof a){var r=n.flat_dict[t];r&&(i[r]=a)}else for(var o in a){var s=o;if(""!==t){var l="|";a instanceof Array&&(l="_"),s=t+l+s}e(s,a[o])}}var i={},n=this;return e("",t),i},_iterate:function(t,e){var i=this;n(t).children().each(function(){var t=this,a=n(t).attr("id");if(n(t).hasClass("section-row")){var r=i.app.input_list[a];e[a]=r&&{input:r}||{},i._iterate(t,e[a])}else i._iterate(t,e)})}})),s=function(t,e){"boolean"==t.test_param.type&&(e="true"==e?t.test_param.truevalue||"true":t.test_param.falsevalue||"false");for(var i in t.cases)if(t.cases[i].value==e)return i;return-1},l=function t(e,i,r,o){o=n.extend(!0,{},o),a.each(e,function(t){t&&t.type&&t.name&&(o[t.name]=t)});for(var l in e){var d=e[l];d.name=d.name||l;var c=r?r+"|"+d.name:d.name;switch(d.type){case"repeat":a.each(d.cache,function(e,n){t(e,i,c+"_"+n,o)});break;case"conditional":if(d.test_param){i(d.test_param,c+"|"+d.test_param.name,o);var u=s(d,d.test_param.value);-1!=u?t(d.cases[u].inputs,i,c,o):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":t(d.inputs,i,c,o);break;default:i(d,c,o)}}};e.default={Manager:o,visitInputs:l}}).call(e,i(1),i(0),i(2))},function(t,e,i){"use strict";(function(t,i,n){Object.defineProperty(e,"__esModule",{value:!0});var a=t.View.extend({initialize:function(e){this.model=e&&e.model||new t.Model(e),this.setElement(i("").addClass("corner frame")),this.$el.append(i("").addClass("f-header corner").append(i("").addClass("f-title")).append(i("").addClass("f-icon f-close fa fa-close").tooltip({title:"Close",placement:"bottom"}))).append(i("").addClass("f-content")).append(i("").addClass("f-resize f-icon corner fa fa-expand").tooltip({title:"Resize"})).append(i("").addClass("f-cover")),this.$header=this.$(".f-header"),this.$title=this.$(".f-title"),this.$content=this.$(".f-content"),this.render(),this.listenTo(this.model,"change",this.render,this)},render:function(){var t=this,e=this.model.attributes;this.$title.html(e.title||""),this.$header.find(".f-icon-left").remove(),n.each(e.menu,function(e){var a=i("").addClass("f-icon-left").addClass(e.icon);n.isFunction(e.disabled)&&e.disabled()?a.attr("disabled",!0):a.on("click",function(){e.onclick(t)}).tooltip({title:e.tooltip,placement:"bottom"}),t.$header.append(a)}),e.url?this.$content.html(i("").addClass("f-iframe").attr("scrolling","auto").attr("src",e.url+(-1===e.url.indexOf("?")?"?":"&")+"widget=True")):e.content&&(n.isFunction(e.content)?e.content(t.$content):t.$content.html(e.content))}}),r=t.View.extend({defaultOptions:{frame:{cols:6,rows:3},rows:1e3,cell:130,margin:5,scroll:5,top_min:40,frame_max:9,visible:!0},cols:0,top:0,top_max:0,frame_z:0,frame_counter:0,frame_uid:0,frame_list:{},frame_shadow:null,visible:!1,event:{},initialize:function(e){var a=this;this.options=n.defaults(e||{},this.defaultOptions),this.visible=this.options.visible,this.top=this.top_max=this.options.top_min,this.setElement(i("").addClass("galaxy-frame").append(i("").addClass("frame-background")).append(i("").addClass("frame-menu frame-scroll-up fa fa-chevron-up fa-2x")).append(i("").addClass("frame-menu frame-scroll-down fa fa-chevron-down fa-2x"))),this.frame_shadow=new t.View({el:i("").addClass("corner frame-shadow")}),this.$el.append(this.frame_shadow.$el),this._frameInit(this.frame_shadow,"#frame-shadow"),this._frameResize(this.frame_shadow,{width:0,height:0}),this.frame_list["#frame-shadow"]=this.frame_shadow,this.visible?this.show():this.hide(),this._panelRefresh(),i(window).resize(function(){a.visible&&a._panelRefresh()})},render:function(){this.$(".frame-scroll-up")[this.top!=this.options.top_min&&"show"||"hide"](),this.$(".frame-scroll-down")[this.top!=this.top_max&&"show"||"hide"]()},add:function(t){if(this.frame_counter>=this.options.frame_max)Galaxy.modal.show({title:"Warning",body:"You have reached the maximum number of allowed frames ("+this.options.frame_max+").",buttons:{Close:function(){Galaxy.modal.hide()}}});else{var e="#frame-"+this.frame_uid++;if(0!==i(e).length)Galaxy.modal.show({title:"Error",body:"This frame already exists. This page might contain multiple frame managers.",buttons:{Close:function(){Galaxy.modal.hide()}}});else{this.top=this.options.top_min;var n=new a(t);this.$el.append(n.$el),t.width=this._toPixelCoord("width",this.options.frame.cols),t.height=this._toPixelCoord("height",this.options.frame.rows),this.frame_z=parseInt(n.$el.css("z-index")),this.frame_list[e]=n,this.frame_counter++,this._frameInit(n,e),this._frameResize(n,{width:t.width,height:t.height}),this._frameInsert(n,{top:0,left:0},!0),!this.visible&&this.show(),this.trigger("add")}}},del:function(t){var e=this,i=t.$el;i.fadeOut("fast",function(){i.remove(),delete e.frame_list[t.id],e.frame_counter--,e._panelRefresh(!0),e._panelAnimationComplete(),e.trigger("remove")})},show:function(){this.visible=!0,this.$el.fadeIn("fast"),this.trigger("show")},hide:function(){this.event.type||(this.visible=!1,this.$el.fadeOut("fast",function(){i(this).hide()}),this.trigger("hide"))},length:function(){return this.frame_counter},events:{mousemove:"_eventFrameMouseMove",mouseup:"_eventFrameMouseUp",mouseleave:"_eventFrameMouseUp",mousewheel:"_eventPanelScroll",DOMMouseScroll:"_eventPanelScroll","mousedown .frame":"_eventFrameMouseDown","mousedown .frame-background":"_eventHide","mousedown .frame-scroll-up":"_eventPanelScroll_up","mousedown .frame-scroll-down":"_eventPanelScroll_down","mousedown .f-close":"_eventFrameClose"},_eventFrameMouseDown:function(t){i(".tooltip").hide(),this.event.type||((i(t.target).hasClass("f-header")||i(t.target).hasClass("f-title"))&&(this.event.type="drag"),i(t.target).hasClass("f-resize")&&(this.event.type="resize"),this.event.type&&(t.preventDefault(),this.event.target=this._frameIdentify(t.target),this.event.xy={x:t.originalEvent.pageX,y:t.originalEvent.pageY},this._frameDragStart(this.event.target)))},_eventFrameMouseMove:function(t){if(this.event.type){var e={x:t.originalEvent.pageX,y:t.originalEvent.pageY},i={x:e.x-this.event.xy.x,y:e.y-this.event.xy.y};this.event.xy=e;var n=this._frameScreen(this.event.target);if("resize"==this.event.type){n.width+=i.x,n.height+=i.y;var a=this.options.cell-this.options.margin-1;n.width=Math.max(n.width,a),n.height=Math.max(n.height,a),this._frameResize(this.event.target,n),n.width=this._toGridCoord("width",n.width)+1,n.height=this._toGridCoord("height",n.height)+1,n.width=this._toPixelCoord("width",n.width),n.height=this._toPixelCoord("height",n.height),this._frameResize(this.frame_shadow,n),this._frameInsert(this.frame_shadow,{top:this._toGridCoord("top",n.top),left:this._toGridCoord("left",n.left)})}else if("drag"==this.event.type){n.left+=i.x,n.top+=i.y,this._frameOffset(this.event.target,n);var r={top:this._toGridCoord("top",n.top),left:this._toGridCoord("left",n.left)};0!==r.left&&r.left++,this._frameInsert(this.frame_shadow,r)}}},_eventFrameMouseUp:function(t){this.event.type&&(this._frameDragStop(this.event.target),this.event.type=null)},_eventFrameClose:function(t){this.event.type||(t.preventDefault(),this.del(this._frameIdentify(t.target)))},_eventHide:function(t){!this.event.type&&this.hide()},_eventPanelScroll:function(t){if(!this.event.type&&this.visible){0!==i(t.srcElement).parents(".frame").length?t.stopPropagation():(t.preventDefault(),this._panelScroll(t.originalEvent.detail?t.originalEvent.detail:t.originalEvent.wheelDelta/-3))}},_eventPanelScroll_up:function(t){this.event.type||(t.preventDefault(),this._panelScroll(-this.options.scroll))},_eventPanelScroll_down:function(t){this.event.type||(t.preventDefault(),this._panelScroll(this.options.scroll))},_frameIdentify:function(t){return this.frame_list["#"+i(t).closest(".frame").attr("id")]},_frameDragStart:function(t){this._frameFocus(t,!0);var e=this._frameScreen(t);this._frameResize(this.frame_shadow,e),this._frameGrid(this.frame_shadow,t.grid_location),t.grid_location=null,this.frame_shadow.$el.show(),i(".f-cover").show()},_frameDragStop:function(t){this._frameFocus(t,!1);var e=this._frameScreen(this.frame_shadow);this._frameResize(t,e),this._frameGrid(t,this.frame_shadow.grid_location,!0),this.frame_shadow.grid_location=null,this.frame_shadow.$el.hide(),i(".f-cover").hide(),this._panelAnimationComplete()},_toGridCoord:function(t,e){var i="width"==t||"height"==t?1:-1;return"top"==t&&(e-=this.top),parseInt((e+i*this.options.margin)/this.options.cell,10)},_toPixelCoord:function(t,e){var i="width"==t||"height"==t?1:-1,n=e*this.options.cell-i*this.options.margin;return"top"==t&&(n+=this.top),n},_toGrid:function(t){return{top:this._toGridCoord("top",t.top),left:this._toGridCoord("left",t.left),width:this._toGridCoord("width",t.width),height:this._toGridCoord("height",t.height)}},_toPixel:function(t){return{top:this._toPixelCoord("top",t.top),left:this._toPixelCoord("left",t.left),width:this._toPixelCoord("width",t.width),height:this._toPixelCoord("height",t.height)}},_isCollision:function(t){for(var e in this.frame_list){var i=this.frame_list[e];if(null!==i.grid_location&&function(t,e){return!(t.left>e.left+e.width-1||t.left+t.width-1e.top+e.height-1||t.top+t.height-1e[1]?1:0}),n.each(o,function(t){r._framePlace(t[0],a)}),this.top_max=0,n.each(this.frame_list,function(t){null!==t.grid_location&&(r.top_max=Math.max(r.top_max,t.grid_location.top+t.grid_location.height))}),this.top_max=i(window).height()-this.top_max*this.options.cell-2*this.options.margin,this.top_max=Math.min(this.top_max,this.options.top_min),this.render()},_framePlace:function(t,e){t.grid_location=null;for(var i=this._toGrid(this._frameScreen(t)),n=!1,a=0;a=48&&e<=57&&!a[16]||e>=96&&e<=105||(190==e||110==e)&&-1==n(this).val().indexOf(".")&&i.model.get("precise")||(189==e||109==e)&&-1==n(this).val().indexOf("-")||i._isParameter(n(this).val())||a[91]||a[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var s=o.step;s||(s=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:s}).on("slide",function(t,e){i.value(e.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var t=this.model.get("value");this.has_slider&&this.$slider.slider("value",t),t!==this.$text.val()&&this.$text.val(t)},value:function(t){var e=this.model.attributes;return void 0!==t&&(null===t||""===t||this._isParameter(t)||(isNaN(t)&&(t=0),!e.precise&&(t=Math.round(t)),null!==e.max&&(t=Math.min(t,e.max)),null!==e.min&&(t=Math.max(t,e.min))),this.model.set("value",t),this.model.trigger("change"),e.onchange(t)),this.model.get("value")},_isParameter:function(t){return this.model.get("is_workflow")&&"$"===String(t).substring(0,1)},_template:function(){return'
'}});e.default={View:o}}).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}}Object.defineProperty(e,"__esModule",{value:!0});var r=i(3),o=a(r),s=i(23),l=a(s),d=l.default.BaseIcons.extend({initialize:function(t){t.type=t.display||"checkbox",t.multiple="checkbox"==t.type,l.default.BaseIcons.prototype.initialize.call(this,t)},_setValue:function(e){if(l.default.BaseIcons.prototype._setValue.call(this,e),void 0!==e&&null!==e&&this.header_index){var i=this,a=t.isArray(e)?e:[e];n.each(a,function(t){var e=i.header_index[t];n.each(e,function(t){i._setState(t,!0)})})}},_setState:function(t,e){var i=this.$(".button-"+t),n=this.$(".subgroup-"+t);i.data("is_expanded",e),e?(n.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(n.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function e(t,e){var i=t.find(".button-"+e);i.on("click",function(){n._setState(e,!i.data("is_expanded"))})}function i(a,r,s){s=s||[];for(var l in r){var d=r[l],c=d.options&&d.options.length>0,u=s.slice(0);n.header_index[d.value]=u.slice(0);var h=t("");if(c){var f=o.default.uid(),p=t("").addClass("button-"+f).addClass("ui-drilldown-button fa fa-plus-square"),_=t("").addClass("subgroup-"+f).addClass("ui-drilldown-subgroup");h.append(t("").append(p).append(n._templateOption({label:d.name,value:d.value}))),u.push(f),i(_,d.options,u),h.append(_),e(h,f)}else h.append(n._templateOption({label:d.name,value:d.value}));a.append(h)}}var n=this;this.header_index={};var a=t("");return i(a,this.model.get("data")),a},_template:function(){return t("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});e.default={View:d}}).call(e,i(0),i(2))},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(3),l=o(s),d=i(4),c=(o(d),i(11)),u=o(c),h=i(49),f=o(h),p=i(50),_=o(p),m=i(51),g=o(m),v=t.View.extend({initialize:function(t,e){this.app=t,this.inputs=e.inputs,this.parameters=new g.default,this.setElement(n("")),this.render()},render:function(){var t=this;this.$el.empty(),a.each(this.inputs,function(e){t.add(e)})},add:function(t){var e=r.extend(!0,{},t);switch(e.id=t.id=l.default.uid(),this.app.input_list[e.id]=e,e.type){case"conditional":this._addConditional(e);break;case"repeat":this._addRepeat(e);break;case"section":this._addSection(e);break;default:this._addRow(e)}},_addConditional:function(t){var e=this;t.test_param.id=t.id,this.app.model.get("sustain_conditionals")&&(t.test_param.disabled=!0);var i=this._addRow(t.test_param);i.model&&i.model.set("onchange",function(i){var n=e.app.data.matchCase(t,i);for(var a in t.cases){var r=t.cases[a],o=e.$("#"+t.id+"-section-"+a),s=!1;for(var l in r.inputs)if(!r.inputs[l].hidden){s=!0;break}a==n&&s?o.fadeIn("fast"):o.hide()}e.app.trigger("change")});for(var n in t.cases){var a=new v(this.app,{inputs:t.cases[n].inputs});this._append(a.$el.addClass("ui-form-section"),t.id+"-section-"+n)}i.trigger("change")},_addRepeat:function(t){function e(e){var a=t.id+"-section-"+n++,o=new v(i.app,{inputs:e});r.add({id:a,$el:o.$el,ondel:function(){r.del(a),i.app.trigger("change")}})}for(var i=this,n=0,r=new f.default.View({title:t.title||"Repeat",min:t.min,max:t.max,onnew:function(){e(t.inputs),i.app.trigger("change")}}),o=a.size(t.cache),s=0;s").addClass("ui-form-info").html(t.help)),this.app.on("expand",function(t){e.$("#"+t).length>0&&e.expand()}),this._append(e.$el,t.id)},_addRow:function(t){var e=this,i=t.id;t.onchange=t.onchange||function(){e.app.trigger("change",i)};var n=this.parameters.create(t);this.app.field_list[i]=n;var a=new _.default(this.app,{name:t.name,label:t.hide_label?"":t.label||t.name,value:t.value,text_value:t.text_value,collapsible_value:t.collapsible_value,collapsible_preview:t.collapsible_preview,help:t.help,argument:t.argument,disabled:t.disabled,color:t.color,style:t.style,backdrop:t.backdrop,hidden:t.hidden,fixed:t.fixed,field:n});return this.app.element_list[i]=a,this._append(a.$el,t.id),n},_append:function(t,e){this.$el.append(t.addClass("section-row").attr("id",e))}});e.default={View:v}}).call(e,i(1),i(0),i(2),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(11),d=r(l),c=i(4),u=r(c),h=t.View.extend({initialize:function(t){this.list={},this.options=s.default.merge(t,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new u.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){t.onnew&&t.onnew()}}),this.setElement(n("").append(this.$list=n("")).append(n("").append(this.button_new.$el)))},size:function(){return a.size(this.list)},add:function(t){if(!t.id||this.list[t.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var e=new u.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){t.ondel&&t.ondel()}}),i=new d.default.View({id:t.id,title:"placeholder",cls:t.cls||"ui-portlet-repeat",operations:{button_delete:e}});i.append(t.$el),i.$el.addClass("section-row").hide(),this.list[t.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(t){if(!this.list[t])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+t).remove(),delete this.list[t],this.button_new.enable(),this._refresh()},delAll:function(){for(var t in this.list)this.del(t)},hideOptions:function(){this.button_new.$el.hide(),a.each(this.list,function(t){t.hideOperation("button_delete")}),a.isEmpty(this.list)&&this.$el.append(n("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var t=0;for(var e in this.list){var i=this.list[e];i.title(++t+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});e.default={View:h}}).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.View.extend({initialize:function(e,i){this.app=e,this.app_options=e.model?e.model.attributes:{},this.field=i&&i.field||new t.View,this.model=i&&i.model||new t.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var n=this.model.get("collapsible_value");this.field.collapsed=void 0!==n&&JSON.stringify(this.model.get("value"))==JSON.stringify(n),this.listenTo(this.model,"change",this.render,this),this.render();var a=this;this.$collapsible.on("click",function(){a.field.collapsed=!a.field.collapsed,e.trigger&&e.trigger("change"),a.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){a.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(t){this.model.set("error_text",t)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var t=this.model.get("help",""),e=this.model.get("argument");e&&-1==t.indexOf("("+e+")")&&(t+=" ("+e+")"),this.$info.html(t),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(n.escape(this.model.get("text_value")));var a=this.model.get("error_text");if(this.$error[a?"show":"hide"](),this.$el[a?"addClass":"removeClass"]("ui-error"),this.$error_text.html(a),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var r=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+r)).attr("data-original-title",this.model.get("text_"+r)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(e,i(1),i(0),i(2))},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(52),u=r(c),h=i(53),f=r(h),p=i(54),_=r(p),m=i(55),g=r(m),v=i(57),b=r(v);e.default=t.Model.extend({types:{text:"_fieldText",password:"_fieldText",select:"_fieldSelect",data_column:"_fieldSelect",genomebuild:"_fieldSelect",data:"_fieldData",data_collection:"_fieldData",integer:"_fieldSlider",float:"_fieldSlider",boolean:"_fieldBoolean",drill_down:"_fieldDrilldown",color:"_fieldColor",hidden:"_fieldHidden",hidden_data:"_fieldHidden",baseurl:"_fieldHidden",library_data:"_fieldLibrary",ftpfile:"_fieldFtp",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(t){var e=this.types[t.type],i="function"==typeof this[e]?this[e].call(this,t):null;return i||(i=t.options?this._fieldSelect(t):this._fieldText(t),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+t.type+").")),void 0===t.value&&(t.value=null),i.value(t.value),i},_fieldData:function(t){return new u.default.View({id:"field-"+t.id,extensions:t.extensions,optional:t.optional,multiple:t.multiple,type:t.type,flavor:t.flavor,data:t.options,onchange:t.onchange})},_fieldSelect:function(t){if(t.is_workflow)return this._fieldText(t);"data_column"==t.type&&(t.error_text="Missing columns in referenced dataset.");var e=t.data;e||(e=[],n.each(t.options,function(t){e.push({label:t[0],value:t[1]})}));var i=d.default.Select;switch(t.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+t.id,data:e,error_text:t.error_text||"No options available",readonly:t.readonly,multiple:t.multiple,optional:t.optional,onchange:t.onchange,individual:t.individual,searchable:"workflow"!==t.flavor})},_fieldDrilldown:function(t){return t.is_workflow?this._fieldText(t):new d.default.Drilldown.View({id:"field-"+t.id,data:t.options,display:t.display,optional:t.optional,onchange:t.onchange})},_fieldText:function(t){if(t.options&&t.data)if(t.area=t.multiple,s.default.isEmpty(t.value))t.value=null;else if(a.isArray(t.value)){var e="";for(var i in t.value){if(e+=String(t.value[i]),!t.multiple)break;e+="\n"}t.value=e}return new d.default.Input({id:"field-"+t.id,type:t.type,area:t.area,readonly:t.readonly,placeholder:t.placeholder,datalist:t.datalist,onchange:t.onchange})},_fieldSlider:function(t){return new d.default.Slider.View({id:"field-"+t.id,precise:"float"==t.type,is_workflow:t.is_workflow,min:t.min,max:t.max,onchange:t.onchange})},_fieldHidden:function(t){return new d.default.Hidden({id:"field-"+t.id,info:t.info})},_fieldBoolean:function(t){return new d.default.RadioButton.View({id:"field-"+t.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:t.onchange})},_fieldColor:function(t){return new b.default({id:"field-"+t.id,onchange:t.onchange})},_fieldLibrary:function(t){return new f.default.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:t.onchange})},_fieldFtp:function(t){return new _.default.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:t.onchange})},_fieldGenomeSpace:function(t){var e=this;return new g.default.View({id:"field-"+t.id,onchange:function(){e.app.trigger("change")}})},_fieldUpload:function(t){return new d.default.Upload({id:"field-"+t.id,onchange:t.onchange})}})}).call(e,i(1),i(2),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(22),u=r(c),h={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},f={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:h.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:h.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:h.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:h.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:h.ENABLED}]},p=t.View.extend({initialize:function(e){var i=this;this.model=e&&e.model||new t.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(e),this.setElement(n("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var a=n("").addClass("ui-form-info").append(n("").addClass("fa fa-sitemap")).append(n("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:a.clone(),enabled:a.clone().append(n("").append(n("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(n("").css("clear","both"))},this.$el.on("dragenter",function(t){this.lastenter=t.target,i.$el.addClass("ui-dragover")}).on("dragover",function(t){t.preventDefault()}).on("dragleave",function(t){this.lastenter===t.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(t){i._handleDrop(t)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){e.onchange&&e.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(t){this.model.set("data",t)},value:function(t){void 0!==t&&this.model.set("value",t);var e=this.model.get("current");if(this.config[e]){var i=this.fields[e].value();if(null!==i&&(i=n.isArray(i)?i:[i],i.length>0)){var a=this._batch({values:[]});for(var r in i){var o=this.history[i[r]+"_"+this.config[e].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[r]+"'."),null;a.values.push(o)}return a.values.sort(function(t,e){return t.hid-e.hid}),a}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+t+"'.");return null},_changeCurrent:function(){var t=this;a.each(this.fields,function(e,i){t.model.get("current")==i?(e.$el.show(),a.each(t.$batch,function(e,n){e[t.config[i].batch==n?"show":"hide"]()}),t.button_type.value(i)):e.$el.hide()})},_changeType:function(){var t=this,e=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");f[e]?this.config=f[e]:(this.config=f.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+e+"'."));var i=t.model.get("data"),n=s.default.textify(this.model.get("extensions")),r=this.model.get("src_labels");this.fields=[],this.button_data=[],a.each(this.config,function(e,a){t.button_data.push({value:a,icon:e.icon,tooltip:e.tooltip}),t.fields.push(new u.default.View({optional:t.model.get("optional"),multiple:e.multiple,searchable:!e.multiple||i&&i[e.src]&&i[e.src].length>t.model.get("pagelimit"),individual:!0,error_text:"No "+(n?n+" ":"")+(r[e.src]||"content")+" available.",onchange:function(){t.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(e){t.model.set("current",e),t.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),a.each(this.fields,function(e){t.$el.append(e.$el.css({"margin-left":o}))}),a.each(this.$batch,function(e,i){t.$el.append(e.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var t=this;a.each(this.fields,function(e){e[t.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var t=this.model.get("data"),e=this,i={};a.each(t,function(t,n){i[n]=[],a.each(t,function(t){i[n].push({hid:t.hid,keep:t.keep,label:t.hid+": "+t.name,value:t.id,tags:t.tags}),e.history[t.id+"_"+n]=t})}),a.each(this.config,function(t,n){i[t.src]&&e.fields[n].add(i[t.src],function(t,e){return e.hid-t.hid})})},_changeValue:function(){var t=this.model.get("value");if(t&&t.values&&t.values.length>0){var e=[];a.each(t.values,function(t){e.push(t.id)});for(var i=t.values[0].src,n=t.values.length>1,r=0;r
"].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(60),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(58),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:"workflow"}),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(60),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(58),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:"