diff --git a/client/galaxy/scripts/galaxy.workflow_editor.canvas.js b/client/galaxy/scripts/galaxy.workflow_editor.canvas.js index b146a2e04c3..95e9c04dfda 100644 --- a/client/galaxy/scripts/galaxy.workflow_editor.canvas.js +++ b/client/galaxy/scripts/galaxy.workflow_editor.canvas.js @@ -377,14 +377,15 @@ var BaseInputTerminal = Terminal.extend( { return false; }, _otherCollectionType: function( other ) { + // Effective collection type for other - base collection type + // with map over appended. var otherCollectionType = NULL_COLLECTION_TYPE_DESCRIPTION; if( other.isCollection ) { otherCollectionType = other.collectionType; - } else { - var otherMapOver = other.mapOver(); - if( otherMapOver.isCollection ) { - otherCollectionType = otherMapOver; - } + } + var otherMapOver = other.mapOver(); + if( otherMapOver.isCollection ) { + otherCollectionType = otherMapOver.append(otherCollectionType); } return otherCollectionType; }, @@ -513,7 +514,7 @@ var InputCollectionTerminal = BaseInputTerminal.extend( { } }); -var OutputCollectionTerminal = Terminal.extend( { +var OutputCollectionTerminal = OutputTerminal.extend( { initialize: function( attr ) { Terminal.prototype.initialize.call( this, attr ); this.datatypes = attr.datatypes; @@ -1413,7 +1414,7 @@ var NodeView = Backbone.View.extend( { }, addDataOutput: function( output ) { - var terminalViewClass = ( output.collection_type ) ? OutputCollectionTerminalView : OutputTerminalView; + var terminalViewClass = ( output.collection ) ? OutputCollectionTerminalView : OutputTerminalView; var terminalView = new terminalViewClass( { node: this.node, output: output diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py index dce5145fdcc..5459f4a7db4 100755 --- a/lib/galaxy/tools/__init__.py +++ b/lib/galaxy/tools/__init__.py @@ -496,8 +496,16 @@ class Tool( object, Dictifiable ): return None @property - def produces_collections( self ): - return any( o.collection for o in self.outputs.values() ) + def produces_collections_of_unknown_type( self ): + + def output_is_dynamic_collection(output): + if not output.collection: + return False + if output.structure.collection_type: + return False + return True + + return any( map( output_is_dynamic_collection, self.outputs.values() ) ) def __get_job_tool_configuration(self, job_params=None): """Generalized method for getting this tool's job configuration. @@ -1118,8 +1126,8 @@ class Tool( object, Dictifiable ): if self.tool_type.startswith( 'data_source' ): return False - if self.produces_collections: - # Someday we will get there! + if self.produces_collections_of_unknown_type: + # Getting there... return False if hasattr( tool_source, "root"): diff --git a/lib/galaxy/workflow/modules.py b/lib/galaxy/workflow/modules.py index 1c9bb8c49ae..748579a4d38 100644 --- a/lib/galaxy/workflow/modules.py +++ b/lib/galaxy/workflow/modules.py @@ -403,7 +403,14 @@ class InputDataCollectionModule( InputModule ): return form def get_data_outputs( self ): - return [ dict( name='output', extensions=['input_collection'], collection_type=self.state[ 'collection_type' ] ) ] + return [ + dict( + name='output', + extensions=['input_collection'], + collection=True, + collection_type=self.state[ 'collection_type' ] + ) + ] class PauseModule( SimpleWorkflowModule ): @@ -655,9 +662,12 @@ class ToolModule( WorkflowModule ): data_outputs = [] data_inputs = None for name, tool_output in self.tool.outputs.iteritems(): + extra_kwds = {} if tool_output.collection: - formats = [ 'input' ] - elif tool_output.format_source != None: + extra_kwds["collection"] = True + extra_kwds["collection_type"] = tool_output.structure.collection_type + formats = [ 'input' ] # TODO: fix + elif tool_output.format_source is not None: formats = [ 'input' ] # default to special name "input" which remove restrictions on connections if data_inputs == None: data_inputs = self.get_data_inputs() @@ -674,7 +684,13 @@ class ToolModule( WorkflowModule ): format = when_elem.get( 'format', None ) if format and format not in formats: formats.append( format ) - data_outputs.append( dict( name=name, extensions=formats ) ) + data_outputs.append( + dict( + name=name, + extensions=formats, + **extra_kwds + ) + ) return data_outputs def get_runtime_input_dicts( self, step_annotation ): diff --git a/static/maps/galaxy.workflow_editor.canvas.js.map b/static/maps/galaxy.workflow_editor.canvas.js.map index c8a77a5d9fb..a1333f1531a 100644 --- a/static/maps/galaxy.workflow_editor.canvas.js.map +++ b/static/maps/galaxy.workflow_editor.canvas.js.map @@ -1 +1 @@ -{"version":3,"file":"galaxy.workflow_editor.canvas.js","sources":["../src/galaxy.workflow_editor.canvas.js"],"names":["CollectionTypeDescription","collectionType","this","isCollection","rank","split","length","Connector","handle1","handle2","canvas","dragging","inner_color","outer_color","connect","Workflow","canvas_container","id_counter","nodes","name","has_changes","active_form_has_changes","fix_delta","x","n","new_pos","Math","ceil","round_up","prebuild_node","type","title_text","tool_id","f","$","node","Node","element","title","append","css","window","scrollLeft","scrollTop","b","tmp","galaxy_config","root","form_html","buttons","addClass","click","destroy","appendTo","o","position","p","parent","width","height","left","top","prependTo","bind","workflow","activate_node","node_changed","fit_canvas_to_nodes","canvas_manager","draw_overview","e","d","po","offsetParent","offset","offsetX","y","offsetY","find","each","terminal","redraw","add_node","issubtype","child","ext_to_type","type_to_type","populate_datatype_info","data","ext_to_class_name","class_to_classes","ScrollPanel","panel","CanvasManager","canvas_viewport","overview","cv","cc","oc","ov","init_drag","extend","prototype","otherCollectionTypeDescription","NULL_COLLECTION_TYPE_DESCRIPTION","ANY_COLLECTION_TYPE_DESCRIPTION","otherCollectionType","canMatch","canMapOver","requiredSuffix","_endsWith","effectiveMapOver","effectiveCollectionType","substring","equal","toString","str","suffix","indexOf","other","TerminalMapping","Backbone","Model","initialize","attr","mapOver","terminalMapping","disableMapOver","setMapOver","collectionTypeDescription","trigger","TerminalMappingView","View","tagName","className","mapText","$el","tooltip","delay","model","_","render","show","hide","InputTerminalMappingView","events","mouseenter","mouseleave","onMouseEnter","connected","onMouseLeave","onClick","resetMapping","InputTerminalMapping","InputCollectionTerminalMapping","OutputTerminalMapping","OutputTerminalMappingView","InputCollectionTerminalMappingView","OutputCollectionTerminalMapping","OutputCollectionTerminalMappingView","Terminal","connectors","connector","push","markChanged","disconnect","splice","inArray","resetMappingIfNeeded","c","slice","destroyInvalidConnections","destroyIfInvalid","val","multiple","output_terminals","outputTerminal","isMappedOver","OutputTerminal","call","datatypes","hasConnectedOutputTerminals","hasConnectedMappedInputTerminals","mappedInputTerminals","mappedInput","noMappedInputs","hasMappedOverInputTerminals","connectedInput","BaseInputTerminal","update","input","canAccept","_inputFilled","attachable","reset","inputFilled","_collectionAttached","inputsFilled","firstOutput","isDataCollectionInput","_mappingConstraints","constraints","first","values","connectedMappedInputTerminals","inputTerminal","_producesAcceptableDatatype","t","cat_outputs","Array","concat","post_job_actions","pja_i","pja","action_type","output_name","action_arguments","other_datatype_i","other_datatype","_otherCollectionType","otherMapOver","InputTerminal","extensions","collection","other_output","thisMapOver","mappingConstraints","every","InputCollectionTerminal","collection_type","_effectiveMapOver","_effectiveCollectionType","OutputCollectionTerminal","output","newCollectionType","t1","t2","remove","document","createElement","G_vmlCanvasManager","initElement","style","zIndex","relativeLeft","relativeTop","start_x","start_y","end_x","end_y","canvas_extra","canvas_min_x","min","canvas_max_x","max","canvas_min_y","canvas_max_y","cp_shift","abs","canvas_left","canvas_top","canvas_width","canvas_height","setAttribute","start_offsets","getContext","end_offsets","num_offsets","i","inner_width","outer_width","draw_outlined_curve","offset_start","offset_end","lineCap","strokeStyle","lineWidth","beginPath","moveTo","bezierCurveTo","stroke","input_terminals","tool_errors","connectedOutputTerminals","_connectedTerminals","terminals","connectedTerminals","outputTerminals","outputName","_connectedMappedTerminals","inputTerminals","inputName","mapped_outputs","_mappedTerminals","mappedTerminals","found","k","remove_node","make_active","make_inactive","get","removeChild","appendChild","parentNode","removeClass","init_field_data","tool_state","annotation","label","uuid","workflow_outputs","nodeView","NodeView","el","data_inputs","addDataInput","data_outputs","addRule","addDataOutput","update_field_data","pja_in","parseJSON","renderToolErrors","old_body","new_body","newInputsDiv","newTerminalViews","terminalView","difference","terminalViews","unusedView","updateDataOutput","replaceWith","error","text","html","id","active_node","clear_active_node","remove_all","wf","v","rectify_workflow_outputs","using_workflow_outputs","has_existing_pjas","pja_id","pjas_to_rem","pja_name","ot_id","ot","create_pja","wo_name","reload_active_node","to_simple","input_connections","cons","act","node_data","steps","from_simple","max_id","step","parseInt","isArray","l","other_node","undefined","callout","check_changes_in_active_form","submit","callback","__NEWTOOLFORM__","show_tool_form","show_form_for_tool","force","layout","n_pred","successors","j","node_ids_by_level","level_parents","pred_k","sk","all_nodes","h_pad","v_pad","ids","sort","a","max_width","bounds_for_all_nodes","xmin","xmax","ymin","ymax","bounds","xmin_delta","ymin_delta","children","options","output_width","tool_body","outputTerminlViews","updateMaxWidth","newWidth","body","skipResize","terminalViewClass","input_type","InputCollectionTerminalView","InputTerminalView","terminalElement","inputView","DataInputView","ib","prepend","terminalElements","OutputCollectionTerminalView","OutputTerminalView","outputView","DataOutputView","display","outerWidth","OutputCalloutView","view","margin","right","resetImage","hoverImage","isInput","join","calloutView","hover","detach","TerminalView","setupMappingView","terminalMappingClass","terminalMappingView","terminalMappingViewClass","BaseInputTerminalView","terminalForInput","dropinit","dropstart","dropend","drop","onDropInit","drag","hasClass","onDropStart","proxy","onDropEnd","onDrop","onHover","padding-right","BaseOutputTerminalView","terminalForOutput","dragstart","dragend","onDrag","onmove","update_viewport_overlay","scroll_panel","test","onDragStart","available","h","onDragEnd","stop","clearTimeout","timeout","pageX","pageY","panel_pos","panel_w","panel_h","viewport","viewport_w","viewport_h","viewport_offset","min_x","min_y","max_x","max_y","p_min_x","p_min_y","p_max_x","p_max_y","moved","close_dist","nudge","setTimeout","self","move","background-position-x","background-position-y","x_adjust","y_adjust","in_w","in_h","o_w","o_h","new_x_offset","new_y_offset","op","opo","new_size","cc_pos","shift_h","shift_w","canvas_el","size","cv_w","cv_h","fillStyle","node_element","w","fillRect","strokeRect"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"galaxy.workflow_editor.canvas.js","sources":["../src/galaxy.workflow_editor.canvas.js"],"names":["CollectionTypeDescription","collectionType","this","isCollection","rank","split","length","Connector","handle1","handle2","canvas","dragging","inner_color","outer_color","connect","Workflow","canvas_container","id_counter","nodes","name","has_changes","active_form_has_changes","fix_delta","x","n","new_pos","Math","ceil","round_up","prebuild_node","type","title_text","tool_id","f","$","node","Node","element","title","append","css","window","scrollLeft","scrollTop","b","tmp","galaxy_config","root","form_html","buttons","addClass","click","destroy","appendTo","o","position","p","parent","width","height","left","top","prependTo","bind","workflow","activate_node","node_changed","fit_canvas_to_nodes","canvas_manager","draw_overview","e","d","po","offsetParent","offset","offsetX","y","offsetY","find","each","terminal","redraw","add_node","issubtype","child","ext_to_type","type_to_type","populate_datatype_info","data","ext_to_class_name","class_to_classes","ScrollPanel","panel","CanvasManager","canvas_viewport","overview","cv","cc","oc","ov","init_drag","extend","prototype","otherCollectionTypeDescription","NULL_COLLECTION_TYPE_DESCRIPTION","ANY_COLLECTION_TYPE_DESCRIPTION","otherCollectionType","canMatch","canMapOver","requiredSuffix","_endsWith","effectiveMapOver","effectiveCollectionType","substring","equal","toString","str","suffix","indexOf","other","TerminalMapping","Backbone","Model","initialize","attr","mapOver","terminalMapping","disableMapOver","setMapOver","collectionTypeDescription","trigger","TerminalMappingView","View","tagName","className","mapText","$el","tooltip","delay","model","_","render","show","hide","InputTerminalMappingView","events","mouseenter","mouseleave","onMouseEnter","connected","onMouseLeave","onClick","resetMapping","InputTerminalMapping","InputCollectionTerminalMapping","OutputTerminalMapping","OutputTerminalMappingView","InputCollectionTerminalMappingView","OutputCollectionTerminalMapping","OutputCollectionTerminalMappingView","Terminal","connectors","connector","push","markChanged","disconnect","splice","inArray","resetMappingIfNeeded","c","slice","destroyInvalidConnections","destroyIfInvalid","val","multiple","output_terminals","outputTerminal","isMappedOver","OutputTerminal","call","datatypes","hasConnectedOutputTerminals","hasConnectedMappedInputTerminals","mappedInputTerminals","mappedInput","noMappedInputs","hasMappedOverInputTerminals","connectedInput","BaseInputTerminal","update","input","canAccept","_inputFilled","attachable","reset","inputFilled","_collectionAttached","inputsFilled","firstOutput","_mappingConstraints","constraints","first","values","connectedMappedInputTerminals","inputTerminal","_producesAcceptableDatatype","t","cat_outputs","Array","concat","post_job_actions","pja_i","pja","action_type","output_name","action_arguments","other_datatype_i","other_datatype","_otherCollectionType","otherMapOver","InputTerminal","extensions","collection","other_output","thisMapOver","mappingConstraints","every","InputCollectionTerminal","collection_type","_effectiveMapOver","_effectiveCollectionType","OutputCollectionTerminal","output","newCollectionType","t1","t2","remove","document","createElement","G_vmlCanvasManager","initElement","style","zIndex","relativeLeft","relativeTop","start_x","start_y","end_x","end_y","canvas_extra","canvas_min_x","min","canvas_max_x","max","canvas_min_y","canvas_max_y","cp_shift","abs","canvas_left","canvas_top","canvas_width","canvas_height","setAttribute","start_offsets","getContext","end_offsets","num_offsets","i","inner_width","outer_width","draw_outlined_curve","offset_start","offset_end","lineCap","strokeStyle","lineWidth","beginPath","moveTo","bezierCurveTo","stroke","input_terminals","tool_errors","connectedOutputTerminals","_connectedTerminals","terminals","connectedTerminals","outputTerminals","outputName","_connectedMappedTerminals","inputTerminals","inputName","mapped_outputs","_mappedTerminals","mappedTerminals","found","k","remove_node","make_active","make_inactive","get","removeChild","appendChild","parentNode","removeClass","init_field_data","tool_state","annotation","label","uuid","workflow_outputs","nodeView","NodeView","el","data_inputs","addDataInput","data_outputs","addRule","addDataOutput","update_field_data","pja_in","parseJSON","renderToolErrors","old_body","new_body","newInputsDiv","newTerminalViews","terminalView","difference","terminalViews","unusedView","updateDataOutput","replaceWith","error","text","html","id","active_node","clear_active_node","remove_all","wf","v","rectify_workflow_outputs","using_workflow_outputs","has_existing_pjas","pja_id","pjas_to_rem","pja_name","ot_id","ot","create_pja","wo_name","reload_active_node","to_simple","input_connections","cons","act","node_data","steps","from_simple","max_id","step","parseInt","isArray","l","other_node","undefined","callout","check_changes_in_active_form","submit","callback","__NEWTOOLFORM__","show_tool_form","show_form_for_tool","force","layout","n_pred","successors","j","node_ids_by_level","level_parents","pred_k","sk","all_nodes","h_pad","v_pad","ids","sort","a","max_width","bounds_for_all_nodes","xmin","xmax","ymin","ymax","bounds","xmin_delta","ymin_delta","children","options","output_width","tool_body","outputTerminlViews","updateMaxWidth","newWidth","body","skipResize","terminalViewClass","input_type","InputCollectionTerminalView","InputTerminalView","terminalElement","inputView","DataInputView","ib","prepend","terminalElements","OutputCollectionTerminalView","OutputTerminalView","outputView","DataOutputView","display","outerWidth","OutputCalloutView","view","margin","right","resetImage","hoverImage","isInput","join","calloutView","hover","detach","TerminalView","setupMappingView","terminalMappingClass","terminalMappingView","terminalMappingViewClass","BaseInputTerminalView","terminalForInput","dropinit","dropstart","dropend","drop","onDropInit","drag","hasClass","onDropStart","proxy","onDropEnd","onDrop","onHover","padding-right","BaseOutputTerminalView","terminalForOutput","dragstart","dragend","onDrag","onmove","update_viewport_overlay","scroll_panel","test","onDragStart","available","h","onDragEnd","stop","clearTimeout","timeout","pageX","pageY","panel_pos","panel_w","panel_h","viewport","viewport_w","viewport_h","viewport_offset","min_x","min_y","max_x","max_y","p_min_x","p_min_y","p_max_x","p_max_y","moved","close_dist","nudge","setTimeout","self","move","background-position-x","background-position-y","x_adjust","y_adjust","in_w","in_h","o_w","o_h","new_x_offset","new_y_offset","op","opo","new_size","cc_pos","shift_h","shift_w","canvas_el","size","cv_w","cv_h","fillStyle","node_element","w","fillRect","strokeRect"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/galaxy.workflow_editor.canvas.js b/static/scripts/galaxy.workflow_editor.canvas.js index 74da3495189..62fff6c49e2 100644 --- a/static/scripts/galaxy.workflow_editor.canvas.js +++ b/static/scripts/galaxy.workflow_editor.canvas.js @@ -1,4 +1,3 @@ -function CollectionTypeDescription(a){this.collectionType=a,this.isCollection=!0,this.rank=a.split(":").length}function Connector(a,b){this.canvas=null,this.dragging=!1,this.inner_color="#FFFFFF",this.outer_color="#D8B365",a&&b&&this.connect(a,b)}function Workflow(a){this.canvas_container=a,this.id_counter=0,this.nodes={},this.name=null,this.has_changes=!1,this.active_form_has_changes=!1}function fix_delta(a,b){return b>a||a>3*b?(new_pos=(Math.ceil(a%b/b)+1)*b,-(a-new_pos)):0}function round_up(a,b){return Math.ceil(a/b)*b}function prebuild_node(a,b,c){var d=$("
"),e=new Node({element:d});e.type=a,"tool"==a&&(e.tool_id=c);var f=$("