Commit Graph
118 Commits
Author SHA1 Message Date
Dannon Baker 4a98a7b538 Make workflow editor drag feel more tactile by shifting the canvas along with the drag. 2015-01-30 17:22:25 -05:00
Aysam Guerler adc2d60bed ToolForm/Workflow: Add post job action forms, enable custom tool form sections 2015-01-13 01:09:03 -05:00
Aysam Guerler ebfc74011d ToolForm/Workflow: Generalize/revise tool model building process, insert form into workflow editor 2015-01-11 12:02:11 -05:00
John Chilton 9ca0604ebe Pack scripts (for workflow step tracking changes). 2014-12-15 22:20:12 -05:00
John Chilton 24e914f57b Fix workflow editor bug related state updates for collections attached to multiple input data parameters.
Detail bug report from Michael Crusoe here : https://trello.com/c/0mdGCx4P.

This also fixes a test case added in 289e48b which was both attempting to assert something wrong and was incorrectly implemented. Augmenting the workflow editor test suite with some actually valid test cases that assert the correct behaviors.

For a longer explaination - workflow input terminals have two related concepts 'canAccept' and 'attachable'. An output terminal is 'attachable' if in the abstract it could be attached to the input regardless of whether the input is already filled or not. 'canAccept' is more stateful in that an output terminal is 'canAccept'able if the input terminal is not filled ('_inputFilled') and it is 'attachable'.

So - the problem was 'attachable' was not correctly defined for a multiple input data parameters. 'attachable' was asserting that any connected input terminal could not be 'attachable' by an collection output terminal - so on these asynchronous node state changes collections attached to multiple input data parameters were being wiped out. The more percise/correct distinction is that if a multiple input data parameter has single inputs connected to it - it cannot also have a collection connected to it (yet anyway). This fixes the mentioned bug.

The problematic test case was conflating 'attachable' and 'canAccept'able - I have fixed the test case to verify the correct 'attachable' logic and added newer, higher level test cases to test the canAccept logic and the actual behavior the end user would observe (of the connector being destroy).
2014-09-02 11:20:44 -04:00
John Chilton d80d1b1a8f Fix for at workflow editor glitch. 2014-08-29 00:30:30 -04:00
John Chilton 16cad94834 Fix bug related to undefined attribute error in workflow editor. 2014-07-09 17:39:00 -05:00
John Chilton cda34115c5 Bugfix: Workflow editor would unnessecarily leave nodes in mapped over state when no connections force it.
Other small code harmonizations to do this cleanly.
2014-05-27 12:52:41 -05:00
John Chilton b8de16eff2 Bugfix: Fix another attachable bug related to collections and multiple inputs (like 1882eff).
With unit tests that would have prevented both bugs.
2014-05-27 12:52:41 -05:00
John Chilton 23d2462f0a Bugfix: Workflow editor mapping icon bug. 2014-05-27 12:52:41 -05:00
John Chilton 30338b74b9 Bugfix: Wf editor didn't update params that change between data to data_collection. 2014-05-23 17:05:52 -05:00
John Chilton 3516d03a18 Bugfix: Workflow editor did not handle canAccept properly for multiple input reductions. 2014-05-23 16:50:36 -05:00
John Chilton fa7d906333 Dataset collections - update workflow editor for collection inputs, mapping, and reduction.
This commit enables the workflow editor to deal with input collection data parameter types and inputs (easy) and much more complicatedly reason about mappings and reductions over inputs and collection inputs. Not sure I can really describe the new interface in a changeset - essentially it is more complicated to determine if a input can be connected to by an output - and that connection affects what are valid other inputs and what the outputs are.
2014-05-06 08:54:31 -05:00
John Chilton 437967959a Add helper destroyInvalidConnections to Terminal.
Used in current workflow and reused in different context in collection code.
2014-05-06 08:54:31 -05:00
John Chilton b5e97ea32b Workflow Editor: Merge addDataInput and replaceDataInput into common method.
Reduces some code duplication here and reduces even more code duplication downstream in dataset collections work.
2014-04-22 11:13:27 -05:00
John Chilton cdeaba1f29 Workflow Editor: Replace instead of recreate terminal on update.
This fixes at least one subtle bug related to multiple input data parameters (actually probably two bugs) because the old logic assumed there was only one connector per input terminal.

This should be more efficient, lead to some code duplication deletion in subsequent changesets, and really help dataset collections where terminals are much more complex (there are data inputs and collection inputs, and each can be mapped over by collections) - this helps manage complexity downstream.
2014-04-22 11:13:27 -05:00
John Chilton 553bbee7db Workflow Editor: Rework InputTerminal to implement/use an update method (w/tests).
This will enable replacing terminals instead of recreating them and reconnecting in subsequent changesets.
2014-04-22 11:13:27 -05:00
John Chilton cbfa265b83 Bugfix: Workflow editor could get in invalid state when trying to preserve connections.
Workflow editor would preserve connections when a tool would update its state (for instance switching a conditional or adding repeat) - but conditional switching can result in connections being invalid (wouldn't have passed can_accept previously). Consider the following tool for instance which changes datatypes of an input based on a conditional (https://gist.github.com/jmchilton/11152628).
2014-04-21 14:27:01 -05:00
John Chilton 357280ed4d Workflow Editor: Break canAccept into smaller pieces (inputFilled and attachable).
Want to reuse attachable right away to fix a bug - and the smaller pieces are good refactoring to support different kinds of input types in dataset collections downstream.
2014-04-21 14:27:01 -05:00
John Chilton e454c738e1 Workflow Editor: Rename can_accept to canAccept. 2014-04-21 14:27:01 -05:00
John Chilton e70aecf74e Workflow editor backbonification - reposition views to more appropriate part of file. 2014-04-10 15:46:07 -05:00
John Chilton a63f4d0c13 Workflow editor backbonification - make Terminal classes into models. 2014-04-10 15:46:07 -05:00
John Chilton aaa97c62a0 Workflow editor backbonification - make Node a model. 2014-04-10 15:46:07 -05:00
John Chilton 5d94853116 Workflow editor backbonification - refactor some update_field_data presentation logic into NodeView. 2014-04-10 15:46:07 -05:00
John Chilton 5d82a000ca Workflow editor backbonification - move terminal presentation logic from NodeView to DataOutputView. 2014-04-10 15:46:07 -05:00
John Chilton b9106b807a Workflow editor backbonification - move terminal presentation logic from NodeView to DataInputView. 2014-04-10 15:46:07 -05:00
John Chilton 066f343a2c Workflow editor backbonification - OutputTerminalView to Backbone.View event binding. 2014-04-10 15:46:07 -05:00
John Chilton 2a77d89a66 Workflow editor backbonification - InputTerminalView to Backbone.View event binding. 2014-04-10 15:46:07 -05:00
John Chilton b6ad39d461 Workflow editor backbonification - add OutputTerminalView.
Add unit tests for OutputTerminalView.
2014-04-10 15:46:07 -05:00
John Chilton 0aaa9f97ce Workflow editor backbonification - add InputTerminalView.
Add unit tests for new view.
2014-04-10 15:46:06 -05:00
John Chilton 1d85636c6a Workflow editor backbonification - add view for output data view. 2014-04-10 15:46:06 -05:00
John Chilton 052348ed49 Workflow editor backbonification - add view for output callout. 2014-04-10 15:46:06 -05:00
John Chilton 7ab5f6a3bc Workflow editor backbonification - add DataInputView. 2014-04-10 15:46:06 -05:00
John Chilton ab63eec1c6 Workflow editor backbonification - add NodeView.
Including unit tests.
2014-04-10 15:46:06 -05:00
John Chilton 86ee4fdabf Simplify enable_output_terminal and enable_output_terminal in workflow editor.
These functions were taking in a single element and then looping through it. I hope this is not some intententional jQuery pattern to change the value of 'this' I don't quite understand and is just a remnant of when some loop over inputs was on the inside of this function or some other such refactoring.
2014-04-10 13:31:48 -05:00
John Chilton 69ddb38557 Refactor interaction between workflows JS and editor JS for adding nodes.
Add abstraction into editor for use by galaxy.workflow.js to hide some editor details from workflow code and reduce duplication between add_node_for_tool and add_node_for_module.
2014-04-10 13:31:47 -05:00
John Chilton 9b0bbb0dab Remove unused variable? 2014-04-10 13:31:46 -05:00
John Chilton 82e02eefa8 Eliminate code dup. in workflow editor for building input terminals. 2014-03-04 11:49:35 -06:00
John Chilton 14affd155a Eliminate code dup. in workflow editor for building connectors. 2014-03-04 11:49:35 -06:00
John Chilton 1f9667cc19 Fix node type being sent to prebuild_node in galaxy.workflow_editor.js. 2014-03-04 11:49:35 -06:00
Jeremy Goecks ac8d4d415e Improve language for workflow outputs tooltip. 2013-12-13 10:00:20 -05:00
Carl Eberhard 28fb375971 UI: update to font-awesome 4.0.1 (Note: there is a new syntax and naming scheme for fa icons - names and classes have changed) 2013-10-30 10:52:28 -04:00
James Taylor d1ab2061a0 Fix close/delete icons in workflow editor. 2013-09-17 15:18:51 -04:00
Aysam Guerler 5a05a52775 Unify parameter and url access in front end 2013-08-20 18:51:47 -04:00
Dannon Baker d9040ccb99 Workflow Editor: Fix for last-remaining-workflow-output-unremovable. Clarify declaration (actually a bug, one was undefined, one was false). 2013-04-03 17:46:19 -04:00
Daniel Blankenberg fce8cce834 Fix for workflow editor when a missing tool is connected to a valid tool. Javascript error would cause the 'Loading worflow editor...' modal window to spin indefinitely. 2013-01-07 11:45:26 -05:00
Jim Johnson 9d328872fc Fix workflow_editor exceptions for multi-input when dragging 2012-10-16 11:47:57 -05:00
John Chilton 5524c060de Initial work from JJ on enhancing the workflow editor to allow multiple input data parameters. Workflows containing such connections will now display properly, though they cannot be modified. 2012-10-16 09:13:32 -05:00
James Taylor 3118446f4e tooltips: Replace all uses of tipsy with bootstrap style (with the same modifications for placement we previously used for tipsy). This will allow us to start using popovers 2012-07-20 16:28:23 -04:00
Dannon Baker 3ee5a84743 Fix heavy handed removal of PJAs when not using outputs. 2012-04-20 11:16:14 -04:00