diff --git a/client/galaxy/scripts/mvc/form/form-parameters.js b/client/galaxy/scripts/mvc/form/form-parameters.js index 5b82dd9e339..030f3594a50 100644 --- a/client/galaxy/scripts/mvc/form/form-parameters.js +++ b/client/galaxy/scripts/mvc/form/form-parameters.js @@ -84,7 +84,7 @@ define(['utils/utils', /** Data input field */ _fieldData: function(input_def) { - if (!this.app.options.is_dynamic) { + if (this.app.options.is_workflow) { input_def.info = 'Data input \'' + input_def.name + '\' (' + Utils.textify(input_def.extensions.toString()) + ')'; input_def.value = null; return this._fieldHidden(input_def); @@ -107,7 +107,7 @@ define(['utils/utils', */ _fieldSelect: function (input_def) { // show text field in if dynamic fields are disabled e.g. in workflow editor - if (!this.app.options.is_dynamic && input_def.is_dynamic) { + if (input_def.options.length == 0 && this.app.options.is_workflow) { return this._fieldText(input_def); } @@ -157,10 +157,10 @@ define(['utils/utils', */ _fieldDrilldown: function (input_def) { // show text field in if dynamic fields are disabled e.g. in workflow editor - if (!this.app.options.is_dynamic && input_def.is_dynamic) { + if (input_def.options.length == 0 && this.app.options.is_workflow) { return this._fieldText(input_def); } - + // create drill down field var self = this; return new Ui.Drilldown.View({ @@ -185,13 +185,16 @@ define(['utils/utils', if (!Utils.validate(input_def.value)) { input_def.value = ''; } else { - if (input_def.value instanceof Array) { - input_def.value = value.toString(); - } else { - input_def.value = String(input_def.value).replace(/[\[\]'"\s]/g, ''); - if (input_def.multiple) { - input_def.value = input_def.value.replace(/,/g, '\n'); + if ($.isArray(input_def.value)) { + var str_value = ''; + for (var i in input_def.value) { + str_value += String(input_def.value[i]); + if (!input_def.multiple) { + break; + } + str_value += '\n'; } + input_def.value = str_value; } } } diff --git a/client/galaxy/scripts/mvc/form/form-view.js b/client/galaxy/scripts/mvc/form/form-view.js index 0ad6f12093b..312d9e8c2b7 100644 --- a/client/galaxy/scripts/mvc/form/form-view.js +++ b/client/galaxy/scripts/mvc/form/form-view.js @@ -11,8 +11,8 @@ define(['utils/utils', 'mvc/ui/ui-portlet', 'mvc/ui/ui-misc', initialize: function(options) { // options this.optionsDefault = { - // uses dynamic fields instead of text fields - is_dynamic : true, + // uses workflow editor mode i.e. text instead of select fields + is_workflow : false, // shows form in narrow view mode narrow : false, // shows errors on start diff --git a/client/galaxy/scripts/mvc/tools/tools-form-workflow.js b/client/galaxy/scripts/mvc/tools/tools-form-workflow.js index 4f4aa18f46a..fd8c8a5ce0d 100644 --- a/client/galaxy/scripts/mvc/tools/tools-form-workflow.js +++ b/client/galaxy/scripts/mvc/tools/tools-form-workflow.js @@ -24,7 +24,7 @@ define(['utils/utils', 'mvc/tools/tools-form-base'], text_disable : 'Set at Runtime', // configure workflow style - is_dynamic : false, + is_workflow : true, narrow : true, initial_errors : true, cls : 'ui-portlet-narrow', @@ -37,13 +37,6 @@ define(['utils/utils', 'mvc/tools/tools-form-base'], } }); - // declare fields as optional - Utils.deepeach(options.inputs, function(item) { - if (item.type) { - item.optional = (['data', 'data_hidden', 'hidden', 'repeat', 'conditional']).indexOf(item.type) == -1; - } - }); - // declare conditional fields as not optional Utils.deepeach(options.inputs, function(item) { if (item.type) { diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py index b6ba96792cf..18b864a694d 100755 --- a/lib/galaxy/tools/__init__.py +++ b/lib/galaxy/tools/__init__.py @@ -2257,7 +2257,7 @@ class Tool( object, Dictifiable ): return tool_dict - def to_json (self, trans, kwd={}, is_dynamic=True): + def to_json (self, trans, kwd={}, is_workflow=False): """ Recursively creates a tool dictionary containing repeats, dynamic options and updated states. """ @@ -2369,7 +2369,7 @@ class Tool( object, Dictifiable ): error = 'State validation failed.' # skip dynamic fields if deactivated - if not is_dynamic and input.is_dynamic: + if is_workflow and input.is_dynamic: return [value, None] # validate value content @@ -2463,29 +2463,31 @@ class Tool( object, Dictifiable ): elif input.type == 'section': iterate( tool_dict['inputs'], input.inputs, group_state, other_values ) else: - # create input dictionary, try to pass other_values if to_dict function supports it e.g. dynamic options + # identify name + input_name = tool_dict.get('name') + + # expand input dictionary incl. repeats and dynamic_parameters try: tool_dict = input.to_dict(trans, other_values=other_values) except Exception: + log.exception('tools::to_json() - Skipping parameter expansion for %s.' % input_name) pass - # identify name - input_name = tool_dict.get('name') - if input_name: - # backup default value - try: - tool_dict['default_value'] = input.get_initial_value(trans, other_values) - except Exception: - # get initial value failed due to improper late validation - tool_dict['default_value'] = None - pass + # backup default value + try: + tool_dict['default_value'] = input.get_initial_value(trans, other_values) + except Exception: + log.exception('tools::to_json() - Getting initial value failed %s.' % input_name) + # get initial value failed due to improper late validation + tool_dict['default_value'] = None + pass - # update input value from tool state - tool_dict['value'] = state_inputs.get(input_name, tool_dict['default_value']) + # update input value from tool state + tool_dict['value'] = state_inputs.get(input_name, tool_dict['default_value']) - # sanitize values - sanitize(tool_dict, 'value') - sanitize(tool_dict, 'default_value') + # sanitize values + sanitize(tool_dict, 'value') + sanitize(tool_dict, 'default_value') # backup final input dictionary group_inputs[input_index] = tool_dict diff --git a/lib/galaxy/tools/parameters/__init__.py b/lib/galaxy/tools/parameters/__init__.py index 73fcc26bb1e..b6c506057ae 100644 --- a/lib/galaxy/tools/parameters/__init__.py +++ b/lib/galaxy/tools/parameters/__init__.py @@ -64,12 +64,10 @@ def check_param( trans, param, incoming_value, param_values, source='html' ): value = param.from_html( value, trans, param_values ) else: value = param.from_json( value, trans, param_values ) - # Only validate if late validation is not needed - if not param.need_late_validation( trans, param_values ): - # Allow the value to be converted if necessary - filtered_value = param.filter_value( value, trans, param_values ) - # Then do any further validation on the value - param.validate( filtered_value, trans.history ) + # Allow the value to be converted if necessary + filtered_value = param.filter_value( value, trans, param_values ) + # Then do any further validation on the value + param.validate( filtered_value, trans.history ) elif value is None and isinstance( param, SelectToolParameter ): # An empty select list or column list param.validate( value, trans.history ) diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py index b9f8fff4bd7..76e613c5090 100644 --- a/lib/galaxy/tools/parameters/basic.py +++ b/lib/galaxy/tools/parameters/basic.py @@ -203,10 +203,7 @@ class ToolParameter( object, Dictifiable ): for validator in self.validators: validator.validate( value, history ) - def need_late_validation( self, trans, context ): - return False - - def to_dict( self, trans, view='collection', value_mapper=None ): + def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): """ to_dict tool parameter. This can be overridden by subclasses. """ tool_dict = super( ToolParameter, self ).to_dict() #TODO: wrapping html as it causes a lot of errors on subclasses - needs histories, etc. @@ -290,7 +287,7 @@ class TextToolParameter( ToolParameter ): def get_initial_value( self, trans, context, history=None ): return self.value - def to_dict( self, trans, view='collection', value_mapper=None ): + def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): d = super(TextToolParameter, self).to_dict(trans) d['area'] = self.area d['size'] = self.size @@ -495,7 +492,7 @@ class BooleanToolParameter( ToolParameter ): else: return self.falsevalue - def to_dict( self, trans, view='collection', value_mapper=None ): + def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): d = super(BooleanToolParameter, self).to_dict(trans) d['value'] = self.checked d['truevalue'] = self.truevalue @@ -705,7 +702,7 @@ class BaseURLToolParameter( ToolParameter ): # BaseURLToolParameters are ultimately "hidden" parameters return None - def to_dict( self, trans, view='collection', value_mapper=None ): + def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): d = super( BaseURLToolParameter, self ).to_dict( trans ) d['value'] = self.get_value( trans ) return d @@ -852,9 +849,9 @@ class SelectToolParameter( ToolParameter ): def get_html_field( self, trans=None, value=None, context={} ): # Dynamic options are not yet supported in workflow, allow # specifying the value as text for now. - if self.need_late_validation( trans, context ): - if value is not None: - assert isinstance( value, UnvalidatedValue ), "Late validation needed for '%s', but provided value (%s) is not of type UnvalidatedValue (%s)." % ( self.name, value, type( value ) ) + options = list(self.get_options( trans, context )) + if len(list(options)) == 0 and (trans is None or trans.workflow_building_mode): + if isinstance( value, UnvalidatedValue ): value = value.value if self.multiple: if value is None: @@ -870,7 +867,6 @@ class SelectToolParameter( ToolParameter ): # We could have an unvalidated value here when e.g. running a workflow. value = [ val.value if isinstance( val, UnvalidatedValue ) else val for val in value ] field = form_builder.SelectField( self.name, self.multiple, self.display, self.refresh_on_change, refresh_on_change_values=self.refresh_on_change_values ) - options = self.get_options( trans, context ) for text, optval, selected in options: if isinstance( optval, UnvalidatedValue ): optval = optval.value @@ -881,7 +877,8 @@ class SelectToolParameter( ToolParameter ): return field def from_html( self, value, trans=None, context={} ): - if self.need_late_validation( trans, context ): + legal_values = self.get_legal_values( trans, context ) + if len(list(legal_values)) == 0 and (trans is None or trans.workflow_building_mode): if self.multiple: # While it is generally allowed that a select value can be '', # we do not allow this to be the case in a dynamically @@ -896,7 +893,6 @@ class SelectToolParameter( ToolParameter ): # use \r\n to separate lines. value = value.split() return UnvalidatedValue( value ) - legal_values = self.get_legal_values( trans, context ) if not legal_values and self.optional: return None if not legal_values: @@ -963,61 +959,12 @@ class SelectToolParameter( ToolParameter ): return UnvalidatedValue( value["value"] ) return super( SelectToolParameter, self ).value_from_basic( value, app, ignore_errors=ignore_errors ) - def need_late_validation( self, trans, context ): - """ - Determine whether we need to wait to validate this parameters value - given the current state. For parameters with static options this is - always false (can always validate immediately). For parameters with - dynamic options, we need to check whether the other parameters which - determine what options are valid have been set. For the old style - dynamic options which do not specify dependencies, this is always true - (must validate at runtime). - """ - # Option list is statically defined, never need late validation - if not self.is_dynamic: - return False - # Old style dynamic options, no dependency information so there isn't - # a lot we can do: if we're dealing with workflows, have to assume - # late validation no matter what. - if self.dynamic_options is not None and ( trans is None or trans.workflow_building_mode ): - return True - # If we got this far, we can actually look at the dependencies - # to see if their values will not be available until runtime. - for dep_name in self.get_dependencies(): - # This may not be completely correct, but it's possible to go - # through the layers indicated below without assigning dep_value, - # which is even worse. TODO fix it? - dep_value = None - if dep_name in context: - dep_value = context[ dep_name ] - else: - # Quick hack to check deeper in the context. - # TODO: Context should really be scoped and the correct subset passed along. - # This happens specifically in all the GATK tools, the way the reference genome is handled. - for layer in context.itervalues(): - if isinstance( layer, dict ) and self.name in layer and dep_name in layer: - dep_value = layer[dep_name] - # Dependency on a dataset that does not yet exist - if isinstance( dep_value, DummyDataset ): - return True - # Dependency on a value that has not been checked - if isinstance( dep_value, UnvalidatedValue ): - return True - # Dependency on a value that does not yet exist - if isinstance( dep_value, RuntimeValue ): - return True - #dataset not ready yet - if hasattr( self, 'ref_input' ) and isinstance( dep_value, self.tool.app.model.HistoryDatasetAssociation ) and ( dep_value.is_pending or not dep_value.datatype.matches_any( self.ref_input.formats ) ): - return True - # Dynamic, but all dependenceis are known and have values - return False - def get_initial_value( self, trans, context, history=None ): # More working around dynamic options for workflow - if self.need_late_validation( trans, context ): + options = list( self.get_options( trans, context ) ) + if len(options) == 0 and (trans is None or trans.workflow_building_mode): # Really the best we can do? return UnvalidatedValue( None ) - options = list( self.get_options( trans, context ) ) value = [ optval for _, optval, selected in options if selected ] if len( value ) == 0: if not self.multiple and options: @@ -1143,7 +1090,7 @@ class GenomeBuildParameter( SelectToolParameter ): def get_legal_values( self, trans, other_values ): return set( dbkey for dbkey, _ in self._get_dbkey_names( trans=trans ) ) - def to_dict( self, trans, view='collection', value_mapper=None ): + def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): # skip SelectToolParameter (the immediate parent) bc we need to get options in a different way here d = ToolParameter.to_dict( self, trans ) @@ -1266,8 +1213,12 @@ class ColumnListParameter( SelectToolParameter ): return [] column_list = None for dataset in util.listify( dataset ): - # Handle columns not available. - if not dataset.metadata.columns: + unavailable = False + if not hasattr(dataset, 'metadata'): + unavailable = True + elif not dataset.metadata.columns: + unavailable = True + if unavailable: default_column_list = [] if self.accept_default: default_column_list.append( self.default_value or '1' ) @@ -1327,9 +1278,6 @@ class ColumnListParameter( SelectToolParameter ): def get_initial_value( self, trans, context, history=None ): if self.default_value is not None: - # dataset not ready / in workflow / etc - if self.need_late_validation( trans, context ): - return UnvalidatedValue( self.default_value ) return self.default_value return SelectToolParameter.get_initial_value( self, trans, context ) @@ -1339,33 +1287,6 @@ class ColumnListParameter( SelectToolParameter ): def get_dependencies( self ): return [ self.data_ref ] - def need_late_validation( self, trans, context ): - if super( ColumnListParameter, self ).need_late_validation( trans, context ): - return True - if self.data_ref not in context: - return False - # Get the selected dataset if selected - referent = context[ self.data_ref ] - if getattr( referent, 'history_content_type', None ) == "dataset_collection": - # TODO: also check datasets have been populated. - referent = referent.collection.dataset_instances - - datasets = util.listify( referent ) - for dataset in datasets: - if dataset: - # Check if metadata is available - if not hasattr(dataset, 'metadata'): - return True - - # Check if the dataset does not have the expected metadata for columns - if not dataset.metadata.columns: - # Only allow late validation if the dataset is not yet ready - # (since we have reason to expect the metadata to be ready eventually) - if dataset.is_pending or not dataset.datatype.matches_any( self.ref_input.formats ): - return True - # No late validation - return False - def to_dict( self, trans, view='collection', value_mapper=None, other_values={} ): # call parent to_dict d = super( ColumnListParameter, self ).to_dict( trans, other_values=other_values) @@ -1569,9 +1490,9 @@ class DrillDownSelectToolParameter( SelectToolParameter ): def get_html_field( self, trans=None, value=None, other_values={} ): # Dynamic options are not yet supported in workflow, allow # specifying the value as text for now. - if self.need_late_validation( trans, other_values ): - if value is not None: - assert isinstance( value, UnvalidatedValue ), "Late validation needed for '%s', but provided value (%s) is not of type UnvalidatedValue (%s)." % ( self.name, value, type( value ) ) + options = self.get_options( trans, value, other_values ) + if len(list(options)) == 0 and (trans is None or trans.workflow_building_mode): + if isinstance( value, UnvalidatedValue ): value = value.value if self.multiple: if value is None: @@ -1581,10 +1502,11 @@ class DrillDownSelectToolParameter( SelectToolParameter ): return form_builder.TextArea( self.name, value=value ) else: return form_builder.TextField( self.name, value=(value or "") ) - return form_builder.DrillDownField( self.name, self.multiple, self.display, self.refresh_on_change, self.get_options( trans, value, other_values ), value, refresh_on_change_values=self.refresh_on_change_values ) + return form_builder.DrillDownField( self.name, self.multiple, self.display, self.refresh_on_change, options, value, refresh_on_change_values=self.refresh_on_change_values ) def from_html( self, value, trans=None, other_values={} ): - if self.need_late_validation( trans, other_values ): + legal_values = self.get_legal_values( trans, other_values ) + if len(list(legal_values)) == 0 and (trans is None or trans.workflow_building_mode): if self.multiple: if value == '': # No option selected value = None @@ -1600,7 +1522,6 @@ class DrillDownSelectToolParameter( SelectToolParameter ): if not( self.repeat ) and len( value ) > 1: assert self.multiple, "Multiple values provided but parameter %s is not expecting multiple values" % self.name rval = [] - legal_values = self.get_legal_values( trans, other_values ) assert legal_values, "Parameter %s requires a value, but has no legal values defined" % self.name for val in value: if val not in legal_values: @@ -1656,11 +1577,11 @@ class DrillDownSelectToolParameter( SelectToolParameter ): initial_values.append( option['value'] ) recurse_options( initial_values, option['options'] ) # More working around dynamic options for workflow - if self.need_late_validation( trans, context ): - # Really the best we can do? + options = self.get_options( trans=trans, other_values=context ) + if len(list(options)) == 0 and (trans is None or trans.workflow_building_mode): return UnvalidatedValue( None ) initial_values = [] - recurse_options( initial_values, self.get_options( trans=trans, other_values=context ) ) + recurse_options( initial_values, options ) if len( initial_values ) == 0: initial_values = None return initial_values @@ -2120,11 +2041,6 @@ class DataToolParameter( BaseDataToolParameter ): else: validator.validate( value, history ) - def need_late_validation( self, trans, context ): - if trans is None or trans.workflow_building_mode: - return True - return False - def get_dependencies( self ): """ Get the *names* of the other params this param depends on. diff --git a/lib/galaxy/webapps/galaxy/api/workflows.py b/lib/galaxy/webapps/galaxy/api/workflows.py index 41445ea65e8..25a5705fb3c 100644 --- a/lib/galaxy/webapps/galaxy/api/workflows.py +++ b/lib/galaxy/webapps/galaxy/api/workflows.py @@ -331,7 +331,7 @@ class WorkflowsAPIController(BaseAPIController, UsesStoredWorkflowMixin, UsesAnn } ) # create tool model and default tool state (if missing) - tool_model = module.tool.to_json(trans, tool_inputs, is_dynamic=False) + tool_model = module.tool.to_json(trans, tool_inputs, is_workflow=True) module.state.inputs = copy.deepcopy(tool_model['state_inputs']) return { 'tool_model' : tool_model, diff --git a/static/maps/mvc/form/form-parameters.js.map b/static/maps/mvc/form/form-parameters.js.map index 2f1cc7fec5b..93c6937a9c6 100644 --- a/static/maps/mvc/form/form-parameters.js.map +++ b/static/maps/mvc/form/form-parameters.js.map @@ -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_dynamic","info","name","textify","extensions","toString","_fieldHidden","self","View","id","optional","multiple","onchange","trigger","error_text","i","option","push","label","SelectClass","Select","display","Checkbox","Radio","searchable","_fieldDrilldown","Drilldown","area","validate","Array","String","replace","Input","_fieldSlider","Slider","precise","min","max","Hidden","_fieldBoolean","RadioButton","_fieldColor","_fieldLibrary"],"mappings":"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"} \ No newline at end of file +{"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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"} \ No newline at end of file diff --git a/static/maps/mvc/form/form-view.js.map b/static/maps/mvc/form/form-view.js.map index 10d6646b3c8..0945822af38 100644 --- a/static/maps/mvc/form/form-view.js.map +++ b/static/maps/mvc/form/form-view.js.map @@ -1 +1 @@ -{"version":3,"file":"form-view.js","sources":["../../../src/mvc/form/form-view.js"],"names":["define","Utils","Portlet","Ui","FormSection","FormData","Backbone","View","extend","initialize","options","this","optionsDefault","is_dynamic","narrow","initial_errors","cls","merge","console","debug","galaxy","parent","Galaxy","modal","Modal","setElement","_build","update","new_model","self","data","matchModel","input_id","node","input","input_list","_","isEqual","field","field_list","new_options","indexOf","type","i","opt","length","push","label","value","trigger","wait","active","unwait","reciept","$el","empty","append","highlight","message","silent","input_element","element_list","error","$","animate","scrollTop","offset","top","errors","error_messages","matchResponse","off","_renderForm","create","current_check","checksum","on","new_check","onchange","reset","Message","section","inputs","incompatible","hide","show","portlet","icon","title","operations","buttons","addClass","persistent","status"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"form-view.js","sources":["../../../src/mvc/form/form-view.js"],"names":["define","Utils","Portlet","Ui","FormSection","FormData","Backbone","View","extend","initialize","options","this","optionsDefault","is_workflow","narrow","initial_errors","cls","merge","console","debug","galaxy","parent","Galaxy","modal","Modal","setElement","_build","update","new_model","self","data","matchModel","input_id","node","input","input_list","_","isEqual","field","field_list","new_options","indexOf","type","i","opt","length","push","label","value","trigger","wait","active","is_dynamic","unwait","reciept","$el","empty","append","highlight","message","silent","input_element","element_list","error","$","animate","scrollTop","offset","top","errors","error_messages","matchResponse","off","_renderForm","create","current_check","checksum","on","new_check","onchange","reset","Message","section","inputs","incompatible","hide","show","portlet","icon","title","operations","buttons","addClass","persistent","status"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/tools/tools-form-workflow.js.map b/static/maps/mvc/tools/tools-form-workflow.js.map index 1b38b22e2e7..f2f63f476e9 100644 --- a/static/maps/mvc/tools/tools-form-workflow.js.map +++ b/static/maps/mvc/tools/tools-form-workflow.js.map @@ -1 +1 @@ -{"version":3,"file":"tools-form-workflow.js","sources":["../../../src/mvc/tools/tools-form-workflow.js"],"names":["define","Utils","ToolFormBase","View","extend","initialize","options","this","node","workflow","active_node","console","debug","post_job_actions","merge","text_enable","text_disable","is_dynamic","narrow","initial_errors","cls","update_url","galaxy_config","root","update","data","self","update_field_data","form","errors","tool_model","deepeach","inputs","item","type","optional","indexOf","test_param","get","url","cache","success","datatypes","_makeSections","prototype","call","uid","label","name","area","help","value","annotation","output_id","output_terminals","Object","keys","String","Boolean","ignore","payload","host","window","location","i","_makeSection","visit","head","head_list","push","input","action","argument","p_id","p","d","j","expand","action_arguments","slice","extensions","key",1,"sort","a","b","unshift","input_config","title"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools-form-workflow.js","sources":["../../../src/mvc/tools/tools-form-workflow.js"],"names":["define","Utils","ToolFormBase","View","extend","initialize","options","this","node","workflow","active_node","console","debug","post_job_actions","merge","text_enable","text_disable","is_workflow","narrow","initial_errors","cls","update_url","galaxy_config","root","update","data","self","update_field_data","form","errors","tool_model","deepeach","inputs","item","type","test_param","optional","get","url","cache","success","datatypes","_makeSections","prototype","call","uid","label","name","area","help","value","annotation","output_id","output_terminals","Object","keys","String","Boolean","ignore","payload","host","window","location","i","_makeSection","visit","head","head_list","push","input","action","argument","p_id","p","d","j","expand","action_arguments","slice","extensions","key",1,"sort","a","b","unshift","input_config","title"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/mvc/form/form-parameters.js b/static/scripts/mvc/form/form-parameters.js index 75f9c7179d2..c06442cc54e 100644 --- a/static/scripts/mvc/form/form-parameters.js +++ b/static/scripts/mvc/form/form-parameters.js @@ -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_dynamic)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(!this.app.options.is_dynamic&&a.is_dynamic)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(!this.app.options.is_dynamic&&a.is_dynamic)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){c.options&&(c.area=c.multiple,a.validate(c.value)?c.value instanceof Array?c.value=value.toString():(c.value=String(c.value).replace(/[\[\]'"\s]/g,""),c.multiple&&(c.value=c.value.replace(/,/g,"\n"))):c.value="");var d=this;return new b.Input({id:"field-"+c.id,area:c.area,onchange:function(){d.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-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")}})}})}); //# sourceMappingURL=../../../maps/mvc/form/form-parameters.js.map \ No newline at end of file diff --git a/static/scripts/mvc/form/form-view.js b/static/scripts/mvc/form/form-view.js index 5f2312fd115..e145f2683e2 100644 --- a/static/scripts/mvc/form/form-view.js +++ b/static/scripts/mvc/form/form-view.js @@ -1,2 +1,2 @@ -define(["utils/utils","mvc/ui/ui-portlet","mvc/ui/ui-misc","mvc/form/form-section","mvc/form/form-data"],function(a,b,c,d,e){return Backbone.View.extend({initialize:function(b){this.optionsDefault={is_dynamic:!0,narrow:!1,initial_errors:!1,cls:"ui-portlet-limited"},this.options=a.merge(b,this.optionsDefault),console.debug(this.options);var d=parent.Galaxy;this.modal=d&&d.modal?d.modal:new c.Modal.View,this.setElement("
"),this._build()},update:function(a){var b=this;this.data.matchModel(a,function(a,c){var d=b.input_list[a];if(d&&d.options&&!_.isEqual(d.options,c.options)){d.options=c.options;var e=b.field_list[a];if(e.update){var f=[];if(-1!=["data","data_collection","drill_down"].indexOf(d.type))f=d.options;else for(var g in c.options){var h=c.options[g];h.length>2&&f.push({label:h[0],value:h[1]})}e.update(f),e.trigger("change"),console.debug("Updating options for "+a)}}})},wait:function(a){for(var b in this.input_list){var c=this.field_list[b],d=this.input_list[b];d.is_dynamic&&c.wait&&c.unwait&&(a?c.wait():c.unwait())}},reciept:function(a){this.$el.empty(),this.$el.append(a)},highlight:function(a,b,c){var d=this.element_list[a];d&&(d.error(b||"Please verify this parameter."),c||$("html, body").animate({scrollTop:d.$el.offset().top-20},500))},errors:function(a){if(this.trigger("reset"),a&&a.errors){var b=this.data.matchResponse(a.errors);for(var c in this.element_list){{this.element_list[c]}b[c]&&this.highlight(c,b[c],!0)}}},_build:function(){var a=this;this.off("change"),this.off("reset"),this.field_list={},this.input_list={},this.element_list={},this.data=new e(this),this._renderForm(),this.data.create(),this.options.initial_errors&&this.errors(this.options);var b=this.data.checksum();this.on("change",function(){var c=a.data.checksum();c!=b&&(b=c,a.options.onchange&&a.options.onchange())}),this.on("reset",function(){for(var a in this.element_list)this.element_list[a].reset()})},_renderForm:function(){return this.message=new c.Message,this.section=new d.View(this,{inputs:this.options.inputs}),this.incompatible?(this.$el.hide(),void $("#tool-form-classic").show()):(this.portlet=new b.View({icon:"fa-wrench",title:this.options.title,cls:this.options.cls,operations:this.options.operations,buttons:this.options.buttons}),this.portlet.append(this.message.$el.addClass("ui-margin-top")),this.portlet.append(this.section.$el),this.$el.empty(),this.$el.append(this.portlet.$el),this.options.message&&this.message.update({persistent:!0,status:"warning",message:this.options.message}),void console.debug("tools-form-base::initialize() - Completed."))}})}); +define(["utils/utils","mvc/ui/ui-portlet","mvc/ui/ui-misc","mvc/form/form-section","mvc/form/form-data"],function(a,b,c,d,e){return Backbone.View.extend({initialize:function(b){this.optionsDefault={is_workflow:!1,narrow:!1,initial_errors:!1,cls:"ui-portlet-limited"},this.options=a.merge(b,this.optionsDefault),console.debug(this.options);var d=parent.Galaxy;this.modal=d&&d.modal?d.modal:new c.Modal.View,this.setElement(""),this._build()},update:function(a){var b=this;this.data.matchModel(a,function(a,c){var d=b.input_list[a];if(d&&d.options&&!_.isEqual(d.options,c.options)){d.options=c.options;var e=b.field_list[a];if(e.update){var f=[];if(-1!=["data","data_collection","drill_down"].indexOf(d.type))f=d.options;else for(var g in c.options){var h=c.options[g];h.length>2&&f.push({label:h[0],value:h[1]})}e.update(f),e.trigger("change"),console.debug("Updating options for "+a)}}})},wait:function(a){for(var b in this.input_list){var c=this.field_list[b],d=this.input_list[b];d.is_dynamic&&c.wait&&c.unwait&&(a?c.wait():c.unwait())}},reciept:function(a){this.$el.empty(),this.$el.append(a)},highlight:function(a,b,c){var d=this.element_list[a];d&&(d.error(b||"Please verify this parameter."),c||$("html, body").animate({scrollTop:d.$el.offset().top-20},500))},errors:function(a){if(this.trigger("reset"),a&&a.errors){var b=this.data.matchResponse(a.errors);for(var c in this.element_list){{this.element_list[c]}b[c]&&this.highlight(c,b[c],!0)}}},_build:function(){var a=this;this.off("change"),this.off("reset"),this.field_list={},this.input_list={},this.element_list={},this.data=new e(this),this._renderForm(),this.data.create(),this.options.initial_errors&&this.errors(this.options);var b=this.data.checksum();this.on("change",function(){var c=a.data.checksum();c!=b&&(b=c,a.options.onchange&&a.options.onchange())}),this.on("reset",function(){for(var a in this.element_list)this.element_list[a].reset()})},_renderForm:function(){return this.message=new c.Message,this.section=new d.View(this,{inputs:this.options.inputs}),this.incompatible?(this.$el.hide(),void $("#tool-form-classic").show()):(this.portlet=new b.View({icon:"fa-wrench",title:this.options.title,cls:this.options.cls,operations:this.options.operations,buttons:this.options.buttons}),this.portlet.append(this.message.$el.addClass("ui-margin-top")),this.portlet.append(this.section.$el),this.$el.empty(),this.$el.append(this.portlet.$el),this.options.message&&this.message.update({persistent:!0,status:"warning",message:this.options.message}),void console.debug("tools-form-base::initialize() - Completed."))}})}); //# sourceMappingURL=../../../maps/mvc/form/form-view.js.map \ No newline at end of file diff --git a/static/scripts/mvc/tools/tools-form-workflow.js b/static/scripts/mvc/tools/tools-form-workflow.js index 63dcdbc8467..6aa13b34246 100644 --- a/static/scripts/mvc/tools/tools-form-workflow.js +++ b/static/scripts/mvc/tools/tools-form-workflow.js @@ -1,2 +1,2 @@ -define(["utils/utils","mvc/tools/tools-form-base"],function(a,b){var c=b.extend({initialize:function(c){if(this.node=workflow.active_node,!this.node)return void console.debug("FAILED - tools-form-workflow:initialize() - Node not found in workflow.");this.post_job_actions=this.node.post_job_actions||{},c=a.merge(c,{text_enable:"Set in Advance",text_disable:"Set at Runtime",is_dynamic:!1,narrow:!0,initial_errors:!0,cls:"ui-portlet-narrow",update_url:galaxy_config.root+"api/workflows/build_module",update:function(a){d.node.update_field_data(a),d.form.errors(a&&a.tool_model)}}),a.deepeach(c.inputs,function(a){a.type&&(a.optional=-1==["data","data_hidden","hidden","repeat","conditional"].indexOf(a.type))}),a.deepeach(c.inputs,function(a){a.type&&"conditional"==a.type&&(a.test_param.optional=!1)});var d=this;a.get({url:galaxy_config.root+"api/datatypes",cache:!0,success:function(a){d.datatypes=a,d._makeSections(c.inputs),b.prototype.initialize.call(d,c)}})},_makeSections:function(b){b[a.uid()]={label:"Annotation / Notes",name:"annotation",type:"text",area:!0,help:"Add an annotation or note for this step. It will be shown with the workflow.",value:this.node.annotation};var c=this.node.output_terminals&&Object.keys(this.node.output_terminals)[0];if(c){b[a.uid()]={name:"pja__"+c+"__EmailAction",label:"Email notification",type:"boolean",value:String(Boolean(this.post_job_actions["EmailAction"+c])),ignore:"false",help:"An email notification will be send when the job has completed.",payload:{host:window.location.host}},b[a.uid()]={name:"pja__"+c+"__DeleteIntermediatesAction",label:"Output cleanup",type:"boolean",value:String(Boolean(this.post_job_actions["DeleteIntermediatesAction"+c])),ignore:"false",help:"Delete intermediate outputs if they are not used as input for another job."};for(var d in this.node.output_terminals)b[a.uid()]=this._makeSection(d)}},_makeSection:function(a){function b(c,d){d=d||[],d.push(c);for(var f in c.inputs){var g=c.inputs[f];if(g.action){if(g.name="pja__"+a+"__"+g.action,g.argument&&(g.name+="__"+g.argument),g.payload)for(var h in g.payload){var i=g.payload[h];g.payload[g.name+"__"+h]=i,delete i}var j=e.post_job_actions[g.action+a];if(j){for(var k in d)d[k].expand=!0;g.value=g.argument?j.action_arguments&&j.action_arguments[g.argument]||g.value:"true"}}g.inputs&&b(g,d.slice(0))}}var c=[];for(key in this.datatypes)c.push({0:this.datatypes[key],1:this.datatypes[key]});c.sort(function(a,b){return a.label>b.label?1:a.label