galaxy-commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2014
- 1 participants
- 192 discussions
commit/galaxy-central: guerler: Ui: Add backbone wrapper for bootstrap tabs
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c5be84ef148e/
Changeset: c5be84ef148e
User: guerler
Date: 2014-02-21 21:20:14
Summary: Ui: Add backbone wrapper for bootstrap tabs
Affected #: 13 files
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/app.js
--- a/config/plugins/visualizations/charts/static/app.js
+++ b/config/plugins/visualizations/charts/static/app.js
@@ -42,7 +42,7 @@
// create portlet
if (!this.options.config.widget) {
- this.portlet = new Portlet.View({icon : 'fa-bar-chart-o', label : 'Charts'});
+ this.portlet = new Portlet.View({icon : 'fa-bar-chart-o', title : 'Charts'});
} else {
this.portlet = $('<div></div>');
}
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/chart.js
--- a/config/plugins/visualizations/charts/static/views/chart.js
+++ b/config/plugins/visualizations/charts/static/views/chart.js
@@ -1,6 +1,6 @@
// dependencies
-define(['mvc/ui/ui-portlet', 'plugin/library/table', 'plugin/library/ui', 'utils/utils', 'plugin/models/chart', 'plugin/views/groups'],
- function(Portlet, Table, Ui, Utils, Chart, GroupsView) {
+define(['mvc/ui/ui-tabs', 'plugin/library/table', 'plugin/library/ui', 'utils/utils', 'plugin/models/chart', 'plugin/views/groups'],
+ function(Tabs, Table, Ui, Utils, Chart, GroupsView) {
// widget
return Backbone.View.extend(
@@ -79,12 +79,17 @@
this.table.add (chart_type.title);
this.table.append(id);
}
-
- // add table to portlet
- var self = this;
- this.portlet = new Portlet.View({
- icon : 'fa-edit',
- label : 'Create a new chart:',
+
+ // construct element
+ var $settings = $('<div/>');
+ $settings.append(Utils.wrap(this.message.$el));
+ $settings.append(Utils.wrap((new Ui.Label({ label : 'Provide a chart title:'})).$el));
+ $settings.append(Utils.wrap(this.title.$el));
+ $settings.append(Utils.wrap((new Ui.Label({ label : 'Select a chart type:'})).$el));
+ $settings.append(Utils.wrap(this.table.$el));
+
+ // tabs
+ this.tabs = new Tabs.View({
operations : {
'save' : new Ui.ButtonIcon({
icon : 'fa-save',
@@ -103,19 +108,26 @@
})
}
});
- this.portlet.append(this.message.$el);
- this.portlet.append(this.dataset.$el);
- this.portlet.append((new Ui.Label({ label : 'Provide a chart title:'})).$el);
- this.portlet.append(this.title.$el);
- this.portlet.append((new Ui.Label({ label : 'Select a chart type:'})).$el);
- this.portlet.append(this.table.$el);
- this.portlet.append(this.groups_view.$el);
-
+
+ // add tab
+ this.tabs.add({
+ $el: $settings,
+ title: 'Start',
+ id: 'settings'
+ });
+
+ // add tab
+ this.tabs.add({
+ $el: this.groups_view.$el,
+ title: 'Chart Groups',
+ id: 'groups'
+ });
+
// elements
- this.setElement(this.portlet.$el);
+ this.setElement(this.tabs.$el);
// hide back button on startup
- this.portlet.hideOperation('back');
+ this.tabs.hideOperation('back');
// model events
var self = this;
@@ -131,15 +143,15 @@
// collection events
this.app.charts.on('add', function(chart) {
- self.portlet.showOperation('back');
+ self.tabs.showOperation('back');
});
this.app.charts.on('remove', function(chart) {
if (self.app.charts.length == 1) {
- self.portlet.hideOperation('back');
+ self.tabs.hideOperation('back');
}
});
this.app.charts.on('reset', function(chart) {
- self.portlet.hideOperation('back');
+ self.tabs.hideOperation('back');
});
// reset
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/charts.js
--- a/config/plugins/visualizations/charts/static/views/charts.js
+++ b/config/plugins/visualizations/charts/static/views/charts.js
@@ -33,7 +33,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : 'fa-list',
- label : 'List of created charts:',
+ title : 'List of created charts:',
height : 100,
operations : {
'new' : new Ui.ButtonIcon({
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/group.js
--- a/config/plugins/visualizations/charts/static/views/group.js
+++ b/config/plugins/visualizations/charts/static/views/group.js
@@ -26,7 +26,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : 'fa-edit',
- label : 'Define group properties:',
+ title : 'Define group properties:',
operations : {
'save' : new Ui.ButtonIcon({
icon : 'fa-save',
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/groups.js
--- a/config/plugins/visualizations/charts/static/views/groups.js
+++ b/config/plugins/visualizations/charts/static/views/groups.js
@@ -30,7 +30,7 @@
var self = this;
this.portlet = new Portlet.View({
icon : '',
- label : 'Select data columns:',
+ title : 'Select data columns:',
height : 100,
operations : {
'new' : new Ui.ButtonIcon({
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 config/plugins/visualizations/charts/static/views/viewport.js
--- a/config/plugins/visualizations/charts/static/views/viewport.js
+++ b/config/plugins/visualizations/charts/static/views/viewport.js
@@ -25,7 +25,7 @@
// add table to portlet
this.portlet = new Portlet.View({
- label : '',
+ title : '',
icon : 'fa-signal',
height : this.options.height,
overflow : 'hidden',
@@ -75,7 +75,7 @@
var chart = self.app.charts.get(chart_id);
// update portlet
- this.portlet.label(chart.get('title'));
+ this.portlet.title(chart.get('title'));
this.portlet.setOperation('edit', function() {
// get chart
self.app.chart.copy(chart);
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-popover.js
--- a/static/scripts/mvc/ui/ui-popover.js
+++ b/static/scripts/mvc/ui/ui-popover.js
@@ -97,7 +97,7 @@
return $el.width() + parseInt($el.css('padding-left')) + parseInt($el.css('padding-right'))
},
- // heigth
+ // height
_get_height: function($el) {
return $el.height() + parseInt($el.css('padding-top')) + parseInt($el.css('padding-bottom'))
},
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-portlet.js
--- a/static/scripts/mvc/ui/ui-portlet.js
+++ b/static/scripts/mvc/ui/ui-portlet.js
@@ -9,7 +9,7 @@
// defaults options
optionsDefault: {
- label : '',
+ title : '',
icon : 'fa-tasks',
buttons : null,
body : null,
@@ -19,8 +19,10 @@
overflow : 'auto'
},
- // content
+ // elements
$content : null,
+ $buttons : null,
+ $operations : null,
// initialize
initialize : function(options) {
@@ -28,7 +30,7 @@
this.options = Utils.merge(options, this.optionsDefault);
// create new element
- this.setElement(this.template(this.options));
+ this.setElement(this._template(this.options));
// link content
this.$content = this.$el.find('#content');
@@ -79,7 +81,7 @@
return this.$content;
},
- // hide modal
+ // show
show: function(){
// fade in
this.$el.fadeIn('fast');
@@ -88,7 +90,7 @@
this.visible = true;
},
- // hide modal
+ // hide
hide: function(){
// fade out
this.$el.fadeOut('fast');
@@ -124,20 +126,20 @@
$el.on('click', callback);
},
- // label
- label: function(new_label) {
- var $el = this.$el.find('#label');
- if (new_label) {
- $el.html(new_label);
+ // title
+ title: function(new_title) {
+ var $el = this.$el.find('#title');
+ if (new_title) {
+ $el.html(new_title);
}
return $el.html();
},
- // fill regular modal template
- template: function(options) {
+ // fill template
+ _template: function(options) {
var tmpl = '<div class="toolForm">';
- if (options.label || options.icon) {
+ if (options.title || options.icon) {
tmpl += '<div id="title" class="toolFormTitle" style="overflow:hidden;">' +
'<div id="operations" style="float: right;"></div>' +
'<div style="overflow: hidden">';
@@ -145,7 +147,7 @@
if (options.icon)
tmpl += '<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa ' + options.icon + '"> </i>';
- tmpl += '<div id="label" style="padding-top: 2px; float: left;">' + options.label + '</div>';
+ tmpl += '<div id="title" style="padding-top: 2px; float: left;">' + options.title + '</div>';
tmpl += '</div>' +
'</div>';
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-select.js
--- a/static/scripts/mvc/ui/ui-select.js
+++ b/static/scripts/mvc/ui/ui-select.js
@@ -20,6 +20,12 @@
// create new element
this.setElement(this._template(this.options));
+ // check if container exists
+ if (!this.options.container) {
+ console.log('ui-select::initialize() : container not specified.');
+ return;
+ }
+
// add to dom
this.options.container.append(this.$el);
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/mvc/ui/ui-tabs.js
--- /dev/null
+++ b/static/scripts/mvc/ui/ui-tabs.js
@@ -0,0 +1,136 @@
+// dependencies
+define(['utils/utils'], function(Utils) {
+
+// return
+var View = Backbone.View.extend(
+{
+ // visibility
+ visible: false,
+
+ // elements
+ list: {},
+ $nav: null,
+ $content: null,
+
+ // defaults options
+ optionsDefault: {
+ operations: null,
+ },
+
+ // initialize
+ initialize : function(options) {
+ // configure options
+ this.options = Utils.merge(options, this.optionsDefault);
+
+ // create element
+ var $tabs = $(this._template(this.options));
+ this.$nav = $tabs.find('.tab-navigation');
+ this.$content = $tabs.find('.tab-content');
+
+ // create new element
+ this.setElement($tabs);
+
+ // append operations
+ if (this.options.operations) {
+ var self = this;
+ $.each(this.options.operations, function(name, item) {
+ item.$el.prop('id', name);
+ self.$nav.append(item.$el);
+ });
+ }
+ },
+
+ // append
+ add: function(options) {
+ // collect parameters
+ var $el = options.$el;
+ var title = options.title;
+ var id = options.id;
+
+ // create tab object
+ var tab = {
+ $title : $(this._template_tab(options)),
+ $content : $(this._template_tab_content(options))
+ }
+
+ // add nav element
+ this.$nav.append(tab.$title);
+
+ // add content
+ tab.$content.append($el);
+ this.$content.append(tab.$content);
+
+ // add to list
+ this.list[id] = tab;
+
+ // check list size
+ if (_.size(this.list) == 1) {
+ tab.$title.addClass('active');
+ tab.$content.addClass('active');
+ }
+ },
+
+ // show
+ show: function(){
+ this.$el.fadeIn('fast');
+ this.visible = true;
+ },
+
+ // hide
+ hide: function(){
+ this.$el.fadeOut('fast');
+ this.visible = false;
+ },
+
+ // enable operation
+ hideOperation: function(id) {
+ this.$nav.find('#' + id).hide();
+ },
+
+ // disable operation
+ showOperation: function(id) {
+ this.$nav.find('#' + id).show();
+ },
+
+ // set operation
+ setOperation: function(id, callback) {
+ var $el = this.$nav.find('#' + id);
+ $el.off('click');
+ $el.on('click', callback);
+ },
+
+ // title
+ title: function(id, new_label) {
+ var $el = this.$el.find('#title-' + id + ' a');
+ if (new_title) {
+ $el.html(new_title);
+ }
+ return $el.html();
+ },
+
+ // fill template
+ _template: function(options) {
+ return '<div class="tabbable tabs-left">' +
+ '<ul class="tab-navigation nav nav-tabs"/>' +
+ '<div class="tab-content"/>' +
+ '</div>';
+ },
+
+ // fill template tab
+ _template_tab: function(options) {
+ return '<li id="title-' + options.id + '">' +
+ '<a title="" href="#tab-' + options.id + '" data-toggle="tab" data-original-title="">' + options.title + '</a>' +
+ '</li>';
+ },
+
+ // fill template tab content
+ _template_tab_content: function(options) {
+ return '<div id="tab-' + options.id + '" class="tab-pane"/>';
+ }
+});
+
+return {
+ View : View
+}
+
+});
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-portlet.js
--- a/static/scripts/packed/mvc/ui/ui-portlet.js
+++ b/static/scripts/packed/mvc/ui/ui-portlet.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{label:"",icon:"fa-tasks",buttons:null,body:null,height:null,operations:null,placement:"bottom",overflow:"auto"},$content:null,initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this.template(this.options));this.$content=this.$el.find("#content");if(this.options.height){this.$el.find("#body").css("height",this.options.height);this.$el.find("#content").css("overflow",this.options.overflow)}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(e,f){f.$el.prop("id",e);c.$buttons.append(f.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(e,f){f.$el.prop("id",e);c.$operations.append(f.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},label:function(c){var d=this.$el.find("#label");if(c){d.html(c)}return d.html()},template:function(d){var c='<div class="toolForm">';if(d.label||d.icon){c+='<div id="title" class="toolFormTitle" style="overflow:hidden;"><div id="operations" style="float: right;"></div><div style="overflow: hidden">';if(d.icon){c+='<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa '+d.icon+'"> </i>'}c+='<div id="label" style="padding-top: 2px; float: left;">'+d.label+"</div>";c+="</div></div>"}c+='<div id="body" class="toolFormBody">';if(d.placement=="top"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+='<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,optionsDefault:{title:"",icon:"fa-tasks",buttons:null,body:null,height:null,operations:null,placement:"bottom",overflow:"auto"},$content:null,$buttons:null,$operations:null,initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.$content=this.$el.find("#content");if(this.options.height){this.$el.find("#body").css("height",this.options.height);this.$el.find("#content").css("overflow",this.options.overflow)}this.$buttons=$(this.el).find("#buttons");if(this.options.buttons){var c=this;$.each(this.options.buttons,function(e,f){f.$el.prop("id",e);c.$buttons.append(f.$el)})}else{this.$buttons.remove()}this.$operations=$(this.el).find("#operations");if(this.options.operations){var c=this;$.each(this.options.operations,function(e,f){f.$el.prop("id",e);c.$operations.append(f.$el)})}if(this.options.body){this.append(this.options.body)}},append:function(c){this.$content.append(a.wrap(c))},content:function(){return this.$content},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},enableButton:function(c){this.$buttons.find("#"+c).prop("disabled",false)},disableButton:function(c){this.$buttons.find("#"+c).prop("disabled",true)},hideOperation:function(c){this.$operations.find("#"+c).hide()},showOperation:function(c){this.$operations.find("#"+c).show()},setOperation:function(e,d){var c=this.$operations.find("#"+e);c.off("click");c.on("click",d)},title:function(d){var c=this.$el.find("#title");if(d){c.html(d)}return c.html()},_template:function(d){var c='<div class="toolForm">';if(d.title||d.icon){c+='<div id="title" class="toolFormTitle" style="overflow:hidden;"><div id="operations" style="float: right;"></div><div style="overflow: hidden">';if(d.icon){c+='<i style="padding-top: 3px; float: left; font-size: 1.2em" class="icon fa '+d.icon+'"> </i>'}c+='<div id="title" style="padding-top: 2px; float: left;">'+d.title+"</div>";c+="</div></div>"}c+='<div id="body" class="toolFormBody">';if(d.placement=="top"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+='<div id="content" class="content" style="height: inherit; padding: 10px;"></div>';if(d.placement=="bottom"){c+='<div id="buttons" class="buttons" style="height: 50px; padding: 10px;"></div>'}c+="</div></div>";return c}});return{View:b}});
\ No newline at end of file
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-select.js
--- a/static/scripts/packed/mvc/ui/ui-select.js
+++ b/static/scripts/packed/mvc/ui/ui-select.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{css:"",placeholder:"No data available",data:[],value:null},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.options.container.append(this.$el);this.select_data=this.options.data;this._refresh();if(this.options.value){this._setValue(this.options.value)}var c=this;if(this.options.onchange){this.$el.on("change",function(){c.options.onchange(c.value())})}},value:function(c){var d=this._getValue();if(c!==undefined){this._setValue(c)}var e=this._getValue();if((e!=d&&this.options.onchange)){this.options.onchange(e)}return e},text:function(){return this.$el.select2("data").text},disabled:function(){return !this.$el.select2("enable")},enable:function(){this.$el.select2("enable",true)},disable:function(){this.$el.select2("enable",false)},add:function(c){this.select_data.push({id:c.id,text:c.text});this._refresh()},del:function(d){var c=this._getIndex(d);if(c!=-1){this.select_data.splice(c,1);this._refresh()}},remove:function(){this.$el.select2("destroy")},update:function(c){this.select_data=[];for(var d in c.data){this.select_data.push(c.data[d])}this._refresh()},_refresh:function(){var c=this._getValue();this.$el.select2({data:this.select_data,containerCssClass:this.options.css,placeholder:this.options.placeholder});this._setValue(c)},_getIndex:function(d){for(var c in this.select_data){if(this.select_data[c].id==d){return c}}return -1},_getValue:function(){return this.$el.select2("val")},_setValue:function(d){var c=this._getIndex(d);if(c==-1){if(this.select_data.length>0){d=this.select_data[0].id}}this.$el.select2("val",d)},_template:function(c){return'<input type="hidden"/>'}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{css:"",placeholder:"No data available",data:[],value:null},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));if(!this.options.container){console.log("ui-select::initialize() : container not specified.");return}this.options.container.append(this.$el);this.select_data=this.options.data;this._refresh();if(this.options.value){this._setValue(this.options.value)}var c=this;if(this.options.onchange){this.$el.on("change",function(){c.options.onchange(c.value())})}},value:function(c){var d=this._getValue();if(c!==undefined){this._setValue(c)}var e=this._getValue();if((e!=d&&this.options.onchange)){this.options.onchange(e)}return e},text:function(){return this.$el.select2("data").text},disabled:function(){return !this.$el.select2("enable")},enable:function(){this.$el.select2("enable",true)},disable:function(){this.$el.select2("enable",false)},add:function(c){this.select_data.push({id:c.id,text:c.text});this._refresh()},del:function(d){var c=this._getIndex(d);if(c!=-1){this.select_data.splice(c,1);this._refresh()}},remove:function(){this.$el.select2("destroy")},update:function(c){this.select_data=[];for(var d in c.data){this.select_data.push(c.data[d])}this._refresh()},_refresh:function(){var c=this._getValue();this.$el.select2({data:this.select_data,containerCssClass:this.options.css,placeholder:this.options.placeholder});this._setValue(c)},_getIndex:function(d){for(var c in this.select_data){if(this.select_data[c].id==d){return c}}return -1},_getValue:function(){return this.$el.select2("val")},_setValue:function(d){var c=this._getIndex(d);if(c==-1){if(this.select_data.length>0){d=this.select_data[0].id}}this.$el.select2("val",d)},_template:function(c){return'<input type="hidden"/>'}});return{View:b}});
\ No newline at end of file
diff -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 -r c5be84ef148e7866bfe31610cea5c9f1bae09fe0 static/scripts/packed/mvc/ui/ui-tabs.js
--- /dev/null
+++ b/static/scripts/packed/mvc/ui/ui-tabs.js
@@ -0,0 +1,1 @@
+define(["utils/utils"],function(a){var b=Backbone.View.extend({visible:false,list:{},$nav:null,$content:null,optionsDefault:{operations:null,},initialize:function(e){this.options=a.merge(e,this.optionsDefault);var c=$(this._template(this.options));this.$nav=c.find(".tab-navigation");this.$content=c.find(".tab-content");this.setElement(c);if(this.options.operations){var d=this;$.each(this.options.operations,function(f,g){g.$el.prop("id",f);d.$nav.append(g.$el)})}},add:function(c){var d=c.$el;var f=c.title;var g=c.id;var e={$title:$(this._template_tab(c)),$content:$(this._template_tab_content(c))};this.$nav.append(e.$title);e.$content.append(d);this.$content.append(e.$content);this.list[g]=e;if(_.size(this.list)==1){e.$title.addClass("active");e.$content.addClass("active")}},show:function(){this.$el.fadeIn("fast");this.visible=true},hide:function(){this.$el.fadeOut("fast");this.visible=false},hideOperation:function(c){this.$nav.find("#"+c).hide()},showOperation:function(c){this.$nav.find("#"+c).show()},setOperation:function(e,d){var c=this.$nav.find("#"+e);c.off("click");c.on("click",d)},title:function(e,c){var d=this.$el.find("#title-"+e+" a");if(new_title){d.html(new_title)}return d.html()},_template:function(c){return'<div class="tabbable tabs-left"><ul class="tab-navigation nav nav-tabs"/><div class="tab-content"/></div>'},_template_tab:function(c){return'<li id="title-'+c.id+'"><a title="" href="#tab-'+c.id+'" data-toggle="tab" data-original-title="">'+c.title+"</a></li>"},_template_tab_content:function(c){return'<div id="tab-'+c.id+'" class="tab-pane"/>'}});return{View:b}});
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/dfcae0da21f7/
Changeset: dfcae0da21f7
Branch: stable
User: davebgx
Date: 2014-02-21 19:16:48
Summary: Fix for certain cases where the tool test results' installation_errors dict would be populated with incorrect values.
Affected #: 3 files
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 test/install_and_test_tool_shed_repositories/base/util.py
--- a/test/install_and_test_tool_shed_repositories/base/util.py
+++ b/test/install_and_test_tool_shed_repositories/base/util.py
@@ -890,7 +890,7 @@
( changeset_revision, name, owner )
print 'due to the following error getting tool_test_results:\n%s' % str( error_message )
else:
- # The assumption is that the Tool SHed's install and test framework is executed no more than once per 24 hour
+ # The assumption is that the Tool Shed's install and test framework is executed no more than once per 24 hour
# period, so check the required repository's time_last_tested value to see if its tool_test_results column
# has been updated within the past 20 hours to allow for differing test run times (some may be slower than
# others). The RepositoryMetadata class's to_dict() method returns the value of time_last_tested in
@@ -965,7 +965,12 @@
can_update_tool_shed )
else:
# The required repository's installation failed.
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = str( required_repository.error_message )
+ required_repository_installation_error_dict = dict( tool_shed=galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=required_repository.error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'repository_dependencies' ].append( required_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
save_test_results_for_changeset_revision( galaxy_tool_shed_url,
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -217,7 +217,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
diff -r d20888b2d96c8a021871a4252b5cc74e09578f07 -r dfcae0da21f7c3885f92c478bc0a44ba75f5f8b6 test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -147,7 +147,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
https://bitbucket.org/galaxy/galaxy-central/commits/4a3c5d044d5a/
Changeset: 4a3c5d044d5a
User: davebgx
Date: 2014-02-21 19:17:21
Summary: Merge bugfix from stable.
Affected #: 3 files
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 test/install_and_test_tool_shed_repositories/base/util.py
--- a/test/install_and_test_tool_shed_repositories/base/util.py
+++ b/test/install_and_test_tool_shed_repositories/base/util.py
@@ -890,7 +890,7 @@
( changeset_revision, name, owner )
print 'due to the following error getting tool_test_results:\n%s' % str( error_message )
else:
- # The assumption is that the Tool SHed's install and test framework is executed no more than once per 24 hour
+ # The assumption is that the Tool Shed's install and test framework is executed no more than once per 24 hour
# period, so check the required repository's time_last_tested value to see if its tool_test_results column
# has been updated within the past 20 hours to allow for differing test run times (some may be slower than
# others). The RepositoryMetadata class's to_dict() method returns the value of time_last_tested in
@@ -965,7 +965,12 @@
can_update_tool_shed )
else:
# The required repository's installation failed.
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = str( required_repository.error_message )
+ required_repository_installation_error_dict = dict( tool_shed=galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=required_repository.error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'repository_dependencies' ].append( required_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
save_test_results_for_changeset_revision( galaxy_tool_shed_url,
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -218,7 +218,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
diff -r 6f9d716d00099f557f856f1b909ec73706bf9c99 -r 4a3c5d044d5ae7236a03942eabd048ec7a9c9d70 test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -148,7 +148,12 @@
install_and_test_statistics_dict.get( 'repositories_with_installation_error', [] )
if repository_identifier_tup not in processed_repositories_with_installation_error:
install_and_test_statistics_dict[ 'repositories_with_installation_error' ].append( repository_identifier_tup )
- tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ] = error_message
+ current_repository_installation_error_dict = dict( tool_shed=install_and_test_base_util.galaxy_tool_shed_url,
+ name=name,
+ owner=owner,
+ changeset_revision=changeset_revision,
+ error_message=error_message )
+ tool_test_results_dict[ 'installation_errors' ][ 'current_repository' ].append( current_repository_installation_error_dict )
params = dict( test_install_error=True,
do_not_test=False )
install_and_test_base_util.save_test_results_for_changeset_revision( install_and_test_base_util.galaxy_tool_shed_url,
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
3 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/ba001f4c0326/
Changeset: ba001f4c0326
Branch: stable
User: davebgx
Date: 2014-02-19 21:23:45
Summary: Situations where a migration warning would be incorrectly displayed, and tools with matching filenames would be removed from the tool_conf.xml after running a migration script.
Affected #: 9 files
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 lib/tool_shed/galaxy_install/install_manager.py
--- a/lib/tool_shed/galaxy_install/install_manager.py
+++ b/lib/tool_shed/galaxy_install/install_manager.py
@@ -186,8 +186,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
root.remove( elem )
persist_required = True
elif elem.tag == 'section':
@@ -196,8 +195,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter or file_path in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
elem.remove( section_elem )
persist_required = True
if persist_required:
@@ -221,8 +219,7 @@
if proprietary_tool_panel_elem.tag == 'tool':
# The proprietary_tool_panel_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = proprietary_tool_panel_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded outside of any sections.
tool_sections.append( None )
if not is_displayed:
@@ -233,8 +230,7 @@
if section_elem.tag == 'tool':
# The section_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = section_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded inside of the section_elem.
tool_sections.append( ToolSection( proprietary_tool_panel_elem ) )
if not is_displayed:
@@ -312,8 +308,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
elif elem.tag == 'section':
@@ -322,8 +317,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
# Append the section, not the tool.
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
@@ -361,10 +355,8 @@
for tool_panel_dict in v:
# Keep track of tool config file names associated with entries that have been made to the
# migrated_tools_conf.xml file so they can be eliminated from all non-shed-related tool panel configs.
- tool_config_file = tool_panel_dict.get( 'tool_config', None )
- if tool_config_file:
- if tool_config_file not in tool_configs_to_filter:
- tool_configs_to_filter.append( tool_config_file )
+ if tool_config not in tool_configs_to_filter:
+ tool_configs_to_filter.append( tool_config )
else:
print 'The tool "%s" (%s) has not been enabled because it is not defined in a proprietary tool config (%s).' \
% ( guid, tool_config, ", ".join( self.proprietary_tool_confs or [] ) )
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0002_tools.xml
--- a/scripts/migrate_tools/0002_tools.xml
+++ b/scripts/migrate_tools/0002_tools.xml
@@ -2,112 +2,112 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="emboss_datatypes" description="Datatypes for Emboss tools" changeset_revision="a89163f31369" /><repository name="emboss_5" description="Galaxy wrappers for EMBOSS version 5.0.0 tools" changeset_revision="7334f6d0ac17">
- <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_antigenic.xml" />
- <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_backtranseq.xml" />
- <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_banana.xml" />
- <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_biosed.xml" />
- <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_btwisted.xml" />
- <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_cai_custom.xml" />
- <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_cai.xml" />
- <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_chaos.xml" />
- <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_charge.xml" />
- <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_checktrans.xml" />
- <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_chips.xml" />
- <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_cirdna.xml" />
- <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_codcmp.xml" />
- <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_coderet.xml" />
- <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_compseq.xml" />
- <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_cpgplot.xml" />
- <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_cpgreport.xml" />
- <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_cusp.xml" />
- <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_cutseq.xml" />
- <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_dan.xml" />
- <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_degapseq.xml" />
- <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_descseq.xml" />
- <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_diffseq.xml" />
- <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_digest.xml" />
- <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_dotmatcher.xml" />
- <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_dotpath.xml" />
- <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_dottup.xml" />
- <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_dreg.xml" />
- <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_einverted.xml" />
- <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_epestfind.xml" />
- <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_equicktandem.xml" />
- <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_est2genome.xml" />
- <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_etandem.xml" />
- <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_extractfeat.xml" />
- <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_extractseq.xml" />
- <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_freak.xml" />
- <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_fuzznuc.xml" />
- <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_fuzzpro.xml" />
- <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_fuzztran.xml" />
- <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_garnier.xml" />
- <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_geecee.xml" />
- <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_getorf.xml" />
- <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_helixturnhelix.xml" />
- <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_hmoment.xml" />
- <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_iep.xml" />
- <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_infoseq.xml" />
- <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_isochore.xml" />
- <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_lindna.xml" />
- <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_marscan.xml" />
- <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_maskfeat.xml" />
- <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_maskseq.xml" />
- <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_matcher.xml" />
- <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_megamerger.xml" />
- <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_merger.xml" />
- <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_msbar.xml" />
- <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_needle.xml" />
- <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_newcpgreport.xml" />
- <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_newcpgseek.xml" />
- <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_newseq.xml" />
- <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_noreturn.xml" />
- <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_notseq.xml" />
- <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_nthseq.xml" />
- <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_octanol.xml" />
- <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_oddcomp.xml" />
- <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_palindrome.xml" />
- <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_pasteseq.xml" />
- <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_patmatdb.xml" />
- <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_pepcoil.xml" />
- <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_pepinfo.xml" />
- <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_pepnet.xml" />
- <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_pepstats.xml" />
- <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_pepwheel.xml" />
- <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_pepwindow.xml" />
- <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_pepwindowall.xml" />
- <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_plotcon.xml" />
- <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_plotorf.xml" />
- <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_polydot.xml" />
- <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_preg.xml" />
- <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_prettyplot.xml" />
- <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_prettyseq.xml" />
- <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_primersearch.xml" />
- <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_revseq.xml" />
- <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_seqmatchall.xml" />
- <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_seqret.xml" />
- <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_showfeat.xml" />
- <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_shuffleseq.xml" />
- <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_sigcleave.xml" />
- <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_sirna.xml" />
- <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_sixpack.xml" />
- <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_skipseq.xml" />
- <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_splitter.xml" />
- <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_supermatcher.xml" />
- <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_syco.xml" />
- <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_tcode.xml" />
- <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_textsearch.xml" />
- <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_tmap.xml" />
- <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_tranalign.xml" />
- <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_transeq.xml" />
- <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_trimest.xml" />
- <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_trimseq.xml" />
- <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_twofeat.xml" />
- <tool id="EMBOSS: union105" version="5.0.0" file="emboss_union.xml" />
- <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_vectorstrip.xml" />
- <tool id="EMBOSS: water107" version="5.0.0" file="emboss_water.xml" />
- <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_wobble.xml" />
- <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_wordcount.xml" />
- <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_wordmatch.xml" />
+ <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_5/emboss_antigenic.xml" />
+ <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_5/emboss_backtranseq.xml" />
+ <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_5/emboss_banana.xml" />
+ <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_5/emboss_biosed.xml" />
+ <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_5/emboss_btwisted.xml" />
+ <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_5/emboss_cai_custom.xml" />
+ <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_5/emboss_cai.xml" />
+ <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_5/emboss_chaos.xml" />
+ <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_5/emboss_charge.xml" />
+ <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_5/emboss_checktrans.xml" />
+ <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_5/emboss_chips.xml" />
+ <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_5/emboss_cirdna.xml" />
+ <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_5/emboss_codcmp.xml" />
+ <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_5/emboss_coderet.xml" />
+ <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_5/emboss_compseq.xml" />
+ <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_5/emboss_cpgplot.xml" />
+ <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_5/emboss_cpgreport.xml" />
+ <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_5/emboss_cusp.xml" />
+ <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_5/emboss_cutseq.xml" />
+ <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_5/emboss_dan.xml" />
+ <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_5/emboss_degapseq.xml" />
+ <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_5/emboss_descseq.xml" />
+ <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_5/emboss_diffseq.xml" />
+ <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_5/emboss_digest.xml" />
+ <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_5/emboss_dotmatcher.xml" />
+ <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_5/emboss_dotpath.xml" />
+ <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_5/emboss_dottup.xml" />
+ <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_5/emboss_dreg.xml" />
+ <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_5/emboss_einverted.xml" />
+ <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_5/emboss_epestfind.xml" />
+ <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_5/emboss_equicktandem.xml" />
+ <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_5/emboss_est2genome.xml" />
+ <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_5/emboss_etandem.xml" />
+ <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_5/emboss_extractfeat.xml" />
+ <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_5/emboss_extractseq.xml" />
+ <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_5/emboss_freak.xml" />
+ <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_5/emboss_fuzznuc.xml" />
+ <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_5/emboss_fuzzpro.xml" />
+ <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_5/emboss_fuzztran.xml" />
+ <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_5/emboss_garnier.xml" />
+ <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_5/emboss_geecee.xml" />
+ <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_5/emboss_getorf.xml" />
+ <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_5/emboss_helixturnhelix.xml" />
+ <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_5/emboss_hmoment.xml" />
+ <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_5/emboss_iep.xml" />
+ <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_5/emboss_infoseq.xml" />
+ <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_5/emboss_isochore.xml" />
+ <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_5/emboss_lindna.xml" />
+ <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_5/emboss_marscan.xml" />
+ <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_5/emboss_maskfeat.xml" />
+ <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_5/emboss_maskseq.xml" />
+ <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_5/emboss_matcher.xml" />
+ <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_5/emboss_megamerger.xml" />
+ <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_5/emboss_merger.xml" />
+ <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_5/emboss_msbar.xml" />
+ <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_5/emboss_needle.xml" />
+ <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_5/emboss_newcpgreport.xml" />
+ <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_5/emboss_newcpgseek.xml" />
+ <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_5/emboss_newseq.xml" />
+ <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_5/emboss_noreturn.xml" />
+ <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_5/emboss_notseq.xml" />
+ <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_5/emboss_nthseq.xml" />
+ <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_5/emboss_octanol.xml" />
+ <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_5/emboss_oddcomp.xml" />
+ <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_5/emboss_palindrome.xml" />
+ <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_5/emboss_pasteseq.xml" />
+ <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_5/emboss_patmatdb.xml" />
+ <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_5/emboss_pepcoil.xml" />
+ <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_5/emboss_pepinfo.xml" />
+ <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_5/emboss_pepnet.xml" />
+ <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_5/emboss_pepstats.xml" />
+ <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_5/emboss_pepwheel.xml" />
+ <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_5/emboss_pepwindow.xml" />
+ <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_5/emboss_pepwindowall.xml" />
+ <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_5/emboss_plotcon.xml" />
+ <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_5/emboss_plotorf.xml" />
+ <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_5/emboss_polydot.xml" />
+ <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_5/emboss_preg.xml" />
+ <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_5/emboss_prettyplot.xml" />
+ <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_5/emboss_prettyseq.xml" />
+ <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_5/emboss_primersearch.xml" />
+ <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_5/emboss_revseq.xml" />
+ <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_5/emboss_seqmatchall.xml" />
+ <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_5/emboss_seqret.xml" />
+ <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_5/emboss_showfeat.xml" />
+ <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_5/emboss_shuffleseq.xml" />
+ <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_5/emboss_sigcleave.xml" />
+ <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_5/emboss_sirna.xml" />
+ <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_5/emboss_sixpack.xml" />
+ <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_5/emboss_skipseq.xml" />
+ <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_5/emboss_splitter.xml" />
+ <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_5/emboss_supermatcher.xml" />
+ <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_5/emboss_syco.xml" />
+ <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_5/emboss_tcode.xml" />
+ <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_5/emboss_textsearch.xml" />
+ <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_5/emboss_tmap.xml" />
+ <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_5/emboss_tranalign.xml" />
+ <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_5/emboss_transeq.xml" />
+ <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_5/emboss_trimest.xml" />
+ <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_5/emboss_trimseq.xml" />
+ <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_5/emboss_twofeat.xml" />
+ <tool id="EMBOSS: union105" version="5.0.0" file="emboss_5/emboss_union.xml" />
+ <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_5/emboss_vectorstrip.xml" />
+ <tool id="EMBOSS: water107" version="5.0.0" file="emboss_5/emboss_water.xml" />
+ <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_5/emboss_wobble.xml" />
+ <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_5/emboss_wordcount.xml" />
+ <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_5/emboss_wordmatch.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0003_tools.xml
--- a/scripts/migrate_tools/0003_tools.xml
+++ b/scripts/migrate_tools/0003_tools.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="freebayes" description="Galaxy Freebayes Bayesian genetic variant detector tool" changeset_revision="213a3d6b579a">
- <tool id="freebayes" version="0.0.2 " file="freebayes.xml" />
+ <tool id="freebayes" version="0.0.2 " file="variant_detection/freebayes.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0004_tools.xml
--- a/scripts/migrate_tools/0004_tools.xml
+++ b/scripts/migrate_tools/0004_tools.xml
@@ -2,11 +2,11 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="blast_datatypes" description="Datatypes for BLAST" changeset_revision="e1c29f302301" /><repository name="ncbi_blast_plus" description="Galaxy wrappers for NCBI BLAST+" changeset_revision="d375502056f1">
- <tool id="blastxml_to_tabular" version="0.0.8" file="blastxml_to_tabular.xml"/>
- <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blastn_wrapper.xml"/>
- <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blastp_wrapper.xml"/>
- <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blastx_wrapper.xml"/>
- <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_tblastn_wrapper.xml"/>
- <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_tblastx_wrapper.xml"/>
+ <tool id="blastxml_to_tabular" version="0.0.8" file="ncbi_blast_plus/blastxml_to_tabular.xml"/>
+ <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastn_wrapper.xml"/>
+ <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastp_wrapper.xml"/>
+ <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastx_wrapper.xml"/>
+ <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastn_wrapper.xml"/>
+ <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastx_wrapper.xml"/></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0005_tools.xml
--- a/scripts/migrate_tools/0005_tools.xml
+++ b/scripts/migrate_tools/0005_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bwa_wrappers" description="Galaxy wrappers for the BWA short read aligner." changeset_revision="ffa8aaa14f7c">
- <tool id="bwa_wrapper" version="1.2.3" file="bwa_wrapper.xml"/>
- <tool id="bwa_color_wrapper" version="1.0.2" file="bwa_color_wrapper.xml"/>
+ <tool id="bwa_wrapper" version="1.2.3" file="sr_mapping/bwa_wrapper.xml"/>
+ <tool id="bwa_color_wrapper" version="1.0.2" file="sr_mapping/bwa_color_wrapper.xml"/></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0006_tools.xml
--- a/scripts/migrate_tools/0006_tools.xml
+++ b/scripts/migrate_tools/0006_tools.xml
@@ -1,18 +1,18 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="picard" description="Galaxy wrappers for the Picard SAM/BAM manipulation tools." changeset_revision="e0232cbac965">
- <tool id="picard_FastqToSam" version="1.56.0" file="picard_FastqToSam.xml" />
- <tool id="picard_SamToFastq" version="1.56.1" file="picard_SamToFastq.xml" />
- <tool id="picard_BamIndexStats" version="1.56.0" file="picard_BamIndexStats.xml" />
- <tool id="PicardASMetrics" version="1.56.0" file="rgPicardASMetrics.xml" />
- <tool id="PicardGCBiasMetrics" version="1.56.0" file="rgPicardGCBiasMetrics.xml" />
- <tool id="rgEstLibComp" version="1.56.0" file="rgPicardLibComplexity.xml" />
- <tool id="PicardInsertSize" version="1.56.0" file="rgPicardInsertSize.xml" />
- <tool id="PicardHsMetrics" version="1.56.0" file="rgPicardHsMetrics.xml" />
- <tool id="picard_ARRG" version="1.56.0" file="picard_AddOrReplaceReadGroups.xml" />
- <tool id="picard_ReorderSam" version="1.56.0" file="picard_ReorderSam.xml" />
- <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard_ReplaceSamHeader.xml" />
- <tool id="rgPicFixMate" version="1.56.0" file="rgPicardFixMate.xml" />
- <tool id="rgPicardMarkDups" version="1.56.0" file="rgPicardMarkDups.xml" />
+ <tool id="picard_FastqToSam" version="1.56.0" file="picard/picard_FastqToSam.xml" />
+ <tool id="picard_SamToFastq" version="1.56.1" file="picard/picard_SamToFastq.xml" />
+ <tool id="picard_BamIndexStats" version="1.56.0" file="picard/picard_BamIndexStats.xml" />
+ <tool id="PicardASMetrics" version="1.56.0" file="picard/rgPicardASMetrics.xml" />
+ <tool id="PicardGCBiasMetrics" version="1.56.0" file="picard/rgPicardGCBiasMetrics.xml" />
+ <tool id="rgEstLibComp" version="1.56.0" file="picard/rgPicardLibComplexity.xml" />
+ <tool id="PicardInsertSize" version="1.56.0" file="picard/rgPicardInsertSize.xml" />
+ <tool id="PicardHsMetrics" version="1.56.0" file="picard/rgPicardHsMetrics.xml" />
+ <tool id="picard_ARRG" version="1.56.0" file="picard/picard_AddOrReplaceReadGroups.xml" />
+ <tool id="picard_ReorderSam" version="1.56.0" file="picard/picard_ReorderSam.xml" />
+ <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard/picard_ReplaceSamHeader.xml" />
+ <tool id="rgPicFixMate" version="1.56.0" file="picard/rgPicardFixMate.xml" />
+ <tool id="rgPicardMarkDups" version="1.56.0" file="picard/rgPicardMarkDups.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0007_tools.xml
--- a/scripts/migrate_tools/0007_tools.xml
+++ b/scripts/migrate_tools/0007_tools.xml
@@ -1,15 +1,15 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bowtie_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools." changeset_revision="0c7e4eadfb3c">
- <tool id="bowtie_wrapper" version="1.1.2" file="bowtie_wrapper.xml" />
+ <tool id="bowtie_wrapper" version="1.1.2" file="sr_mapping/bowtie_wrapper.xml" /></repository><repository name="bowtie_color_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools on color space reads" changeset_revision="fd0914e451c5">
- <tool id="bowtie_color_wrapper" version="1.1.2" file="bowtie_color_wrapper.xml" />
+ <tool id="bowtie_color_wrapper" version="1.1.2" file="sr_mapping/bowtie_color_wrapper.xml" /></repository><repository name="lastz" description="Galaxy wrappers for the Lastz alignment tool" changeset_revision="0801f8207d30">
- <tool id="lastz_wrapper_2" version="1.1.2" file="lastz_wrapper.xml" />
+ <tool id="lastz_wrapper_2" version="1.1.2" file="sr_mapping/lastz_wrapper.xml" /></repository><repository name="lastz_paired_reads" description="Galaxy wrapper for the Lastz alignment tool on paired reads" changeset_revision="96825cee5c25">
- <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="lastz_paired_reads_wrapper.xml" />
+ <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="sr_mapping/lastz_paired_reads_wrapper.xml" /></repository></toolshed>
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0008_tools.xml
--- a/scripts/migrate_tools/0008_tools.xml
+++ b/scripts/migrate_tools/0008_tools.xml
@@ -1,147 +1,147 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="dc20f447c0e2" name="bam_to_sam" description="Galaxy wrappers for the tool BAM-to-SAM: converts BAM format to SAM format">
- <tool id="bam_to_sam" version="1.0.3" file="bam_to_sam.xml" />
+ <tool id="bam_to_sam" version="1.0.3" file="samtools/bam_to_sam.xml" /></repository><repository owner="devteam" changeset_revision="586c1f0e1515" name="categorize_elements_satisfying_criteria" description="Galaxy wrappers for the tool Categorize Elements: satisfying criteria">
- <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="categorize_elements_satisfying_criteria.xml" />
+ <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="regVariation/categorize_elements_satisfying_criteria.xml" /></repository><repository owner="devteam" changeset_revision="acc3dc5d26e3" name="compute_motif_frequencies_for_all_motifs" description="Galaxy wrappers for the tool Compute Motif Frequencies For All Motifs: motif by motif">
- <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="compute_motif_frequencies_for_all_motifs.xml" />
+ <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="regVariation/compute_motif_frequencies_for_all_motifs.xml" /></repository><repository owner="devteam" changeset_revision="46325357b948" name="compute_motifs_frequency" description="Galaxy wrappers for the tool Compute Motif Frequencies: in indel flanking regions">
- <tool id="compute_motifs_frequency" version="1.0.0" file="compute_motifs_frequency.xml" />
+ <tool id="compute_motifs_frequency" version="1.0.0" file="regVariation/compute_motifs_frequency.xml" /></repository><repository owner="devteam" changeset_revision="4a32700dcaa2" name="ctd_batch" description="Galaxy wrappers for the tool CTD: analysis of chemicals, diseases, or genes">
- <tool id="ctdBatch_1" version="1.0.0" file="ctd.xml" />
+ <tool id="ctdBatch_1" version="1.0.0" file="phenotype_association/ctd.xml" /></repository><repository owner="devteam" changeset_revision="9a3f7a890da6" name="cuffcompare" description="Galaxy wrappers for the Cuffcompare tool.">
- <tool id="cuffcompare" version="0.0.5" file="cuffcompare_wrapper.xml" />
+ <tool id="cuffcompare" version="0.0.5" file="ngs_rna/cuffcompare_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="0dabb2ed6eb1" name="cuffdiff" description="Galaxy wrappers for the Cuffdiff tool.">
- <tool id="cuffdiff" version="0.0.6" file="cuffdiff_wrapper.xml" />
+ <tool id="cuffdiff" version="0.0.6" file="ngs_rna/cuffdiff_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b01956f26c36" name="cufflinks" description="Galaxy wrappers for the Cufflinks tool.">
- <tool id="cufflinks" version="0.0.6" file="cufflinks_wrapper.xml" />
+ <tool id="cufflinks" version="0.0.6" file="ngs_rna/cufflinks_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="fdc55fd74f78" name="cuffmerge" description="Galaxy wrappers for the Cuffmerge tool.">
- <tool id="cuffmerge" version="0.0.5" file="cuffmerge_wrapper.xml" />
+ <tool id="cuffmerge" version="0.0.5" file="ngs_rna/cuffmerge_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="f16000dc644b" name="delete_overlapping_indels" description="Galaxy wrappers for the tool Delete Overlapping Indels: from a chromosome indels file">
- <tool id="delete_overlapping_indels" version="1.0.0" file="delete_overlapping_indels.xml" />
+ <tool id="delete_overlapping_indels" version="1.0.0" file="regVariation/delete_overlapping_indels.xml" /></repository><repository owner="devteam" changeset_revision="de839553d2a2" name="divide_pg_snp" description="Galaxy wrappers for the tool Separate pgSnp alleles: into columns">
- <tool id="dividePgSnp" version="1.0.0" file="dividePgSnpAlleles.xml" />
+ <tool id="dividePgSnp" version="1.0.0" file="phenotype_association/dividePgSnpAlleles.xml" /></repository><repository owner="devteam" changeset_revision="063ecbe59faf" name="draw_stacked_barplots" description="Galaxy wrappers for the tool Draw Stacked Bar Plots: for different categories and different criteria">
- <tool id="draw_stacked_barplots" version="1.0.0" file="draw_stacked_barplots.xml" />
+ <tool id="draw_stacked_barplots" version="1.0.0" file="regVariation/draw_stacked_barplots.xml" /></repository><repository owner="devteam" changeset_revision="f2ab5b44870d" name="fasta_clipping_histogram" description="Galaxy wrappers for the tool Length Distribution chart">
- <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fasta_clipping_histogram.xml" />
+ <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fastx_toolkit/fasta_clipping_histogram.xml" /></repository><repository owner="devteam" changeset_revision="8f0ae92440b8" name="fasta_formatter" description="Galaxy wrappers for the tool FASTA Width: formatter">
- <tool id="cshl_fasta_formatter" version="1.0.0" file="fasta_formatter.xml" />
+ <tool id="cshl_fasta_formatter" version="1.0.0" file="fastx_toolkit/fasta_formatter.xml" /></repository><repository owner="devteam" changeset_revision="4b41e3076a50" name="fasta_nucleotide_changer" description="Galaxy wrappers for the tool RNA/DNA: converter">
- <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fasta_nucleotide_changer.xml" />
+ <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fastx_toolkit/fasta_nucleotide_changer.xml" /></repository><repository owner="devteam" changeset_revision="e359ce20fbd9" name="fastq_quality_boxplot" description="Galaxy wrappers for the tool Draw quality score boxplot">
- <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastq_quality_boxplot.xml" />
+ <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastx_toolkit/fastq_quality_boxplot.xml" /></repository><repository owner="devteam" changeset_revision="b87c74b61d81" name="fastq_quality_converter" description="Galaxy wrappers for the tool Quality format converter: (ASCII-Numeric)">
- <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastq_quality_converter.xml" />
+ <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastx_toolkit/fastq_quality_converter.xml" /></repository><repository owner="devteam" changeset_revision="b145b9b26648" name="fastq_quality_filter" description="Galaxy wrappers for the Filter by quality tool.">
- <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastq_quality_filter.xml" />
+ <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastx_toolkit/fastq_quality_filter.xml" /></repository><repository owner="devteam" changeset_revision="04614cf6ed39" name="fastq_to_fasta" description="Galaxy wrappers for the tool FASTQ to FASTA: converter">
- <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastx_toolkit/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="7f9660a246c0" name="fastx_artifacts_filter" description="Galaxy wrappers for the Remove sequencing artifacts tool.">
- <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_artifacts_filter.xml" />
+ <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_toolkit/fastx_artifacts_filter.xml" /></repository><repository owner="devteam" changeset_revision="a12850d0559b" name="fastx_barcode_splitter" description="Galaxy wrappers for the Barcode Splitter tool.">
- <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_barcode_splitter.xml" />
+ <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_toolkit/fastx_barcode_splitter.xml" /></repository><repository owner="devteam" changeset_revision="2fe2d2b9e8e4" name="fastx_clipper" description="Galaxy wrappers for the tool Clip: adapter sequences">
- <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_clipper.xml" />
+ <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_toolkit/fastx_clipper.xml" /></repository><repository owner="devteam" changeset_revision="e942fd3a76a5" name="fastx_collapser" description="Galaxy wrappers for the tool Collapse: sequences">
- <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_collapser.xml" />
+ <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_toolkit/fastx_collapser.xml" /></repository><repository owner="devteam" changeset_revision="bcc5424a4a3c" name="fastx_nucleotides_distribution" description="Galaxy wrappers for the Draw nucleotides distribution chart tool.">
- <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_nucleotides_distribution.xml" />
+ <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_toolkit/fastx_nucleotides_distribution.xml" /></repository><repository owner="devteam" changeset_revision="45f077341b24" name="fastx_quality_statistics" description="Galaxy wrappers for the Compute quality statistics tool.">
- <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_quality_statistics.xml" />
+ <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_toolkit/fastx_quality_statistics.xml" /></repository><repository owner="devteam" changeset_revision="d7bce63e6e09" name="fastx_renamer" description="Galaxy wrappers for the Rename sequences tool.">
- <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_renamer.xml" />
+ <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_toolkit/fastx_renamer.xml" /></repository><repository owner="devteam" changeset_revision="c58871138668" name="fastx_reverse_complement" description="Galaxy wrappers for the Reverse-Complement tool.">
- <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_reverse_complement.xml" />
+ <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_toolkit/fastx_reverse_complement.xml" /></repository><repository owner="devteam" changeset_revision="9cb372481a71" name="fastx_trimmer" description="Galaxy wrappers for the Trim sequences tool.">
- <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_trimmer.xml" />
+ <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_toolkit/fastx_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="64133669255f" name="hgv_fundo" description="Galaxy wrappers for the tool FunDO: human genes associated with disease terms">
- <tool id="hgv_funDo" version="1.0.0" file="funDo.xml" />
+ <tool id="hgv_funDo" version="1.0.0" file="phenotype_association/funDo.xml" /></repository><repository owner="devteam" changeset_revision="0e80ffa5b7f7" name="hgv_hilbertvis" description="Galaxy wrappers for the tool HVIS: visualization of genomic data with the Hilbert curve">
- <tool id="hgv_hilbertvis" version="1.0.0" file="hilbertvis.xml" />
+ <tool id="hgv_hilbertvis" version="1.0.0" file="phenotype_association/hilbertvis.xml" /></repository><repository owner="devteam" changeset_revision="5ad24b81dd10" name="indels_3way" description="Galaxy wrappers for the tool Fetch Indels: from 3-way alignments">
- <tool id="indels_3way" version="1.0.3" file="getIndels_3way.xml" />
+ <tool id="indels_3way" version="1.0.3" file="regVariation/getIndels_3way.xml" /></repository><repository owner="devteam" changeset_revision="4e31fad3f08e" name="microsatellite_birthdeath" description="Galaxy wrappers for the tool Identify microsatellite births and deaths: and causal mutational mechanisms from previously identified orthologous microsatellite sets">
- <tool id="microsatellite_birthdeath" version="1.0.0" file="microsatellite_birthdeath.xml" />
+ <tool id="microsatellite_birthdeath" version="1.0.0" file="regVariation/microsatellite_birthdeath.xml" /></repository><repository owner="devteam" changeset_revision="275433d3a395" name="multispecies_orthologous_microsats" description="Galaxy wrappers for the tool Extract orthologous microsatellites: for multiple (>2) species alignments">
- <tool id="multispecies_orthologous_microsats" version="1.0.0" file="multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" />
+ <tool id="multispecies_orthologous_microsats" version="1.0.0" file="regVariation/multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" /></repository><repository owner="devteam" changeset_revision="8f0af7251167" name="mutate_snp_codon" description="Galaxy wrappers for the tool Mutate Codons: with SNPs">
- <tool id="mutate_snp_codon_1" version="1.0.0" file="mutate_snp_codon.xml" />
+ <tool id="mutate_snp_codon_1" version="1.0.0" file="evolution/mutate_snp_codon.xml" /></repository><repository owner="devteam" changeset_revision="a110f9d6ae24" name="pileup_interval" description="Galaxy wrappers for the tool Pileup-to-Interval: condenses pileup format into ranges of bases">
- <tool id="pileup_interval" version="1.0.0" file="pileup_interval.xml" />
+ <tool id="pileup_interval" version="1.0.0" file="samtools/pileup_interval.xml" /></repository><repository owner="devteam" changeset_revision="ff1ba9b75337" name="pileup_parser" description="Galaxy wrappers for the tool Filter pileup: on coverage and SNPs">
- <tool id="pileup_parser" version="1.0.2" file="pileup_parser.xml" />
+ <tool id="pileup_parser" version="1.0.2" file="samtools/pileup_parser.xml" /></repository><repository owner="devteam" changeset_revision="8c737b8ddc45" name="sam2interval" description="Galaxy wrappers for the tool Convert SAM: to interval">
- <tool id="sam2interval" version="1.0.1" file="sam2interval.xml" />
+ <tool id="sam2interval" version="1.0.1" file="samtools/sam2interval.xml" /></repository><repository owner="devteam" changeset_revision="0b2424a404d9" name="sam_bitwise_flag_filter" description="Galaxy wrappers for the tool Filter SAM: on bitwise flag values">
- <tool id="sam_bw_filter" version="1.0.0" file="sam_bitwise_flag_filter.xml" />
+ <tool id="sam_bw_filter" version="1.0.0" file="samtools/sam_bitwise_flag_filter.xml" /></repository><repository owner="devteam" changeset_revision="a7a49d31c5cf" name="sam_merge" description="Galaxy wrappers for the tool Merge BAM Files: merges BAM files together">
- <tool id="sam_merge2" version="1.1.2" file="sam_merge.xml" />
+ <tool id="sam_merge2" version="1.1.2" file="samtools/sam_merge.xml" /></repository><repository owner="devteam" changeset_revision="95612c159681" name="sam_pileup" description="Galaxy wrappers for the tool Generate pileup: from BAM dataset">
- <tool id="sam_pileup" version="1.1.1" file="sam_pileup.xml" />
+ <tool id="sam_pileup" version="1.1.1" file="samtools/sam_pileup.xml" /></repository><repository owner="devteam" changeset_revision="30fdbaccb96b" name="sam_to_bam" description="Galaxy wrappers for the tool SAM-to-BAM: converts SAM format to BAM format">
- <tool id="sam_to_bam" version="1.1.2" file="sam_to_bam.xml" />
+ <tool id="sam_to_bam" version="1.1.2" file="samtools/sam_to_bam.xml" /></repository><repository owner="devteam" changeset_revision="13c4ad597626" name="samtools_flagstat" description="Galaxy wrappers for the tool flagstat: provides simple stats on BAM files">
- <tool id="samtools_flagstat" version="1.0.0" file="samtools_flagstat.xml" />
+ <tool id="samtools_flagstat" version="1.0.0" file="samtools/samtools_flagstat.xml" /></repository><repository owner="devteam" changeset_revision="44a18a94d7a9" name="samtools_mpileup" description="Galaxy wrappers for the tool MPileup: SNP and indel caller">
- <tool id="samtools_mpileup" version="0.0.1" file="samtools_mpileup.xml" />
+ <tool id="samtools_mpileup" version="0.0.1" file="samtools/samtools_mpileup.xml" /></repository><repository owner="devteam" changeset_revision="7e92b2a53aab" name="samtools_rmdup" description="Galaxy wrappers for the tool rmdup: remove PCR duplicates">
- <tool id="samtools_rmdup" version="1.0.0" file="samtools_rmdup.xml" />
+ <tool id="samtools_rmdup" version="1.0.0" file="samtools/samtools_rmdup.xml" /></repository><repository owner="devteam" changeset_revision="68ba55e96489" name="samtools_slice_bam" description="Galaxy wrappers for the tool Slice BAM: by provided regions">
- <tool id="samtools_slice_bam" version="0.0.1" file="samtools_slice_bam.xml" />
+ <tool id="samtools_slice_bam" version="0.0.1" file="samtools/samtools_slice_bam.xml" /></repository><repository owner="devteam" changeset_revision="36163bff76cc" name="split_paired_reads" description="Galaxy wrappers for the Split paired end reads tool.">
- <tool id="split_paired_reads" version="1.0.0" file="split_paired_reads.xml" />
+ <tool id="split_paired_reads" version="1.0.0" file="metag_tools/split_paired_reads.xml" /></repository><repository owner="devteam" changeset_revision="e6a85a9297b3" name="t_test_two_samples" description="Galaxy wrappers for the T Test for Two Samples tool.">
- <tool id="t_test_two_samples" version="1.0.0" file="t_test_two_samples.xml" />
+ <tool id="t_test_two_samples" version="1.0.0" file="regVariation/t_test_two_samples.xml" /></repository><repository owner="devteam" changeset_revision="acf952549b53" name="xy_plot" description="Galaxy wrappers for the tool Plotting tool: for multiple series and graph types">
- <tool id="XY_Plot_1" version="1.0.1" file="xy_plot.xml" />
+ <tool id="XY_Plot_1" version="1.0.1" file="plotting/xy_plot.xml" /></repository></toolshed>
\ No newline at end of file
diff -r f58179ab488879a1a54821e98b4c65c048fa2fd6 -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 scripts/migrate_tools/0009_tools.xml
--- a/scripts/migrate_tools/0009_tools.xml
+++ b/scripts/migrate_tools/0009_tools.xml
@@ -1,132 +1,132 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="96d2e31a3938" name="bowtie2" description="Bowtie2">
- <tool id="bowtie2" version="0.2" file="bowtie2_wrapper.xml" />
+ <tool id="bowtie2" version="0.2" file="ngs_rna/bowtie2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="a0c8dc671a23" name="ccat" description="Control-based ChIP-seq Analysis Tool">
- <tool id="peakcalling_ccat" version="0.0.1" file="ccat_wrapper.xml" />
+ <tool id="peakcalling_ccat" version="0.0.1" file="peak_calling/ccat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="7cc64024fe92" name="clustalw" description="ClustalW multiple sequence alignment program for DNA or proteins">
- <tool id="clustalw" version="0.1" file="rgClustalw.xml" />
+ <tool id="clustalw" version="0.1" file="rgenetics/rgClustalw.xml" /></repository><repository owner="devteam" changeset_revision="6708501767b6" name="dwt_cor_ava_perclass" description="Compute P-values and Correlation Coefficients for Feature Occurrences">
- <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVa_perClass.xml" />
+ <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVa_perClass.xml" /></repository><repository owner="devteam" changeset_revision="0f2eda4ea8dc" name="dwt_cor_avb_all" description="Compute P-values and Correlation Coefficients for Occurrences of Two Set of Features">
- <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVb_all.xml" />
+ <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVb_all.xml" /></repository><repository owner="devteam" changeset_revision="0b89b03ad760" name="dwt_ivc_all" description="Compute P-values and Second Moments for Feature Occurrences">
- <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_IvC_all.xml" />
+ <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_IvC_all.xml" /></repository><repository owner="devteam" changeset_revision="cb422b6f49d2" name="dwt_var_perclass" description="Compute P-values and Max Variances for Feature Occurrences">
- <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_var_perClass.xml" />
+ <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_var_perClass.xml" /></repository><repository owner="devteam" changeset_revision="d56c5d2e1a29" name="dwt_var_perfeature" description="Wavelet variance using Discrete Wavelet Transfoms">
- <tool id="dwt_var1" version="1.0.0" file="execute_dwt_var_perFeature.xml" />
+ <tool id="dwt_var1" version="1.0.0" file="discreteWavelet/execute_dwt_var_perFeature.xml" /></repository><repository owner="devteam" changeset_revision="7b0708761d05" name="express" description="Quantify the abundances of a set of target sequences from sampled subsequences">
- <tool id="express" version="1.1.1" file="express_wrapper.xml" />
+ <tool id="express" version="1.1.1" file="ngs_rna/express_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="e28c965eeed4" name="fastqc" description="Read QC reports using FastQC">
- <tool id="fastqc" version="1.0.0" file="rgFastQC.xml" />
+ <tool id="fastqc" version="1.0.0" file="rgenetics/rgFastQC.xml" /></repository><repository owner="devteam" changeset_revision="94306bdd58f7" name="fastq_combiner" description="Combine FASTA and QUAL into FASTQ.">
- <tool id="fastq_combiner" version="1.0.1" file="fastq_combiner.xml" />
+ <tool id="fastq_combiner" version="1.0.1" file="fastq/fastq_combiner.xml" /></repository><repository owner="devteam" changeset_revision="30d9ece6c752" name="fastq_filter" description="Filter FASTQ reads by quality score and length">
- <tool id="fastq_filter" version="1.0.0" file="fastq_filter.xml" />
+ <tool id="fastq_filter" version="1.0.0" file="fastq/fastq_filter.xml" /></repository><repository owner="devteam" changeset_revision="1298445c852b" name="fastq_groomer" description="Convert between various FASTQ quality formats.">
- <tool id="fastq_groomer" version="1.0.4" file="fastq_groomer.xml" />
+ <tool id="fastq_groomer" version="1.0.4" file="fastq/fastq_groomer.xml" /></repository><repository owner="devteam" changeset_revision="5d1e9e13e8db" name="fastq_manipulation" description="Manipulate FASTQ reads on various attributes.">
- <tool id="fastq_manipulation" version="1.0.1" file="fastq_manipulation.xml" />
+ <tool id="fastq_manipulation" version="1.0.1" file="fastq/fastq_manipulation.xml" /></repository><repository owner="devteam" changeset_revision="5a7b5751617b" name="fastq_masker_by_quality" description="FASTQ Masker by quality score">
- <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq_masker_by_quality.xml" />
+ <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq/fastq_masker_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="f0949bc49926" name="fastq_paired_end_deinterlacer" description="FASTQ de-interlacer on paired end reads.">
- <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq_paired_end_deinterlacer.xml" />
+ <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq/fastq_paired_end_deinterlacer.xml" /></repository><repository owner="devteam" changeset_revision="b89bdf6acb6c" name="fastq_paired_end_interlacer" description="FASTQ interlacer on paired end reads">
- <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq_paired_end_interlacer.xml" />
+ <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq/fastq_paired_end_interlacer.xml" /></repository><repository owner="devteam" changeset_revision="2793d1d765b9" name="fastq_paired_end_joiner" description="FASTQ joiner on paired end reads">
- <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq_paired_end_joiner.xml" />
+ <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq/fastq_paired_end_joiner.xml" /></repository><repository owner="devteam" changeset_revision="c549e99026db" name="fastq_paired_end_splitter" description="FASTQ splitter on joined paired end reads">
- <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq_paired_end_splitter.xml" />
+ <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq/fastq_paired_end_splitter.xml" /></repository><repository owner="devteam" changeset_revision="9b7b4e0ca9db" name="fastq_stats" description="FASTQ Summary Statistics by column">
- <tool id="fastq_stats" version="1.0.0" file="fastq_stats.xml" />
+ <tool id="fastq_stats" version="1.0.0" file="fastq/fastq_stats.xml" /></repository><repository owner="devteam" changeset_revision="3571553aeb20" name="fastqtofasta" description="FASTQ to FASTA converter">
- <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="bc9269529e88" name="fastq_to_tabular" description="FASTQ to Tabular converter">
- <tool id="fastq_to_tabular" version="1.1.0" file="fastq_to_tabular.xml" />
+ <tool id="fastq_to_tabular" version="1.1.0" file="fastq/fastq_to_tabular.xml" /></repository><repository owner="devteam" changeset_revision="0b9feb0ed628" name="fastq_trimmer" description="FASTQ Trimmer by quality">
- <tool id="fastq_trimmer" version="1.0.0" file="fastq_trimmer.xml" />
+ <tool id="fastq_trimmer" version="1.0.0" file="fastq/fastq_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="1cdcaf5fc1da" name="fastq_trimmer_by_quality" description="FASTQ Quality Trimmer by sliding window">
- <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq_trimmer_by_quality.xml" />
+ <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq/fastq_trimmer_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="31154ff9f5e1" name="filter_transcripts_via_tracking" description="Filter Combined Transcripts">
- <tool id="filter_combined_via_tracking" version="0.1" file="filter_transcripts_via_tracking.xml" />
+ <tool id="filter_combined_via_tracking" version="0.1" file="ngs_rna/filter_transcripts_via_tracking.xml" /></repository><repository owner="devteam" changeset_revision="acf51ff24c7d" name="find_diag_hits" description="Identify sequence reads corresponding to a particular taxonomic group">
- <tool id="find_diag_hits" version="1.0.0" file="find_diag_hits.xml" />
+ <tool id="find_diag_hits" version="1.0.0" file="taxonomy/find_diag_hits.xml" /></repository><repository owner="devteam" changeset_revision="33a0e6aca936" name="freebayes_wrapper" description="Call SNPS with Freebayes">
- <tool id="freebayes_wrapper" version="0.5.0" file="freebayes.xml" />
+ <tool id="freebayes_wrapper" version="0.5.0" file="phenotype_association/freebayes.xml" /></repository><repository owner="devteam" changeset_revision="7b1b03c4465d" name="gi2taxonomy" description="Fetch taxonomic representation">
- <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="gi2taxonomy.xml" />
+ <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="taxonomy/gi2taxonomy.xml" /></repository><repository owner="devteam" changeset_revision="2cd5ee197ec7" name="gmaj" description="GMAJ Multiple Alignment Viewer">
- <tool id="gmaj_1" version="2.0.1" file="GMAJ.xml" />
+ <tool id="gmaj_1" version="2.0.1" file="visualization/GMAJ.xml" /></repository><repository owner="devteam" changeset_revision="33e8ed5a4601" name="lca_wrapper" description="Find lowest diagnostic rank">
- <tool id="lca1" version="1.0.1" file="lca.xml" />
+ <tool id="lca1" version="1.0.1" file="taxonomy/lca.xml" /></repository><repository owner="devteam" changeset_revision="ae2ec275332a" name="macs" description="Model-based Analysis of ChIP-Seq">
- <tool id="peakcalling_macs" version="1.0.1" file="macs_wrapper.xml" />
+ <tool id="peakcalling_macs" version="1.0.1" file="peak_calling/macs_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="8cd5945559b8" name="poisson2test" description="Poisson two-sample test">
- <tool id="poisson2test" version="1.0.0" file="poisson2test.xml" />
+ <tool id="poisson2test" version="1.0.0" file="taxonomy/poisson2test.xml" /></repository><repository owner="devteam" changeset_revision="82a8234e03f2" name="sicer" description="Statistical approach for the Identification of ChIP-Enriched Regions">
- <tool id="peakcalling_sicer" version="0.0.1" file="sicer_wrapper.xml" />
+ <tool id="peakcalling_sicer" version="0.0.1" file="peak_calling/sicer_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="9e2b9ca7f33a" name="t2ps" description="Draw phylogeny">
- <tool id="Draw_phylogram" version="1.0.0" file="t2ps_wrapper.xml" />
+ <tool id="Draw_phylogram" version="1.0.0" file="taxonomy/t2ps_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="592acb9505fc" name="t2t_report" description="Summarize taxonomy">
- <tool id="t2t_report" version="1.0.0" file="t2t_report.xml" />
+ <tool id="t2t_report" version="1.0.0" file="taxonomy/t2t_report.xml" /></repository><repository owner="devteam" changeset_revision="b334cd1095ea" name="tabular_to_fastq" description="Tabular to FASTQ converter">
- <tool id="tabular_to_fastq" version="1.0.0" file="tabular_to_fastq.xml" />
+ <tool id="tabular_to_fastq" version="1.0.0" file="fastq/tabular_to_fastq.xml" /></repository><repository owner="devteam" changeset_revision="1030acbecce6" name="tophat" description="Find splice junctions using RNA-seq data">
- <tool id="tophat" version="1.5.0" file="tophat_wrapper.xml" />
+ <tool id="tophat" version="1.5.0" file="ngs_rna/tophat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="ffa30bedbee3" name="tophat2" description="Gapped-read mapper for RNA-seq data">
- <tool id="tophat2" version="0.6" file="tophat2_wrapper.xml" />
+ <tool id="tophat2" version="0.6" file="ngs_rna/tophat2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b001b50f2009" name="vcf_annotate" description="Annotate a VCF file (dbSNP, hapmap)">
- <tool id="vcf_annotate" version="1.0.0" file="annotate.xml" />
+ <tool id="vcf_annotate" version="1.0.0" file="vcf_tools/annotate.xml" /></repository><repository owner="devteam" changeset_revision="76ad0b7865b9" name="vcf_extract" description="Extract reads from a specified region">
- <tool id="vcf_extract" version="1.0.0" file="extract.xml" />
+ <tool id="vcf_extract" version="1.0.0" file="vcf_tools/extract.xml" /></repository><repository owner="devteam" changeset_revision="da1a6f33b504" name="vcf_filter" description="Filter a VCF file">
- <tool id="vcf_filter" version="1.0.0" file="filter.xml" />
+ <tool id="vcf_filter" version="1.0.0" file="vcf_tools/filter.xml" /></repository><repository owner="devteam" changeset_revision="9d162bde4113" name="vcf_intersect" description="Generate the intersection of two VCF files"><tool id="vcf_intersect" version="1.0.0" file="vcf_tools/intersect.xml" /></repository><repository owner="devteam" changeset_revision="66253fc0a69b" name="weblogo3" description="Sequence Logo generator for fasta (eg Clustal alignments)">
- <tool id="rgweblogo3" version="0.4" file="rgWebLogo3.xml" />
+ <tool id="rgweblogo3" version="0.4" file="rgenetics/rgWebLogo3.xml" /></repository></toolshed>
\ No newline at end of file
https://bitbucket.org/galaxy/galaxy-central/commits/d20888b2d96c/
Changeset: d20888b2d96c
Branch: stable
User: davebgx
Date: 2014-02-21 00:01:05
Summary: Fix path for bowtie2.
Affected #: 1 file
diff -r ba001f4c03264d9c244ce27a7472757e03ff3bd5 -r d20888b2d96c8a021871a4252b5cc74e09578f07 scripts/migrate_tools/0009_tools.xml
--- a/scripts/migrate_tools/0009_tools.xml
+++ b/scripts/migrate_tools/0009_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="96d2e31a3938" name="bowtie2" description="Bowtie2">
- <tool id="bowtie2" version="0.2" file="ngs_rna/bowtie2_wrapper.xml" />
+ <tool id="bowtie2" version="0.2" file="sr_mapping/bowtie2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="a0c8dc671a23" name="ccat" description="Control-based ChIP-seq Analysis Tool"><tool id="peakcalling_ccat" version="0.0.1" file="peak_calling/ccat_wrapper.xml" />
https://bitbucket.org/galaxy/galaxy-central/commits/6f9d716d0009/
Changeset: 6f9d716d0009
User: davebgx
Date: 2014-02-21 18:38:04
Summary: Merge stable.
Affected #: 0 files
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: martenson: data libraries: ui improvements, sorting, bugfix
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3ab1e13eab15/
Changeset: 3ab1e13eab15
User: martenson
Date: 2014-02-21 17:26:52
Summary: data libraries: ui improvements, sorting, bugfix
Affected #: 6 files
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d lib/galaxy/webapps/galaxy/api/folder_contents.py
--- a/lib/galaxy/webapps/galaxy/api/folder_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/folder_contents.py
@@ -95,7 +95,6 @@
time_created = ''
# Go through every item in the folder and include its meta-data.
for content_item in self.load_folder_contents( trans, folder ):
-# rval = content_item.to_dict()
return_item = {}
encoded_id = trans.security.encode_id( content_item.id )
time_updated = content_item.update_time.strftime( "%Y-%m-%d %I:%M %p" )
@@ -104,7 +103,6 @@
# For folder return also hierarchy values
if content_item.api_type == 'folder':
encoded_id = 'F' + encoded_id
-# time_updated = content_item.update_time.strftime( "%Y-%m-%d %I:%M %p" )
return_item.update ( dict ( item_count = content_item.item_count ) )
if content_item.api_type == 'file':
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/scripts/galaxy.library.js
--- a/static/scripts/galaxy.library.js
+++ b/static/scripts/galaxy.library.js
@@ -21,44 +21,50 @@
// LIBRARY
var Library = Backbone.Model.extend({
urlRoot: '/api/libraries'
- });
+ });
// FOLDER AS MODEL
var FolderAsModel = Backbone.Model.extend({
urlRoot: '/api/folders'
- });
+ });
// LIBRARIES
var Libraries = Backbone.Collection.extend({
url: '/api/libraries',
- model: Library
- });
+
+ model: Library,
+
+ sort_key: 'name', // default
+
+ sort_order: null, // default
+
+ });
// ITEM
var Item = Backbone.Model.extend({
urlRoot : '/api/libraries/datasets'
- })
+ });
// FOLDER AS COLLECTION
var Folder = Backbone.Collection.extend({
model: Item
- })
+ });
// CONTAINER for folder contents (folders, items and metadata).
var FolderContainer = Backbone.Model.extend({
- defaults : {
- folder : new Folder(),
- full_path : "unknown",
- urlRoot : "/api/folders/",
- id : "unknown"
- },
+ defaults : {
+ folder : new Folder(),
+ full_path : "unknown",
+ urlRoot : "/api/folders/",
+ id : "unknown"
+ },
parse : function(obj) {
this.full_path = obj[0].full_path;
// update the inner collection
this.get("folder").reset(obj[1].folder_contents);
return obj;
}
- })
+ });
// HISTORY ITEM
var HistoryItem = Backbone.Model.extend({
@@ -76,16 +82,6 @@
model : GalaxyHistory
});
- //ROUTER
- var LibraryRouter = Backbone.Router.extend({
- routes: {
- "" : "libraries",
- "folders/:id" : "folder_content",
- "folders/:folder_id/download/:format" : "download"
- }
- });
-
-
// MMMMMMMMMMMMMM
// === VIEWS ====
// MMMMMMMMMMMMMM
@@ -121,15 +117,15 @@
var tmpl_array = [];
// CONTAINER
- tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');
+ tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');
tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');
// TOOLBAR
tmpl_array.push('<div id="library_folder_toolbar" >');
- // tmpl_array.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');
- tmpl_array.push(' <button id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');
+ tmpl_array.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');
+ tmpl_array.push(' <button title="Import selected datasets into history" id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');
tmpl_array.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');
- tmpl_array.push(' <button id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');
+ tmpl_array.push(' <button title="Download selected datasets" id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');
tmpl_array.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');
tmpl_array.push(' </button>');
tmpl_array.push(' <ul class="dropdown-menu" role="menu">');
@@ -142,19 +138,20 @@
tmpl_array.push('</div>');
// BREADCRUMBS
- tmpl_array.push('<div class="library_breadcrumb">');
- tmpl_array.push('<a title="Return to the list of libraries" href="#">Libraries</a><b>|</b> ');
- tmpl_array.push('<% _.each(path, function(path_item) { %>');
- tmpl_array.push('<% if (path_item[0] != id) { %>');
- tmpl_array.push('<a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a><b>|</b> ');
- tmpl_array.push('<% } else { %>');
- tmpl_array.push('<span title="You are in this folder"><%- path_item[1] %></span>');
- tmpl_array.push('<% } %>');
- tmpl_array.push('<% }); %>');
- tmpl_array.push('</div>');
+ tmpl_array.push('<ol class="breadcrumb">');
+ tmpl_array.push(' <li><a title="Return to the list of libraries" href="#">Libraries</a></li>');
+ tmpl_array.push(' <% _.each(path, function(path_item) { %>');
+ tmpl_array.push(' <% if (path_item[0] != id) { %>');
+ tmpl_array.push(' <li><a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a></li> ');
+ tmpl_array.push( '<% } else { %>');
+ tmpl_array.push(' <li class="active"><span title="You are in this folder"><%- path_item[1] %></span></li>');
+ tmpl_array.push(' <% } %>');
+ tmpl_array.push(' <% }); %>');
+ tmpl_array.push('</ol>');
+
// FOLDER CONTENT
- tmpl_array.push('<table id="folder_table" class="table table-condensed">');
+ tmpl_array.push('<table id="folder_table" class="library_table table table-condensed">');
tmpl_array.push(' <thead>');
tmpl_array.push(' <th class="button_heading"></th>');
tmpl_array.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');
@@ -164,8 +161,7 @@
tmpl_array.push(' <th>date (UTC)</th>');
tmpl_array.push(' </thead>');
tmpl_array.push(' <tbody>');
- tmpl_array.push(' <td><button title="Go to parent folder" type="button" data-id="<%- upper_folder_id %>" class="btn_open_folder btn btn-default btn-xs">');
- tmpl_array.push(' ..</td>');
+ tmpl_array.push(' <td><a href="#<% if (upper_folder_id !== 0){ print("folders/" + upper_folder_id)} %>" title="Go to parent folder" class="btn_open_folder btn btn-default btn-xs">..<a></td>');
tmpl_array.push(' <td></td>');
tmpl_array.push(' <td></td>');
tmpl_array.push(' <td></td>');
@@ -173,29 +169,34 @@
tmpl_array.push(' <td></td>');
tmpl_array.push(' </tr>');
tmpl_array.push(' <% _.each(items, function(content_item) { %>');
- tmpl_array.push(' <tr class="folder_row light" id="<%- content_item.id %>">');
tmpl_array.push(' <% if (content_item.get("type") === "folder") { %>'); // folder
- tmpl_array.push(' <td>');
- tmpl_array.push(' <span class="fa fa-folder-open"></span></td>');
- tmpl_array.push(' <td></td>');
- tmpl_array.push(' <td><%- content_item.get("name") %>');
- tmpl_array.push(' <% if (content_item.get("item_count") === 0) { %>'); // empty folder
- tmpl_array.push(' <span class="muted">(empty folder)</span>');
- tmpl_array.push(' <% } %>');
- tmpl_array.push(' </td>');
- tmpl_array.push(' <td>folder</td>');
- tmpl_array.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>'); // size
+ tmpl_array.push(' <tr class="folder_row light" id="<%- content_item.id %>">');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <span title="Folder" class="fa fa-folder-o"></span>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td></td>');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <a href="#folders/<%- content_item.id %>"><%- content_item.get("name") %></a>');
+ tmpl_array.push(' <% if (content_item.get("item_count") === 0) { %>'); // empty folder
+ tmpl_array.push(' <span class="muted">(empty folder)</span>');
+ tmpl_array.push(' <% } %>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td>folder</td>');
+ tmpl_array.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>'); // size
+ tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
+ tmpl_array.push(' </tr>');
tmpl_array.push(' <% } else { %>');
- tmpl_array.push(' <td>');
- tmpl_array.push(' <span class="fa fa-file"></span>');
- tmpl_array.push(' </td>');
- tmpl_array.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');
- tmpl_array.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>'); // dataset
- tmpl_array.push(' <td><%= _.escape(content_item.get("data_type")) %></td>'); // data type
- tmpl_array.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>'); // size
- tmpl_array.push(' <% } %> ');
- tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
- tmpl_array.push(' </tr>');
+ tmpl_array.push(' <tr class="dataset_row light" id="<%- content_item.id %>">');
+ tmpl_array.push(' <td>');
+ tmpl_array.push(' <span title="Dataset" class="fa fa-file-o"></span>');
+ tmpl_array.push(' </td>');
+ tmpl_array.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');
+ tmpl_array.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>'); // dataset
+ tmpl_array.push(' <td><%= _.escape(content_item.get("data_type")) %></td>'); // data type
+ tmpl_array.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>'); // size
+ tmpl_array.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>'); // time updated
+ tmpl_array.push(' </tr>');
+ tmpl_array.push(' <% } %> ');
tmpl_array.push(' <% }); %>');
tmpl_array.push(' ');
tmpl_array.push(' </tbody>');
@@ -207,7 +208,7 @@
templateDatasetModal : function(){
var tmpl_array = [];
- tmpl_array.push('<div id="dataset_info_modal">');
+ tmpl_array.push('<div class="modal_table">');
tmpl_array.push(' <table class="table table-striped table-condensed">');
tmpl_array.push(' <tr>');
tmpl_array.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');
@@ -329,12 +330,11 @@
// event binding
events: {
'click #select-all-checkboxes' : 'selectAll',
- 'click .folder_row' : 'selectClickedRow',
'click #toolbtn_bulk_import' : 'modalBulkImport',
'click #toolbtn_dl' : 'bulkDownload',
+ 'click #toolbtn_create_folder' : 'createFolderFromModal',
'click .library-dataset' : 'showDatasetDetails',
- 'click #toolbtn_create_folder' : 'createFolderFromModal',
- 'click .btn_open_folder' : 'navigateToFolder'
+ 'click .dataset_row' : 'selectClickedRow'
},
// MMMMMMMMMMMMMMMMMM
@@ -397,18 +397,6 @@
return (Math.round(size) / 10) + unit;
},
- // handles the click on 'open' and 'upper' folder icons
- navigateToFolder : function(event){
- var folder_id = $(event.target).attr('data-id');
- if (typeof folder_id === 'undefined') {
- return false;
- } else if (folder_id === '0'){
- library_router.navigate('/', {trigger: true, replace: false});
- } else {
- library_router.navigate('folders/' + folder_id, {trigger: true, replace: false});
- }
- },
-
//show modal with current dataset info
showDatasetDetails : function(event){
// prevent default
@@ -558,8 +546,6 @@
$row = $(event.target.parentElement);
source = 'td';
}
- if (checkbox === '') {event.stopPropagation(); return;} // button in row was clicked
- if (checkbox === undefined) {event.stopPropagation(); return;} // folder row was clicked
if (checkbox.checked){
if (source==='td'){
@@ -584,6 +570,9 @@
$row.find('a').removeClass('light');
$row.addClass('dark');
$row.find('a').addClass('dark');
+ $row.find('span').removeClass('fa-file-o');
+ $row.find('span').addClass('fa-file');
+
},
makeWhiteRow: function($row){
@@ -591,6 +580,8 @@
$row.find('a').removeClass('dark');
$row.addClass('light');
$row.find('a').addClass('light');
+ $row.find('span').addClass('fa-file-o');
+ $row.find('span').removeClass('fa-file');
},
// show toolbar in case something is selected
@@ -799,8 +790,72 @@
'click #create_new_library_btn' : 'show_library_modal'
},
+ modal: null,
+
+ collection: null,
+
// initialize
initialize : function(){
+ var viewContext = this;
+ this.collection = new Libraries();
+ // this.collection.on('sort', this.render, this);
+
+ this.collection.fetch({
+ success: function(libraries){
+ viewContext.render();
+ },
+ error: function(model, response){
+
+ if (response.statusCode().status === 403){ //TODO open to public
+ mod_toastr.info('Please log in first. Redirecting to login page in 3s.');
+ setTimeout(that.redirectToLogin, 3000);
+ } else {
+ mod_toastr.error('An error occured. Please try again.');
+ }
+ }
+ })
+ // modification of upper DOM element to show scrollbars due to the #center element inheritance
+ $("#center").css('overflow','auto');
+ },
+
+ render: function (models) {
+ var template = this.templateLibraryList();
+ var libraries_to_render = null;
+
+ if (this.collection !== null && typeof models === 'undefined'){
+ libraries_to_render = this.collection.models;
+ } else if (models !== null){
+ libraries_to_render = models;
+ } else {
+ libraries_to_render = [];
+ }
+
+ this.$el.html(template({libraries: libraries_to_render, order: this.collection.sort_order}));
+
+ },
+
+ /** Sorts the underlying collection according to the parameters received through URL.
+ Currently supports only sorting by name. */
+ sortLibraries: function(sort_by, order){
+ if (sort_by === 'name'){
+ if (order === 'asc'){
+ this.collection.sort_order = 'asc';
+ this.collection.comparator = function(libraryA, libraryB){
+ if (libraryA.get('name').toLowerCase() > libraryB.get('name').toLowerCase()) return 1; // after
+ if (libraryB.get('name').toLowerCase() > libraryA.get('name').toLowerCase()) return -1; // before
+ return 0; // equal
+ }
+ } else if (order === 'desc'){
+ this.collection.sort_order = 'desc';
+ this.collection.comparator = function(libraryA, libraryB){
+ if (libraryA.get('name').toLowerCase() > libraryB.get('name').toLowerCase()) return -1; // before
+ if (libraryB.get('name').toLowerCase() > libraryA.get('name').toLowerCase()) return 1; // after
+ return 0; // equal
+ }
+ }
+ this.collection.sort();
+ }
+
},
// MMMMMMMMMMMMMMMMMM
@@ -809,13 +864,13 @@
templateLibraryList: function(){
tmpl_array = [];
- tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');
+ tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');
tmpl_array.push('');
tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');
- // tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');
- tmpl_array.push('<table class="table table-condensed">');
+ tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');
+ tmpl_array.push('<table class="library_table table table-condensed">');
tmpl_array.push(' <thead>');
- tmpl_array.push(' <th>name</th>');
+ tmpl_array.push(' <th><a title="Click to reverse order" href="#sort/name/<% if(order==="desc"||order===null){print("asc")}else{print("desc")} %>">name</a><span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"></span></th>');
tmpl_array.push(' <th>description</th>');
tmpl_array.push(' <th>synopsis</th> ');
tmpl_array.push(' </thead>');
@@ -831,7 +886,7 @@
tmpl_array.push('</table>');
tmpl_array.push('</div>');
- return tmpl_array.join('');
+ return _.template(tmpl_array.join(''));
},
templateNewLibraryInModal: function(){
@@ -848,29 +903,6 @@
return tmpl_array.join('');
},
- render: function () {
- // modification of upper DOM element to show scrollbars due to the #center element inheritance
- $("#center").css('overflow','auto');
-
- var that = this;
- libraries = new Libraries();
-
- libraries.fetch({
- success: function (libraries) {
- var template = _.template(that.templateLibraryList(), { libraries : libraries.models });
- that.$el.html(template);
- },
- error: function(model, response){
- if (response.statusCode().status === 403){ //TODO open to public
- mod_toastr.info('Please log in first. Redirecting to login page in 3s.');
- setTimeout(that.redirectToLogin, 3000);
- } else {
- mod_toastr.error('An error occured. Please try again.');
- }
- }
- })
- },
-
redirectToHome: function(){
window.location = '../';
},
@@ -878,9 +910,6 @@
window.location = '/user/login';
},
- // own modal
- modal : null,
-
// show/hide create library modal
show_library_modal : function (event){
event.preventDefault();
@@ -908,6 +937,7 @@
var self = this;
library.save(libraryDetails, {
success: function (library) {
+ self.collection.add(library);
self.modal.hide();
self.clear_library_modal();
self.render();
@@ -945,23 +975,42 @@
}
});
+
+//ROUTER
+var LibraryRouter = Backbone.Router.extend({
+ routes: {
+ "" : "libraries",
+ "sort/:sort_by/:order" : "sort_libraries",
+ "folders/:id" : "folder_content",
+ "folders/:folder_id/download/:format" : "download"
+ }
+});
+
// galaxy library wrapper View
var GalaxyLibrary = Backbone.View.extend({
- folderContentView : null,
- galaxyLibraryview : null,
+ // folderContentView : null,
+ // galaxyLibraryview : null,
initialize : function(){
- folderContentView = new FolderContentView();
galaxyLibraryview = new GalaxyLibraryview();
library_router = new LibraryRouter();
+ folderContentView = new FolderContentView();
library_router.on('route:libraries', function() {
// render libraries list
galaxyLibraryview.render();
});
+ library_router.on('route:sort_libraries', function(sort_by, order) {
+ // sort libraries list
+ galaxyLibraryview.sortLibraries(sort_by, order);
+ galaxyLibraryview.render();
+ });
+
library_router.on('route:folder_content', function(id) {
+ // if (this.folderContentView === null){
+ // }
// render folder's contents
folderContentView.render({id: id});
});
@@ -978,10 +1027,8 @@
}
});
-Backbone.history.start({pushState: false});
-
-// return this
-}
+ Backbone.history.start({pushState: false});
+ }
});
// return
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/scripts/packed/galaxy.library.js
--- a/static/scripts/packed/galaxy.library.js
+++ b/static/scripts/packed/galaxy.library.js
@@ -1,1 +1,1 @@
-var view=null;var library_router=null;var responses=[];define(["galaxy.modal","galaxy.masthead","utils/utils","libs/toastr"],function(k,l,h,n){var f=Backbone.Model.extend({urlRoot:"/api/libraries"});var c=Backbone.Model.extend({urlRoot:"/api/folders"});var o=Backbone.Collection.extend({url:"/api/libraries",model:f});var i=Backbone.Model.extend({urlRoot:"/api/libraries/datasets"});var d=Backbone.Collection.extend({model:i});var e=Backbone.Model.extend({defaults:{folder:new d(),full_path:"unknown",urlRoot:"/api/folders/",id:"unknown"},parse:function(r){this.full_path=r[0].full_path;this.get("folder").reset(r[1].folder_contents);return r}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var j=Backbone.Model.extend({url:"/api/histories/"});var p=Backbone.Collection.extend({url:"/api/histories",model:j});var q=Backbone.Router.extend({routes:{"":"libraries","folders/:id":"folder_content","folders/:folder_id/download/:format":"download"}});var m=Backbone.View.extend({el:"#center",progress:0,progressStep:1,lastSelectedHistory:"",modal:null,folders:null,initialize:function(){this.folders=[];this.queue=jQuery.Deferred();this.queue.resolve()},templateFolder:function(){var r=[];r.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');r.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');r.push('<div id="library_folder_toolbar" >');r.push(' <button id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');r.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');r.push(' <button id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');r.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');r.push(" </button>");r.push(' <ul class="dropdown-menu" role="menu">');r.push(' <li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>');r.push(" </ul>");r.push(" </div>");r.push("</div>");r.push('<div class="library_breadcrumb">');r.push('<a title="Return to the list of libraries" href="#">Libraries</a><b>|</b> ');r.push("<% _.each(path, function(path_item) { %>");r.push("<% if (path_item[0] != id) { %>");r.push('<a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a><b>|</b> ');r.push("<% } else { %>");r.push('<span title="You are in this folder"><%- path_item[1] %></span>');r.push("<% } %>");r.push("<% }); %>");r.push("</div>");r.push('<table id="folder_table" class="table table-condensed">');r.push(" <thead>");r.push(' <th class="button_heading"></th>');r.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');r.push(" <th>name</th>");r.push(" <th>data type</th>");r.push(" <th>size</th>");r.push(" <th>date (UTC)</th>");r.push(" </thead>");r.push(" <tbody>");r.push(' <td><button title="Go to parent folder" type="button" data-id="<%- upper_folder_id %>" class="btn_open_folder btn btn-default btn-xs">');r.push(" ..</td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" </tr>");r.push(" <% _.each(items, function(content_item) { %>");r.push(' <tr class="folder_row light" id="<%- content_item.id %>">');r.push(' <% if (content_item.get("type") === "folder") { %>');r.push(" <td>");r.push(' <span class="fa fa-folder-open"></span></td>');r.push(" <td></td>");r.push(' <td><%- content_item.get("name") %>');r.push(' <% if (content_item.get("item_count") === 0) { %>');r.push(' <span class="muted">(empty folder)</span>');r.push(" <% } %>");r.push(" </td>");r.push(" <td>folder</td>");r.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>');r.push(" <% } else { %>");r.push(" <td>");r.push(' <span class="fa fa-file"></span>');r.push(" </td>");r.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');r.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>');r.push(' <td><%= _.escape(content_item.get("data_type")) %></td>');r.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>');r.push(" <% } %> ");r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% }); %>");r.push(" ");r.push(" </tbody>");r.push("</table>");r.push("</div>");return r.join("")},templateDatasetModal:function(){var r=[];r.push('<div id="dataset_info_modal">');r.push(' <table class="table table-striped table-condensed">');r.push(" <tr>");r.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');r.push(' <td><%= _.escape(item.get("name")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Data type</th>');r.push(' <td><%= _.escape(item.get("data_type")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Genome build</th>');r.push(' <td><%= _.escape(item.get("genome_build")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Size</th>');r.push(" <td><%= _.escape(size) %></td>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Date uploaded (UTC)</th>');r.push(' <td><%= _.escape(item.get("date_uploaded")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Uploaded by</th>');r.push(' <td><%= _.escape(item.get("uploaded_by")) %></td>');r.push(" </tr>");r.push(' <tr scope="row">');r.push(' <th scope="row">Data Lines</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_data_lines")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Comment Lines</th>');r.push(' <% if (item.get("metadata_comment_lines") === "") { %>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_comment_lines")) %></td>');r.push(" <% } else { %>");r.push(' <td scope="row">unknown</td>');r.push(" <% } %>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Number of Columns</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_columns")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Column Types</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_column_types")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Miscellaneous information</th>');r.push(' <td scope="row"><%= _.escape(item.get("misc_blurb")) %></td>');r.push(" </tr>");r.push(" </table>");r.push(' <pre class="peek">');r.push(" </pre>");r.push("</div>");return r.join("")},templateHistorySelectInModal:function(){var r=[];r.push('<span id="history_modal_combo" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_single" name="dataset_import_single" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateBulkImportInModal:function(){var r=[];r.push('<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateProgressBar:function(){var r=[];r.push('<div class="import_text">');r.push("Importing selected datasets to history <b><%= _.escape(history_name) %></b>");r.push("</div>");r.push('<div class="progress">');r.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');r.push(' <span class="completion_span">0% Complete</span>');r.push(" </div>");r.push("</div>");r.push("");return r.join("")},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_folder_modal">');tmpl_array.push("<form>");tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push('<input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push("</form>");tmpl_array.push("</div>");return tmpl_array.join("")},events:{"click #select-all-checkboxes":"selectAll","click .folder_row":"selectClickedRow","click #toolbtn_bulk_import":"modalBulkImport","click #toolbtn_dl":"bulkDownload","click .library-dataset":"showDatasetDetails","click #toolbtn_create_folder":"createFolderFromModal","click .btn_open_folder":"navigateToFolder"},render:function(r){$("#center").css("overflow","auto");view=this;var t=this;var s=new e({id:r.id});s.url=s.attributes.urlRoot+r.id+"/contents";s.fetch({success:function(u){for(var w=0;w<s.attributes.folder.models.length;w++){var v=s.attributes.folder.models[w];if(v.get("type")==="file"){v.set("readable_size",t.size_to_string(v.get("file_size")))}}var y=s.full_path;var z;if(y.length===1){z=0}else{z=y[y.length-2][0]}var x=_.template(t.templateFolder(),{path:s.full_path,items:s.attributes.folder.models,id:r.id,upper_folder_id:z});t.$el.html(x)},error:function(){n.error("An error occured :(")}})},size_to_string:function(r){var s="";if(r>=100000000000){r=r/100000000000;s="TB"}else{if(r>=100000000){r=r/100000000;s="GB"}else{if(r>=100000){r=r/100000;s="MB"}else{if(r>=100){r=r/100;s="KB"}else{r=r*10;s="b"}}}}return(Math.round(r)/10)+s},navigateToFolder:function(s){var r=$(s.target).attr("data-id");if(typeof r==="undefined"){return false}else{if(r==="0"){library_router.navigate("/",{trigger:true,replace:false})}else{library_router.navigate("folders/"+r,{trigger:true,replace:false})}}},showDatasetDetails:function(u){u.preventDefault();var v=$(u.target).parent().parent().parent().attr("id");if(typeof v==="undefined"){v=$(u.target).parent().attr("id")}if(typeof v==="undefined"){v=$(u.target).parent().parent().attr("id")}var t=new i();var s=new p();t.id=v;var r=this;t.fetch({success:function(w){s.fetch({success:function(x){r.renderModalAfterFetch(w,x)},error:function(){n.error("An error occured during fetching histories:(");r.renderModalAfterFetch(w)}})},error:function(){n.error("An error occured during loading dataset details :(")}})},renderModalAfterFetch:function(w,t){var u=this.size_to_string(w.get("file_size"));var v=_.template(this.templateDatasetModal(),{item:w,size:u});var s=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Dataset Details",body:v,buttons:{Import:function(){s.importCurrentIntoHistory()},Download:function(){s.downloadCurrent()},Close:function(){s.modal.hide()}}});$(".peek").html(w.get("peek"));if(typeof history.models!==undefined){var r=_.template(this.templateHistorySelectInModal(),{histories:t.models});$(this.modal.elMain).find(".buttons").prepend(r);if(s.lastSelectedHistory.length>0){$(this.modal.elMain).find("#dataset_import_single").val(s.lastSelectedHistory)}}},downloadCurrent:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var r=[];r.push($("#id_row").attr("data-id"));var s="/api/libraries/datasets/download/uncompressed";var t={ldda_ids:r};folderContentView.processDownload(s,t);this.modal.enableButton("Import");this.modal.enableButton("Download")},importCurrentIntoHistory:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var t=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();this.lastSelectedHistory=t;var r=$("#id_row").attr("data-id");var u=new b();var s=this;u.url=u.urlRoot+t+"/contents";u.save({content:r,source:"library"},{success:function(){n.success("Dataset imported");s.modal.enableButton("Import");s.modal.enableButton("Download")},error:function(){n.error("An error occured! Dataset not imported. Please try again.");s.modal.enableButton("Import");s.modal.enableButton("Download")}})},selectAll:function(s){var r=s.target.checked;that=this;$(":checkbox").each(function(){this.checked=r;$row=$(this.parentElement.parentElement);(r)?that.makeDarkRow($row):that.makeWhiteRow($row)});this.checkTools()},selectClickedRow:function(s){var u="";var r;var t;if(s.target.localName==="input"){u=s.target;r=$(s.target.parentElement.parentElement);t="input"}else{if(s.target.localName==="td"){u=$("#"+s.target.parentElement.id).find(":checkbox")[0];r=$(s.target.parentElement);t="td"}}if(u===""){s.stopPropagation();return}if(u===undefined){s.stopPropagation();return}if(u.checked){if(t==="td"){u.checked="";this.makeWhiteRow(r)}else{if(t==="input"){this.makeDarkRow(r)}}}else{if(t==="td"){u.checked="selected";this.makeDarkRow(r)}else{if(t==="input"){this.makeWhiteRow(r)}}}this.checkTools()},makeDarkRow:function(r){r.removeClass("light");r.find("a").removeClass("light");r.addClass("dark");r.find("a").addClass("dark")},makeWhiteRow:function(r){r.removeClass("dark");r.find("a").removeClass("dark");r.addClass("light");r.find("a").addClass("light")},checkTools:function(){var r=$("#folder_table").find(":checked");if(r.length>0){$("#toolbtn_bulk_import").show();$("#toolbtn_dl").show()}else{$("#toolbtn_bulk_import").hide();$("#toolbtn_dl").hide()}},modalBulkImport:function(){var s=this;var r=new p();r.fetch({success:function(t){var u=_.template(s.templateBulkImportInModal(),{histories:t.models});s.modal=Galaxy.modal;s.modal.show({closing_events:true,title:"Import into History",body:u,buttons:{Import:function(){s.importAllIntoHistory()},Close:function(){s.modal.hide()}}})},error:function(){n.error("An error occured :(")}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var t=$("select[name=dataset_import_bulk] option:selected").val();var x=$("select[name=dataset_import_bulk] option:selected").text();var z=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){z.push(this.parentElement.parentElement.id)}});var y=_.template(this.templateProgressBar(),{history_name:x});$(this.modal.elMain).find(".modal-body").html(y);var u=100/z.length;this.initProgress(u);var r=[];for(var s=z.length-1;s>=0;s--){library_dataset_id=z[s];var v=new b();var w=this;v.url=v.urlRoot+t+"/contents";v.content=library_dataset_id;v.source="library";r.push(v)}this.chainCall(r)},chainCall:function(s){var r=this;var t=s.pop();if(typeof t==="undefined"){n.success("All datasets imported");this.modal.hide();return}var u=$.when(t.save({content:t.content,source:t.source})).done(function(v){r.updateProgress();responses.push(v);r.chainCall(s)})},initProgress:function(r){this.progress=0;this.progressStep=r},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(r,v){var t=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){t.push(this.parentElement.parentElement.id)}});var s="/api/libraries/datasets/download/"+v;var u={ldda_ids:t};this.processDownload(s,u,"get")},processDownload:function(s,t,u){if(s&&t){t=typeof t=="string"?t:$.param(t);var r="";$.each(t.split("&"),function(){var v=this.split("=");r+='<input type="hidden" name="'+v[0]+'" value="'+v[1]+'" />'});$('<form action="'+s+'" method="'+(u||"post")+'">'+r+"</form>").appendTo("body").submit().remove();n.info("Your download will begin soon")}},createFolderFromModal:function(){event.preventDefault();event.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:this.templateNewFolderInModal(),buttons:{Create:function(){r.create_new_folder_event()},Close:function(){r.modal.hide();r.modal=null}}})},create_new_folder_event:function(){var r=this.serialize_new_folder();if(this.validate_new_folder(r)){var t=new c();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];t.url=t.urlRoot+"/"+current_folder_id;var s=this;t.save(r,{success:function(u){s.modal.hide();n.success("Folder created");s.render({id:current_folder_id})},error:function(){n.error("An error occured :(")}})}else{n.error("Folder's name is missing")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(r){return r.name!==""}});var a=Backbone.View.extend({el:"#center",events:{"click #create_new_library_btn":"show_library_modal"},initialize:function(){},templateLibraryList:function(){tmpl_array=[];tmpl_array.push('<div id="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');tmpl_array.push("");tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');tmpl_array.push('<table class="table table-condensed">');tmpl_array.push(" <thead>");tmpl_array.push(" <th>name</th>");tmpl_array.push(" <th>description</th>");tmpl_array.push(" <th>synopsis</th> ");tmpl_array.push(" </thead>");tmpl_array.push(" <tbody>");tmpl_array.push(" <% _.each(libraries, function(library) { %>");tmpl_array.push(" <tr>");tmpl_array.push(' <td><a href="#folders/<%- library.get("root_folder_id") %>"><%- library.get("name") %></a></td>');tmpl_array.push(' <td><%= _.escape(library.get("description")) %></td>');tmpl_array.push(' <td><%= _.escape(library.get("synopsis")) %></td>');tmpl_array.push(" </tr>");tmpl_array.push(" <% }); %>");tmpl_array.push(" </tbody>");tmpl_array.push("</table>");tmpl_array.push("</div>");return tmpl_array.join("")},templateNewLibraryInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_library_modal">');tmpl_array.push(" <form>");tmpl_array.push(' <input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push(' <input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push(' <input type="text" name="Synopsis" value="" placeholder="Synopsis">');tmpl_array.push(" </form>");tmpl_array.push("</div>");return tmpl_array.join("")},render:function(){$("#center").css("overflow","auto");var r=this;libraries=new o();libraries.fetch({success:function(s){var t=_.template(r.templateLibraryList(),{libraries:s.models});r.$el.html(t)},error:function(t,s){if(s.statusCode().status===403){n.info("Please log in first. Redirecting to login page in 3s.");setTimeout(r.redirectToLogin,3000)}else{n.error("An error occured. Please try again.")}}})},redirectToHome:function(){window.location="../"},redirectToLogin:function(){window.location="/user/login"},modal:null,show_library_modal:function(s){s.preventDefault();s.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Library",body:this.templateNewLibraryInModal(),buttons:{Create:function(){r.create_new_library_event()},Close:function(){r.modal.hide()}}})},create_new_library_event:function(){var t=this.serialize_new_library();if(this.validate_new_library(t)){var s=new f();var r=this;s.save(t,{success:function(u){r.modal.hide();r.clear_library_modal();r.render();n.success("Library created")},error:function(){n.error("An error occured :(")}})}else{n.error("Library's name is missing")}return false},clear_library_modal:function(){$("input[name='Name']").val("");$("input[name='Description']").val("");$("input[name='Synopsis']").val("")},serialize_new_library:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validate_new_library:function(r){return r.name!==""}});var g=Backbone.View.extend({folderContentView:null,galaxyLibraryview:null,initialize:function(){folderContentView=new m();galaxyLibraryview=new a();library_router=new q();library_router.on("route:libraries",function(){galaxyLibraryview.render()});library_router.on("route:folder_content",function(r){folderContentView.render({id:r})});library_router.on("route:download",function(r,s){if($("#center").find(":checked").length===0){library_router.navigate("folders/"+r,{trigger:true,replace:true})}else{folderContentView.download(r,s);library_router.navigate("folders/"+r,{trigger:false,replace:true})}});Backbone.history.start({pushState:false})}});return{GalaxyApp:g}});
\ No newline at end of file
+var view=null;var library_router=null;var responses=[];define(["galaxy.modal","galaxy.masthead","utils/utils","libs/toastr"],function(k,l,h,n){var f=Backbone.Model.extend({urlRoot:"/api/libraries"});var c=Backbone.Model.extend({urlRoot:"/api/folders"});var o=Backbone.Collection.extend({url:"/api/libraries",model:f,sort_key:"name",sort_order:null,});var i=Backbone.Model.extend({urlRoot:"/api/libraries/datasets"});var d=Backbone.Collection.extend({model:i});var e=Backbone.Model.extend({defaults:{folder:new d(),full_path:"unknown",urlRoot:"/api/folders/",id:"unknown"},parse:function(r){this.full_path=r[0].full_path;this.get("folder").reset(r[1].folder_contents);return r}});var b=Backbone.Model.extend({urlRoot:"/api/histories/"});var j=Backbone.Model.extend({url:"/api/histories/"});var p=Backbone.Collection.extend({url:"/api/histories",model:j});var m=Backbone.View.extend({el:"#center",progress:0,progressStep:1,lastSelectedHistory:"",modal:null,folders:null,initialize:function(){this.folders=[];this.queue=jQuery.Deferred();this.queue.resolve()},templateFolder:function(){var r=[];r.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; ">');r.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');r.push('<div id="library_folder_toolbar" >');r.push(' <button title="Create New Folder" id="toolbtn_create_folder" class="btn btn-primary" type="button"><span class="fa fa-plus"></span><span class="fa fa-folder-close"></span> folder</button>');r.push(' <button title="Import selected datasets into history" id="toolbtn_bulk_import" class="btn btn-primary" style="display: none; margin-left: 0.5em;" type="button"><span class="fa fa-external-link"></span> to history</button>');r.push(' <div id="toolbtn_dl" class="btn-group" style="margin-left: 0.5em; display: none; ">');r.push(' <button title="Download selected datasets" id="drop_toggle" type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">');r.push(' <span class="fa fa-download"></span> download <span class="caret"></span>');r.push(" </button>");r.push(' <ul class="dropdown-menu" role="menu">');r.push(' <li><a href="#/folders/<%= id %>/download/tgz">.tar.gz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/tbz">.tar.bz</a></li>');r.push(' <li><a href="#/folders/<%= id %>/download/zip">.zip</a></li>');r.push(" </ul>");r.push(" </div>");r.push("</div>");r.push('<ol class="breadcrumb">');r.push(' <li><a title="Return to the list of libraries" href="#">Libraries</a></li>');r.push(" <% _.each(path, function(path_item) { %>");r.push(" <% if (path_item[0] != id) { %>");r.push(' <li><a title="Return to this folder" href="#/folders/<%- path_item[0] %>"><%- path_item[1] %></a></li> ');r.push("<% } else { %>");r.push(' <li class="active"><span title="You are in this folder"><%- path_item[1] %></span></li>');r.push(" <% } %>");r.push(" <% }); %>");r.push("</ol>");r.push('<table id="folder_table" class="library_table table table-condensed">');r.push(" <thead>");r.push(' <th class="button_heading"></th>');r.push(' <th style="text-align: center; width: 20px; "><input id="select-all-checkboxes" style="margin: 0;" type="checkbox"></th>');r.push(" <th>name</th>");r.push(" <th>data type</th>");r.push(" <th>size</th>");r.push(" <th>date (UTC)</th>");r.push(" </thead>");r.push(" <tbody>");r.push(' <td><a href="#<% if (upper_folder_id !== 0){ print("folders/" + upper_folder_id)} %>" title="Go to parent folder" class="btn_open_folder btn btn-default btn-xs">..<a></td>');r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" <td></td>");r.push(" </tr>");r.push(" <% _.each(items, function(content_item) { %>");r.push(' <% if (content_item.get("type") === "folder") { %>');r.push(' <tr class="folder_row light" id="<%- content_item.id %>">');r.push(" <td>");r.push(' <span title="Folder" class="fa fa-folder-o"></span>');r.push(" </td>");r.push(" <td></td>");r.push(" <td>");r.push(' <a href="#folders/<%- content_item.id %>"><%- content_item.get("name") %></a>');r.push(' <% if (content_item.get("item_count") === 0) { %>');r.push(' <span class="muted">(empty folder)</span>');r.push(" <% } %>");r.push(" </td>");r.push(" <td>folder</td>");r.push(' <td><%= _.escape(content_item.get("item_count")) %> item(s)</td>');r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% } else { %>");r.push(' <tr class="dataset_row light" id="<%- content_item.id %>">');r.push(" <td>");r.push(' <span title="Dataset" class="fa fa-file-o"></span>');r.push(" </td>");r.push(' <td style="text-align: center; "><input style="margin: 0;" type="checkbox"></td>');r.push(' <td><a href="#" class="library-dataset"><%- content_item.get("name") %><a></td>');r.push(' <td><%= _.escape(content_item.get("data_type")) %></td>');r.push(' <td><%= _.escape(content_item.get("readable_size")) %></td>');r.push(' <td><%= _.escape(content_item.get("time_updated")) %></td>');r.push(" </tr>");r.push(" <% } %> ");r.push(" <% }); %>");r.push(" ");r.push(" </tbody>");r.push("</table>");r.push("</div>");return r.join("")},templateDatasetModal:function(){var r=[];r.push('<div class="modal_table">');r.push(' <table class="table table-striped table-condensed">');r.push(" <tr>");r.push(' <th scope="row" id="id_row" data-id="<%= _.escape(item.get("ldda_id")) %>">Name</th>');r.push(' <td><%= _.escape(item.get("name")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Data type</th>');r.push(' <td><%= _.escape(item.get("data_type")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Genome build</th>');r.push(' <td><%= _.escape(item.get("genome_build")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Size</th>');r.push(" <td><%= _.escape(size) %></td>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Date uploaded (UTC)</th>');r.push(' <td><%= _.escape(item.get("date_uploaded")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Uploaded by</th>');r.push(' <td><%= _.escape(item.get("uploaded_by")) %></td>');r.push(" </tr>");r.push(' <tr scope="row">');r.push(' <th scope="row">Data Lines</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_data_lines")) %></td>');r.push(" </tr>");r.push(' <th scope="row">Comment Lines</th>');r.push(' <% if (item.get("metadata_comment_lines") === "") { %>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_comment_lines")) %></td>');r.push(" <% } else { %>");r.push(' <td scope="row">unknown</td>');r.push(" <% } %>");r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Number of Columns</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_columns")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Column Types</th>');r.push(' <td scope="row"><%= _.escape(item.get("metadata_column_types")) %></td>');r.push(" </tr>");r.push(" <tr>");r.push(' <th scope="row">Miscellaneous information</th>');r.push(' <td scope="row"><%= _.escape(item.get("misc_blurb")) %></td>');r.push(" </tr>");r.push(" </table>");r.push(' <pre class="peek">');r.push(" </pre>");r.push("</div>");return r.join("")},templateHistorySelectInModal:function(){var r=[];r.push('<span id="history_modal_combo" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_single" name="dataset_import_single" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateBulkImportInModal:function(){var r=[];r.push('<span id="history_modal_combo_bulk" style="width:90%; margin-left: 1em; margin-right: 1em; ">');r.push("Select history: ");r.push('<select id="dataset_import_bulk" name="dataset_import_bulk" style="width:50%; margin-bottom: 1em; "> ');r.push(" <% _.each(histories, function(history) { %>");r.push(' <option value="<%= _.escape(history.get("id")) %>"><%= _.escape(history.get("name")) %></option>');r.push(" <% }); %>");r.push("</select>");r.push("</span>");return r.join("")},templateProgressBar:function(){var r=[];r.push('<div class="import_text">');r.push("Importing selected datasets to history <b><%= _.escape(history_name) %></b>");r.push("</div>");r.push('<div class="progress">');r.push(' <div class="progress-bar progress-bar-import" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">');r.push(' <span class="completion_span">0% Complete</span>');r.push(" </div>");r.push("</div>");r.push("");return r.join("")},templateNewFolderInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_folder_modal">');tmpl_array.push("<form>");tmpl_array.push('<input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push('<input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push("</form>");tmpl_array.push("</div>");return tmpl_array.join("")},events:{"click #select-all-checkboxes":"selectAll","click #toolbtn_bulk_import":"modalBulkImport","click #toolbtn_dl":"bulkDownload","click #toolbtn_create_folder":"createFolderFromModal","click .library-dataset":"showDatasetDetails","click .dataset_row":"selectClickedRow"},render:function(r){$("#center").css("overflow","auto");view=this;var t=this;var s=new e({id:r.id});s.url=s.attributes.urlRoot+r.id+"/contents";s.fetch({success:function(u){for(var w=0;w<s.attributes.folder.models.length;w++){var v=s.attributes.folder.models[w];if(v.get("type")==="file"){v.set("readable_size",t.size_to_string(v.get("file_size")))}}var y=s.full_path;var z;if(y.length===1){z=0}else{z=y[y.length-2][0]}var x=_.template(t.templateFolder(),{path:s.full_path,items:s.attributes.folder.models,id:r.id,upper_folder_id:z});t.$el.html(x)},error:function(){n.error("An error occured :(")}})},size_to_string:function(r){var s="";if(r>=100000000000){r=r/100000000000;s="TB"}else{if(r>=100000000){r=r/100000000;s="GB"}else{if(r>=100000){r=r/100000;s="MB"}else{if(r>=100){r=r/100;s="KB"}else{r=r*10;s="b"}}}}return(Math.round(r)/10)+s},showDatasetDetails:function(u){u.preventDefault();var v=$(u.target).parent().parent().parent().attr("id");if(typeof v==="undefined"){v=$(u.target).parent().attr("id")}if(typeof v==="undefined"){v=$(u.target).parent().parent().attr("id")}var t=new i();var s=new p();t.id=v;var r=this;t.fetch({success:function(w){s.fetch({success:function(x){r.renderModalAfterFetch(w,x)},error:function(){n.error("An error occured during fetching histories:(");r.renderModalAfterFetch(w)}})},error:function(){n.error("An error occured during loading dataset details :(")}})},renderModalAfterFetch:function(w,t){var u=this.size_to_string(w.get("file_size"));var v=_.template(this.templateDatasetModal(),{item:w,size:u});var s=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Dataset Details",body:v,buttons:{Import:function(){s.importCurrentIntoHistory()},Download:function(){s.downloadCurrent()},Close:function(){s.modal.hide()}}});$(".peek").html(w.get("peek"));if(typeof history.models!==undefined){var r=_.template(this.templateHistorySelectInModal(),{histories:t.models});$(this.modal.elMain).find(".buttons").prepend(r);if(s.lastSelectedHistory.length>0){$(this.modal.elMain).find("#dataset_import_single").val(s.lastSelectedHistory)}}},downloadCurrent:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var r=[];r.push($("#id_row").attr("data-id"));var s="/api/libraries/datasets/download/uncompressed";var t={ldda_ids:r};folderContentView.processDownload(s,t);this.modal.enableButton("Import");this.modal.enableButton("Download")},importCurrentIntoHistory:function(){this.modal.disableButton("Import");this.modal.disableButton("Download");var t=$(this.modal.elMain).find("select[name=dataset_import_single] option:selected").val();this.lastSelectedHistory=t;var r=$("#id_row").attr("data-id");var u=new b();var s=this;u.url=u.urlRoot+t+"/contents";u.save({content:r,source:"library"},{success:function(){n.success("Dataset imported");s.modal.enableButton("Import");s.modal.enableButton("Download")},error:function(){n.error("An error occured! Dataset not imported. Please try again.");s.modal.enableButton("Import");s.modal.enableButton("Download")}})},selectAll:function(s){var r=s.target.checked;that=this;$(":checkbox").each(function(){this.checked=r;$row=$(this.parentElement.parentElement);(r)?that.makeDarkRow($row):that.makeWhiteRow($row)});this.checkTools()},selectClickedRow:function(s){var u="";var r;var t;if(s.target.localName==="input"){u=s.target;r=$(s.target.parentElement.parentElement);t="input"}else{if(s.target.localName==="td"){u=$("#"+s.target.parentElement.id).find(":checkbox")[0];r=$(s.target.parentElement);t="td"}}if(u.checked){if(t==="td"){u.checked="";this.makeWhiteRow(r)}else{if(t==="input"){this.makeDarkRow(r)}}}else{if(t==="td"){u.checked="selected";this.makeDarkRow(r)}else{if(t==="input"){this.makeWhiteRow(r)}}}this.checkTools()},makeDarkRow:function(r){r.removeClass("light");r.find("a").removeClass("light");r.addClass("dark");r.find("a").addClass("dark");r.find("span").removeClass("fa-file-o");r.find("span").addClass("fa-file")},makeWhiteRow:function(r){r.removeClass("dark");r.find("a").removeClass("dark");r.addClass("light");r.find("a").addClass("light");r.find("span").addClass("fa-file-o");r.find("span").removeClass("fa-file")},checkTools:function(){var r=$("#folder_table").find(":checked");if(r.length>0){$("#toolbtn_bulk_import").show();$("#toolbtn_dl").show()}else{$("#toolbtn_bulk_import").hide();$("#toolbtn_dl").hide()}},modalBulkImport:function(){var s=this;var r=new p();r.fetch({success:function(t){var u=_.template(s.templateBulkImportInModal(),{histories:t.models});s.modal=Galaxy.modal;s.modal.show({closing_events:true,title:"Import into History",body:u,buttons:{Import:function(){s.importAllIntoHistory()},Close:function(){s.modal.hide()}}})},error:function(){n.error("An error occured :(")}})},importAllIntoHistory:function(){this.modal.disableButton("Import");var t=$("select[name=dataset_import_bulk] option:selected").val();var x=$("select[name=dataset_import_bulk] option:selected").text();var z=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){z.push(this.parentElement.parentElement.id)}});var y=_.template(this.templateProgressBar(),{history_name:x});$(this.modal.elMain).find(".modal-body").html(y);var u=100/z.length;this.initProgress(u);var r=[];for(var s=z.length-1;s>=0;s--){library_dataset_id=z[s];var v=new b();var w=this;v.url=v.urlRoot+t+"/contents";v.content=library_dataset_id;v.source="library";r.push(v)}this.chainCall(r)},chainCall:function(s){var r=this;var t=s.pop();if(typeof t==="undefined"){n.success("All datasets imported");this.modal.hide();return}var u=$.when(t.save({content:t.content,source:t.source})).done(function(v){r.updateProgress();responses.push(v);r.chainCall(s)})},initProgress:function(r){this.progress=0;this.progressStep=r},updateProgress:function(){this.progress+=this.progressStep;$(".progress-bar-import").width(Math.round(this.progress)+"%");txt_representation=Math.round(this.progress)+"% Complete";$(".completion_span").text(txt_representation)},download:function(r,v){var t=[];$("#folder_table").find(":checked").each(function(){if(this.parentElement.parentElement.id!=""){t.push(this.parentElement.parentElement.id)}});var s="/api/libraries/datasets/download/"+v;var u={ldda_ids:t};this.processDownload(s,u,"get")},processDownload:function(s,t,u){if(s&&t){t=typeof t=="string"?t:$.param(t);var r="";$.each(t.split("&"),function(){var v=this.split("=");r+='<input type="hidden" name="'+v[0]+'" value="'+v[1]+'" />'});$('<form action="'+s+'" method="'+(u||"post")+'">'+r+"</form>").appendTo("body").submit().remove();n.info("Your download will begin soon")}},createFolderFromModal:function(){event.preventDefault();event.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Folder",body:this.templateNewFolderInModal(),buttons:{Create:function(){r.create_new_folder_event()},Close:function(){r.modal.hide();r.modal=null}}})},create_new_folder_event:function(){var r=this.serialize_new_folder();if(this.validate_new_folder(r)){var t=new c();url_items=Backbone.history.fragment.split("/");current_folder_id=url_items[url_items.length-1];t.url=t.urlRoot+"/"+current_folder_id;var s=this;t.save(r,{success:function(u){s.modal.hide();n.success("Folder created");s.render({id:current_folder_id})},error:function(){n.error("An error occured :(")}})}else{n.error("Folder's name is missing")}return false},serialize_new_folder:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val()}},validate_new_folder:function(r){return r.name!==""}});var a=Backbone.View.extend({el:"#center",events:{"click #create_new_library_btn":"show_library_modal"},modal:null,collection:null,initialize:function(){var r=this;this.collection=new o();this.collection.fetch({success:function(s){r.render()},error:function(t,s){if(s.statusCode().status===403){n.info("Please log in first. Redirecting to login page in 3s.");setTimeout(that.redirectToLogin,3000)}else{n.error("An error occured. Please try again.")}}});$("#center").css("overflow","auto")},render:function(t){var r=this.templateLibraryList();var s=null;if(this.collection!==null&&typeof t==="undefined"){s=this.collection.models}else{if(t!==null){s=t}else{s=[]}}this.$el.html(r({libraries:s,order:this.collection.sort_order}))},sortLibraries:function(s,r){if(s==="name"){if(r==="asc"){this.collection.sort_order="asc";this.collection.comparator=function(u,t){if(u.get("name").toLowerCase()>t.get("name").toLowerCase()){return 1}if(t.get("name").toLowerCase()>u.get("name").toLowerCase()){return -1}return 0}}else{if(r==="desc"){this.collection.sort_order="desc";this.collection.comparator=function(u,t){if(u.get("name").toLowerCase()>t.get("name").toLowerCase()){return -1}if(t.get("name").toLowerCase()>u.get("name").toLowerCase()){return 1}return 0}}}this.collection.sort()}},templateLibraryList:function(){tmpl_array=[];tmpl_array.push('<div class="library_container" style="width: 90%; margin: auto; margin-top: 2em; overflow: auto !important; ">');tmpl_array.push("");tmpl_array.push('<h3>Data Libraries Beta Test. This is work in progress. Please report problems & ideas via <a href="mailto:galaxy-bugs@bx.psu.edu?Subject=DataLibrariesBeta_Feedback" target="_blank">email</a> and <a href="https://trello.com/c/nwYQNFPK/56-data-library-ui-progressive-display-of-fol…" target="_blank">Trello</a>.</h3>');tmpl_array.push('<a href="" id="create_new_library_btn" class="btn btn-primary file ">New Library</a>');tmpl_array.push('<table class="library_table table table-condensed">');tmpl_array.push(" <thead>");tmpl_array.push(' <th><a title="Click to reverse order" href="#sort/name/<% if(order==="desc"||order===null){print("asc")}else{print("desc")} %>">name</a><span title="Sorted alphabetically" class="fa fa-sort-alpha-<%- order %>"></span></th>');tmpl_array.push(" <th>description</th>");tmpl_array.push(" <th>synopsis</th> ");tmpl_array.push(" </thead>");tmpl_array.push(" <tbody>");tmpl_array.push(" <% _.each(libraries, function(library) { %>");tmpl_array.push(" <tr>");tmpl_array.push(' <td><a href="#folders/<%- library.get("root_folder_id") %>"><%- library.get("name") %></a></td>');tmpl_array.push(' <td><%= _.escape(library.get("description")) %></td>');tmpl_array.push(' <td><%= _.escape(library.get("synopsis")) %></td>');tmpl_array.push(" </tr>");tmpl_array.push(" <% }); %>");tmpl_array.push(" </tbody>");tmpl_array.push("</table>");tmpl_array.push("</div>");return _.template(tmpl_array.join(""))},templateNewLibraryInModal:function(){tmpl_array=[];tmpl_array.push('<div id="new_library_modal">');tmpl_array.push(" <form>");tmpl_array.push(' <input type="text" name="Name" value="" placeholder="Name">');tmpl_array.push(' <input type="text" name="Description" value="" placeholder="Description">');tmpl_array.push(' <input type="text" name="Synopsis" value="" placeholder="Synopsis">');tmpl_array.push(" </form>");tmpl_array.push("</div>");return tmpl_array.join("")},redirectToHome:function(){window.location="../"},redirectToLogin:function(){window.location="/user/login"},show_library_modal:function(s){s.preventDefault();s.stopPropagation();var r=this;this.modal=Galaxy.modal;this.modal.show({closing_events:true,title:"Create New Library",body:this.templateNewLibraryInModal(),buttons:{Create:function(){r.create_new_library_event()},Close:function(){r.modal.hide()}}})},create_new_library_event:function(){var t=this.serialize_new_library();if(this.validate_new_library(t)){var s=new f();var r=this;s.save(t,{success:function(u){r.collection.add(u);r.modal.hide();r.clear_library_modal();r.render();n.success("Library created")},error:function(){n.error("An error occured :(")}})}else{n.error("Library's name is missing")}return false},clear_library_modal:function(){$("input[name='Name']").val("");$("input[name='Description']").val("");$("input[name='Synopsis']").val("")},serialize_new_library:function(){return{name:$("input[name='Name']").val(),description:$("input[name='Description']").val(),synopsis:$("input[name='Synopsis']").val()}},validate_new_library:function(r){return r.name!==""}});var q=Backbone.Router.extend({routes:{"":"libraries","sort/:sort_by/:order":"sort_libraries","folders/:id":"folder_content","folders/:folder_id/download/:format":"download"}});var g=Backbone.View.extend({initialize:function(){galaxyLibraryview=new a();library_router=new q();folderContentView=new m();library_router.on("route:libraries",function(){galaxyLibraryview.render()});library_router.on("route:sort_libraries",function(s,r){galaxyLibraryview.sortLibraries(s,r);galaxyLibraryview.render()});library_router.on("route:folder_content",function(r){folderContentView.render({id:r})});library_router.on("route:download",function(r,s){if($("#center").find(":checked").length===0){library_router.navigate("folders/"+r,{trigger:true,replace:true})}else{folderContentView.download(r,s);library_router.navigate("folders/"+r,{trigger:false,replace:true})}});Backbone.history.start({pushState:false})}});return{GalaxyApp:g}});
\ No newline at end of file
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/blue/base.css
--- a/static/style/blue/base.css
+++ b/static/style/blue/base.css
@@ -1286,15 +1286,19 @@
div.libraryItemBody{padding:4px 4px 2px 4px}
li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}
li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}
+.library_table td{border-top:1px solid #5f6990 !important}
+.library_table th{border-bottom:2px solid #5f6990 !important}
+.library_table a{color:#0A143D}.library_table a:hover{color:maroon}
tr.light td{background-color:white;color:black}
-tr.light:hover td{background-color:#f5f5f5;color:#8389a1}
+tr.light:hover td{background-color:#A2A9C8}
tr.dark td{background-color:#8389a1;color:white}
tr.dark:hover td{background-color:#bbbfd0;color:white}
-a.dark:hover{color:yellow}
a.dark{color:white}
+.modal_table tr{border-bottom:1px solid #5f6990 !important}
+.modal_table th{border:none !important}
+.modal_table td{border:none !important}
th.button_heading{width:2em}
-div.library_breadcrumb{padding-top:0.8em;padding-bottom:0.8em}
-div.library_breadcrumb a:hover{color:green}
+#library_folder_toolbar{margin-bottom:1em}
img.expanderIcon{padding-right:4px}
input.datasetCheckbox,li,ul{padding:0;margin:0}
.rowTitle{padding:2px}
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/blue/library.css
--- a/static/style/blue/library.css
+++ b/static/style/blue/library.css
@@ -6,15 +6,19 @@
div.libraryItemBody{padding:4px 4px 2px 4px}
li.folderRow,li.datasetRow{border-top:solid 1px #c6bfa8}
li.folderRow:hover,li.datasetRow:hover{background-color:#f9f9f9}
+.library_table td{border-top:1px solid #5f6990 !important}
+.library_table th{border-bottom:2px solid #5f6990 !important}
+.library_table a{color:#0A143D}.library_table a:hover{color:maroon}
tr.light td{background-color:white;color:black}
-tr.light:hover td{background-color:#f5f5f5;color:#8389a1}
+tr.light:hover td{background-color:#A2A9C8}
tr.dark td{background-color:#8389a1;color:white}
tr.dark:hover td{background-color:#bbbfd0;color:white}
-a.dark:hover{color:yellow}
a.dark{color:white}
+.modal_table tr{border-bottom:1px solid #5f6990 !important}
+.modal_table th{border:none !important}
+.modal_table td{border:none !important}
th.button_heading{width:2em}
-div.library_breadcrumb{padding-top:0.8em;padding-bottom:0.8em}
-div.library_breadcrumb a:hover{color:green}
+#library_folder_toolbar{margin-bottom:1em}
img.expanderIcon{padding-right:4px}
input.datasetCheckbox,li,ul{padding:0;margin:0}
.rowTitle{padding:2px}
diff -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 -r 3ab1e13eab15408930e55fbc262addffd2bf1f6d static/style/src/less/library.less
--- a/static/style/src/less/library.less
+++ b/static/style/src/less/library.less
@@ -30,6 +30,21 @@
}
+.library_table{
+ td {
+ border-top:1px solid #5f6990 !important;
+ }
+ th {
+ border-bottom: 2px solid #5f6990 !important;
+ }
+ a {
+ color: #0A143D;
+ &:hover{
+ color: maroon;
+ }
+ }
+}
+
tr.light td
{
background-color: white;
@@ -37,8 +52,8 @@
}
tr.light:hover td
{
- background-color: #f5f5f5;
- color: #8389a1;
+ background-color: #A2A9C8;
+ // color: #8389a1;
}
tr.dark td
{
@@ -50,28 +65,42 @@
background-color: #bbbfd0;
color: white;
}
-a.dark:hover
-{
- color: yellow;
- // text-decoration: none;
-}
a.dark
{
color: white;
- // text-decoration: none;
}
+
+
+
+.modal_table{
+ tr {
+ border-bottom: 1px solid #5f6990 !important;
+ }
+ th{
+ border: none !important;
+ }
+ td{
+ border: none !important;
+ }
+}
+
+
+
+
+
+
+
+
+
+
th.button_heading
{
width: 2em;
}
-div.library_breadcrumb{
- padding-top: 0.8em;
- padding-bottom: 0.8em;
+
+#library_folder_toolbar {
+ margin-bottom: 1em;
}
-div.library_breadcrumb a:hover{
- color:green;
-}
-
img.expanderIcon {
padding-right: 4px;
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: remove extraneous comment from 7732e2da1563.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/bbd48fc01abd/
Changeset: bbd48fc01abd
User: dan
Date: 2014-02-21 16:42:23
Summary: remove extraneous comment from 7732e2da1563.
Affected #: 1 file
diff -r 7732e2da1563682b911e08e445f103e7e58af78b -r bbd48fc01abd9df25b1e0fa8e2bbe2727d252a88 lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1781,7 +1781,7 @@
# Both of these values indicate that no dataset is selected. However, 'None'
# indicates that the dataset is optional, while '' indicates that it is not.
none_values = [ None, '', 'None' ]
- if value in none_values:# is None or value == '' or value == 'None':
+ if value in none_values:
return value
if isinstance(value, str) and value.find(",") > -1:
values = value.split(",")
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: More fixes for multiple datasets with None Datasets.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/7732e2da1563/
Changeset: 7732e2da1563
User: dan
Date: 2014-02-21 16:39:28
Summary: More fixes for multiple datasets with None Datasets.
Affected #: 1 file
diff -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e -r 7732e2da1563682b911e08e445f103e7e58af78b lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -1780,12 +1780,13 @@
def to_python( self, value, app ):
# Both of these values indicate that no dataset is selected. However, 'None'
# indicates that the dataset is optional, while '' indicates that it is not.
- if value is None or value == '' or value == 'None':
+ none_values = [ None, '', 'None' ]
+ if value in none_values:# is None or value == '' or value == 'None':
return value
if isinstance(value, str) and value.find(",") > -1:
values = value.split(",")
# TODO: Optimize. -John
- return [app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( val ) ) for val in values]
+ return [ app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( val ) ) for val in values if val not in none_values ]
return app.model.context.query( app.model.HistoryDatasetAssociation ).get( int( value ) )
def to_param_dict_string( self, value, other_values={} ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: davebgx: Fix missing import in install and test framework.
by commits-noreply@bitbucket.org 21 Feb '14
by commits-noreply@bitbucket.org 21 Feb '14
21 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/320dca6064fc/
Changeset: 320dca6064fc
User: davebgx
Date: 2014-02-21 14:57:49
Summary: Fix missing import in install and test framework.
Affected #: 2 files
diff -r b706c7c0844f3120952f39d6fc6826e111f267d3 -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/repositories_with_tools/functional_tests.py
@@ -43,6 +43,7 @@
from galaxy.app import UniverseApplication
from galaxy.util.json import from_json_string
+from galaxy.util import asbool
from galaxy.util import unicodify
from galaxy.web import buildapp
from functional_tests import generate_config_file
diff -r b706c7c0844f3120952f39d6fc6826e111f267d3 -r 320dca6064fcbb0381c8d4b75c92c91b02285e2e test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
--- a/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
+++ b/test/install_and_test_tool_shed_repositories/tool_dependency_definitions/functional_tests.py
@@ -42,6 +42,7 @@
from base.tool_shed_util import parse_tool_panel_config
from galaxy.app import UniverseApplication
+from galaxy.util import asbool
from galaxy.util import unicodify
from galaxy.web import buildapp
from functional_tests import generate_config_file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jmchilton: Add functional tests for @kellrott's workflow usage additions.
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b706c7c0844f/
Changeset: b706c7c0844f
User: jmchilton
Date: 2014-02-21 03:27:26
Summary: Add functional tests for @kellrott's workflow usage additions.
Affected #: 1 file
diff -r e87d6516105d6def9751cfb6df6e69b23bfacb14 -r b706c7c0844f3120952f39d6fc6826e111f267d3 test/functional/api/test_workflows.py
--- a/test/functional/api/test_workflows.py
+++ b/test/functional/api/test_workflows.py
@@ -103,6 +103,29 @@
pja = pjas[ 0 ]
self._assert_has_keys( pja, "action_type", "output_name", "action_arguments" )
+ def test_invocation_usage( self ):
+ workflow = self.workflow_populator.load_workflow( name="test_usage" )
+ workflow_request, history_id = self._setup_workflow_run( workflow )
+ workflow_id = workflow_request[ "workflow_id" ]
+ response = self._get( "workflows/%s/usage" % workflow_id )
+ self._assert_status_code_is( response, 200 )
+ assert len( response.json() ) == 0
+ run_workflow_response = self._post( "workflows", data=workflow_request )
+ self._assert_status_code_is( run_workflow_response, 200 )
+
+ response = self._get( "workflows/%s/usage" % workflow_id )
+ self._assert_status_code_is( response, 200 )
+ usages = response.json()
+ assert len( usages ) == 1
+
+ usage_details_response = self._get( "workflows/%s/usage/%s" % ( workflow_id, usages[ 0 ][ "id" ] ) )
+ self._assert_status_code_is( usage_details_response, 200 )
+ usage_details = usage_details_response.json()
+ # Assert some high-level things about the structure of data returned.
+ self._assert_has_keys( usage_details, "inputs", "steps" )
+ for step in usage_details[ "steps" ].values():
+ self._assert_has_keys( step, "workflow_step_id", "order_index" )
+
def test_post_job_action( self ):
""" Tests both import and execution of post job actions.
"""
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: kellrott: Merged galaxy/galaxy-central into default
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b304bf48192e/
Changeset: b304bf48192e
User: kellrott
Date: 2013-06-27 23:05:56
Summary: Merged galaxy/galaxy-central into default
Affected #: 2 files
diff -r 63b58d89dedd942ad9842958476dd9d364fe1fe0 -r b304bf48192eca003b434870f73f324639697c2c lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
--- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
@@ -1147,8 +1147,6 @@
Inspect the repository dependency hierarchy for a specified repository and attempt to make sure they are all properly installed as well as
each repository's tool dependencies.
"""
- # TODO: figure out how to handle installing repositories and tool dependencies consecutively since each redirects to an ajaxian grid. This
- # is not a problem in that Galaxy API.
message = kwd.get( 'message', '' )
status = kwd.get( 'status', 'done' )
repository_id = kwd.get( 'id', None )
@@ -1160,15 +1158,27 @@
message=message,
status=status ) )
tool_shed_repository = suc.get_installed_tool_shed_repository( trans, repository_id )
+ if kwd.get( 'repair_repository_button', False ):
+ repair_dict = kwd.get( 'repair_dict', None )
+ if not repair_dict:
+ repair_dict = repository_util.get_repair_dict( trans, tool_shed_repository )
+ ordered_tsr_ids = repair_dict.get( 'ordered_tsr_ids', [] )
+ ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] )
+ if ordered_tsr_ids and ordered_repo_info_dicts:
+ return trans.response.send_redirect( web.url_for( controller='admin_toolshed',
+ action='manage_repositories',
+ operation='repair',
+ ordered_tsr_ids=ordered_tsr_ids,
+ ordered_repo_info_dicts=ordered_repo_info_dicts ) )
+ tool_shed_repository = suc.get_installed_tool_shed_repository( trans, repository_id )
repair_dict = repository_util.get_repair_dict( trans, tool_shed_repository )
ordered_tsr_ids = repair_dict.get( 'ordered_tsr_ids', [] )
ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] )
- if ordered_tsr_ids and ordered_repo_info_dicts:
- return trans.response.send_redirect( web.url_for( controller='admin_toolshed',
- action='manage_repositories',
- operation='repair',
- ordered_tsr_ids=ordered_tsr_ids,
- ordered_repo_info_dicts=ordered_repo_info_dicts ) )
+ return trans.fill_template( 'admin/tool_shed_repository/repair_repository.mako',
+ repository=tool_shed_repository,
+ repair_dict=repair_dict,
+ message=message,
+ status=status )
@web.json
def repository_installation_status_updates( self, trans, ids=None, status_list=None ):
diff -r 63b58d89dedd942ad9842958476dd9d364fe1fe0 -r b304bf48192eca003b434870f73f324639697c2c templates/admin/tool_shed_repository/repair_repository.mako
--- /dev/null
+++ b/templates/admin/tool_shed_repository/repair_repository.mako
@@ -0,0 +1,51 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+<%namespace file="/admin/tool_shed_repository/repository_actions_menu.mako" import="*" />
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "library" )}
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+</%def>
+
+${render_galaxy_repository_actions( repository )}
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+<div class="warningmessage">
+ The following repositories will be inspected and repaired in the order listed to ensure each repository and all of it's tool dependencies are correctly
+ installed. Click <b>Repair</b> to inspect and repair these repositories.
+</div>
+
+<div class="toolForm">
+ <div class="toolFormTitle">Repair tool shed repository '${repository.name}'</div>
+ <br/><br/>
+ <form name="repair_repository" id="repair_repository" action="${h.url_for( controller='admin_toolshed', action='repair_repository', id=trans.security.encode_id( repository.id ), repair_dict=repair_dict )}" method="post" >
+ <% ordered_repo_info_dicts = repair_dict.get( 'ordered_repo_info_dicts', [] ) %>
+ <table class="grid">
+ <tr><th bgcolor="#D8D8D8">Name</th><th bgcolor="#D8D8D8">Owner</th><th bgcolor="#D8D8D8">Changeset revision</th></tr>
+ %for repo_info_dict in ordered_repo_info_dicts:
+ <%
+ for name, repo_info_tuple in repo_info_dict.items():
+ description, repository_clone_url, changeset_revision, ctx_rev, repository_owner, repository_dependencies, tool_dependencies = repo_info_tuple
+ break
+ %>
+ <tr>
+ <td>${name | h}</td>
+ <td>${repository_owner | h}</td>
+ <td>${changeset_revision | h}</td>
+ </tr>
+ %endfor
+ </table>
+ <div style="clear: both"></div>
+ <div class="form-row">
+ <input type="submit" name="repair_repository_button" value="Repair"/>
+ </div>
+ </form>
+ </div>
+</div>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/a561dea97563/
Changeset: a561dea97563
Branch: /use-placeholder-instead-of-value-in-html-1392839097891
User: trevorw
Date: 2014-02-19 20:46:26
Summary: use `placeholder` instead of `value` in html5 - editor.mako
Affected #: 1 file
diff -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 -r a561dea97563b04d0cff617f1692ede4438fafe3 templates/webapps/galaxy/workflow/editor.mako
--- a/templates/webapps/galaxy/workflow/editor.mako
+++ b/templates/webapps/galaxy/workflow/editor.mako
@@ -302,7 +302,7 @@
<div class="unified-panel-body" style="overflow: auto;"><div class="toolMenu"><div id="tool-search" style="padding-bottom: 5px; position: relative; display: block; width: 100%">
- <input type="text" name="query" value="search tools" id="tool-search-query" class="search-query parent-width" />
+ <input type="text" name="query" placeholder="search tools" id="tool-search-query" class="search-query parent-width" /><img src="${h.url_for('/static/images/loading_small_white_bg.gif')}" id="search-spinner" class="search-spinner" /></div><div class="toolSectionList">
https://bitbucket.org/galaxy/galaxy-central/commits/65de107dc224/
Changeset: 65de107dc224
User: jmchilton
Date: 2014-02-21 03:25:31
Summary: Merged in trevorw/galaxy-central-1//use-placeholder-instead-of-value-in-html-1392839097891 (pull request #325)
use `placeholder` instead of `value` in html5 - editor.mako
Affected #: 1 file
diff -r 1f2383ac9a8ec518f4c91a4c5c2de825f4ddf36f -r 65de107dc224a90943057b9df2b1de521b26544d templates/webapps/galaxy/workflow/editor.mako
--- a/templates/webapps/galaxy/workflow/editor.mako
+++ b/templates/webapps/galaxy/workflow/editor.mako
@@ -302,7 +302,7 @@
<div class="unified-panel-body" style="overflow: auto;"><div class="toolMenu"><div id="tool-search" style="padding-bottom: 5px; position: relative; display: block; width: 100%">
- <input type="text" name="query" value="search tools" id="tool-search-query" class="search-query parent-width" />
+ <input type="text" name="query" placeholder="search tools" id="tool-search-query" class="search-query parent-width" /><img src="${h.url_for('/static/images/loading_small_white_bg.gif')}" id="search-spinner" class="search-spinner" /></div><div class="toolSectionList">
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0