diff --git a/.ci/flake8_lint_include_list.txt b/.ci/flake8_lint_include_list.txt
index 3f9464d8e44..82143f3804c 100644
--- a/.ci/flake8_lint_include_list.txt
+++ b/.ci/flake8_lint_include_list.txt
@@ -69,6 +69,7 @@ lib/galaxy/jobs/actions/
lib/galaxy/jobs/datasets.py
lib/galaxy/jobs/deferred/
lib/galaxy/jobs/error_level.py
+lib/galaxy/jobs/__init__.py
lib/galaxy/jobs/manager.py
lib/galaxy/jobs/metrics/collectl/__init__.py
lib/galaxy/jobs/metrics/collectl/stats.py
diff --git a/Makefile b/Makefile
index b7f7598ca84..789680cfcbd 100644
--- a/Makefile
+++ b/Makefile
@@ -157,10 +157,10 @@ release-create: release-ensure-upstream ## Create a release branch
git commit -m "Merge branch 'release_$(RELEASE_CURR)' into dev"
git checkout master
git merge release_$(RELEASE_CURR)
- #git push $(RELEASE_UPSTREAM) release_$(RELEASE_CURR):release_$(RELEASE_CURR)
- #git push $(RELEASE_UPSTREAM) dev:dev
- #git push $(RELEASE_UPSTREAM) master:master
- #git push $(RELEASE_UPSTREAM) --tags
+ git push $(RELEASE_UPSTREAM) release_$(RELEASE_CURR):release_$(RELEASE_CURR)
+ git push $(RELEASE_UPSTREAM) dev:dev
+ git push $(RELEASE_UPSTREAM) master:master
+ git push $(RELEASE_UPSTREAM) --tags
release-create-point: ## Create a point release
git pull --ff-only $(RELEASE_UPSTREAM) master
diff --git a/client/galaxy/scripts/mvc/dataset/data.js b/client/galaxy/scripts/mvc/dataset/data.js
index 309dd20f92a..22b7b6ed37a 100644
--- a/client/galaxy/scripts/mvc/dataset/data.js
+++ b/client/galaxy/scripts/mvc/dataset/data.js
@@ -251,16 +251,20 @@ var TabularDatasetChunkedView = Backbone.View.extend({
}, this);
row.append(this._renderCell(cells.slice(num_columns - 1).join('\t'), num_columns - 1));
}
- else if (num_columns > 5 && cells.length === num_columns - 1 ) {
- // SAM file or like format with optional metadata missing.
+ else if (cells.length === 1){
+ // Comment line, just return the one cell.
+ row.append(this._renderCell(line, 0, num_columns));
+ }
+ else {
+ // cells.length is greater than one, but less than num_columns. Render cells and pad tds.
+ // Possibly a SAM file or like format with optional metadata missing.
+ // Could also be a tabular file with a line with missing columns.
_.each(cells, function(cell_contents, index) {
row.append(this._renderCell(cell_contents, index));
}, this);
- row.append($('
'));
- }
- else {
- // Comment line, just return the one cell.
- row.append(this._renderCell(line, 0, num_columns));
+ _.each(_.range(num_columns - cells.length), function(){
+ row.append($(' | '));
+ });
}
this.row_count++;
diff --git a/client/galaxy/scripts/mvc/form/form-data.js b/client/galaxy/scripts/mvc/form/form-data.js
index 9a0981e47c3..826636c08ce 100644
--- a/client/galaxy/scripts/mvc/form/form-data.js
+++ b/client/galaxy/scripts/mvc/form/form-data.js
@@ -1,6 +1,4 @@
-/*
- This class maps the form dom to an api compatible javascript dictionary.
-*/
+/* This class maps the form dom to an api compatible javascript dictionary. */
define([ 'utils/utils' ], function( Utils ) {
var Manager = Backbone.Model.extend({
initialize: function( app ) {
@@ -21,14 +19,6 @@ define([ 'utils/utils' ], function( Utils ) {
return sum;
},
- /** Set parameter values from model */
- set: function( model ) {
- for ( var attr in model.attributes ) {
- var index = this.match( attr );
- index && this.app.field_list[ index ].value( model.get( attr ) );
- }
- },
-
/** Convert dom into a dictionary of flat id/value pairs used e.g. on job submission. */
create: function() {
var self = this;
@@ -211,8 +201,9 @@ define([ 'utils/utils' ], function( Utils ) {
context[ input.name ] = input;
}
});
- for ( var i in inputs ) {
- var node = inputs[ i ];
+ for ( var key in inputs ) {
+ var node = inputs[ key ];
+ node.name = node.name || key;
var name = prefix ? prefix + '|' + node.name : node.name;
switch ( node.type ) {
case 'repeat':
diff --git a/client/galaxy/scripts/mvc/form/form-view.js b/client/galaxy/scripts/mvc/form/form-view.js
index 6d40b1ed469..3684e15c459 100644
--- a/client/galaxy/scripts/mvc/form/form-view.js
+++ b/client/galaxy/scripts/mvc/form/form-view.js
@@ -86,11 +86,6 @@ function( Utils, Portlet, Ui, FormSection, FormData ) {
}
},
- /** Modify onchange event handler */
- setOnChange: function( callback ) {
- this.options.onchange = callback;
- },
-
/** Render tool form */
render: function() {
var self = this;
diff --git a/client/galaxy/scripts/mvc/ui/ui-color-picker.js b/client/galaxy/scripts/mvc/ui/ui-color-picker.js
index 02be894e001..d5a341e9ed7 100644
--- a/client/galaxy/scripts/mvc/ui/ui-color-picker.js
+++ b/client/galaxy/scripts/mvc/ui/ui-color-picker.js
@@ -10,29 +10,18 @@ define(['utils/utils'], function( Utils ) {
['a5a5a5','262626','494429','17365d','366092','953734','76923c','5f497a','31859b','e36c09'],
['7f7f7e','0c0c0c','1d1b10','0f243e','244061','632423','4f6128','3f3151','205867','974806']]
},
+
initialize : function( options ) {
this.options = Utils.merge( options, {} );
this.setElement( this._template() );
-
- // link components
this.$panel = this.$( '.ui-color-picker-panel' );
this.$view = this.$( '.ui-color-picker-view' );
this.$value = this.$( '.ui-color-picker-value' );
this.$header = this.$( '.ui-color-picker-header' );
-
- // build panel
this._build();
-
- // hide panel on start up
this.visible = false;
-
- // set initial value
this.value( this.options.value );
-
- // link boxes
this.$boxes = this.$( '.ui-color-picker-box' );
-
- // add event handler
var self = this;
this.$boxes.on( 'click', function() {
self.value( $( this ).css( 'background-color' ) );
@@ -48,25 +37,18 @@ define(['utils/utils'], function( Utils ) {
} );
},
- // value
+ /** Get/set value */
value : function ( new_val ) {
if ( new_val !== undefined && new_val !== null ) {
- // update color value
this.$value.css( 'background-color', new_val );
-
- // check selected color in panel
this.$( '.ui-color-picker-box' ).empty();
this.$( this._getValue() ).html( this._templateCheck() );
-
- // trigger custom event
this.options.onchange && this.options.onchange( new_val );
}
-
- // return current value
return this._getValue();
},
- // get value from dom
+ /** Get value from dom */
_getValue: function() {
var rgb = this.$value.css( 'background-color' );
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
@@ -80,7 +62,7 @@ define(['utils/utils'], function( Utils ) {
}
},
- // build panel
+ /** Build color panel */
_build: function() {
var $content = this._content({
label : 'Theme Colors',
@@ -110,27 +92,20 @@ define(['utils/utils'], function( Utils ) {
});
},
- // create content
+ /** Create content */
_content: function( options ) {
- // get parameters
var label = options.label;
var colors = options.colors;
var padding = options.padding;
var top = options.top;
var bottom = options.bottom;
-
- // create lines
var $content = $( this._templateContent() );
-
- // set label
var $label = $content.find( '.label' );
if ( options.label ) {
$label.html( options.label );
} else {
$label.hide();
}
-
- // build line
var $line = $content.find( '.line' );
this.$panel.append( $content );
for ( var i in colors ) {
@@ -153,12 +128,12 @@ define(['utils/utils'], function( Utils ) {
return $content;
},
- // check icon
+ /** Check icon */
_templateCheck: function() {
return '';
},
- // content template
+ /** Content template */
_templateContent: function() {
return '' +
' ' +
@@ -166,12 +141,12 @@ define(['utils/utils'], function( Utils ) {
' ';
},
- // box template
+ /** Box template */
_templateBox: function( color ) {
return '';
},
- // template
+ /** Main template */
_template: function() {
return '' +
' |