Add ftpfile tool parameter

This commit is contained in:
guerler
2015-04-24 04:35:19 -04:00
parent e2175d66e9
commit eb538e00bd
10 changed files with 142 additions and 30 deletions
@@ -5,8 +5,9 @@ define(['utils/utils',
'mvc/ui/ui-misc',
'mvc/form/form-select-content',
'mvc/ui/ui-select-library',
'mvc/ui/ui-select-ftp',
'mvc/ui/ui-color-picker'],
function(Utils, Ui, SelectContent, SelectLibrary, ColorPicker) {
function(Utils, Ui, SelectContent, SelectLibrary, SelectFtp, ColorPicker) {
// create form view
return Backbone.Model.extend({
@@ -26,9 +27,10 @@ define(['utils/utils',
'hidden' : '_fieldHidden',
'hidden_data' : '_fieldHidden',
'baseurl' : '_fieldHidden',
'library_data' : '_fieldLibrary'
'library_data' : '_fieldLibrary',
'ftpfile' : '_fieldFtp'
},
// initialize
initialize: function(app, options) {
this.app = app;
@@ -53,7 +55,7 @@ define(['utils/utils',
if (fieldClass && typeof(this[fieldClass]) === 'function') {
field = this[fieldClass].call(this, input_def);
}
// identify field type
if (!field) {
// flag
@@ -172,7 +174,7 @@ define(['utils/utils',
}
});
},
/** Text input field
*/
_fieldText: function(input_def) {
@@ -272,6 +274,20 @@ define(['utils/utils',
self.app.trigger('change');
}
});
},
/** FTP file field
*/
_fieldFtp: function(input_def) {
var self = this;
return new SelectFtp.View({
id : 'field-' + input_def.id,
optional : input_def.optional,
multiple : input_def.multiple,
onchange : function() {
self.app.trigger('change');
}
});
}
});
+19 -5
View File
@@ -50,10 +50,21 @@ var View = Backbone.View.extend({
this.portlet.empty();
if ($.isArray(val)) {
for (var i in val) {
this.add({
id : val[i].id,
name : val[i].name
});
var v = val[i];
var v_id = null;
var v_name = null;
if ($.type(v) != 'string') {
v_id = v.id;
v_name = v.name;
} else {
v_id = v_name = v;
}
if (v_id != null) {
this.add({
id : v_id,
name : v_name
});
}
}
}
this._refresh();
@@ -66,13 +77,16 @@ var View = Backbone.View.extend({
name : $(this).find('.ui-list-name').html()
});
});
if (lst.length == 0) {
return null;
}
return lst;
},
/** Add row */
add: function(options) {
var self = this;
if (this.$('#' + options.id).length === 0) {
if (this.$('[id="' + options.id + '"]').length === 0) {
if (Utils.validate(options.id)) {
var $el = $(this._templateRow({
id : options.id,
@@ -0,0 +1,53 @@
// dependencies
define(['utils/utils', 'mvc/ui/ui-list'],
function(Utils, List) {
/**
* FTP file selector
*/
var View = Backbone.View.extend({
// initialize
initialize : function(options) {
// link this
var self = this;
// create ui-list view to keep track of selected ftp files
this.ftpfile_list = new List.View({
name : 'file',
optional : options.optional,
multiple : options.multiple,
onchange : function() {
options.onchange && options.onchange(self.value());
}
});
// create elements
this.setElement(this.ftpfile_list.$el);
// initial fetch of ftps
Utils.get({
url : galaxy_config.root + 'api/remote_files',
success : function(response) {
var data = [];
for (var i in response) {
data.push({
value : response[i]['path'],
label : response[i]['path']
});
}
self.ftpfile_list.update(data);
}
});
},
/** Return/Set currently selected ftp datasets */
value: function(val) {
return this.ftpfile_list.value(val);
}
});
return {
View: View
}
});
+42 -17
View File
@@ -587,6 +587,14 @@ class FTPFileToolParameter( ToolParameter ):
"""
input_source = ensure_input_source(input_source)
ToolParameter.__init__( self, tool, input_source )
self.multiple = input_source.get_bool( 'multiple', True )
self.user_ftp_dir = ''
def get_initial_value( self, trans, context, history=None ):
if not trans is None:
if not trans.user is None:
self.user_ftp_dir = "%s/" % trans.user_ftp_dir
return None
@property
def visible( self ):
@@ -601,28 +609,45 @@ class FTPFileToolParameter( ToolParameter ):
user_ftp_dir = trans.user_ftp_dir
return form_builder.FTPFileField( self.name, user_ftp_dir, trans.app.config.ftp_upload_site, value=value )
def to_param_dict_string( self, value, other_values={} ):
if value is '':
return 'None'
lst = [ '%s%s' % (self.user_ftp_dir, dataset) for dataset in value ]
if self.multiple:
return lst
else:
return lst[ 0 ]
def from_html( self, value, trans=None, other_values={} ):
try:
assert type( value ) is list
except:
value = [ value ]
return value
return self.to_python( value, trans.app, validate=True )
def to_string( self, value, app ):
if value in [ None, '' ]:
return None
elif isinstance( value, unicode ) or isinstance( value, str ) or isinstance( value, list ):
return value
return self.to_python( value, app )
def to_python( self, value, app ):
if value is None:
return None
elif isinstance( value, unicode ) or isinstance( value, str ) or isinstance( value, list ):
return value
def get_initial_value( self, trans, context, history=None ):
return None
def to_python( self, value, app, validate=False ):
if validate and self.tool.app.config.ftp_upload_dir is None:
raise ValueError( "The FTP directory is not configured." )
if not isinstance( value, list ):
value = [ value ]
lst = []
for val in value:
if val is None:
lst = []
break
if isinstance( val, dict ):
lst.append( val[ 'name' ] )
else:
lst.append( val )
if len( lst ) == 0:
if not self.optional and validate:
raise ValueError( "Please select a valid FTP file." )
return ''
return lst
def to_dict( self, trans, view='collection', value_mapper=None, other_values=None ):
d = super( FTPFileToolParameter, self ).to_dict( trans )
d['multiple'] = self.multiple
return d
class HiddenToolParameter( ToolParameter ):
"""
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"form-parameters.js","sources":["../../../src/mvc/form/form-parameters.js"],"names":["define","Utils","Ui","SelectContent","SelectLibrary","ColorPicker","Backbone","Model","extend","types","text","select","data_column","genomebuild","data","data_collection","integer","float","boolean","drill_down","color","hidden","hidden_data","baseurl","library_data","initialize","app","this","create","input_def","undefined","value","default_value","field","fieldClass","type","call","incompatible","options","_fieldSelect","_fieldText","console","debug","_fieldData","is_workflow","info","name","textify","extensions","toString","_fieldHidden","self","View","id","optional","multiple","onchange","trigger","length","error_text","i","option","push","label","SelectClass","Select","display","Checkbox","Radio","searchable","_fieldDrilldown","Drilldown","area","validate","$","isArray","str_value","String","Input","_fieldSlider","Slider","precise","min","max","Hidden","_fieldBoolean","RadioButton","_fieldColor","_fieldLibrary"],"mappings":"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"}
{"version":3,"file":"form-parameters.js","sources":["../../../src/mvc/form/form-parameters.js"],"names":["define","Utils","Ui","SelectContent","SelectLibrary","SelectFtp","ColorPicker","Backbone","Model","extend","types","text","select","data_column","genomebuild","data","data_collection","integer","float","boolean","drill_down","color","hidden","hidden_data","baseurl","library_data","ftpfile","initialize","app","this","create","input_def","undefined","value","default_value","field","fieldClass","type","call","incompatible","options","_fieldSelect","_fieldText","console","debug","_fieldData","is_workflow","info","name","textify","extensions","toString","_fieldHidden","self","View","id","optional","multiple","onchange","trigger","length","error_text","i","option","push","label","SelectClass","Select","display","Checkbox","Radio","searchable","_fieldDrilldown","Drilldown","area","validate","$","isArray","str_value","String","Input","_fieldSlider","Slider","precise","min","max","Hidden","_fieldBoolean","RadioButton","_fieldColor","_fieldLibrary","_fieldFtp"],"mappings":"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"}
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"ui-list.js","sources":["../../../src/mvc/ui/ui-list.js"],"names":["define","Utils","Portlet","Ui","View","Backbone","extend","initialize","options","self","this","name","multiple","message","Message","cls","portlet","select","Select","optional","button","ButtonIcon","icon","floating","tooltip","onclick","add","id","value","text","setElement","_template","$","append","$el","val","undefined","empty","isArray","i","v","v_id","v_name","type","_refresh","lst","each","push","prop","find","html","length","validate","_templateRow","on","remove","addClass","removeClass","update","status","disable","show","enable","hide","onchange"],"mappings":"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"}
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"ui-select-ftp.js","sources":["../../../src/mvc/ui/ui-select-ftp.js"],"names":["define","Utils","List","View","Backbone","extend","initialize","options","self","this","ftpfile_list","name","optional","multiple","onchange","value","setElement","$el","get","url","galaxy_config","root","success","response","data","i","push","label","update","val"],"mappings":"AACAA,QAAQ,cAAe,kBACf,SAASC,EAAOC,GAKxB,GAAIC,GAAOC,SAASD,KAAKE,QAErBC,WAAa,SAASC,GAElB,GAAIC,GAAOC,IAGXA,MAAKC,aAAe,GAAIR,GAAKC,MACzBQ,KAAc,OACdC,SAAcL,EAAQK,SACtBC,SAAcN,EAAQM,SACtBC,SAAc,WACVP,EAAQO,UAAYP,EAAQO,SAASN,EAAKO,YAKlDN,KAAKO,WAAWP,KAAKC,aAAaO,KAGlChB,EAAMiB,KACFC,IAAUC,cAAcC,KAAO,mBAC/BC,QAAU,SAASC,GACf,GAAIC,KACJ,KAAK,GAAIC,KAAKF,GACVC,EAAKE,MACDX,MAAUQ,EAASE,GAAS,KAC5BE,MAAUJ,EAASE,GAAS,MAGpCjB,GAAKE,aAAakB,OAAOJ,OAMrCT,MAAO,SAASc,GACZ,MAAOpB,MAAKC,aAAaK,MAAMc,KAIvC,QACI1B,KAAMA"}
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils","mvc/ui/ui-misc","mvc/form/form-select-content","mvc/ui/ui-select-library","mvc/ui/ui-color-picker"],function(a,b,c,d,e){return Backbone.Model.extend({types:{text:"_fieldText",select:"_fieldSelect",data_column:"_fieldSelect",genomebuild:"_fieldSelect",data:"_fieldData",data_collection:"_fieldData",integer:"_fieldSlider","float":"_fieldSlider","boolean":"_fieldBoolean",drill_down:"_fieldDrilldown",color:"_fieldColor",hidden:"_fieldHidden",hidden_data:"_fieldHidden",baseurl:"_fieldHidden",library_data:"_fieldLibrary"},initialize:function(a){this.app=a},create:function(a){void 0===a.value&&(a.value=null),void 0===a.default_value&&(a.default_value=a.value);var b=null,c=this.types[a.type];return c&&"function"==typeof this[c]&&(b=this[c].call(this,a)),b||(this.app.incompatible=!0,b=a.options?this._fieldSelect(a):this._fieldText(a),console.debug("tools-form::_addRow() : Auto matched field type ("+a.type+").")),void 0!==a.value&&b.value(a.value),b},_fieldData:function(b){if(this.app.options.is_workflow)return b.info="Data input '"+b.name+"' ("+a.textify(b.extensions.toString())+")",b.value=null,this._fieldHidden(b);var d=this;return new c.View(this.app,{id:"field-"+b.id,extensions:b.extensions,optional:b.optional,multiple:b.multiple,type:b.type,data:b.options,onchange:function(){d.app.trigger("change")}})},_fieldSelect:function(a){if(0==a.options.length&&this.app.options.is_workflow)return this._fieldText(a);"data_column"==a.type&&(a.error_text="Missing columns in referenced dataset.");var c=[];for(var d in a.options){var e=a.options[d];c.push({label:e[0],value:e[1]})}var f=b.Select;switch(a.display){case"checkboxes":f=b.Checkbox;break;case"radio":f=b.Radio}var g=this;return new f.View({id:"field-"+a.id,data:c,error_text:a.error_text||"No options available",optional:a.optional&&null===a.default_value,multiple:a.multiple,optional:a.optional,searchable:a.searchable,onchange:function(){g.app.trigger("change")}})},_fieldDrilldown:function(a){if(0==a.options.length&&this.app.options.is_workflow)return this._fieldText(a);var c=this;return new b.Drilldown.View({id:"field-"+a.id,data:a.options,display:a.display,onchange:function(){c.app.trigger("change")}})},_fieldText:function(c){if(c.options)if(c.area=c.multiple,a.validate(c.value)){if($.isArray(c.value)){var d="";for(var e in c.value){if(d+=String(c.value[e]),!c.multiple)break;d+="\n"}c.value=d}}else c.value="";var f=this;return new b.Input({id:"field-"+c.id,area:c.area,onchange:function(){f.app.trigger("change")}})},_fieldSlider:function(a){var c=this;return new b.Slider.View({id:"field-"+a.id,precise:"float"==a.type,min:a.min,max:a.max,onchange:function(){c.app.trigger("change")}})},_fieldHidden:function(a){return new b.Hidden({id:"field-"+a.id,info:a.info})},_fieldBoolean:function(a){var c=this;return new b.RadioButton.View({id:"field-"+a.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:function(){c.app.trigger("change")}})},_fieldColor:function(a){var b=this;return new e({id:"field-"+a.id,onchange:function(){b.app.trigger("change")}})},_fieldLibrary:function(a){var b=this;return new d.View({id:"field-"+a.id,optional:a.optional,multiple:a.multiple,onchange:function(){b.app.trigger("change")}})}})});
define(["utils/utils","mvc/ui/ui-misc","mvc/form/form-select-content","mvc/ui/ui-select-library","mvc/ui/ui-select-ftp","mvc/ui/ui-color-picker"],function(a,b,c,d,e,f){return Backbone.Model.extend({types:{text:"_fieldText",select:"_fieldSelect",data_column:"_fieldSelect",genomebuild:"_fieldSelect",data:"_fieldData",data_collection:"_fieldData",integer:"_fieldSlider","float":"_fieldSlider","boolean":"_fieldBoolean",drill_down:"_fieldDrilldown",color:"_fieldColor",hidden:"_fieldHidden",hidden_data:"_fieldHidden",baseurl:"_fieldHidden",library_data:"_fieldLibrary",ftpfile:"_fieldFtp"},initialize:function(a){this.app=a},create:function(a){void 0===a.value&&(a.value=null),void 0===a.default_value&&(a.default_value=a.value);var b=null,c=this.types[a.type];return c&&"function"==typeof this[c]&&(b=this[c].call(this,a)),b||(this.app.incompatible=!0,b=a.options?this._fieldSelect(a):this._fieldText(a),console.debug("tools-form::_addRow() : Auto matched field type ("+a.type+").")),void 0!==a.value&&b.value(a.value),b},_fieldData:function(b){if(this.app.options.is_workflow)return b.info="Data input '"+b.name+"' ("+a.textify(b.extensions.toString())+")",b.value=null,this._fieldHidden(b);var d=this;return new c.View(this.app,{id:"field-"+b.id,extensions:b.extensions,optional:b.optional,multiple:b.multiple,type:b.type,data:b.options,onchange:function(){d.app.trigger("change")}})},_fieldSelect:function(a){if(0==a.options.length&&this.app.options.is_workflow)return this._fieldText(a);"data_column"==a.type&&(a.error_text="Missing columns in referenced dataset.");var c=[];for(var d in a.options){var e=a.options[d];c.push({label:e[0],value:e[1]})}var f=b.Select;switch(a.display){case"checkboxes":f=b.Checkbox;break;case"radio":f=b.Radio}var g=this;return new f.View({id:"field-"+a.id,data:c,error_text:a.error_text||"No options available",optional:a.optional&&null===a.default_value,multiple:a.multiple,optional:a.optional,searchable:a.searchable,onchange:function(){g.app.trigger("change")}})},_fieldDrilldown:function(a){if(0==a.options.length&&this.app.options.is_workflow)return this._fieldText(a);var c=this;return new b.Drilldown.View({id:"field-"+a.id,data:a.options,display:a.display,onchange:function(){c.app.trigger("change")}})},_fieldText:function(c){if(c.options)if(c.area=c.multiple,a.validate(c.value)){if($.isArray(c.value)){var d="";for(var e in c.value){if(d+=String(c.value[e]),!c.multiple)break;d+="\n"}c.value=d}}else c.value="";var f=this;return new b.Input({id:"field-"+c.id,area:c.area,onchange:function(){f.app.trigger("change")}})},_fieldSlider:function(a){var c=this;return new b.Slider.View({id:"field-"+a.id,precise:"float"==a.type,min:a.min,max:a.max,onchange:function(){c.app.trigger("change")}})},_fieldHidden:function(a){return new b.Hidden({id:"field-"+a.id,info:a.info})},_fieldBoolean:function(a){var c=this;return new b.RadioButton.View({id:"field-"+a.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:function(){c.app.trigger("change")}})},_fieldColor:function(a){var b=this;return new f({id:"field-"+a.id,onchange:function(){b.app.trigger("change")}})},_fieldLibrary:function(a){var b=this;return new d.View({id:"field-"+a.id,optional:a.optional,multiple:a.multiple,onchange:function(){b.app.trigger("change")}})},_fieldFtp:function(a){var b=this;return new e.View({id:"field-"+a.id,optional:a.optional,multiple:a.multiple,onchange:function(){b.app.trigger("change")}})}})});
//# sourceMappingURL=../../../maps/mvc/form/form-parameters.js.map
+1 -1
View File
@@ -1,2 +1,2 @@
define(["utils/utils","mvc/ui/ui-portlet","mvc/ui/ui-misc"],function(a,b,c){var d=Backbone.View.extend({initialize:function(a){var d=this;this.options=a,this.name=a.name||"element",this.multiple=a.multiple||!1,this.message=new c.Message({cls:"ui-margin-top"}),this.portlet=new b.View({cls:"ui-portlet-section"}),this.select=new c.Select.View({optional:a.optional}),this.button=new c.ButtonIcon({icon:"fa fa-sign-in",floating:"left",tooltip:"Insert new "+this.name,onclick:function(){d.add({id:d.select.value(),name:d.select.text()})}}),this.setElement(this._template(a)),this.$(".ui-list-message").append(this.message.$el),this.$(".ui-list-portlet").append(this.portlet.$el),this.$(".ui-list-button").append(this.button.$el),this.$(".ui-list-select").append(this.select.$el)},value:function(a){if(void 0!==a){if(this.portlet.empty(),$.isArray(a))for(var b in a)this.add({id:a[b].id,name:a[b].name});this._refresh()}var c=[];return this.$(".ui-list-id").each(function(){c.push({id:$(this).prop("id"),name:$(this).find(".ui-list-name").html()})}),c},add:function(b){var c=this;if(0===this.$("#"+b.id).length)if(a.validate(b.id)){var d=$(this._templateRow({id:b.id,name:b.name}));d.on("click",function(){d.remove(),c._refresh()}),d.on("mouseover",function(){d.addClass("portlet-highlight")}),d.on("mouseout",function(){d.removeClass("portlet-highlight")}),this.portlet.append(d),this._refresh()}else this.message.update({message:"Please select a valid "+this.name+".",status:"danger"});else this.message.update({message:"This "+this.name+" is already in the list."})},update:function(a){this.select.update(a)},_refresh:function(){this.$(".ui-list-id").length>0?(!this.multiple&&this.button.disable(),this.$(".ui-list-portlet").show()):(this.button.enable(),this.$(".ui-list-portlet").hide()),this.options.onchange&&this.options.onchange()},_template:function(){return'<div class="ui-list"><div class="ui-margin-top"><span class="ui-list-button"/><span class="ui-list-select"/></div><div class="ui-list-message"/><div class="ui-list-portlet"/></div>'},_templateRow:function(a){return'<div id="'+a.id+'" class="ui-list-id"><span class="ui-list-delete fa fa-trash"/><span class="ui-list-name">'+a.name+"</span></div>"}});return{View:d}});
define(["utils/utils","mvc/ui/ui-portlet","mvc/ui/ui-misc"],function(a,b,c){var d=Backbone.View.extend({initialize:function(a){var d=this;this.options=a,this.name=a.name||"element",this.multiple=a.multiple||!1,this.message=new c.Message({cls:"ui-margin-top"}),this.portlet=new b.View({cls:"ui-portlet-section"}),this.select=new c.Select.View({optional:a.optional}),this.button=new c.ButtonIcon({icon:"fa fa-sign-in",floating:"left",tooltip:"Insert new "+this.name,onclick:function(){d.add({id:d.select.value(),name:d.select.text()})}}),this.setElement(this._template(a)),this.$(".ui-list-message").append(this.message.$el),this.$(".ui-list-portlet").append(this.portlet.$el),this.$(".ui-list-button").append(this.button.$el),this.$(".ui-list-select").append(this.select.$el)},value:function(a){if(void 0!==a){if(this.portlet.empty(),$.isArray(a))for(var b in a){var c=a[b],d=null,e=null;"string"!=$.type(c)?(d=c.id,e=c.name):d=e=c,null!=d&&this.add({id:d,name:e})}this._refresh()}var f=[];return this.$(".ui-list-id").each(function(){f.push({id:$(this).prop("id"),name:$(this).find(".ui-list-name").html()})}),0==f.length?null:f},add:function(b){var c=this;if(0===this.$('[id="'+b.id+'"]').length)if(a.validate(b.id)){var d=$(this._templateRow({id:b.id,name:b.name}));d.on("click",function(){d.remove(),c._refresh()}),d.on("mouseover",function(){d.addClass("portlet-highlight")}),d.on("mouseout",function(){d.removeClass("portlet-highlight")}),this.portlet.append(d),this._refresh()}else this.message.update({message:"Please select a valid "+this.name+".",status:"danger"});else this.message.update({message:"This "+this.name+" is already in the list."})},update:function(a){this.select.update(a)},_refresh:function(){this.$(".ui-list-id").length>0?(!this.multiple&&this.button.disable(),this.$(".ui-list-portlet").show()):(this.button.enable(),this.$(".ui-list-portlet").hide()),this.options.onchange&&this.options.onchange()},_template:function(){return'<div class="ui-list"><div class="ui-margin-top"><span class="ui-list-button"/><span class="ui-list-select"/></div><div class="ui-list-message"/><div class="ui-list-portlet"/></div>'},_templateRow:function(a){return'<div id="'+a.id+'" class="ui-list-id"><span class="ui-list-delete fa fa-trash"/><span class="ui-list-name">'+a.name+"</span></div>"}});return{View:d}});
//# sourceMappingURL=../../../maps/mvc/ui/ui-list.js.map
+2
View File
@@ -0,0 +1,2 @@
define(["utils/utils","mvc/ui/ui-list"],function(a,b){var c=Backbone.View.extend({initialize:function(c){var d=this;this.ftpfile_list=new b.View({name:"file",optional:c.optional,multiple:c.multiple,onchange:function(){c.onchange&&c.onchange(d.value())}}),this.setElement(this.ftpfile_list.$el),a.get({url:galaxy_config.root+"api/remote_files",success:function(a){var b=[];for(var c in a)b.push({value:a[c].path,label:a[c].path});d.ftpfile_list.update(b)}})},value:function(a){return this.ftpfile_list.value(a)}});return{View:c}});
//# sourceMappingURL=../../../maps/mvc/ui/ui-select-ftp.js.map