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
October 2014
- 2 participants
- 174 discussions
commit/galaxy-central: jmchilton: Better exception handling in job files API.
by commits-noreply@bitbucket.org 02 Oct '14
by commits-noreply@bitbucket.org 02 Oct '14
02 Oct '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/dffff21295c3/
Changeset: dffff21295c3
User: jmchilton
Date: 2014-10-02 16:24:39+00:00
Summary: Better exception handling in job files API.
POSTing files to inactive jobs I gues should result in a 403 instead of 400 - it does now - but ItemAccessibilityException and in particular the error message that goes with it doesn't feel quite right.
Affected #: 1 file
diff -r 6aad6ad39a04c8897198f64af0797397a03d112e -r dffff21295c3ab7ebb9e81a18d4f6639707d49b2 lib/galaxy/webapps/galaxy/api/job_files.py
--- a/lib/galaxy/webapps/galaxy/api/job_files.py
+++ b/lib/galaxy/webapps/galaxy/api/job_files.py
@@ -105,7 +105,7 @@
job = trans.sa_session.query( model.Job ).get( job_id )
if job.finished:
error_message = "Attempting to read or modify the files of a job that has already completed."
- raise exceptions.MessageException( error_message )
+ raise exceptions.ItemAccessibilityException( error_message )
return job
def __check_job_can_write_to_path( self, trans, job, path ):
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
[galaxyproject/usegalaxy-playbook] 12bbe1: nebula nodes have been added to single, so don't r...
by GitHub 01 Oct '14
by GitHub 01 Oct '14
01 Oct '14
Branch: refs/heads/master
Home: https://github.com/galaxyproject/usegalaxy-playbook
Commit: 12bbe1fb0c339de243fdfbc19b12ba6d0c809b6f
https://github.com/galaxyproject/usegalaxy-playbook/commit/12bbe1fb0c339de2…
Author: Nate Coraor <nate(a)bx.psu.edu>
Date: 2014-10-01 (Wed, 01 Oct 2014)
Changed paths:
M templates/galaxy/test.galaxyproject.org/config/job_conf.xml.j2
M templates/galaxy/usegalaxy.org/config/job_conf.xml.j2
Log Message:
-----------
nebula nodes have been added to single, so don't refer to them in the
job_conf.xml anymore.
1
0
commit/galaxy-central: guerler: ToolForm: Load history summary and metadata separately, add file extension to history api, fix spinner style for select field
by commits-noreply@bitbucket.org 01 Oct '14
by commits-noreply@bitbucket.org 01 Oct '14
01 Oct '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/6aad6ad39a04/
Changeset: 6aad6ad39a04
User: guerler
Date: 2014-10-01 17:36:46+00:00
Summary: ToolForm: Load history summary and metadata separately, add file extension to history api, fix spinner style for select field
Affected #: 17 files
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e client/galaxy/scripts/mvc/tools/tools-datasets.js
--- a/client/galaxy/scripts/mvc/tools/tools-datasets.js
+++ b/client/galaxy/scripts/mvc/tools/tools-datasets.js
@@ -1,15 +1,10 @@
-define([ 'mvc/history/history-contents', 'utils/utils' ], function( HistoryContents, Utils ){
+define(['utils/utils'], function(Utils){
return Backbone.Model.extend({
// initialize
initialize: function(options) {
- // create history contents container
- this.currHistoryContents = new HistoryContents.HistoryContents({});
-
- // identify current history id
- this.currHistoryContents.historyId = options.history_id;
-
- // prepare datatype structure
- this.typedict = {};
+ // prepare datasets obects
+ this.datatypes = {};
+ this.summary = {};
// link this
var self = this;
@@ -18,70 +13,99 @@
Utils.get({
url : galaxy_config.root + 'api/datatypes/mapping',
cache : true,
- success : function(typedict) {
+ success : function(response) {
// backup datatype dictionary
- self.typedict = typedict;
+ self.datatypes = response;
- // make request
- var xhr = self.currHistoryContents.fetchAllDetails()
- .done( function(){
- // log request success
+ // get history summary
+ Utils.get({
+ url : galaxy_config.root + 'api/histories/' + options.history_id + '/contents?deleted=false',
+ success : function(response) {
+ // backup summary
+ self.summary = response;
+
+ // log
console.debug('tools-datasets::initialize() - Completed.');
// callback
options.success && options.success();
- })
- .fail( function(){
+ },
+ error : function(response) {
// log request failure
- console.debug('tools-datasets::initialize() - Ajax request for history datasets failed.');
- });
+ console.debug('tools-datasets::initialize() - Ajax request for summary failed.');
+ console.debug(response);
+ }
+ });
},
error : function(response) {
// log request failure
- console.debug('tools-datasets::initialize() - Ajax request for datatype dictionary failed.');
+ console.debug('tools-datasets::initialize() - Ajax request for datatypes failed.');
+ console.debug(response);
}
});
},
- /** Filters datasets by data type.
+ /**
+ * Filters datasets by data type.
*/
filterType: function(options) {
options = options || {};
- var self = this;
- return this.currHistoryContents.filter(function(content){
+ var result = [];
+ for (var i in this.summary) {
+ var dataset = this.summary[i];
+
// match datatypes
var found = false;
for (var i in options.data_types) {
- if (self._matchType(content.get('data_type'), options.data_types[i])) {
+ if (this._matchType(options.data_types[i], dataset.extension)) {
found = true;
break;
}
}
// final match result
- return (content.get('history_content_type') === options.content_type || !options.content_type) &&
- (found || !options.data_types) && !content.get('deleted');
- });
+ if ((dataset.history_content_type === options.content_type || !options.content_type) && (found || !options.data_types)) {
+ result.push(dataset);
+ }
+ }
+ return result;
},
- /** Filter datasets by id.
+ /** Get details of a dataset by id.
+ * @param{String} Dataset id
*/
- filter: function(filter_id) {
- return _.first( this.currHistoryContents.filter( function( content ){ return content.get( 'id' ) === filter_id; }) );
+ getDetails: function(dataset_id, callback) {
+ Utils.get({
+ url : galaxy_config.root + 'api/datasets/' + dataset_id,
+ success : function(response) {
+ callback && callback(response);
+ },
+ error : function(response) {
+ console.debug('tools-datasets::getDetails() - Ajax request for dataset failed.');
+ console.debug(response);
+ }
+ });
},
/** Check if datatypes match
*/
- _matchType: function(reference, target) {
+ _matchType: function(target, reference) {
// check if target class is available
- var target_class = this.typedict.ext_to_class_name[target];
+ var target_class = this.datatypes.ext_to_class_name[target];
if (!target_class) {
console.debug('tools-datasets::_matchType() - Specific target class unavailable. Accepting all formats.');
return true;
}
+ // check if reference class is available
+ var reference_class = this.datatypes.ext_to_class_name[reference];
+ if (!reference_class) {
+ console.debug('tools-datasets::_matchType() - Specific reference class unavailable. Accepting all formats.');
+ return true;
+ }
+
// check reference group
- var reference_group = this.typedict.class_to_classes[reference];
+ var reference_group = this.datatypes.class_to_classes[reference_class];
if (reference_group[target_class]) {
return true;
}
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e client/galaxy/scripts/mvc/tools/tools-section.js
--- a/client/galaxy/scripts/mvc/tools/tools-section.js
+++ b/client/galaxy/scripts/mvc/tools/tools-section.js
@@ -414,7 +414,7 @@
extensions : input_def.extensions,
multiple : input_def.multiple,
onchange : function(dict) {
- // pick the first dataset if multiple might be selected
+ // pick the first dataset only (todo: maybe collect multiple meta information)
var value = dict.values[0].id;
// get referenced columns
@@ -426,72 +426,79 @@
return;
}
- // find selected dataset
- var dataset = self.app.datasets.filter(value);
-
- // meta data
- var meta = null;
-
- // check dataset
- if (dataset) {
- // log selection
- console.debug('tool-form::field_data() - Selected dataset ' + value + '.');
-
- // get meta data
- meta = dataset.get('metadata_column_types');
-
- // check meta data
- if (!meta) {
- console.debug('tool-form::field_data() - FAILED: Could not find metadata for dataset ' + value + '.');
- }
- } else {
- console.debug('tool-form::field_data() - FAILED: Could not find dataset ' + value + '.');
+ // set wait mode
+ for (var i in column_list) {
+ var column_field = self.app.field_list[column_list[i]];
+ column_field.wait && column_field.wait();
}
- // update referenced columns
- for (var i in column_list) {
- // get column input/field
- var column_input = self.app.input_list[column_list[i]];
- var column_field = self.app.field_list[column_list[i]];
- if (!column_input || !column_field) {
- console.debug('tool-form::field_data() - FAILED: Column not found.');
+ // find selected dataset
+ self.app.datasets.getDetails(value, function(dataset) {
+ // meta data
+ var meta = null;
+
+ // check dataset
+ if (dataset) {
+ // log selection
+ console.debug('tool-form::field_data() - Selected dataset ' + value + '.');
+
+ // get meta data
+ meta = dataset.metadata_column_types;
+
+ // check meta data
+ if (!meta) {
+ console.debug('tool-form::field_data() - FAILED: Could not find metadata for dataset ' + value + '.');
+ }
+ } else {
+ console.debug('tool-form::field_data() - FAILED: Could not find dataset ' + value + '.');
}
-
- // is numerical?
- var numerical = column_input.numerical;
- // identify column options
- var columns = [];
- for (var key in meta) {
- // get column type
- var column_type = meta[key];
+ // update referenced columns
+ for (var i in column_list) {
+ // get column input/field
+ var column_input = self.app.input_list[column_list[i]];
+ var column_field = self.app.field_list[column_list[i]];
+ if (!column_input || !column_field) {
+ console.debug('tool-form::field_data() - FAILED: Column not found.');
+ }
+
+ // is numerical?
+ var numerical = column_input.numerical;
- // column index
- var column_index = (parseInt(key) + 1);
-
- // column type label
- var column_label = 'Text';
- if (column_type == 'int' || column_type == 'float') {
- column_label = 'Number';
+ // identify column options
+ var columns = [];
+ for (var key in meta) {
+ // get column type
+ var column_type = meta[key];
+
+ // column index
+ var column_index = (parseInt(key) + 1);
+
+ // column type label
+ var column_label = 'Text';
+ if (column_type == 'int' || column_type == 'float') {
+ column_label = 'Number';
+ }
+
+ // add to selection
+ if (column_type == 'int' || column_type == 'float' || !numerical) {
+ columns.push({
+ 'label' : 'Column: ' + column_index + ' [' + column_label + ']',
+ 'value' : column_index
+ });
+ }
}
- // add to selection
- if (column_type == 'int' || column_type == 'float' || !numerical) {
- columns.push({
- 'label' : 'Column: ' + column_index + ' [' + column_label + ']',
- 'value' : column_index
- });
+ // update field
+ if (column_field) {
+ column_field.update(columns);
+ if (!column_field.exists(column_field.value())) {
+ column_field.value(column_field.first());
+ }
+ column_field.show();
}
}
-
- // update field
- if (column_field) {
- column_field.update(columns);
- if (!column_field.exists(column_field.value())) {
- column_field.value(column_field.first());
- }
- }
- }
+ });
}
});
},
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e client/galaxy/scripts/mvc/tools/tools-select-dataset.js
--- a/client/galaxy/scripts/mvc/tools/tools-select-dataset.js
+++ b/client/galaxy/scripts/mvc/tools/tools-select-dataset.js
@@ -40,8 +40,8 @@
var dataset_options = [];
for (var i in datasets) {
dataset_options.push({
- label: datasets[i].get('name'),
- value: datasets[i].get('id')
+ label: datasets[i].name,
+ value: datasets[i].id
});
}
@@ -67,8 +67,8 @@
var collection_options = [];
for (var i in collections) {
collection_options.push({
- label: collections[i].get('name'),
- value: collections[i].get('id')
+ label: collections[i].name,
+ value: collections[i].id
});
}
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e client/galaxy/scripts/mvc/ui/ui-select-default.js
--- a/client/galaxy/scripts/mvc/ui/ui-select-default.js
+++ b/client/galaxy/scripts/mvc/ui/ui-select-default.js
@@ -124,7 +124,6 @@
wait: function() {
this.$icon.removeClass();
this.$icon.addClass('fa fa-spinner fa-spin');
- this.$select.hide();
},
/** Returns true if the field is disabled
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e client/galaxy/scripts/utils/utils.js
--- a/client/galaxy/scripts/utils/utils.js
+++ b/client/galaxy/scripts/utils/utils.js
@@ -6,12 +6,13 @@
// dependencies
define(["libs/underscore"], function(_) {
-/* request handler for GET
- param{string} url
- param{function} success
- param{function} error
- param{boolean} cache
-*/
+/**
+ * Request handler for GET
+ * @param{String} url - Url request is made to
+ * @param{Function} success - Callback on success
+ * @param{Function} error - Callback on error
+ * @param{Boolean} cache - Use cached data if available
+ */
function get (options) {
top.__utils__get__ = top.__utils__get__ || {};
if (options.cache && top.__utils__get__[options.url]) {
@@ -32,13 +33,14 @@
}
};
-/* request handler
- param{string} method
- param{string} url
- param{object} data
- param{function} success
- param{function} error
-*/
+/**
+ * Request handler
+ * @param{String} method - Request method ['GET', 'POST', 'DELETE', 'PUT']
+ * @param{String} url - Url request is made to
+ * @param{Object} data - Data send to url
+ * @param{Function} success - Callback on success
+ * @param{Function} error - Callback on error
+ */
function request (options) {
// prepare ajax
var ajaxConfig = {
@@ -79,7 +81,11 @@
});
};
-// get css value
+/**
+ * Read a property value from CSS
+ * @param{String} classname - CSS class
+ * @param{String} name - CSS property
+ */
function cssGetAttribute (classname, name) {
// place dummy element
var el = $('<div class="' + classname + '"></div>');
@@ -97,14 +103,21 @@
return value;
};
-// load css
+/**
+ * Load a CSS file
+ * @param{String} url - Url of CSS file
+ */
function cssLoadFile (url) {
// check if css is already available
if (!$('link[href^="' + url + '"]').length)
$('<link href="' + galaxy_config.root + url + '" rel="stylesheet">').appendTo('head');
};
-// merge
+/**
+ * Safely merge to dictionaries
+ * @param{Object} options - Target dictionary
+ * @param{Object} optionsDefault - Source dictionary
+ */
function merge (options, optionsDefault) {
if (options)
return _.defaults(options, optionsDefault);
@@ -112,7 +125,11 @@
return optionsDefault;
};
-// to string
+/**
+ * Format byte size to string with units
+ * @param{Integer} size - Size in bytes
+ * @param{Boolean} normal_font - Switches font between normal and bold
+ */
function bytesToString (size, normal_font) {
// identify unit
var unit = "";
@@ -132,19 +149,26 @@
}
};
-// unique ide
+/**
+ * Create a unique id
+ */
function uuid(){
return 'x' + Math.random().toString(36).substring(2, 9);
};
-// wrap
+/**
+ * Wrap an dom element into a paragraph
+ * @param{Element} $el - DOM element to be wrapped
+ */
function wrap($el) {
var wrapper = $('<p></p>');
wrapper.append($el);
return wrapper;
};
-// time
+/**
+ * Create a time stamp
+ */
function time() {
// get date object
var d = new Date();
@@ -162,7 +186,6 @@
return datetime;
};
-// return
return {
cssLoadFile : cssLoadFile,
cssGetAttribute : cssGetAttribute,
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e lib/galaxy/webapps/galaxy/api/history_contents.py
--- a/lib/galaxy/webapps/galaxy/api/history_contents.py
+++ b/lib/galaxy/webapps/galaxy/api/history_contents.py
@@ -139,6 +139,7 @@
'type' : api_type,
'state' : hda.dataset.state,
'deleted': hda.deleted,
+ 'extension': hda.extension,
'visible': hda.visible,
'purged': hda.purged,
'resubmitted': hda._state == trans.app.model.Dataset.states.RESUBMITTED,
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/mvc/tools/tools-datasets.js
--- a/static/scripts/mvc/tools/tools-datasets.js
+++ b/static/scripts/mvc/tools/tools-datasets.js
@@ -1,15 +1,10 @@
-define([ 'mvc/history/history-contents', 'utils/utils' ], function( HistoryContents, Utils ){
+define(['utils/utils'], function(Utils){
return Backbone.Model.extend({
// initialize
initialize: function(options) {
- // create history contents container
- this.currHistoryContents = new HistoryContents.HistoryContents({});
-
- // identify current history id
- this.currHistoryContents.historyId = options.history_id;
-
- // prepare datatype structure
- this.typedict = {};
+ // prepare datasets obects
+ this.datatypes = {};
+ this.summary = {};
// link this
var self = this;
@@ -18,70 +13,99 @@
Utils.get({
url : galaxy_config.root + 'api/datatypes/mapping',
cache : true,
- success : function(typedict) {
+ success : function(response) {
// backup datatype dictionary
- self.typedict = typedict;
+ self.datatypes = response;
- // make request
- var xhr = self.currHistoryContents.fetchAllDetails()
- .done( function(){
- // log request success
+ // get history summary
+ Utils.get({
+ url : galaxy_config.root + 'api/histories/' + options.history_id + '/contents?deleted=false',
+ success : function(response) {
+ // backup summary
+ self.summary = response;
+
+ // log
console.debug('tools-datasets::initialize() - Completed.');
// callback
options.success && options.success();
- })
- .fail( function(){
+ },
+ error : function(response) {
// log request failure
- console.debug('tools-datasets::initialize() - Ajax request for history datasets failed.');
- });
+ console.debug('tools-datasets::initialize() - Ajax request for summary failed.');
+ console.debug(response);
+ }
+ });
},
error : function(response) {
// log request failure
- console.debug('tools-datasets::initialize() - Ajax request for datatype dictionary failed.');
+ console.debug('tools-datasets::initialize() - Ajax request for datatypes failed.');
+ console.debug(response);
}
});
},
- /** Filters datasets by data type.
+ /**
+ * Filters datasets by data type.
*/
filterType: function(options) {
options = options || {};
- var self = this;
- return this.currHistoryContents.filter(function(content){
+ var result = [];
+ for (var i in this.summary) {
+ var dataset = this.summary[i];
+
// match datatypes
var found = false;
for (var i in options.data_types) {
- if (self._matchType(content.get('data_type'), options.data_types[i])) {
+ if (this._matchType(options.data_types[i], dataset.extension)) {
found = true;
break;
}
}
// final match result
- return (content.get('history_content_type') === options.content_type || !options.content_type) &&
- (found || !options.data_types) && !content.get('deleted');
- });
+ if ((dataset.history_content_type === options.content_type || !options.content_type) && (found || !options.data_types)) {
+ result.push(dataset);
+ }
+ }
+ return result;
},
- /** Filter datasets by id.
+ /** Get details of a dataset by id.
+ * @param{String} Dataset id
*/
- filter: function(filter_id) {
- return _.first( this.currHistoryContents.filter( function( content ){ return content.get( 'id' ) === filter_id; }) );
+ getDetails: function(dataset_id, callback) {
+ Utils.get({
+ url : galaxy_config.root + 'api/datasets/' + dataset_id,
+ success : function(response) {
+ callback && callback(response);
+ },
+ error : function(response) {
+ console.debug('tools-datasets::getDetails() - Ajax request for dataset failed.');
+ console.debug(response);
+ }
+ });
},
/** Check if datatypes match
*/
- _matchType: function(reference, target) {
+ _matchType: function(target, reference) {
// check if target class is available
- var target_class = this.typedict.ext_to_class_name[target];
+ var target_class = this.datatypes.ext_to_class_name[target];
if (!target_class) {
console.debug('tools-datasets::_matchType() - Specific target class unavailable. Accepting all formats.');
return true;
}
+ // check if reference class is available
+ var reference_class = this.datatypes.ext_to_class_name[reference];
+ if (!reference_class) {
+ console.debug('tools-datasets::_matchType() - Specific reference class unavailable. Accepting all formats.');
+ return true;
+ }
+
// check reference group
- var reference_group = this.typedict.class_to_classes[reference];
+ var reference_group = this.datatypes.class_to_classes[reference_class];
if (reference_group[target_class]) {
return true;
}
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/mvc/tools/tools-section.js
--- a/static/scripts/mvc/tools/tools-section.js
+++ b/static/scripts/mvc/tools/tools-section.js
@@ -414,7 +414,7 @@
extensions : input_def.extensions,
multiple : input_def.multiple,
onchange : function(dict) {
- // pick the first dataset if multiple might be selected
+ // pick the first dataset only (todo: maybe collect multiple meta information)
var value = dict.values[0].id;
// get referenced columns
@@ -426,72 +426,79 @@
return;
}
- // find selected dataset
- var dataset = self.app.datasets.filter(value);
-
- // meta data
- var meta = null;
-
- // check dataset
- if (dataset) {
- // log selection
- console.debug('tool-form::field_data() - Selected dataset ' + value + '.');
-
- // get meta data
- meta = dataset.get('metadata_column_types');
-
- // check meta data
- if (!meta) {
- console.debug('tool-form::field_data() - FAILED: Could not find metadata for dataset ' + value + '.');
- }
- } else {
- console.debug('tool-form::field_data() - FAILED: Could not find dataset ' + value + '.');
+ // set wait mode
+ for (var i in column_list) {
+ var column_field = self.app.field_list[column_list[i]];
+ column_field.wait && column_field.wait();
}
- // update referenced columns
- for (var i in column_list) {
- // get column input/field
- var column_input = self.app.input_list[column_list[i]];
- var column_field = self.app.field_list[column_list[i]];
- if (!column_input || !column_field) {
- console.debug('tool-form::field_data() - FAILED: Column not found.');
+ // find selected dataset
+ self.app.datasets.getDetails(value, function(dataset) {
+ // meta data
+ var meta = null;
+
+ // check dataset
+ if (dataset) {
+ // log selection
+ console.debug('tool-form::field_data() - Selected dataset ' + value + '.');
+
+ // get meta data
+ meta = dataset.metadata_column_types;
+
+ // check meta data
+ if (!meta) {
+ console.debug('tool-form::field_data() - FAILED: Could not find metadata for dataset ' + value + '.');
+ }
+ } else {
+ console.debug('tool-form::field_data() - FAILED: Could not find dataset ' + value + '.');
}
-
- // is numerical?
- var numerical = column_input.numerical;
- // identify column options
- var columns = [];
- for (var key in meta) {
- // get column type
- var column_type = meta[key];
+ // update referenced columns
+ for (var i in column_list) {
+ // get column input/field
+ var column_input = self.app.input_list[column_list[i]];
+ var column_field = self.app.field_list[column_list[i]];
+ if (!column_input || !column_field) {
+ console.debug('tool-form::field_data() - FAILED: Column not found.');
+ }
+
+ // is numerical?
+ var numerical = column_input.numerical;
- // column index
- var column_index = (parseInt(key) + 1);
-
- // column type label
- var column_label = 'Text';
- if (column_type == 'int' || column_type == 'float') {
- column_label = 'Number';
+ // identify column options
+ var columns = [];
+ for (var key in meta) {
+ // get column type
+ var column_type = meta[key];
+
+ // column index
+ var column_index = (parseInt(key) + 1);
+
+ // column type label
+ var column_label = 'Text';
+ if (column_type == 'int' || column_type == 'float') {
+ column_label = 'Number';
+ }
+
+ // add to selection
+ if (column_type == 'int' || column_type == 'float' || !numerical) {
+ columns.push({
+ 'label' : 'Column: ' + column_index + ' [' + column_label + ']',
+ 'value' : column_index
+ });
+ }
}
- // add to selection
- if (column_type == 'int' || column_type == 'float' || !numerical) {
- columns.push({
- 'label' : 'Column: ' + column_index + ' [' + column_label + ']',
- 'value' : column_index
- });
+ // update field
+ if (column_field) {
+ column_field.update(columns);
+ if (!column_field.exists(column_field.value())) {
+ column_field.value(column_field.first());
+ }
+ column_field.show();
}
}
-
- // update field
- if (column_field) {
- column_field.update(columns);
- if (!column_field.exists(column_field.value())) {
- column_field.value(column_field.first());
- }
- }
- }
+ });
}
});
},
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/mvc/tools/tools-select-dataset.js
--- a/static/scripts/mvc/tools/tools-select-dataset.js
+++ b/static/scripts/mvc/tools/tools-select-dataset.js
@@ -40,8 +40,8 @@
var dataset_options = [];
for (var i in datasets) {
dataset_options.push({
- label: datasets[i].get('name'),
- value: datasets[i].get('id')
+ label: datasets[i].name,
+ value: datasets[i].id
});
}
@@ -67,8 +67,8 @@
var collection_options = [];
for (var i in collections) {
collection_options.push({
- label: collections[i].get('name'),
- value: collections[i].get('id')
+ label: collections[i].name,
+ value: collections[i].id
});
}
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/mvc/ui/ui-select-default.js
--- a/static/scripts/mvc/ui/ui-select-default.js
+++ b/static/scripts/mvc/ui/ui-select-default.js
@@ -124,7 +124,6 @@
wait: function() {
this.$icon.removeClass();
this.$icon.addClass('fa fa-spinner fa-spin');
- this.$select.hide();
},
/** Returns true if the field is disabled
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/packed/mvc/tools/tools-datasets.js
--- a/static/scripts/packed/mvc/tools/tools-datasets.js
+++ b/static/scripts/packed/mvc/tools/tools-datasets.js
@@ -1,1 +1,1 @@
-define(["mvc/history/history-contents","utils/utils"],function(b,a){return Backbone.Model.extend({initialize:function(d){this.currHistoryContents=new b.HistoryContents({});this.currHistoryContents.historyId=d.history_id;this.typedict={};var c=this;a.get({url:galaxy_config.root+"api/datatypes/mapping",cache:true,success:function(e){c.typedict=e;var f=c.currHistoryContents.fetchAllDetails().done(function(){console.debug("tools-datasets::initialize() - Completed.");d.success&&d.success()}).fail(function(){console.debug("tools-datasets::initialize() - Ajax request for history datasets failed.")})},error:function(e){console.debug("tools-datasets::initialize() - Ajax request for datatype dictionary failed.")}})},filterType:function(d){d=d||{};var c=this;return this.currHistoryContents.filter(function(f){var g=false;for(var e in d.data_types){if(c._matchType(f.get("data_type"),d.data_types[e])){g=true;break}}return(f.get("history_content_type")===d.content_type||!d.content_type)&&(g||!d.data_types)&&!f.get("deleted")})},filter:function(c){return _.first(this.currHistoryContents.filter(function(d){return d.get("id")===c}))},_matchType:function(c,f){var d=this.typedict.ext_to_class_name[f];if(!d){console.debug("tools-datasets::_matchType() - Specific target class unavailable. Accepting all formats.");return true}var e=this.typedict.class_to_classes[c];if(e[d]){return true}return false}})});
\ No newline at end of file
+define(["utils/utils"],function(a){return Backbone.Model.extend({initialize:function(c){this.datatypes={};this.summary={};var b=this;a.get({url:galaxy_config.root+"api/datatypes/mapping",cache:true,success:function(d){b.datatypes=d;a.get({url:galaxy_config.root+"api/histories/"+c.history_id+"/contents?deleted=false",success:function(e){b.summary=e;console.debug("tools-datasets::initialize() - Completed.");c.success&&c.success()},error:function(e){console.debug("tools-datasets::initialize() - Ajax request for summary failed.");console.debug(e)}})},error:function(d){console.debug("tools-datasets::initialize() - Ajax request for datatypes failed.");console.debug(d)}})},filterType:function(c){c=c||{};var b=[];for(var d in this.summary){var f=this.summary[d];var e=false;for(var d in c.data_types){if(this._matchType(c.data_types[d],f.extension)){e=true;break}}if((f.history_content_type===c.content_type||!c.content_type)&&(e||!c.data_types)){b.push(f)}}return b},getDetails:function(b,c){a.get({url:galaxy_config.root+"api/datasets/"+b,success:function(d){c&&c(d)},error:function(d){console.debug("tools-datasets::getDetails() - Ajax request for dataset failed.");console.debug(d)}})},_matchType:function(f,b){var c=this.datatypes.ext_to_class_name[f];if(!c){console.debug("tools-datasets::_matchType() - Specific target class unavailable. Accepting all formats.");return true}var d=this.datatypes.ext_to_class_name[b];if(!d){console.debug("tools-datasets::_matchType() - Specific reference class unavailable. Accepting all formats.");return true}var e=this.datatypes.class_to_classes[d];if(e[c]){return true}return false}})});
\ No newline at end of file
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/packed/mvc/tools/tools-section.js
--- a/static/scripts/packed/mvc/tools/tools-section.js
+++ b/static/scripts/packed/mvc/tools/tools-section.js
@@ -1,1 +1,1 @@
-define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/tools/tools-repeat","mvc/tools/tools-select-dataset"],function(d,a,g,c,b){var e=Backbone.View.extend({initialize:function(h){this.setElement(this._template(h))},error:function(h){this.$el.find(".ui-table-form-error-text").html(h);this.$el.find(".ui-table-form-error").fadeIn();this.$el.addClass("ui-error")},reset:function(){this.$el.find(".ui-table-form-error").hide();this.$el.removeClass("ui-error")},_template:function(h){var i=$('<div class="ui-table-element"/>');i.append('<div class="ui-table-form-error ui-error"><span class="fa fa-arrow-down"/><span class="ui-table-form-error-text"></div>');if(h.label){i.append('<div class="ui-table-form-title-strong">'+h.label+"</div>")}i.append(h.$el);if(h.help){i.append('<div class="ui-table-form-info">'+h.help+"</div>")}return i}});var f=Backbone.View.extend({initialize:function(i,h){this.app=i;this.inputs=h.inputs;h.cls_tr="section-row";this.table=new a.View(h);this.setElement(this.table.$el);this.render()},render:function(){this.table.delAll();for(var h in this.inputs){this._add(this.inputs[h])}},_add:function(j){var i=this;var h=jQuery.extend(true,{},j);h.id=d.uuid();this.app.input_list[h.id]=h;var k=h.type;switch(k){case"conditional":this._addConditional(h);break;case"repeat":this._addRepeat(h);break;default:this._addRow(k,h)}},_addConditional:function(h){h.label=h.test_param.label;h.value=h.test_param.value;var j=this._addRow("conditional",h);for(var l in h.cases){var k=h.id+"-section-"+l;var m=new f(this.app,{inputs:h.cases[l].inputs,cls:"ui-table-plain"});m.$el.addClass("ui-table-form-section");this.table.add(m.$el);this.table.append(k)}},_addRepeat:function(h){var j=this;var n=0;var m=new c.View({title_new:h.title,max:h.max,onnew:function(){var i=h.id+"-section-"+(n++);var q=new f(j.app,{inputs:h.inputs,cls:"ui-table-plain"});m.add({id:i,title:h.title,$el:q.$el,ondel:function(){m.del(i);m.retitle(h.title);j.app.refresh()}});m.retitle(h.title);j.app.refresh()}});for(var l=0;l<h.min;l++){var k=h.id+"-section-"+(n++);var p=new f(j.app,{inputs:h.inputs,cls:"ui-table-plain"});m.add({id:k,title:h.title,$el:p.$el})}m.retitle(h.title);var o=new e({label:h.title,help:h.help,$el:m.$el});o.$el.addClass("ui-table-form-section");this.table.add(o.$el);this.table.append(h.id)},_addRow:function(j,h){var l=h.id;var i=null;switch(j){case"text":i=this._field_text(h);break;case"select":i=this._field_select(h);break;case"data":i=this._field_data(h);break;case"data_column":i=this._field_select(h);break;case"conditional":i=this._field_conditional(h);break;case"hidden":i=this._field_hidden(h);break;case"integer":i=this._field_slider(h);break;case"float":i=this._field_slider(h);break;case"boolean":i=this._field_boolean(h);break}if(!i){if(h.options){i=this._field_select(h)}else{i=this._field_text(h)}console.debug("tools-form::_addRow() : Auto matched field type ("+j+").")}if(h.value!==undefined){i.value(h.value)}this.app.field_list[l]=i;var k=new e({label:h.label,help:h.help,$el:i.$el});this.app.element_list[l]=k;this.table.add(k.$el);this.table.append(l);return this.table.get(l)},_field_conditional:function(h){var j=this;var k=[];for(var l in h.test_param.options){var m=h.test_param.options[l];k.push({label:m[0],value:m[1]})}return new g.Select.View({id:"field-"+h.id,data:k,onchange:function(u){for(var s in h.cases){var o=h.cases[s];var r=h.id+"-section-"+s;var n=j.table.get(r);var q=false;for(var p in o.inputs){var t=o.inputs[p].type;if(t&&t!=="hidden"){q=true;break}}if(o.value==u&&q){n.fadeIn("fast")}else{n.hide()}}}})},_field_data:function(h){var i=this;var j=h.id;return new b.View(this.app,{id:"field-"+j,extensions:h.extensions,multiple:h.multiple,onchange:function(l){var v=l.values[0].id;var t=i.app.tree.references(j,"data_column");if(t.length<=0){console.debug("tool-form::field_data() - Data column parameters unavailable.");return}var o=i.app.datasets.filter(v);var x=null;if(o){console.debug("tool-form::field_data() - Selected dataset "+v+".");x=o.get("metadata_column_types");if(!x){console.debug("tool-form::field_data() - FAILED: Could not find metadata for dataset "+v+".")}}else{console.debug("tool-form::field_data() - FAILED: Could not find dataset "+v+".")}for(var p in t){var r=i.app.input_list[t[p]];var s=i.app.field_list[t[p]];if(!r||!s){console.debug("tool-form::field_data() - FAILED: Column not found.")}var n=r.numerical;var m=[];for(var w in x){var u=x[w];var k=(parseInt(w)+1);var q="Text";if(u=="int"||u=="float"){q="Number"}if(u=="int"||u=="float"||!n){m.push({label:"Column: "+k+" ["+q+"]",value:k})}}if(s){s.update(m);if(!s.exists(s.value())){s.value(s.first())}}}}})},_field_select:function(h){var j=[];for(var k in h.options){var l=h.options[k];j.push({label:l[0],value:l[1]})}var m=g.Select;switch(h.display){case"checkboxes":m=g.Checkbox;break;case"radio":m=g.Radio;break}return new m.View({id:"field-"+h.id,data:j,multiple:h.multiple})},_field_text:function(h){return new g.Input({id:"field-"+h.id,area:h.area})},_field_slider:function(h){h.min=h.min||0;h.max=h.max||100000;var i=1;if(h.type=="float"){i=(h.max-h.min)/10000}return new g.Slider.View({id:"field-"+h.id,min:h.min,max:h.max,step:i})},_field_hidden:function(h){return new g.Hidden({id:"field-"+h.id})},_field_boolean:function(h){return new g.RadioButton.View({id:"field-"+h.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}]})}});return{View:f}});
\ No newline at end of file
+define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/tools/tools-repeat","mvc/tools/tools-select-dataset"],function(d,a,g,c,b){var e=Backbone.View.extend({initialize:function(h){this.setElement(this._template(h))},error:function(h){this.$el.find(".ui-table-form-error-text").html(h);this.$el.find(".ui-table-form-error").fadeIn();this.$el.addClass("ui-error")},reset:function(){this.$el.find(".ui-table-form-error").hide();this.$el.removeClass("ui-error")},_template:function(h){var i=$('<div class="ui-table-element"/>');i.append('<div class="ui-table-form-error ui-error"><span class="fa fa-arrow-down"/><span class="ui-table-form-error-text"></div>');if(h.label){i.append('<div class="ui-table-form-title-strong">'+h.label+"</div>")}i.append(h.$el);if(h.help){i.append('<div class="ui-table-form-info">'+h.help+"</div>")}return i}});var f=Backbone.View.extend({initialize:function(i,h){this.app=i;this.inputs=h.inputs;h.cls_tr="section-row";this.table=new a.View(h);this.setElement(this.table.$el);this.render()},render:function(){this.table.delAll();for(var h in this.inputs){this._add(this.inputs[h])}},_add:function(j){var i=this;var h=jQuery.extend(true,{},j);h.id=d.uuid();this.app.input_list[h.id]=h;var k=h.type;switch(k){case"conditional":this._addConditional(h);break;case"repeat":this._addRepeat(h);break;default:this._addRow(k,h)}},_addConditional:function(h){h.label=h.test_param.label;h.value=h.test_param.value;var j=this._addRow("conditional",h);for(var l in h.cases){var k=h.id+"-section-"+l;var m=new f(this.app,{inputs:h.cases[l].inputs,cls:"ui-table-plain"});m.$el.addClass("ui-table-form-section");this.table.add(m.$el);this.table.append(k)}},_addRepeat:function(h){var j=this;var n=0;var m=new c.View({title_new:h.title,max:h.max,onnew:function(){var i=h.id+"-section-"+(n++);var q=new f(j.app,{inputs:h.inputs,cls:"ui-table-plain"});m.add({id:i,title:h.title,$el:q.$el,ondel:function(){m.del(i);m.retitle(h.title);j.app.refresh()}});m.retitle(h.title);j.app.refresh()}});for(var l=0;l<h.min;l++){var k=h.id+"-section-"+(n++);var p=new f(j.app,{inputs:h.inputs,cls:"ui-table-plain"});m.add({id:k,title:h.title,$el:p.$el})}m.retitle(h.title);var o=new e({label:h.title,help:h.help,$el:m.$el});o.$el.addClass("ui-table-form-section");this.table.add(o.$el);this.table.append(h.id)},_addRow:function(j,h){var l=h.id;var i=null;switch(j){case"text":i=this._field_text(h);break;case"select":i=this._field_select(h);break;case"data":i=this._field_data(h);break;case"data_column":i=this._field_select(h);break;case"conditional":i=this._field_conditional(h);break;case"hidden":i=this._field_hidden(h);break;case"integer":i=this._field_slider(h);break;case"float":i=this._field_slider(h);break;case"boolean":i=this._field_boolean(h);break}if(!i){if(h.options){i=this._field_select(h)}else{i=this._field_text(h)}console.debug("tools-form::_addRow() : Auto matched field type ("+j+").")}if(h.value!==undefined){i.value(h.value)}this.app.field_list[l]=i;var k=new e({label:h.label,help:h.help,$el:i.$el});this.app.element_list[l]=k;this.table.add(k.$el);this.table.append(l);return this.table.get(l)},_field_conditional:function(h){var j=this;var k=[];for(var l in h.test_param.options){var m=h.test_param.options[l];k.push({label:m[0],value:m[1]})}return new g.Select.View({id:"field-"+h.id,data:k,onchange:function(u){for(var s in h.cases){var o=h.cases[s];var r=h.id+"-section-"+s;var n=j.table.get(r);var q=false;for(var p in o.inputs){var t=o.inputs[p].type;if(t&&t!=="hidden"){q=true;break}}if(o.value==u&&q){n.fadeIn("fast")}else{n.hide()}}}})},_field_data:function(h){var i=this;var j=h.id;return new b.View(this.app,{id:"field-"+j,extensions:h.extensions,multiple:h.multiple,onchange:function(o){var n=o.values[0].id;var l=i.app.tree.references(j,"data_column");if(l.length<=0){console.debug("tool-form::field_data() - Data column parameters unavailable.");return}for(var m in l){var k=i.app.field_list[l[m]];k.wait&&k.wait()}i.app.datasets.getDetails(n,function(r){var z=null;if(r){console.debug("tool-form::field_data() - Selected dataset "+n+".");z=r.metadata_column_types;if(!z){console.debug("tool-form::field_data() - FAILED: Could not find metadata for dataset "+n+".")}}else{console.debug("tool-form::field_data() - FAILED: Could not find dataset "+n+".")}for(var t in l){var v=i.app.input_list[l[t]];var w=i.app.field_list[l[t]];if(!v||!w){console.debug("tool-form::field_data() - FAILED: Column not found.")}var s=v.numerical;var q=[];for(var y in z){var x=z[y];var p=(parseInt(y)+1);var u="Text";if(x=="int"||x=="float"){u="Number"}if(x=="int"||x=="float"||!s){q.push({label:"Column: "+p+" ["+u+"]",value:p})}}if(w){w.update(q);if(!w.exists(w.value())){w.value(w.first())}w.show()}}})}})},_field_select:function(h){var j=[];for(var k in h.options){var l=h.options[k];j.push({label:l[0],value:l[1]})}var m=g.Select;switch(h.display){case"checkboxes":m=g.Checkbox;break;case"radio":m=g.Radio;break}return new m.View({id:"field-"+h.id,data:j,multiple:h.multiple})},_field_text:function(h){return new g.Input({id:"field-"+h.id,area:h.area})},_field_slider:function(h){h.min=h.min||0;h.max=h.max||100000;var i=1;if(h.type=="float"){i=(h.max-h.min)/10000}return new g.Slider.View({id:"field-"+h.id,min:h.min,max:h.max,step:i})},_field_hidden:function(h){return new g.Hidden({id:"field-"+h.id})},_field_boolean:function(h){return new g.RadioButton.View({id:"field-"+h.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}]})}});return{View:f}});
\ No newline at end of file
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/packed/mvc/tools/tools-select-dataset.js
--- a/static/scripts/packed/mvc/tools/tools-select-dataset.js
+++ b/static/scripts/packed/mvc/tools/tools-select-dataset.js
@@ -1,1 +1,1 @@
-define(["utils/utils","mvc/ui/ui-misc","mvc/ui/ui-tabs","mvc/tools/tools-template"],function(c,e,b,a){var d=Backbone.View.extend({initialize:function(n,h){this.options=h;var g=this;this.setElement("<div/>");this.current="hda";this.button_new=new e.RadioButton.View({value:this.current,data:[{icon:"fa-file-o",label:"Select datasets",value:"hda"},{icon:"fa-files-o",label:"Select a collection",value:"hdca"}],onchange:function(i){g.current=i;g.refresh();g.trigger("change")}});var l=n.datasets.filterType({content_type:"dataset",data_types:h.extensions});var k=[];for(var j in l){k.push({label:l[j].get("name"),value:l[j].get("id")})}this.select_datasets=new e.Select.View({multiple:true,data:k,value:k[0]&&k[0].value,onchange:function(){g.trigger("change")}});var m=n.datasets.filterType({content_type:"collection",data_types:h.extensions});var f=[];for(var j in m){f.push({label:m[j].get("name"),value:m[j].get("id")})}this.select_collection=new e.Select.View({data:f,value:f[0]&&f[0].value,onchange:function(){g.trigger("change")}});this.$el.append(c.wrap(this.button_new.$el));this.$el.append(this.select_datasets.$el);this.$el.append(this.select_collection.$el);if(!this.options.multiple){this.$el.append(a.batchMode())}this.refresh();this.on("change",function(){if(h.onchange){h.onchange(g.value())}})},value:function(){var g=null;switch(this.current){case"hda":g=this.select_datasets;break;case"hdca":g=this.select_collection;break}var j=g.value();if(!(j instanceof Array)){j=[j]}var f={batch:!this.options.multiple,values:[]};for(var h in j){f.values.push({id:j[h],src:this.current})}return f},validate:function(){switch(this.current){case"hda":return this.select_datasets.validate();case"hdca":return this.select_collection.validate()}},refresh:function(){switch(this.current){case"hda":this.select_datasets.$el.fadeIn();this.select_collection.$el.hide();break;case"hdca":this.select_datasets.$el.hide();this.select_collection.$el.fadeIn();break}}});return{View:d}});
\ No newline at end of file
+define(["utils/utils","mvc/ui/ui-misc","mvc/ui/ui-tabs","mvc/tools/tools-template"],function(c,e,b,a){var d=Backbone.View.extend({initialize:function(n,h){this.options=h;var g=this;this.setElement("<div/>");this.current="hda";this.button_new=new e.RadioButton.View({value:this.current,data:[{icon:"fa-file-o",label:"Select datasets",value:"hda"},{icon:"fa-files-o",label:"Select a collection",value:"hdca"}],onchange:function(i){g.current=i;g.refresh();g.trigger("change")}});var l=n.datasets.filterType({content_type:"dataset",data_types:h.extensions});var k=[];for(var j in l){k.push({label:l[j].name,value:l[j].id})}this.select_datasets=new e.Select.View({multiple:true,data:k,value:k[0]&&k[0].value,onchange:function(){g.trigger("change")}});var m=n.datasets.filterType({content_type:"collection",data_types:h.extensions});var f=[];for(var j in m){f.push({label:m[j].name,value:m[j].id})}this.select_collection=new e.Select.View({data:f,value:f[0]&&f[0].value,onchange:function(){g.trigger("change")}});this.$el.append(c.wrap(this.button_new.$el));this.$el.append(this.select_datasets.$el);this.$el.append(this.select_collection.$el);if(!this.options.multiple){this.$el.append(a.batchMode())}this.refresh();this.on("change",function(){if(h.onchange){h.onchange(g.value())}})},value:function(){var g=null;switch(this.current){case"hda":g=this.select_datasets;break;case"hdca":g=this.select_collection;break}var j=g.value();if(!(j instanceof Array)){j=[j]}var f={batch:!this.options.multiple,values:[]};for(var h in j){f.values.push({id:j[h],src:this.current})}return f},validate:function(){switch(this.current){case"hda":return this.select_datasets.validate();case"hdca":return this.select_collection.validate()}},refresh:function(){switch(this.current){case"hda":this.select_datasets.$el.fadeIn();this.select_collection.$el.hide();break;case"hdca":this.select_datasets.$el.hide();this.select_collection.$el.fadeIn();break}}});return{View:d}});
\ No newline at end of file
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/packed/mvc/ui/ui-select-default.js
--- a/static/scripts/packed/mvc/ui/ui-select-default.js
+++ b/static/scripts/packed/mvc/ui/ui-select-default.js
@@ -1,1 +1,1 @@
-define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{id:"",cls:"",empty:"No data available",visible:true,wait:false,multiple:false},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.$select=this.$el.find("#select");this.$icon=this.$el.find("#icon");if(this.options.multiple){this.$select.prop("multiple",true);this.$select.addClass("ui-select-multiple");this.$icon.remove()}else{this.$el.addClass("ui-select")}this.update(this.options.data);if(!this.options.visible){this.hide()}if(this.options.wait){this.wait()}else{this.show()}var c=this;this.$select.on("change",function(){c._change()});this.on("change",function(){c._change()})},value:function(c){if(c!==undefined){this.$select.val(c)}return this.$select.val()},first:function(){var c=this.$select.find("option");if(c.length>0){return c.val()}else{return undefined}},validate:function(){var d=this.value();if(!(d instanceof Array)){d=[d]}for(var c in d){if(d[c]==="null"){return false}}return true},text:function(){return this.$select.find("option:selected").text()},show:function(){this.$icon.removeClass();this.$icon.addClass("fa fa-caret-down");this.$select.show();this.$el.show()},hide:function(){this.$el.hide()},wait:function(){this.$icon.removeClass();this.$icon.addClass("fa fa-spinner fa-spin");this.$select.hide()},disabled:function(){return this.$select.is(":disabled")},enable:function(){this.$select.prop("disabled",false)},disable:function(){this.$select.prop("disabled",true)},add:function(c){this.$select.append(this._templateOption(c));this._refresh()},del:function(c){this.$select.find("option[value="+c+"]").remove();this.$select.trigger("change");this._refresh()},update:function(c){var e=this.$select.val();this.$select.find("option").remove();for(var d in c){this.$select.append(this._templateOption(c[d]))}this._refresh();this.$select.val(e);if(!this.$select.val()){this.$select.val(this.first())}},setOnChange:function(c){this.options.onchange=c},exists:function(c){return this.$select.find('option[value="'+c+'"]').length>0},_change:function(){if(this.options.onchange){this.options.onchange(this.$select.val())}},_refresh:function(){this.$select.find("option[value=null]").remove();var c=this.$select.find("option").length;if(c==0){this.disable();this.$select.append(this._templateOption({value:"null",label:this.options.empty}))}else{this.enable()}},_templateOption:function(c){return'<option value="'+c.value+'">'+c.label+"</option>"},_template:function(c){return'<div id="'+c.id+'"><div class="button"><i id="icon"/></div><select id="select" class="select '+c.cls+" "+c.id+'"></select></div>'}});return{View:b}});
\ No newline at end of file
+define(["utils/utils"],function(a){var b=Backbone.View.extend({optionsDefault:{id:"",cls:"",empty:"No data available",visible:true,wait:false,multiple:false},initialize:function(d){this.options=a.merge(d,this.optionsDefault);this.setElement(this._template(this.options));this.$select=this.$el.find("#select");this.$icon=this.$el.find("#icon");if(this.options.multiple){this.$select.prop("multiple",true);this.$select.addClass("ui-select-multiple");this.$icon.remove()}else{this.$el.addClass("ui-select")}this.update(this.options.data);if(!this.options.visible){this.hide()}if(this.options.wait){this.wait()}else{this.show()}var c=this;this.$select.on("change",function(){c._change()});this.on("change",function(){c._change()})},value:function(c){if(c!==undefined){this.$select.val(c)}return this.$select.val()},first:function(){var c=this.$select.find("option");if(c.length>0){return c.val()}else{return undefined}},validate:function(){var d=this.value();if(!(d instanceof Array)){d=[d]}for(var c in d){if(d[c]==="null"){return false}}return true},text:function(){return this.$select.find("option:selected").text()},show:function(){this.$icon.removeClass();this.$icon.addClass("fa fa-caret-down");this.$select.show();this.$el.show()},hide:function(){this.$el.hide()},wait:function(){this.$icon.removeClass();this.$icon.addClass("fa fa-spinner fa-spin")},disabled:function(){return this.$select.is(":disabled")},enable:function(){this.$select.prop("disabled",false)},disable:function(){this.$select.prop("disabled",true)},add:function(c){this.$select.append(this._templateOption(c));this._refresh()},del:function(c){this.$select.find("option[value="+c+"]").remove();this.$select.trigger("change");this._refresh()},update:function(c){var e=this.$select.val();this.$select.find("option").remove();for(var d in c){this.$select.append(this._templateOption(c[d]))}this._refresh();this.$select.val(e);if(!this.$select.val()){this.$select.val(this.first())}},setOnChange:function(c){this.options.onchange=c},exists:function(c){return this.$select.find('option[value="'+c+'"]').length>0},_change:function(){if(this.options.onchange){this.options.onchange(this.$select.val())}},_refresh:function(){this.$select.find("option[value=null]").remove();var c=this.$select.find("option").length;if(c==0){this.disable();this.$select.append(this._templateOption({value:"null",label:this.options.empty}))}else{this.enable()}},_templateOption:function(c){return'<option value="'+c.value+'">'+c.label+"</option>"},_template:function(c){return'<div id="'+c.id+'"><div class="button"><i id="icon"/></div><select id="select" class="select '+c.cls+" "+c.id+'"></select></div>'}});return{View:b}});
\ No newline at end of file
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/scripts/utils/utils.js
--- a/static/scripts/utils/utils.js
+++ b/static/scripts/utils/utils.js
@@ -6,12 +6,13 @@
// dependencies
define(["libs/underscore"], function(_) {
-/* request handler for GET
- param{string} url
- param{function} success
- param{function} error
- param{boolean} cache
-*/
+/**
+ * Request handler for GET
+ * @param{String} url - Url request is made to
+ * @param{Function} success - Callback on success
+ * @param{Function} error - Callback on error
+ * @param{Boolean} cache - Use cached data if available
+ */
function get (options) {
top.__utils__get__ = top.__utils__get__ || {};
if (options.cache && top.__utils__get__[options.url]) {
@@ -32,13 +33,14 @@
}
};
-/* request handler
- param{string} method
- param{string} url
- param{object} data
- param{function} success
- param{function} error
-*/
+/**
+ * Request handler
+ * @param{String} method - Request method ['GET', 'POST', 'DELETE', 'PUT']
+ * @param{String} url - Url request is made to
+ * @param{Object} data - Data send to url
+ * @param{Function} success - Callback on success
+ * @param{Function} error - Callback on error
+ */
function request (options) {
// prepare ajax
var ajaxConfig = {
@@ -79,7 +81,11 @@
});
};
-// get css value
+/**
+ * Read a property value from CSS
+ * @param{String} classname - CSS class
+ * @param{String} name - CSS property
+ */
function cssGetAttribute (classname, name) {
// place dummy element
var el = $('<div class="' + classname + '"></div>');
@@ -97,14 +103,21 @@
return value;
};
-// load css
+/**
+ * Load a CSS file
+ * @param{String} url - Url of CSS file
+ */
function cssLoadFile (url) {
// check if css is already available
if (!$('link[href^="' + url + '"]').length)
$('<link href="' + galaxy_config.root + url + '" rel="stylesheet">').appendTo('head');
};
-// merge
+/**
+ * Safely merge to dictionaries
+ * @param{Object} options - Target dictionary
+ * @param{Object} optionsDefault - Source dictionary
+ */
function merge (options, optionsDefault) {
if (options)
return _.defaults(options, optionsDefault);
@@ -112,7 +125,11 @@
return optionsDefault;
};
-// to string
+/**
+ * Format byte size to string with units
+ * @param{Integer} size - Size in bytes
+ * @param{Boolean} normal_font - Switches font between normal and bold
+ */
function bytesToString (size, normal_font) {
// identify unit
var unit = "";
@@ -132,19 +149,26 @@
}
};
-// unique ide
+/**
+ * Create a unique id
+ */
function uuid(){
return 'x' + Math.random().toString(36).substring(2, 9);
};
-// wrap
+/**
+ * Wrap an dom element into a paragraph
+ * @param{Element} $el - DOM element to be wrapped
+ */
function wrap($el) {
var wrapper = $('<p></p>');
wrapper.append($el);
return wrapper;
};
-// time
+/**
+ * Create a time stamp
+ */
function time() {
// get date object
var d = new Date();
@@ -162,7 +186,6 @@
return datetime;
};
-// return
return {
cssLoadFile : cssLoadFile,
cssGetAttribute : cssGetAttribute,
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/style/blue/base.css
--- a/static/style/blue/base.css
+++ b/static/style/blue/base.css
@@ -1313,7 +1313,7 @@
.ui-form-slider .ui-form-slider-element{width:calc(100% - 110px);float:left;top:8px;left:10px}
.ui-radiobutton{width:100%}.ui-radiobutton label{height:23px;line-height:1em}
.ui-radiobutton i{padding-right:5px}
-.ui-select{position:relative;height:27px;overflow:hidden;border:1px solid #bfbfbf;-moz-border-radius:3px;border-radius:3px}.ui-select .button{position:relative;width:25px;height:100%;float:right;border-left:1px solid #bfbfbf;padding-left:9px;padding-top:4px;background:#f2f2f2}
+.ui-select{position:relative;height:27px;overflow:hidden;border:1px solid #bfbfbf;-moz-border-radius:3px;border-radius:3px}.ui-select .button{position:relative;width:25px;height:100%;float:right;border-left:1px solid #bfbfbf;background:#f2f2f2;text-align:center;line-height:25px}
.ui-select select{position:absolute;top:0px;height:100%;width:100%;padding-left:5px;cursor:pointer;background:transparent;border:0;border-radius:0;-webkit-appearance:none}
.ui-select-multiple{height:100% !important;width:100% !important}
.libraryRow{background-color:#ebd9b2}
diff -r 264079ecc6f0c3fe23b854791e22a181cd8ce11e -r 6aad6ad39a04c8897198f64af0797397a03d112e static/style/src/less/ui.less
--- a/static/style/src/less/ui.less
+++ b/static/style/src/less/ui.less
@@ -280,9 +280,9 @@
height: 100%;
float: right;
border-left: 1px solid @border-default-color;
- padding-left: 9px;
- padding-top: 4px;
background: @btn-default-bg;
+ text-align: center;
+ line-height: 25px;
}
select {
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
[galaxyproject/usegalaxy-playbook] 549046: Run the upload tool on nebula instances.
by GitHub 01 Oct '14
by GitHub 01 Oct '14
01 Oct '14
Branch: refs/heads/master
Home: https://github.com/galaxyproject/usegalaxy-playbook
Commit: 54904632c19d444b4d19ca431bdf03ab8c2f6b19
https://github.com/galaxyproject/usegalaxy-playbook/commit/54904632c19d444b…
Author: Nate Coraor <nate(a)bx.psu.edu>
Date: 2014-10-01 (Wed, 01 Oct 2014)
Changed paths:
M templates/galaxy/usegalaxy.org/config/job_conf.xml.j2
Log Message:
-----------
Run the upload tool on nebula instances.
Commit: 55bf343579fb8d539a592728e0654aac95904a53
https://github.com/galaxyproject/usegalaxy-playbook/commit/55bf343579fb8d53…
Author: Nate Coraor <nate(a)bx.psu.edu>
Date: 2014-10-01 (Wed, 01 Oct 2014)
Changed paths:
M production/group_vars/all.yml
M stage/group_vars/all.yml
Log Message:
-----------
Update Test and Main.
Compare: https://github.com/galaxyproject/usegalaxy-playbook/compare/598b3f1df5b4...…
1
0