diff --git a/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js b/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js index c1dc69678eb..ea097fcfd9c 100644 --- a/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js +++ b/client/galaxy/scripts/mvc/dataset/dataset-li-edit.js @@ -122,30 +122,38 @@ var DatasetListItemEdit = _super.extend( return $details; }, - /************************************************************************** + /************************************************************************** * Render help button to show tool help text without rerunning the tool. * Issue #2100 */ _renderToolHelpButton : function() { var datasetID = this.model.attributes.dataset_id; var jobID = this.model.attributes.creating_job; + var self = this; var parseToolBuild = function(data) { - var toolName = data.name; - var toolHelp = (data.help) ? data.help : "No help is available for the tool."; - var helpString = '

Tool Help for ' + toolName + '

'; - helpString += toolHelp; + var helpString = '
' + if (data.name && data.help){ + helpString += 'Tool help for ' + data.name + '
'; + helpString += data.help; + } else { + helpString += 'Tool help is unavailable for this dataset.
'; + } helpString += '
'; - $('#dataset-' + datasetID).append($.parseHTML(helpString)); + self.$el.find( '.details' ).append($.parseHTML(helpString)); }; var parseToolID = function(data) { $.ajax({ - url: '/api/tools/' + data.tool_id + '/build' + url: Galaxy.root + 'api/tools/' + data.tool_id + '/build' }).done(function(data){ parseToolBuild(data); - }).fail(function(){console.log("Failed in api tools build call")}); + }).fail(function(){ + parseToolBuild({}) + }); }; - + if (Galaxy.user.id === null){ + return null + } return faIconButton({ title: 'Tool Help', classes: 'icon-btn', @@ -153,15 +161,16 @@ var DatasetListItemEdit = _super.extend( faIcon: 'fa-question', onclick: function() { var divString = 'thdiv-' + datasetID; - if ($("#" + divString).length > 0) - { - $("#" + divString).toggle(); + if (self.$el.find(".toolhelp").length > 0){ + self.$el.find(".toolhelp").toggle(); } else { $.ajax({ - url: '/api/jobs/' + jobID - }).done(function(data){ - parseToolID(data); - }).fail(function(){console.log('Failed on recovering /api/jobs/' + jobID + ' call.')}); + url: Galaxy.root + 'api/jobs/' + jobID + }).done(function(data){ + parseToolID(data); + }).fail(function(){ + console.log('Failed at recovering job information from the Galaxy API for job id "' + jobID + '".'); + }); } } }); @@ -386,15 +395,15 @@ DatasetListItemEdit.prototype.templates = (function(){ var visualizationsTemplate = BASE_MVC.wrapTemplate([ '<% if( visualizations.length === 1 ){ %>', - '', '', '', '<% } else { %>', - '