mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Improve robustness of error message display on tool execution
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
/**
|
||||
This is the regular tool form.
|
||||
*/
|
||||
define([ 'utils/utils', 'mvc/ui/ui-misc', 'mvc/tool/tool-form-base' ],
|
||||
function( Utils, Ui, ToolFormBase ) {
|
||||
define([ 'utils/utils', 'mvc/ui/ui-misc', 'mvc/ui/ui-modal', 'mvc/tool/tool-form-base' ],
|
||||
function( Utils, Ui, Modal, ToolFormBase ) {
|
||||
var View = ToolFormBase.extend({
|
||||
initialize: function( options ) {
|
||||
var self = this;
|
||||
options.listen_to_history = true;
|
||||
options.always_refresh = false;
|
||||
this.modal = parent.Galaxy.modal || new Modal.View();
|
||||
ToolFormBase.prototype.initialize.call( this, Utils.merge({
|
||||
customize: function( options ) {
|
||||
// build execute button
|
||||
@@ -82,20 +83,22 @@ define([ 'utils/utils', 'mvc/ui/ui-misc', 'mvc/tool/tool-form-base' ],
|
||||
error : function( response ) {
|
||||
callback && callback();
|
||||
Galaxy.emit.debug( 'tool-form::submit', 'Submission failed.', response );
|
||||
var input_found = false;
|
||||
if ( response && response.err_data ) {
|
||||
var error_messages = self.data.matchResponse( response.err_data );
|
||||
for (var input_id in error_messages) {
|
||||
self.highlight( input_id, error_messages[ input_id ]);
|
||||
input_found = true;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
var modal = parent.Galaxy.modal;
|
||||
modal && modal.show({
|
||||
}
|
||||
if ( !input_found ) {
|
||||
self.modal.show({
|
||||
title : 'Job submission failed',
|
||||
body : ( response && response.err_msg ) || self._templateError( job_def ),
|
||||
buttons : {
|
||||
'Close' : function() {
|
||||
modal.hide();
|
||||
self.modal.hide();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"tool-form.js","sources":["../../../src/mvc/tool/tool-form.js"],"names":["define","Utils","Ui","ToolFormBase","View","extend","initialize","options","self","this","listen_to_history","always_refresh","prototype","call","merge","customize","buttons","execute","execute_btn","Button","icon","tooltip","name","version","title","cls","floating","onclick","wait","portlet","disable","submit","unwait","enable","job_id","job_remap","inputs","label","type","display","ignore","value","help","callback","job_def","tool_id","id","tool_version","data","create","trigger","validate","Galaxy","emit","debug","action","root","$f","$","attr","method","enctype","_","each","key","append","hide","appendTo","remove","request","url","success","response","$el","empty","_templateSuccess","parent","currHistoryPanel","refreshContents","error","err_data","error_messages","matchResponse","input_id","highlight","modal","show","body","err_msg","_templateError","Close","job_inputs","batch_n","batch_src","job_input_id","input_value","match","input_field","field_list","input_def","input_list","optional","batch","n","values","length","src","jobs","njobs","njobs_text","$message","addClass","text","outputs","output","hid","JSON","stringify"],"mappings":"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"}
|
||||
{"version":3,"file":"tool-form.js","sources":["../../../src/mvc/tool/tool-form.js"],"names":["define","Utils","Ui","Modal","ToolFormBase","View","extend","initialize","options","self","this","listen_to_history","always_refresh","modal","parent","Galaxy","prototype","call","merge","customize","buttons","execute","execute_btn","Button","icon","tooltip","name","version","title","cls","floating","onclick","wait","portlet","disable","submit","unwait","enable","job_id","job_remap","inputs","label","type","display","ignore","value","help","callback","job_def","tool_id","id","tool_version","data","create","trigger","validate","emit","debug","action","root","$f","$","attr","method","enctype","_","each","key","append","hide","appendTo","remove","request","url","success","response","$el","empty","_templateSuccess","currHistoryPanel","refreshContents","error","input_found","err_data","error_messages","matchResponse","input_id","highlight","show","body","err_msg","_templateError","Close","job_inputs","batch_n","batch_src","job_input_id","input_value","match","input_field","field_list","input_def","input_list","optional","batch","n","values","length","src","jobs","njobs","njobs_text","$message","addClass","text","outputs","output","hid","JSON","stringify"],"mappings":"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"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
define(["utils/utils","mvc/ui/ui-misc","mvc/tool/tool-form-base"],function(a,b,c){var d=c.extend({initialize:function(d){var e=this;d.listen_to_history=!0,d.always_refresh=!1,c.prototype.initialize.call(this,a.merge({customize:function(a){a.buttons={execute:execute_btn=new b.Button({icon:"fa-check",tooltip:"Execute: "+a.name+" ("+a.version+")",title:"Execute",cls:"ui-button btn btn-primary",floating:"clear",onclick:function(){execute_btn.wait(),e.portlet.disable(),e.submit(a,function(){execute_btn.unwait(),e.portlet.enable()})}})},a.job_id&&a.job_remap&&(a.inputs.rerun_remap_job_id={label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",a.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})}},d))},submit:function(b,c){var d=this,e={tool_id:b.id,tool_version:b.version,inputs:this.data.create()};if(this.trigger("reset"),!d.validate(e))return Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(c&&c());if(b.action!==Galaxy.root+"tool_runner/index"){var f=$("<form/>").attr({action:b.action,method:b.method,enctype:b.enctype});return _.each(e.inputs,function(a,b){f.append($("<input/>").attr({name:b,value:a}))}),f.hide().appendTo("body").submit().remove(),void(c&&c())}Galaxy.emit.debug("tool-form::submit()","Validation complete.",e),a.request({type:"POST",url:Galaxy.root+"api/tools",data:e,success:function(a){c&&c(),d.$el.empty().append(d._templateSuccess(a)),parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(a){if(c&&c(),Galaxy.emit.debug("tool-form::submit","Submission failed.",a),a&&a.err_data){var b=d.data.matchResponse(a.err_data);for(var f in b){d.highlight(f,b[f]);break}}else{var g=parent.Galaxy.modal;g&&g.show({title:"Job submission failed",body:a&&a.err_msg||d._templateError(e),buttons:{Close:function(){g.hide()}}})}}})},validate:function(a){var b=a.inputs,c=-1,d=null;for(var e in b){var f=b[e],g=this.data.match(e),h=this.field_list[g],i=this.input_list[g];if(g&&i&&h){if(!i.optional&&null==f)return this.highlight(g),!1;if(f&&f.batch){var j=f.values.length,k=j>0&&f.values[0]&&f.values[0].src;if(k)if(null===d)d=k;else if(d!==k)return this.highlight(g,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===c)c=j;else if(c!==j)return this.highlight(g,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains <b>"+j+"</b> selection(s) while a previous field contains <b>"+c+"</b>."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0},_templateSuccess:function(a){if(a.jobs&&a.jobs.length>0){var b=a.jobs.length,c=1==b?"1 job has":b+" jobs have",d=$("<div/>").addClass("donemessagelarge").append($("<p/>").text(c+" been successfully added to the queue - resulting in the following datasets:"));return _.each(a.outputs,function(a){d.append($("<p/>").addClass("messagerow").append($("<b/>").text(a.hid+": "+a.name)))}),d.append($("<p/>").append("<b/>").text("You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.")),d}return this._templateError(a)},_templateError:function(a){return $("<div/>").addClass("errormessagelarge").append($("<p/>").text("The server could not complete the request. Please contact the Galaxy Team if this error persists.")).append($("<pre/>").text(JSON.stringify(a,null,4)))}});return{View:d}});
|
||||
define(["utils/utils","mvc/ui/ui-misc","mvc/ui/ui-modal","mvc/tool/tool-form-base"],function(a,b,c,d){var e=d.extend({initialize:function(e){var f=this;e.listen_to_history=!0,e.always_refresh=!1,this.modal=parent.Galaxy.modal||new c.View,d.prototype.initialize.call(this,a.merge({customize:function(a){a.buttons={execute:execute_btn=new b.Button({icon:"fa-check",tooltip:"Execute: "+a.name+" ("+a.version+")",title:"Execute",cls:"ui-button btn btn-primary",floating:"clear",onclick:function(){execute_btn.wait(),f.portlet.disable(),f.submit(a,function(){execute_btn.unwait(),f.portlet.enable()})}})},a.job_id&&a.job_remap&&(a.inputs.rerun_remap_job_id={label:"Resume dependencies from this job",name:"rerun_remap_job_id",type:"select",display:"radio",ignore:"__ignore__",value:"__ignore__",options:[["Yes",a.job_id],["No","__ignore__"]],help:"The previous run of this tool failed and other tools were waiting for it to finish successfully. Use this option to resume those tools using the new output(s) of this tool run."})}},e))},submit:function(b,c){var d=this,e={tool_id:b.id,tool_version:b.version,inputs:this.data.create()};if(this.trigger("reset"),!d.validate(e))return Galaxy.emit.debug("tool-form::submit()","Submission canceled. Validation failed."),void(c&&c());if(b.action!==Galaxy.root+"tool_runner/index"){var f=$("<form/>").attr({action:b.action,method:b.method,enctype:b.enctype});return _.each(e.inputs,function(a,b){f.append($("<input/>").attr({name:b,value:a}))}),f.hide().appendTo("body").submit().remove(),void(c&&c())}Galaxy.emit.debug("tool-form::submit()","Validation complete.",e),a.request({type:"POST",url:Galaxy.root+"api/tools",data:e,success:function(a){c&&c(),d.$el.empty().append(d._templateSuccess(a)),parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents()},error:function(a){c&&c(),Galaxy.emit.debug("tool-form::submit","Submission failed.",a);var b=!1;if(a&&a.err_data){var f=d.data.matchResponse(a.err_data);for(var g in f){d.highlight(g,f[g]),b=!0;break}}b||d.modal.show({title:"Job submission failed",body:a&&a.err_msg||d._templateError(e),buttons:{Close:function(){d.modal.hide()}}})}})},validate:function(a){var b=a.inputs,c=-1,d=null;for(var e in b){var f=b[e],g=this.data.match(e),h=this.field_list[g],i=this.input_list[g];if(g&&i&&h){if(!i.optional&&null==f)return this.highlight(g),!1;if(f&&f.batch){var j=f.values.length,k=j>0&&f.values[0]&&f.values[0].src;if(k)if(null===d)d=k;else if(d!==k)return this.highlight(g,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===c)c=j;else if(c!==j)return this.highlight(g,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains <b>"+j+"</b> selection(s) while a previous field contains <b>"+c+"</b>."),!1}}else Galaxy.emit.debug("tool-form::validate()","Retrieving input objects failed.")}return!0},_templateSuccess:function(a){if(a.jobs&&a.jobs.length>0){var b=a.jobs.length,c=1==b?"1 job has":b+" jobs have",d=$("<div/>").addClass("donemessagelarge").append($("<p/>").text(c+" been successfully added to the queue - resulting in the following datasets:"));return _.each(a.outputs,function(a){d.append($("<p/>").addClass("messagerow").append($("<b/>").text(a.hid+": "+a.name)))}),d.append($("<p/>").append("<b/>").text("You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.")),d}return this._templateError(a)},_templateError:function(a){return $("<div/>").addClass("errormessagelarge").append($("<p/>").text("The server could not complete the request. Please contact the Galaxy Team if this error persists.")).append($("<pre/>").text(JSON.stringify(a,null,4)))}});return{View:e}});
|
||||
//# sourceMappingURL=../../../maps/mvc/tool/tool-form.js.map
|
||||
Reference in New Issue
Block a user