diff --git a/Makefile b/Makefile new file mode 100644 index 00000000000..55dd9e26d8f --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +GRUNT_DOCKER_NAME:=galaxy/client-builder:16.01 + +all: + @echo "This makefile is primarily used for building Galaxy's JS client. A sensible all target is not yet implemented." + +npm-deps: + cd client && npm install + +grunt: npm-deps + cd client && grunt + +grunt-docker-image: + docker build -t ${GRUNT_DOCKER_NAME} client + +grunt-docker: grunt-docker-image + docker run -it -v `pwd`:/data ${GRUNT_DOCKER_NAME} + +clean-grunt-docker-image: + docker rmi ${GRUNT_DOCKER_NAME} diff --git a/client/.docker-build.sh b/client/.docker-build.sh new file mode 100755 index 00000000000..7452b63adac --- /dev/null +++ b/client/.docker-build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +cd /data/client && \ + npm install && \ + grunt diff --git a/client/Dockerfile b/client/Dockerfile new file mode 100644 index 00000000000..ad1a9c5884a --- /dev/null +++ b/client/Dockerfile @@ -0,0 +1,13 @@ +FROM digitallyseamless/nodejs-bower-grunt +RUN mkdir /gx + +COPY package.json /gx/package.json + +RUN cd /gx && \ + npm install -g && \ + cd / && \ + rm -rf /gx + +WORKDIR /data/client +ADD ./.docker-build.sh /build.sh +CMD ["/build.sh"] diff --git a/client/galaxy/scripts/apps/analysis.js b/client/galaxy/scripts/apps/analysis.js index 4a7865478c9..d7cea2bcecf 100644 --- a/client/galaxy/scripts/apps/analysis.js +++ b/client/galaxy/scripts/apps/analysis.js @@ -151,7 +151,8 @@ window.app = function app( options, bootstrapped ){ // page render. It's re-created each time because there is no render function and can't be re-rendered without // re-creating it. Galaxy.listenTo( analysisPage.right.historyView, 'history-size-change', function(){ - Galaxy.user.fetch(); + // fetch to update the quota meter adding 'current' for any anon-user's id + Galaxy.user.fetch({ url: Galaxy.user.urlRoot() + '/' + ( Galaxy.user.id || 'current' ) }); }); analysisPage.right.historyView.connectToQuotaMeter( analysisPage.masthead.quotaMeter ); diff --git a/client/galaxy/scripts/mvc/base-mvc.js b/client/galaxy/scripts/mvc/base-mvc.js index 9bd07bc1b6a..a7f7af9be06 100644 --- a/client/galaxy/scripts/mvc/base-mvc.js +++ b/client/galaxy/scripts/mvc/base-mvc.js @@ -66,7 +66,7 @@ var SessionStorageModel = Backbone.Model.extend({ _checkEnabledSessionStorage : function(){ try { - return sessionStorage.length; + return window.sessionStorage.length >= 0; } catch( err ){ alert( 'Please enable cookies in your browser for this Galaxy site' ); return false; diff --git a/client/galaxy/scripts/mvc/citation/citation-model.js b/client/galaxy/scripts/mvc/citation/citation-model.js index 51cf1f80303..cd31df6680d 100644 --- a/client/galaxy/scripts/mvc/citation/citation-model.js +++ b/client/galaxy/scripts/mvc/citation/citation-model.js @@ -2,7 +2,7 @@ define([ "libs/bibtex", "mvc/base-mvc", "utils/localization" -], function( bibtex, baseMVC, _l ){ +], function( BibtexParser, baseMVC, _l ){ /* global Backbone */ var logNamespace = 'citation'; @@ -14,9 +14,9 @@ var logNamespace = 'citation'; var Citation = Backbone.Model.extend( baseMVC.LoggableMixin ).extend( { _logNamespace : logNamespace, - initialize: function( ) { - var bibtex = this.attributes.content; - var entry = new bibtex.BibtexParser(bibtex).entries[0]; + initialize: function() { + var bibtex = this.get( 'content' ); + var entry = BibtexParser(bibtex).entries[0]; this.entry = entry; this._fields = {}; var rawFields = entry.Fields; @@ -61,6 +61,7 @@ var ToolCitationCollection = BaseCitationCollection.extend( { partial : false, // If a tool has citations, assume they are complete. } ); + //============================================================================== return { Citation : Citation, diff --git a/client/galaxy/scripts/mvc/ui/ui-select-default.js b/client/galaxy/scripts/mvc/ui/ui-select-default.js index ab4852b767c..9299e5d4b15 100644 --- a/client/galaxy/scripts/mvc/ui/ui-select-default.js +++ b/client/galaxy/scripts/mvc/ui/ui-select-default.js @@ -30,6 +30,7 @@ var View = Backbone.View.extend({ // link elements this.$select = this.$el.find('.select'); this.$icon_dropdown = this.$el.find('.icon-dropdown'); + this.$icon_dropdown.on( 'click', function() { self.$select.select2 && self.$select.select2( 'open' ) }); // allow regular multi-select field to be resized var minHeight = null; diff --git a/client/galaxy/scripts/mvc/workflow/workflow-manager.js b/client/galaxy/scripts/mvc/workflow/workflow-manager.js index 08c247672b9..070c3aa15f8 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-manager.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-manager.js @@ -1,4 +1,8 @@ -define(['mvc/workflow/workflow-connector'], function( Connector ) { +define([ + 'mvc/workflow/workflow-connector', + 'libs/toastr' + ], +function( Connector, Toastr ) { function Workflow( app, canvas_container ) { this.app = app; this.canvas_container = canvas_container; @@ -7,10 +11,49 @@ define(['mvc/workflow/workflow-connector'], function( Connector ) { this.name = null; this.has_changes = false; this.active_form_has_changes = false; + this.nodeLabels = {}; // TODO: track and enforce output labels also + } $.extend( Workflow.prototype, { - create_node: function ( type, title_text, tool_id ) { - var node = this.app.prebuildNode( type, title_text, tool_id ); + canLabelNodeWith: function( label ) { + if( label ) { + return ! (label in this.nodeLabels); + } else { + // empty labels are non-exclusive, so allow this one. + return true; + } + }, + registerNodeLabel: function( label ) { + if( label ) { + this.nodeLabels[label] = true; + } + }, + unregisterNodeLabel: function( label ) { + if( label ) { + delete this.nodeLabels[label]; + } + }, + updateNodeLabel: function( fromLabel, toLabel ) { + if( fromLabel ) { + this.unregisterNodeLabel( fromLabel ); + } + if( ! this.canLabelNodeWith( toLabel ) ) { + Toastr.warning("Workflow contains duplicate node labels " + toLabel + ". This must be fixed before it can be saved."); + } + if( toLabel ) { + this.registerNodeLabel( toLabel ); + } + }, + attemptUpdateNodeLabel: function( node, label ) { + if( this.canLabelNodeWith( label ) ) { + node.setLabel( label ); + return true; + } else { + return false; + } + }, + create_node: function ( type, title_text, content_id ) { + var node = this.app.prebuildNode( type, title_text, content_id ); this.add_node( node ); this.fit_canvas_to_nodes(); this.app.canvas_manager.draw_overview(); @@ -131,7 +174,7 @@ define(['mvc/workflow/workflow-connector'], function( Connector ) { var node_data = { id : node.id, type : node.type, - tool_id : node.tool_id, + tool_id : node.content_id, tool_state : node.tool_state, tool_errors : node.tool_errors, input_connections : input_connections, @@ -383,4 +426,4 @@ define(['mvc/workflow/workflow-connector'], function( Connector ) { } }); return Workflow; -}); \ No newline at end of file +}); diff --git a/client/galaxy/scripts/mvc/workflow/workflow-node.js b/client/galaxy/scripts/mvc/workflow/workflow-node.js index fb4feb69844..7395f22a8ff 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-node.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-node.js @@ -124,6 +124,10 @@ define(['mvc/workflow/workflow-view-node'], function( NodeView ) { // Remove active class $(element).removeClass( "toolForm-active" ); }, + setLabel: function(label) { + this.app.workflow.updateNodeLabel(this.label, label); + this.label = label || null; + }, init_field_data : function ( data ) { if ( data.type ) { this.type = data.type; @@ -135,7 +139,7 @@ define(['mvc/workflow/workflow-view-node'], function( NodeView ) { this.tooltip = data.tooltip ? data.tooltip : ""; this.annotation = data.annotation; this.post_job_actions = data.post_job_actions ? data.post_job_actions : {}; - this.label = data.label; + this.setLabel(data.label); this.uuid = data.uuid; this.workflow_outputs = data.workflow_outputs ? data.workflow_outputs : []; @@ -165,6 +169,8 @@ define(['mvc/workflow/workflow-view-node'], function( NodeView ) { this.form_html = data.form_html; this.tool_errors = data.tool_errors; this.annotation = data['annotation']; + this.setLabel(data.label); + if( "post_job_actions" in data ) { // Won't be present in response for data inputs var pja_in = $.parseJSON(data.post_job_actions); @@ -184,6 +190,7 @@ define(['mvc/workflow/workflow-view-node'], function( NodeView ) { unusedView.el.terminal.destroy(); } ); nodeView.terminalViews = newTerminalViews; + node.nodeView.render(); // In general workflow editor assumes tool outputs don't change in # or // type (not really valid right?) but adding special logic here for // data collection input parameters that can have their collection diff --git a/client/galaxy/scripts/mvc/workflow/workflow-view-node.js b/client/galaxy/scripts/mvc/workflow/workflow-view-node.js index d702d17e7b3..f08308d6bf7 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-view-node.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-view-node.js @@ -11,6 +11,14 @@ define(['mvc/workflow/workflow-view-terminals', 'mvc/workflow/workflow-view-data }, render: function() { + var label = this.node.label; + var title; + if(label) { + title = label; + } else { + title = this.node.name; + } + this.$el.find(".nodeTitle").text(title); this.renderToolErrors(); this.$el.css( "width", Math.min(250, Math.max( this.$el.width(), this.output_width ))); }, diff --git a/client/galaxy/scripts/mvc/workflow/workflow-view.js b/client/galaxy/scripts/mvc/workflow/workflow-view.js index fe712da025e..6fa56e40d67 100644 --- a/client/galaxy/scripts/mvc/workflow/workflow-view.js +++ b/client/galaxy/scripts/mvc/workflow/workflow-view.js @@ -7,7 +7,9 @@ define([ 'mvc/workflow/workflow-node', 'mvc/tool/tools-form-workflow', 'utils/async-save-text', -], function( Utils, Globals, Workflow, WorkflowCanvas, Node, ToolsForm, async_save_text ){ + 'libs/toastr', + 'ui/editable-text' +], function( Utils, Globals, Workflow, WorkflowCanvas, Node, ToolsForm, async_save_text, Toastr ){ // Reset tool search to start state. function reset_tool_search( initValue ) { @@ -44,6 +46,21 @@ function reset_tool_search( initValue ) { } } +NODE_ICONS = { + 'tool': 'fa-wrench', + 'data_input': 'fa-file-o', + 'data_collection_input': 'fa-folder-o', + 'pause': 'fa-pause' +} + +add_node_icon = function($to_el, nodeType) { + var iconStyle = NODE_ICONS[nodeType]; + if(iconStyle) { + var $icon = $(' ').addClass(iconStyle); + $to_el.before($icon); + } +} + // Really a shell of a real backbone view, but refactoring in the right // direction I think. @@ -61,7 +78,33 @@ EditorFormView = Backbone.View.extend({ this.setElement($el); if (node && node.id != 'no-node') { - $el.find('.toolForm:first').after(this._genericStepAttributesTemplate( node )); + $el.find('table:first').after(this._genericStepAttributesTemplate( node )); + var nodeType = node.type; + add_node_icon($el.find('.portlet-title-text'), nodeType); + var $titleText = $el.find(".portlet-title-text"); + $titleText.data('last-value', $titleText.text()); + $titleText.make_text_editable({ + on_finish: function( newLabel ){ + var lastValue = $titleText.data("last-value"); + if( newLabel == lastValue ) { + return; + } + + var workflow = workflowView.workflow; + if( workflow.attemptUpdateNodeLabel( node, newLabel ) ) { + $el.find("input[name='label']").val(newLabel); + $titleText.data("last-value", newLabel); + $el.find('form').submit(); + if(newLabel == "") { + // If label unset restore default name as title. + $titleText.text(node.name); + } + } else { + Toastr.warning("Step label " + newLabel + " already exists, cannot update label."); + $titleText.text(lastValue); + } + } + }); ($el.find( 'form' ).length > 0) && $el.find( 'form' ).ajaxForm( { type: 'POST', dataType: 'json', @@ -525,12 +568,10 @@ EditorFormView = Backbone.View.extend({ cc.css( { left: left, top: top } ); }, - // Add a new step to the workflow by tool id - add_node_for_tool: function ( id, title ) { - node = this.workflow.create_node( 'tool', title, id ); + _moduleInitAjax: function(node, request_data) { $.ajax( { url: this.urls.get_new_module_info, - data: { type: "tool", tool_id: id, "_": "true" }, + data: request_data, global: false, dataType: "json", success: function( data ) { @@ -546,23 +587,21 @@ EditorFormView = Backbone.View.extend({ }); }, + // Add a new step to the workflow by tool id + add_node_for_tool: function ( id, title ) { + node = this.workflow.create_node( 'tool', title, id ); + this._moduleInitAjax(node, { type: "tool", content_id: id, "_": "true" }); + }, + + // Add a new step to the workflow by tool id + add_node_for_subworkflow: function ( id, title ) { + node = this.workflow.create_node( 'subworkflow', title, id ); + this._moduleInitAjax(node, { type: "subworkflow", subworkflow_id: id, "_": "true" }); + }, + add_node_for_module: function ( type, title ) { node = this.workflow.create_node( type, title ); - $.ajax( { - url: this.urls.get_new_module_info, - data: { type: type, "_": "true" }, - dataType: "json", - success: function( data ) { - node.init_field_data( data ); - }, - error: function( x, e ) { - var m = "error loading field data" - if ( x.status == 0 ) { - m += ", server unavailable" - } - node.error( m ); - } - }); + this._moduleInitAjax(node, { type: type, "_": "true" }); }, // This function preloads how to display known pja's. @@ -704,22 +743,27 @@ EditorFormView = Backbone.View.extend({ return ( this.type_to_type[child] ) && ( parent in this.type_to_type[child] ); }, - prebuildNode: function ( type, title_text, tool_id ) { + $newNodeElement: function(type, title_text) { + var $f = $("
"); + var $title = $("
" + title_text + "
" ); + add_node_icon($title.find('.nodeTitle'), type); + $f.append( $title ); + $f.css( "left", $(window).scrollLeft() + 20 ); + $f.css( "top", $(window).scrollTop() + 20 ); + var $b = $("
"); + $f.append($b); + return $f + }, + + prebuildNode: function ( type, title_text, content_id ) { var self = this; - var f = $("
"); - var node = new Node( this, { element: f } ); + var $f = this.$newNodeElement( type, title_text ); + var node = new Node( this, { element: $f } ); node.type = type; - if ( type == 'tool' ) { - node.tool_id = tool_id; - } - var title = $("
" + title_text + "
" ); - f.append( title ); - f.css( "left", $(window).scrollLeft() + 20 ); f.css( "top", $(window).scrollTop() + 20 ); - var b = $("
"); + node.content_id = content_id; var tmp = "
loading tool info...
"; - b.append( tmp ); + $f.find(".toolFormBody").append(tmp); node.form_html = tmp; - f.append( b ); // Fix width to computed width // Now add floats var buttons = $("
"); @@ -727,17 +771,17 @@ EditorFormView = Backbone.View.extend({ node.destroy(); })); // Place inside container - f.appendTo( "#canvas-container" ); + $f.appendTo( "#canvas-container" ); // Position in container var o = $("#canvas-container").position(); var p = $("#canvas-container").parent(); - var width = f.width(); - var height = f.height(); - f.css( { left: ( - o.left ) + ( p.width() / 2 ) - ( width / 2 ), top: ( - o.top ) + ( p.height() / 2 ) - ( height / 2 ) } ); - buttons.prependTo( title ); + var width = $f.width(); + var height = $f.height(); + $f.css( { left: ( - o.left ) + ( p.width() / 2 ) - ( width / 2 ), top: ( - o.top ) + ( p.height() / 2 ) - ( height / 2 ) } ); + buttons.prependTo( $f.find(".toolFormTitle" ) ); width += ( buttons.width() + 10 ); - f.css( "width", width ); - $(f).bind( "dragstart", function() { + $f.css( "width", width ); + $f.bind( "dragstart", function() { self.workflow.activate_node( node ); }).bind( "dragend", function() { self.workflow.node_changed( this ); diff --git a/client/galaxy/scripts/polyfills.js b/client/galaxy/scripts/polyfills.js index 78b2d2e040e..cfd9eac3b3e 100644 --- a/client/galaxy/scripts/polyfills.js +++ b/client/galaxy/scripts/polyfills.js @@ -51,17 +51,17 @@ }; // ------------------------------------------------------------------ can't/won't polyfill - var incompatibilities = [ + var features = [ { name: 'canvas', compatible: function(){ return window.CanvasRenderingContext2D; } }, { name: 'sessionStorage', compatible: function(){ try { - return Number.isInteger( sessionStorage.length ); + return window.sessionStorage.length >= 0; } catch( err ){} return false; }}, ]; // build a list of feature names for features that were not found - incompatibilities = incompatibilities + var incompatibilities = features .filter( function( feature ){ return !feature.compatible(); }) .map( function( feature ){ return feature.name; }); @@ -69,7 +69,7 @@ if( !!incompatibilities.length ){ var root = document.querySelectorAll( 'link[rel="index"]' ).item( 0 ); if( root ){ - window.location.href = root.href + 'static/incompatible-browser.html'; + window.location = root.href + 'static/incompatible-browser.html'; } console.log( 'incompatible browser:\n' + incompatibilities.join( '\n' ) ); } diff --git a/client/galaxy/style/less/ui.less b/client/galaxy/style/less/ui.less index 40579eebaf5..ccff95b31bc 100644 --- a/client/galaxy/style/less/ui.less +++ b/client/galaxy/style/less/ui.less @@ -578,6 +578,7 @@ position: absolute; top: 8px; right: 8px; + cursor: pointer; } .icon-resize { display: none; diff --git a/doc/source/dev/faq.rst b/doc/source/dev/faq.rst index e60a0a9eea8..7139678c0a3 100644 --- a/doc/source/dev/faq.rst +++ b/doc/source/dev/faq.rst @@ -10,3 +10,16 @@ to provide relatively concrete answers for specific Galaxy development scenarios This can be done with either IPython/Jupyter or a plain python console, depending on your preferences:: python -i scripts/db_shell.py + +... build Galaxy Javascript frontend client? +-------------------------------------------- + +We've added a makefile which will let you do this. If you have nodejs and npm installed, you can simple run:: + + make grunt + +If you prefer docker and aren't a JS developer primarily, you can run + + make grunt-docker + + diff --git a/lib/galaxy/datatypes/text.py b/lib/galaxy/datatypes/text.py index 7a99d6f2ea5..2ec75d23fe3 100644 --- a/lib/galaxy/datatypes/text.py +++ b/lib/galaxy/datatypes/text.py @@ -11,7 +11,7 @@ import subprocess import tempfile from galaxy.datatypes.data import get_file_peek, Text -from galaxy.datatypes.metadata import MetadataElement +from galaxy.datatypes.metadata import MetadataElement, MetadataParameter from galaxy.util import nice_size, string_as_bool log = logging.getLogger(__name__) @@ -122,45 +122,98 @@ class Ipynb( Json ): pass -class Biom1(Json): +class Biom1( Json ): + """ + BIOM version 1.0 file format description + http://biom-format.org/documentation/format_versions/biom-1.0.html + """ file_ext = "biom1" - def set_peek(self, dataset, is_multi_byte=False): - super(Biom1, self).set_peek(dataset, is_multi_byte) + MetadataElement( name="table_rows", default=[], desc="table_rows", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value=[] ) + MetadataElement( name="table_matrix_element_type", default="", desc="table_matrix_element_type", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value="" ) + MetadataElement( name="table_format", default="", desc="table_format", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value="" ) + MetadataElement( name="table_generated_by", default="", desc="table_generated_by", param=MetadataParameter, readonly=True, visible=True, optional=True, no_value="" ) + MetadataElement( name="table_matrix_type", default="", desc="table_matrix_type", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value="" ) + MetadataElement( name="table_shape", default=[], desc="table_shape", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value=[] ) + MetadataElement( name="table_format_url", default="", desc="table_format_url", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value="" ) + MetadataElement( name="table_date", default="", desc="table_date", param=MetadataParameter, readonly=True, visible=True, optional=True, no_value="" ) + MetadataElement( name="table_type", default="", desc="table_type", param=MetadataParameter, readonly=True, visible=True, optional=True, no_value="" ) + MetadataElement( name="table_id", default=None, desc="table_id", param=MetadataParameter, readonly=True, visible=True, optional=True, no_value=None ) + MetadataElement( name="table_columns", default=[], desc="table_columns", param=MetadataParameter, readonly=True, visible=False, optional=True, no_value=[] ) + + def set_peek( self, dataset, is_multi_byte=False ): + super( Biom1, self ).set_peek( dataset, is_multi_byte ) if not dataset.dataset.purged: dataset.blurb = "Biological Observation Matrix v1" - def sniff(self, filename): + def sniff( self, filename ): is_biom = False if self._looks_like_json( filename ): - is_biom = self._looks_like_biom(filename) + is_biom = self._looks_like_biom( filename ) return is_biom - def _looks_like_biom(self, filepath, load_size=50000): + def _looks_like_biom( self, filepath, load_size=50000 ): """ @param filepath: [str] The path to the evaluated file. @param load_size: [int] The size of the file block load in RAM (in bytes). """ is_biom = False - segment_size = int(load_size / 2) + segment_size = int( load_size / 2 ) try: - with open(filepath, "r") as fh: + with open( filepath, "r" ) as fh: prev_str = "" - segment_str = fh.read(segment_size) - if segment_str.strip().startswith('{'): - while segment_str and not is_biom: + segment_str = fh.read( segment_size ) + if segment_str.strip().startswith( '{' ): + while segment_str: current_str = prev_str + segment_str if '"format"' in current_str: - current_str = re.sub(r'\s', '', current_str) + current_str = re.sub( r'\s', '', current_str ) if '"format":"BiologicalObservationMatrix' in current_str: is_biom = True + break prev_str = segment_str - segment_str = fh.read(segment_size) - except: + segment_str = fh.read( segment_size ) + except Exception: pass return is_biom + def set_meta( self, dataset, **kwd ): + """ + Store metadata information from the BIOM file. + """ + if dataset.has_data(): + with open( dataset.file_name ) as fh: + try: + json_dict = json.load( fh ) + except Exception: + return + + def _transform_dict_list_ids( dict_list ): + if dict_list: + return [ x.get( 'id', None ) for x in dict_list ] + return [] + + b_transform = { 'rows': _transform_dict_list_ids, 'columns': _transform_dict_list_ids } + for ( m_name, b_name ) in [ ('table_rows', 'rows'), + ('table_matrix_element_type', 'matrix_element_type'), + ('table_format', 'format'), + ('table_generated_by', 'generated_by'), + ('table_matrix_type', 'matrix_type'), + ('table_shape', 'shape'), + ('table_format_url', 'format_url'), + ('table_date', 'date'), + ('table_type', 'type'), + ('table_id', 'id'), + ('table_columns', 'columns') ]: + try: + metadata_value = json_dict.get( b_name, None ) + if b_name in b_transform: + metadata_value = b_transform[ b_name ]( metadata_value ) + setattr( dataset.metadata, m_name, metadata_value ) + except Exception: + pass + class Obo( Text ): """ diff --git a/lib/galaxy/managers/base.py b/lib/galaxy/managers/base.py index c12ae7a513c..13820752c79 100644 --- a/lib/galaxy/managers/base.py +++ b/lib/galaxy/managers/base.py @@ -112,6 +112,16 @@ def get_class( class_name ): return item_class +def decode_id(app, id): + try: + # note: use str - occasionally a fully numeric id will be placed in post body and parsed as int via JSON + # resulting in error for valid id + return app.security.decode_id( str( id ) ) + except ( ValueError, TypeError ): + msg = "Malformed id ( %s ) specified, unable to decode" % ( str( id ) ) + raise exceptions.MalformedId( msg, id=str( id ) ) + + def get_object( trans, id, class_name, check_ownership=False, check_accessible=False, deleted=None ): """ Convenience method to get a model object with the specified checks. This is @@ -119,11 +129,7 @@ def get_object( trans, id, class_name, check_ownership=False, check_accessible=F controller mixin code - however whenever possible the managers for a particular model should be used to load objects. """ - try: - decoded_id = trans.security.decode_id( id ) - except: - raise exceptions.MessageException( "Malformed %s id ( %s ) specified, unable to decode" - % ( class_name, str( id ) ), type='error' ) + decoded_id = decode_id(trans.app, id) try: item_class = get_class( class_name ) assert item_class is not None diff --git a/lib/galaxy/managers/users.py b/lib/galaxy/managers/users.py index 4a130b23fa2..fe1e7dd1f11 100644 --- a/lib/galaxy/managers/users.py +++ b/lib/galaxy/managers/users.py @@ -235,7 +235,7 @@ class UserManager( base.ModelManager, deletable.PurgableManagerMixin ): if self.is_anonymous( user ): return False request_types = self.app.security_agent.get_accessible_request_types( trans, user ) - return ( user.requests or request_types ) + return bool( user.requests or request_types ) class UserSerializer( base.ModelSerializer, deletable.PurgableSerializerMixin ): @@ -283,8 +283,7 @@ class UserSerializer( base.ModelSerializer, deletable.PurgableSerializerMixin ): 'quota_percent' : lambda i, k, **c: self.user_manager.quota( i ), 'tags_used' : lambda i, k, **c: self.user_manager.tags_used( i ), - # TODO: 'has_requests' is more apt - 'requests' : lambda i, k, trans=None, **c: self.user_manager.has_requests( i, trans ) + 'has_requests' : lambda i, k, trans=None, **c: self.user_manager.has_requests( i, trans ) }) diff --git a/lib/galaxy/managers/workflows.py b/lib/galaxy/managers/workflows.py index bdaadc39e1b..3a4bf53489c 100644 --- a/lib/galaxy/managers/workflows.py +++ b/lib/galaxy/managers/workflows.py @@ -2,12 +2,18 @@ from __future__ import absolute_import from collections import namedtuple import json +import uuid + +from sqlalchemy import and_ from galaxy import model +from galaxy import util from galaxy import exceptions from galaxy.model.item_attrs import UsesAnnotations from galaxy.workflow import modules +from .base import decode_id + # For WorkflowContentManager from galaxy.util.sanitize_html import sanitize_html from galaxy.workflow.steps import attach_ordered_steps @@ -26,6 +32,38 @@ class WorkflowsManager( object ): def __init__( self, app ): self.app = app + def get_stored_workflow( self, trans, workflow_id ): + """ Use a supplied ID (UUID or encoded stored workflow ID) to find + a workflow. + """ + if util.is_uuid(workflow_id): + # see if they have passed in the UUID for a workflow that is attached to a stored workflow + workflow_uuid = uuid.UUID(workflow_id) + stored_workflow = trans.sa_session.query(trans.app.model.StoredWorkflow).filter( and_( + trans.app.model.StoredWorkflow.latest_workflow_id == trans.app.model.Workflow.id, + trans.app.model.Workflow.uuid == workflow_uuid + )).first() + if stored_workflow is None: + raise exceptions.ObjectNotFound( "Workflow not found: %s" % workflow_id ) + else: + workflow_id = decode_id( self.app, workflow_id ) + query = trans.sa_session.query( trans.app.model.StoredWorkflow ) + stored_workflow = query.get( workflow_id ) + if stored_workflow is None: + raise exceptions.ObjectNotFound( "No such workflow found." ) + return stored_workflow + + def get_stored_accessible_workflow( self, trans, workflow_id ): + stored_workflow = self.get_stored_workflow( trans, workflow_id ) + + # check to see if user has permissions to selected workflow + if stored_workflow.user != trans.user and not trans.user_is_admin(): + if trans.sa_session.query(trans.app.model.StoredWorkflowUserShareAssociation).filter_by(user=trans.user, stored_workflow=stored_workflow).count() == 0: + message = "Workflow is not owned by or shared with current user" + raise exceptions.ItemAccessibilityException( message ) + + return stored_workflow + def check_security( self, trans, has_workflow, check_ownership=True, check_accessible=True): """ check accessibility or ownership of workflows, storedworkflows, and workflowinvocations. Throw an exception or returns True if user has @@ -352,7 +390,7 @@ class WorkflowContentsManager(UsesAnnotations): step_dict = { 'id': step.order_index, 'type': module.type, - 'tool_id': module.get_tool_id(), + 'tool_id': module.get_content_id(), 'name': module.get_name(), 'tool_state': module.get_state(), 'tooltip': module.get_tooltip( static_path=url_for( '/static' ) ), @@ -395,11 +433,13 @@ class WorkflowContentsManager(UsesAnnotations): action_arguments=pja.action_arguments ) step_dict['post_job_actions'] = pja_dict - # workflow outputs - outputs = [] - for output in step.workflow_outputs: - outputs.append({"output_name": output.output_name}) - step_dict['workflow_outputs'] = outputs + + # workflow outputs + outputs = [] + for output in step.workflow_outputs: + outputs.append({"output_name": output.output_name}) + step_dict['workflow_outputs'] = outputs + # Encode input connections as dictionary input_conn_dict = {} for conn in input_connections: @@ -453,7 +493,7 @@ class WorkflowContentsManager(UsesAnnotations): step_dict = { 'id': step.order_index, 'type': module.type, - 'tool_id': module.get_tool_id(), + 'tool_id': module.get_content_id(), 'tool_version': step.tool_version, 'name': module.get_name(), 'tool_state': module.get_state( secure=False ), diff --git a/lib/galaxy/web/base/controller.py b/lib/galaxy/web/base/controller.py index dba14dc3ece..3c46652783c 100644 --- a/lib/galaxy/web/base/controller.py +++ b/lib/galaxy/web/base/controller.py @@ -11,7 +11,6 @@ from paste.httpexceptions import HTTPBadRequest, HTTPInternalServerError from paste.httpexceptions import HTTPNotImplemented, HTTPRequestRangeNotSatisfiable from galaxy.exceptions import ItemAccessibilityException, ItemDeletionException, ItemOwnershipException from galaxy.exceptions import MessageException -from galaxy import exceptions from galaxy import web from galaxy import model @@ -94,13 +93,7 @@ class BaseController( object ): # ---- parsing query params def decode_id( self, id ): - try: - # note: use str - occasionally a fully numeric id will be placed in post body and parsed as int via JSON - # resulting in error for valid id - return self.app.security.decode_id( str( id ) ) - except ( ValueError, TypeError ): - msg = "Malformed id ( %s ) specified, unable to decode" % ( str( id ) ) - raise exceptions.MalformedId( msg, id=str( id ) ) + return managers_base.decode_id( self.app, id ) def encode_all_ids( self, trans, rval, recursive=False ): """ diff --git a/lib/galaxy/webapps/galaxy/api/workflows.py b/lib/galaxy/webapps/galaxy/api/workflows.py index 4e7107d44c3..be1ff669617 100644 --- a/lib/galaxy/webapps/galaxy/api/workflows.py +++ b/lib/galaxy/webapps/galaxy/api/workflows.py @@ -4,11 +4,10 @@ API operations for Workflows from __future__ import absolute_import -import uuid import logging import copy import urllib -from sqlalchemy import and_, desc, false, or_, true +from sqlalchemy import desc, false, or_, true from galaxy import exceptions, util from galaxy.model.item_attrs import UsesAnnotations from galaxy.managers import histories @@ -570,33 +569,10 @@ class WorkflowsAPIController(BaseAPIController, UsesStoredWorkflowMixin, UsesAnn ) def __get_stored_accessible_workflow( self, trans, workflow_id ): - stored_workflow = self.__get_stored_workflow( trans, workflow_id ) - - # check to see if user has permissions to selected workflow - if stored_workflow.user != trans.user and not trans.user_is_admin(): - if trans.sa_session.query(trans.app.model.StoredWorkflowUserShareAssociation).filter_by(user=trans.user, stored_workflow=stored_workflow).count() == 0: - message = "Workflow is not owned by or shared with current user" - raise exceptions.ItemAccessibilityException( message ) - - return stored_workflow + return self.workflow_manager.get_stored_accessible_workflow( trans, workflow_id ) def __get_stored_workflow( self, trans, workflow_id ): - if util.is_uuid(workflow_id): - # see if they have passed in the UUID for a workflow that is attached to a stored workflow - workflow_uuid = uuid.UUID(workflow_id) - stored_workflow = trans.sa_session.query(trans.app.model.StoredWorkflow).filter( and_( - trans.app.model.StoredWorkflow.latest_workflow_id == trans.app.model.Workflow.id, - trans.app.model.Workflow.uuid == workflow_uuid - )).first() - if stored_workflow is None: - raise exceptions.ObjectNotFound( "Workflow not found: %s" % workflow_id ) - else: - workflow_id = self.decode_id( workflow_id ) - query = trans.sa_session.query( trans.app.model.StoredWorkflow ) - stored_workflow = query.get( workflow_id ) - if stored_workflow is None: - raise exceptions.ObjectNotFound( "No such workflow found." ) - return stored_workflow + return self.workflow_manager.get_stored_workflow( trans, workflow_id ) def __encode_invocation( self, trans, invocation, view="element", step_details=False ): return self.encode_all_ids( diff --git a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py index 0d442ef62c0..068e8806429 100644 --- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py +++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py @@ -503,7 +503,7 @@ class AdminToolshed( AdminGalaxy ): if err_msg: message += err_msg status = 'error' - message += "Installed tool dependencies: %s" % ','.join( td.name for td in installed_tool_dependencies ) + message += "Installed tool dependencies: %s" % ', '.join( td.name for td in installed_tool_dependencies ) td_ids = [ trans.security.encode_id( td.id ) for td in tool_shed_repository.tool_dependencies ] return trans.response.send_redirect( web.url_for( controller='admin_toolshed', action='manage_tool_dependencies', @@ -1919,8 +1919,8 @@ class AdminToolshed( AdminGalaxy ): if new_repository_dependencies == original_repository_dependencies: for new_repository_tup in new_repository_dependencies: # Make sure all dependencies are installed. - # TODO: Repository dependencies that are not installed should be displayed to to the user, - # giving them the option to install them or now. This is the same behavior as when initially + # TODO: Repository dependencies that are not installed should be displayed to the user, + # giving them the option to install them or not. This is the same behavior as when initially # installing and when re-installing. new_tool_shed, new_name, new_owner, new_changeset_revision, new_pir, new_oicct = \ common_util.parse_repository_dependency_tuple( new_repository_tup ) diff --git a/lib/galaxy/webapps/galaxy/controllers/root.py b/lib/galaxy/webapps/galaxy/controllers/root.py index 52db6a3293c..3670a7de50d 100644 --- a/lib/galaxy/webapps/galaxy/controllers/root.py +++ b/lib/galaxy/webapps/galaxy/controllers/root.py @@ -281,14 +281,6 @@ class RootController( controller.JSAppLauncher, UsesAnnotations ): yield "No data with id=%d" % id # ---- History management ----------------------------------------------- - @web.expose - def history_options( self, trans ): - """Displays a list of history related actions. - """ - return trans.fill_template( "/history/options.mako", - user=trans.get_user(), - history=trans.get_history( create=True ) ) - @web.expose def history_delete( self, trans, id ): """Backward compatibility with check_galaxy script. diff --git a/lib/galaxy/webapps/galaxy/controllers/workflow.py b/lib/galaxy/webapps/galaxy/controllers/workflow.py index 8ab9bbc8638..24eb397b893 100644 --- a/lib/galaxy/webapps/galaxy/controllers/workflow.py +++ b/lib/galaxy/webapps/galaxy/controllers/workflow.py @@ -613,7 +613,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix return trans.fill_template( "workflow/editor.mako", stored=stored, annotation=self.get_item_annotation_str( trans.sa_session, trans.user, stored ) ) @web.json - def editor_form_post( self, trans, type='tool', tool_id=None, annotation=None, **incoming ): + def editor_form_post( self, trans, type='tool', tool_id=None, annotation=None, label=None, **incoming ): """ Accepts a tool state and incoming values, and generates a new tool form and some additional information, packed into a json dictionary. @@ -625,12 +625,14 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix module = module_factory.from_dict( trans, { 'type': type, 'tool_id': tool_id, - 'tool_state': tool_state + 'tool_state': tool_state, + 'label': label or None, } ) # update module state module.update_state( incoming ) if type == 'tool': return { + 'label': module.label, 'tool_state': module.get_state(), 'data_inputs': module.get_data_inputs(), 'data_outputs': module.get_data_outputs(), @@ -641,6 +643,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix } else: return { + 'label': module.label, 'tool_state': module.get_state(), 'data_inputs': module.get_data_inputs(), 'data_outputs': module.get_data_outputs(), @@ -664,7 +667,7 @@ class WorkflowController( BaseUIController, SharableMixin, UsesStoredWorkflowMix return { 'type': module.type, 'name': module.get_name(), - 'tool_id': module.get_tool_id(), + 'tool_id': module.get_content_id(), 'tool_state': module.get_state(), 'tool_model': tool_model, 'tooltip': module.get_tooltip( static_path=url_for( '/static' ) ), diff --git a/lib/galaxy/webapps/tool_shed/model/__init__.py b/lib/galaxy/webapps/tool_shed/model/__init__.py index 41425a158b5..23a3f98e83f 100644 --- a/lib/galaxy/webapps/tool_shed/model/__init__.py +++ b/lib/galaxy/webapps/tool_shed/model/__init__.py @@ -462,6 +462,7 @@ class WorkflowStep( object ): self.position = None self.input_connections = [] self.config = None + self.label = None class WorkflowStepConnection( object ): diff --git a/lib/galaxy/workflow/modules.py b/lib/galaxy/workflow/modules.py index c46c4fac3ae..a5a7d8e2b13 100644 --- a/lib/galaxy/workflow/modules.py +++ b/lib/galaxy/workflow/modules.py @@ -42,7 +42,7 @@ class WorkflowModule( object ): # ---- Creating modules from various representations --------------------- @classmethod - def new( Class, trans, tool_id=None ): + def new( Class, trans, content_id=None ): """ Create a new instance of the module with default state """ @@ -73,7 +73,10 @@ class WorkflowModule( object ): def get_name( self ): return self.name - def get_tool_id( self ): + def get_content_id( self ): + """ If this component has an identifier external to the step (such + as a tool or another workflow) return the identifier for that content. + """ return None def get_tooltip( self, static_path='' ): @@ -194,9 +197,10 @@ class WorkflowModule( object ): class SimpleWorkflowModule( WorkflowModule ): @classmethod - def new( Class, trans, tool_id=None ): + def new( Class, trans, content_id=None ): module = Class( trans ) module.state = Class.default_state() + module.label = None return module @classmethod @@ -204,12 +208,14 @@ class SimpleWorkflowModule( WorkflowModule ): module = Class( trans ) state = loads( d["tool_state"] ) module.recover_state( state ) + module.label = d.get("label", None) or None return module @classmethod def from_workflow_step( Class, trans, step ): module = Class( trans ) module.recover_state( step.tool_inputs ) + module.label = step.label return module @classmethod @@ -502,12 +508,13 @@ class ToolModule( WorkflowModule ): self.errors[ tool_id ] = 'Tool unavailable' @classmethod - def new( Class, trans, tool_id=None ): - module = Class( trans, tool_id ) + def new( Class, trans, content_id=None ): + module = Class( trans, content_id ) if module.tool is None: - error_message = "Attempted to create new workflow module for invalid tool_id, no tool with id - %s." % tool_id + error_message = "Attempted to create new workflow module for invalid tool_id, no tool with id - %s." % content_id raise Exception( error_message ) module.state = module.tool.new_state( trans ) + module.label = None return module @classmethod @@ -516,6 +523,7 @@ class ToolModule( WorkflowModule ): tool_version = str( d.get( 'tool_version', None ) ) module = Class( trans, tool_id, tool_version=tool_version ) module.state = galaxy.tools.DefaultToolState() + module.label = d.get("label", None) or None if module.tool is not None: message = "" if tool_id != module.tool_id: @@ -560,6 +568,7 @@ class ToolModule( WorkflowModule ): module.recover_state( step.tool_inputs ) module.errors = step.tool_errors module.workflow_outputs = step.workflow_outputs + module.label = step.label or None pjadict = {} for pja in step.post_job_actions: pjadict[pja.action_type] = pja @@ -623,7 +632,7 @@ class ToolModule( WorkflowModule ): return self.tool.name return 'unavailable' - def get_tool_id( self ): + def get_content_id( self ): return self.tool_id def get_tool_version( self ): @@ -735,6 +744,7 @@ class ToolModule( WorkflowModule ): # set. We also need to make sure all datasets have a dummy value # for dependencies to see + self.label = incoming.get("label", None) or None self.post_job_actions = ActionBox.handle_incoming(incoming) make_runtime_key = incoming.get( 'make_runtime', None ) @@ -951,13 +961,13 @@ class WorkflowModuleFactory( object ): def __init__( self, module_types ): self.module_types = module_types - def new( self, trans, type, tool_id=None ): + def new( self, trans, type, content_id=None ): """ Return module for type and (optional) tool_id intialized with new / default state. """ assert type in self.module_types - return self.module_types[type].new( trans, tool_id ) + return self.module_types[type].new( trans, content_id ) def from_dict( self, trans, d, **kwargs ): """ diff --git a/lib/galaxy/workflow/run.py b/lib/galaxy/workflow/run.py index f9efbd6056b..b06b770e830 100644 --- a/lib/galaxy/workflow/run.py +++ b/lib/galaxy/workflow/run.py @@ -235,8 +235,8 @@ class WorkflowProgress( object ): if not hasattr( step, 'module' ): self.module_injector.inject( step ) if step_id not in step_states: - template = "Workflow invocation [%s] has no step state for step id [%s]. States are [%s]." - message = template % (self.workflow_invocation.id, step_id, step_states) + template = "Workflow invocation [%s] has no step state for step id [%s]. States ids are %s." + message = template % (self.workflow_invocation.id, step_id, step_states.keys()) raise Exception(message) runtime_state = step_states[ step_id ].value step.state = step.module.recover_runtime_state( runtime_state ) diff --git a/lib/tool_shed/galaxy_install/install_manager.py b/lib/tool_shed/galaxy_install/install_manager.py index 63d5ac593d9..24245f76f88 100644 --- a/lib/tool_shed/galaxy_install/install_manager.py +++ b/lib/tool_shed/galaxy_install/install_manager.py @@ -126,10 +126,10 @@ class InstallToolDependencyManager( object ): # Since there was an installation error, update the tool dependency status to Error. The remove_installation_path option must # be left False here. error_message = '%s\n%s' % ( self.format_traceback(), str( e ) ) - tool_dependency = tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) + tool_dependency = tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=self.app.install_model.ToolDependency.installation_status.ERROR, + error_message=error_message) tool_dependency = self.mark_tool_dependency_installed( tool_dependency ) return tool_dependency @@ -204,10 +204,10 @@ class InstallToolDependencyManager( object ): # Since there was an installation error, update the tool dependency status to Error. The # remove_installation_path option must be left False here. tool_dependency = \ - tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) + tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=self.app.install_model.ToolDependency.installation_status.ERROR, + error_message=error_message) if tool_dependency and tool_dependency.status in [ self.install_model.ToolDependency.installation_status.INSTALLED, self.install_model.ToolDependency.installation_status.ERROR ]: installed_packages.append( tool_dependency ) @@ -422,9 +422,7 @@ class InstallToolDependencyManager( object ): status = self.install_model.ToolDependency.installation_status.INSTALLED tool_dependency = tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, - status=status, - error_message=None, - remove_from_disk=False ) + status=status ) return tool_dependency diff --git a/lib/tool_shed/galaxy_install/repair_repository_manager.py b/lib/tool_shed/galaxy_install/repair_repository_manager.py index 56f65020a6a..f41be595739 100644 --- a/lib/tool_shed/galaxy_install/repair_repository_manager.py +++ b/lib/tool_shed/galaxy_install/repair_repository_manager.py @@ -204,9 +204,7 @@ class RepairRepositoryManager(): tool_dependency = \ tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, - status=self.app.install_model.ToolDependency.installation_status.UNINSTALLED, - error_message=None, - remove_from_disk=True ) + status=self.app.install_model.ToolDependency.installation_status.UNINSTALLED ) # Install tool dependencies. irm.update_tool_shed_repository_status( repository, self.app.install_model.ToolShedRepository.installation_status.INSTALLING_TOOL_DEPENDENCIES ) diff --git a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/install_environment.py b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/install_environment.py index 0ef74ae118b..0118cde2605 100644 --- a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/install_environment.py +++ b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/install_environment.py @@ -19,7 +19,7 @@ from galaxy.util import unicodify from tool_shed.galaxy_install.tool_dependencies.recipe import asynchronous_reader -from tool_shed.util import basic_util +from tool_shed.util import basic_util, tool_dependency_util log = logging.getLogger( __name__ ) @@ -113,7 +113,6 @@ class InstallEnvironment( object ): def handle_command( self, tool_dependency, cmd, return_output=False, job_name="" ): """Handle a command and log the results.""" - context = self.app.install_model.context command = str( cmd ) output = self.handle_complex_command( command, job_name=job_name ) self.log_results( cmd, output, os.path.join( self.install_dir, basic_util.INSTALLATION_LOG ) ) @@ -126,17 +125,19 @@ class InstallEnvironment( object ): log.warn( "Length of stderr > %s, so only a portion will be saved in the database." % str( DATABASE_MAX_STRING_SIZE_PRETTY ) ) stderr = shrink_string_by_size( stderr, DATABASE_MAX_STRING_SIZE, join_by="\n..\n", left_larger=True, beginning_on_size_error=True ) if output.return_code not in [ 0 ]: - tool_dependency.status = self.app.install_model.ToolDependency.installation_status.ERROR + status = self.app.install_model.ToolDependency.installation_status.ERROR if stderr: - tool_dependency.error_message = unicodify( stderr ) + error_message = unicodify( stderr ) elif stdout: - tool_dependency.error_message = unicodify( stdout ) + error_message = unicodify( stdout ) else: # We have a problem if there was no stdout and no stderr. - tool_dependency.error_message = "Unknown error occurred executing shell command %s, return_code: %s" % \ + error_message = "Unknown error occurred executing shell command %s, return_code: %s" % \ ( str( cmd ), str( output.return_code ) ) - context.add( tool_dependency ) - context.flush() + tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=status, + error_message=error_message) if return_output: return output return output.return_code @@ -156,6 +157,8 @@ class InstallEnvironment( object ): if len( job_name ) > 0: llog_name += ':' + job_name llog = logging.getLogger( llog_name ) + # Print the command we're about to execute, ``set -x`` style. + llog.debug('+ ' + str( command ) ) # Launch the command as subprocess. A bufsize of 1 means line buffered. process_handle = subprocess.Popen( str( command ), stdout=subprocess.PIPE, diff --git a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/step_handler.py b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/step_handler.py index e4e3e3a65cb..591bce87fb3 100755 --- a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/step_handler.py +++ b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/step_handler.py @@ -284,8 +284,7 @@ class AssertDirectoryExecutable( RecipeStep ): tool_dependency = tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) return tool_dependency, None, None def prepare_step( self, tool_dependency, action_elem, action_dict, install_environment, is_binary_download ): @@ -330,8 +329,7 @@ class AssertDirectoryExists( RecipeStep ): tool_dependency = tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) return tool_dependency, None, None def prepare_step( self, tool_dependency, action_elem, action_dict, install_environment, is_binary_download ): @@ -380,8 +378,7 @@ class AssertFileExecutable( RecipeStep ): tool_dependency = tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) return tool_dependency, None, None def prepare_step( self, tool_dependency, action_elem, action_dict, install_environment, is_binary_download ): @@ -427,8 +424,7 @@ class AssertFileExists( RecipeStep ): tool_dependency = tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) return tool_dependency, None, None def prepare_step( self, tool_dependency, action_elem, action_dict, install_environment, is_binary_download ): diff --git a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/tag_handler.py b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/tag_handler.py index 4cc6104df63..f18588e152b 100644 --- a/lib/tool_shed/galaxy_install/tool_dependencies/recipe/tag_handler.py +++ b/lib/tool_shed/galaxy_install/tool_dependencies/recipe/tag_handler.py @@ -180,10 +180,10 @@ class Install( RecipeTag, SyncDatabase ): error_message += 'tag set.' # Since there was an installation error, update the tool dependency status to Error. # The remove_installation_path option must be left False here. - tool_dependency = tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) + tool_dependency = tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=self.app.install_model.ToolDependency.installation_status.ERROR, + error_message=error_message) else: raise NotImplementedError( 'Only install version 1.0 is currently supported (i.e., change your tag to be ).' ) return tool_dependency, proceed_with_install, actions_elem_tuples @@ -213,9 +213,7 @@ class Package( RecipeTag ): tool_dependency = \ tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, - status=self.app.install_model.ToolDependency.installation_status.ERROR, - error_message=None, - remove_from_disk=False ) + status=self.app.install_model.ToolDependency.installation_status.ERROR ) else: proceed_with_install = True return tool_dependency, proceed_with_install, action_elem_tuples @@ -329,18 +327,18 @@ class Repository( RecipeTag, SyncDatabase ): error_message = 'Error defining env.sh file for package %s, return_code: %s' % \ ( str( package_name ), str( return_code ) ) tool_dependency = \ - tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) + tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=self.app.install_model.ToolDependency.installation_status.ERROR, + error_message=error_message) elif required_tool_dependency is not None and required_tool_dependency.in_error_state: error_message = "This tool dependency's required tool dependency %s version %s has status %s." % \ ( str( required_tool_dependency.name ), str( required_tool_dependency.version ), str( required_tool_dependency.status ) ) tool_dependency = \ - tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) + tool_dependency_util.set_tool_dependency_attributes(self.app, + tool_dependency=tool_dependency, + status=self.app.install_model.ToolDependency.installation_status.ERROR, + error_message=error_message) else: tool_dependency = \ tool_dependency_util.set_tool_dependency_attributes( self.app, @@ -556,18 +554,10 @@ class SetEnvironment( RecipeTag ): else: attr_tups_of_dependencies_for_install = [ ( td.name, td.version, td.type ) for td in tool_dependency_db_records ] try: - tool_dependencies = self.set_environment( package_elem, tool_shed_repository, attr_tups_of_dependencies_for_install ) + self.set_environment( package_elem, tool_shed_repository, attr_tups_of_dependencies_for_install ) except Exception, e: error_message = "Error setting environment for tool dependency: %s" % str( e ) log.debug( error_message ) - for tool_dependency in tool_dependencies: - if tool_dependency and tool_dependency.status == self.app.install_model.ToolDependency.installation_status.ERROR: - # Since there was an installation error, update the tool dependency status to Error. The - # remove_installation_path option must be left False here. - tool_dependency = tool_dependency_util.handle_tool_dependency_installation_error( self.app, - tool_dependency, - error_message, - remove_installation_path=False ) return tool_dependency, proceed_with_install, action_elem_tuples def set_environment( self, elem, tool_shed_repository, attr_tups_of_dependencies_for_install ): @@ -613,7 +603,7 @@ class SetEnvironment( RecipeTag ): # R_SCRIPT_PATH). env_var_action = env_var_elem.get( 'action', None ) if env_var_name and env_var_action: - # Tool dependencies of type "set_environmnet" always have the version attribute set to None. + # Tool dependencies of type "set_environment" always have the version attribute set to None. attr_tup = ( env_var_name, None, 'set_environment' ) if attr_tup in attr_tups_of_dependencies_for_install: install_dir = \ @@ -654,8 +644,7 @@ class SetEnvironment( RecipeTag ): tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) else: if tool_dependency.status not in [ self.app.install_model.ToolDependency.installation_status.ERROR, self.app.install_model.ToolDependency.installation_status.INSTALLED ]: @@ -663,9 +652,7 @@ class SetEnvironment( RecipeTag ): tool_dependency = \ tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, - status=status, - error_message=None, - remove_from_disk=False ) + status=status ) log.debug( 'Environment variable %s set in %s for tool dependency %s.' % ( str( env_var_name ), str( install_dir ), str( tool_dependency.name ) ) ) else: @@ -675,7 +662,6 @@ class SetEnvironment( RecipeTag ): tool_dependency_util.set_tool_dependency_attributes( self.app, tool_dependency=tool_dependency, status=status, - error_message=error_message, - remove_from_disk=False ) + error_message=error_message ) tool_dependencies.append( tool_dependency ) return tool_dependencies diff --git a/lib/tool_shed/util/tool_dependency_util.py b/lib/tool_shed/util/tool_dependency_util.py index e41decf6dde..50a77d9de0e 100644 --- a/lib/tool_shed/util/tool_dependency_util.py +++ b/lib/tool_shed/util/tool_dependency_util.py @@ -48,14 +48,7 @@ def create_or_update_tool_dependency( app, tool_shed_repository, name, version, # In some cases we should not override the current status of an existing tool_dependency, so do so only # if set_status is True. if set_status: - if str( tool_dependency.status ) != str( status ): - debug_msg = 'Updating an existing record for version %s of tool dependency %s for revision %s of repository %s ' % \ - ( str( version ), str( name ), str( tool_shed_repository.changeset_revision ), str( tool_shed_repository.name ) ) - debug_msg += 'by updating the status from %s to %s.' % ( str( tool_dependency.status ), str( status ) ) - log.debug( debug_msg ) - tool_dependency.status = status - context.add( tool_dependency ) - context.flush() + set_tool_dependency_attributes(app, tool_dependency=tool_dependency, status=status) else: # Create a new tool_dependency record for the tool_shed_repository. debug_msg = 'Creating a new record for version %s of tool dependency %s for revision %s of repository %s. ' % \ @@ -227,38 +220,6 @@ def get_tool_dependency_install_dir( app, repository_name, repository_owner, rep repository_changeset_revision ) ) -def handle_tool_dependency_installation_error( app, tool_dependency, error_message, remove_installation_path=False ): - # Since there was an installation error, remove the installation directory because the install_package method uses - # this: "if os.path.exists( install_dir ):". Setting remove_installation_path to True should rarely occur. It is - # currently set to True only to handle issues with installing tool dependencies into an Amazon S3 bucket. - sa_session = app.install_model.context - tool_shed_repository = tool_dependency.tool_shed_repository - install_dir = get_tool_dependency_install_dir( app=app, - repository_name=tool_shed_repository.name, - repository_owner=tool_shed_repository.owner, - repository_changeset_revision=tool_shed_repository.installed_changeset_revision, - tool_dependency_type=tool_dependency.type, - tool_dependency_name=tool_dependency.name, - tool_dependency_version=tool_dependency.version ) - if remove_installation_path: - # This will be True only in the case where an exception was encountered during the installation process after - # the installation path was created but before any information was written to the installation log and the - # tool dependency status was not set to "Installed" or "Error". - if os.path.exists( install_dir ): - log.debug( 'Attempting to remove installation directory %s for version %s of tool dependency %s %s' % - ( str( install_dir ), str( tool_dependency.version ), str( tool_dependency.type ), str( tool_dependency.name ) ) ) - log.debug( 'due to the following installation error:\n%s' % str( error_message ) ) - try: - shutil.rmtree( install_dir ) - except Exception, e: - log.exception( 'Error removing existing installation directory %s: %s', (install_dir, str(e)) ) - tool_dependency.status = app.install_model.ToolDependency.installation_status.ERROR - tool_dependency.error_message = error_message - sa_session.add( tool_dependency ) - sa_session.flush() - return tool_dependency - - def parse_package_elem( package_elem, platform_info_dict=None, include_after_install_actions=True ): """ Parse a element within a tool dependency definition and return a list of action tuples. @@ -405,19 +366,25 @@ def remove_tool_dependency_installation_directory( dependency_install_dir ): except Exception, e: removed = False error_message = "Error removing tool dependency installation directory %s: %s" % ( str( dependency_install_dir ), str( e ) ) - log.debug( error_message ) + log.warn( error_message ) else: removed = True error_message = '' return removed, error_message -def set_tool_dependency_attributes( app, tool_dependency, status, error_message=None, remove_from_disk=False ): +def set_tool_dependency_attributes( app, tool_dependency, status, error_message=None ): sa_session = app.install_model.context - if remove_from_disk: + if status == app.install_model.ToolDependency.installation_status.UNINSTALLED: installation_directory = tool_dependency.installation_directory( app ) - removed, err_msg = remove_tool_dependency_installation_directory( installation_directory ) + remove_tool_dependency_installation_directory( installation_directory ) tool_dependency.error_message = error_message + if str( tool_dependency.status ) != str( status ): + tool_shed_repository = tool_dependency.tool_shed_repository + debug_msg = 'Updating an existing record for version %s of tool dependency %s for revision %s of repository %s ' % \ + ( str( tool_dependency.version ), str( tool_dependency.name ), str( tool_shed_repository.changeset_revision ), str( tool_shed_repository.name ) ) + debug_msg += 'by updating the status from %s to %s.' % ( str( tool_dependency.status ), str( status ) ) + log.debug( debug_msg ) tool_dependency.status = status sa_session.add( tool_dependency ) sa_session.flush() diff --git a/lib/tool_shed/util/workflow_util.py b/lib/tool_shed/util/workflow_util.py index fb1a7d4090f..e52c484157b 100644 --- a/lib/tool_shed/util/workflow_util.py +++ b/lib/tool_shed/util/workflow_util.py @@ -267,6 +267,7 @@ def get_workflow_from_dict( trans, workflow_dict, tools_metadata, repository_id, for step_dict in workflow_dict[ 'steps' ].itervalues(): # Create the model class for the step step = trans.model.WorkflowStep() + step.label = step_dict.get('label', None) step.name = step_dict[ 'name' ] step.position = step_dict[ 'position' ] module = module_factory.from_dict( trans, repository_id, changeset_revision, step_dict, tools_metadata=tools_metadata, secure=False ) diff --git a/run_tests.sh b/run_tests.sh index 2117abd81f6..ac508e4a470 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -68,7 +68,7 @@ ensure_grunt() { } -DOCKER_DEFAULT_IMAGE='galaxy/testing-base:15.10.2' +DOCKER_DEFAULT_IMAGE='galaxy/testing-base:15.10.3' test_script="./scripts/functional_tests.py" report_file="run_functional_tests.html" diff --git a/static/maps/mvc/base-mvc.js.map b/static/maps/mvc/base-mvc.js.map index 77677556d1b..673d13a3c90 100644 --- a/static/maps/mvc/base-mvc.js.map +++ b/static/maps/mvc/base-mvc.js.map @@ -1 +1 @@ -{"version":3,"file":"base-mvc.js","sources":["../../src/mvc/base-mvc.js"],"names":["define","_","Backbone","addLogging","_l","mixin","args","Array","prototype","slice","call","arguments","lastArg","pop","unshift","defaults","apply","wrapTemplate","template","jsonNamespace","templateFn","join","json","view","templateVars","LoggableMixin","logger","_logNamespace","SessionStorageModel","Model","extend","initialize","initialAttrs","this","_checkEnabledSessionStorage","id","Error","existing","isNew","_read","clear","silent","save","on","sessionStorage","length","err","alert","sync","method","model","options","trigger","returned","_create","_update","_delete","undefined","success","error","toJSON","set","setItem","JSON","stringify","DOMException","navigator","userAgent","indexOf","parse","getItem","removeItem","hasOwnProperty","_log","toString","omit","SearchableModelMixin","searchAttributes","searchAliases","searchAttribute","attrKey","searchFor","attrVal","get","isArray","_searchArrayAttribute","toLowerCase","array","any","elem","search","filter","key","matches","term","ATTR_SPECIFIER","split","matchesAll","terms","match","s","all","replace","HiddenUntilActivatedViewMixin","hiddenUntilActivated","$activator","HUAVOptions","$elementShown","$el","showFn","jQuery","toggle","showSpeed","hasBeenShown","is","hidden","isHidden","isFunction","onshowFirstTime","onshow","onhide","DraggableViewMixin","attributes","draggable","$dragHandle","$","toggleDraggable","draggableOff","draggableOn","dragStartHandler","bind","_dragStartHandler","dragEndHandler","_dragEndHandler","handle","attr","addEventListener","removeEventListener","event","dataTransfer","effectAllowed","setData","SelectableViewMixin","selectable","selected","$selector","_renderSelected","find","toggleClass","toggleSelector","hideSelector","showSelector","speed","fxSpeed","show","hide","toggleSelect","deselect","select"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"base-mvc.js","sources":["../../src/mvc/base-mvc.js"],"names":["define","_","Backbone","addLogging","_l","mixin","args","Array","prototype","slice","call","arguments","lastArg","pop","unshift","defaults","apply","wrapTemplate","template","jsonNamespace","templateFn","join","json","view","templateVars","LoggableMixin","logger","_logNamespace","SessionStorageModel","Model","extend","initialize","initialAttrs","this","_checkEnabledSessionStorage","id","Error","existing","isNew","_read","clear","silent","save","on","window","sessionStorage","length","err","alert","sync","method","model","options","trigger","returned","_create","_update","_delete","undefined","success","error","toJSON","set","setItem","JSON","stringify","DOMException","navigator","userAgent","indexOf","parse","getItem","removeItem","hasOwnProperty","_log","toString","omit","SearchableModelMixin","searchAttributes","searchAliases","searchAttribute","attrKey","searchFor","attrVal","get","isArray","_searchArrayAttribute","toLowerCase","array","any","elem","search","filter","key","matches","term","ATTR_SPECIFIER","split","matchesAll","terms","match","s","all","replace","HiddenUntilActivatedViewMixin","hiddenUntilActivated","$activator","HUAVOptions","$elementShown","$el","showFn","jQuery","toggle","showSpeed","hasBeenShown","is","hidden","isHidden","isFunction","onshowFirstTime","onshow","onhide","DraggableViewMixin","attributes","draggable","$dragHandle","$","toggleDraggable","draggableOff","draggableOn","dragStartHandler","bind","_dragStartHandler","dragEndHandler","_dragEndHandler","handle","attr","addEventListener","removeEventListener","event","dataTransfer","effectAllowed","setData","SelectableViewMixin","selectable","selected","$selector","_renderSelected","find","toggleClass","toggleSelector","hideSelector","showSelector","speed","fxSpeed","show","hide","toggleSelect","deselect","select"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/citation/citation-model.js.map b/static/maps/mvc/citation/citation-model.js.map index 0dcb17ca3b5..be955bca0cc 100644 --- a/static/maps/mvc/citation/citation-model.js.map +++ b/static/maps/mvc/citation/citation-model.js.map @@ -1 +1 @@ -{"version":3,"file":"citation-model.js","sources":["../../../src/mvc/citation/citation-model.js"],"names":["define","bibtex","baseMVC","logNamespace","Citation","Backbone","Model","extend","LoggableMixin","_logNamespace","initialize","this","attributes","content","entry","BibtexParser","entries","_fields","rawFields","Fields","key","value","lowerKey","toLowerCase","entryType","EntryType","fields","BaseCitationCollection","Collection","urlRoot","Galaxy","root","partial","model","HistoryCitationCollection","url","history_id","ToolCitationCollection","tool_id"],"mappings":"AAAAA,QACI,cACA,eACA,sBACD,SAAUC,EAAQC,GAGrB,GAAIC,GAAe,WAMfC,EAAWC,SAASC,MAAMC,OAAQL,EAAQM,eAAgBD,QAC1DE,cAAgBN,EAEhBO,WAAY,WACR,GAAIT,GAASU,KAAKC,WAAWC,QACzBC,EAAQ,GAAIb,GAAOc,aAAad,GAAQe,QAAQ,EACpDL,MAAKG,MAAQA,EACbH,KAAKM,UACL,IAAIC,GAAYJ,EAAMK,MACtB,KAAI,GAAIC,KAAOF,GAAW,CACtB,GAAIG,GAAQH,EAAWE,GACnBE,EAAWF,EAAIG,aACnBZ,MAAKM,QAASK,GAAaD,IAGnCG,UAAW,WACP,MAAOb,MAAKG,MAAMW,WAEtBC,OAAQ,WACJ,MAAOf,MAAKM,WAOhBU,EAAyBtB,SAASuB,WAAWrB,OAAQL,EAAQM,eAAgBD,QAC7EE,cAAgBN,EAGhB0B,QAAUC,OAAOC,KAAO,MACxBC,SAAU,EACVC,MAAQ7B,IAGR8B,EAA4BP,EAAuBpB,QAEnD4B,IAAM,WACF,MAAOxB,MAAKkB,QAAU,cAAgBlB,KAAKyB,WAAa,gBAI5DC,EAAyBV,EAAuBpB,QAEhD4B,IAAM,WACF,MAAOxB,MAAKkB,QAAU,UAAYlB,KAAK2B,QAAU,cAErDN,SAAU,GAId,QACI5B,SAAWA,EACX8B,0BAA6BA,EAC7BG,uBAAwBA"} \ No newline at end of file +{"version":3,"file":"citation-model.js","sources":["../../../src/mvc/citation/citation-model.js"],"names":["define","BibtexParser","baseMVC","logNamespace","Citation","Backbone","Model","extend","LoggableMixin","_logNamespace","initialize","bibtex","this","get","entry","entries","_fields","rawFields","Fields","key","value","lowerKey","toLowerCase","entryType","EntryType","fields","BaseCitationCollection","Collection","urlRoot","Galaxy","root","partial","model","HistoryCitationCollection","url","history_id","ToolCitationCollection","tool_id"],"mappings":"AAAAA,QACI,cACA,eACA,sBACD,SAAUC,EAAcC,GAG3B,GAAIC,GAAe,WAMfC,EAAWC,SAASC,MAAMC,OAAQL,EAAQM,eAAgBD,QAC1DE,cAAgBN,EAEhBO,WAAY,WACR,GAAIC,GAASC,KAAKC,IAAK,WACnBC,EAAQb,EAAaU,GAAQI,QAAQ,EACzCH,MAAKE,MAAQA,EACbF,KAAKI,UACL,IAAIC,GAAYH,EAAMI,MACtB,KAAI,GAAIC,KAAOF,GAAW,CACtB,GAAIG,GAAQH,EAAWE,GACnBE,EAAWF,EAAIG,aACnBV,MAAKI,QAASK,GAAaD,IAGnCG,UAAW,WACP,MAAOX,MAAKE,MAAMU,WAEtBC,OAAQ,WACJ,MAAOb,MAAKI,WAOhBU,EAAyBrB,SAASsB,WAAWpB,OAAQL,EAAQM,eAAgBD,QAC7EE,cAAgBN,EAGhByB,QAAUC,OAAOC,KAAO,MACxBC,SAAU,EACVC,MAAQ5B,IAGR6B,EAA4BP,EAAuBnB,QAEnD2B,IAAM,WACF,MAAOtB,MAAKgB,QAAU,cAAgBhB,KAAKuB,WAAa,gBAI5DC,EAAyBV,EAAuBnB,QAEhD2B,IAAM,WACF,MAAOtB,MAAKgB,QAAU,UAAYhB,KAAKyB,QAAU,cAErDN,SAAU,GAKd,QACI3B,SAAWA,EACX6B,0BAA6BA,EAC7BG,uBAAwBA"} \ No newline at end of file diff --git a/static/maps/mvc/ui/ui-select-default.js.map b/static/maps/mvc/ui/ui-select-default.js.map index 0ab8048af0c..356908dfec3 100644 --- a/static/maps/mvc/ui/ui-select-default.js.map +++ b/static/maps/mvc/ui/ui-select-default.js.map @@ -1 +1 @@ -{"version":3,"file":"ui-select-default.js","sources":["../../../src/mvc/ui/ui-select-default.js"],"names":["define","Utils","Buttons","View","Backbone","extend","optionsDefault","id","uid","cls","error_text","empty_text","visible","wait","multiple","searchable","optional","initialize","options","self","this","merge","setElement","_template","$select","$el","find","$icon_dropdown","minHeight","$","on","event","currentY","pageY","currentHeight","height","show","Math","max","hide","off","all_button","ButtonCheck","onclick","new_value","value","_availableOptions","trigger","prepend","addClass","prop","remove","update","data","undefined","onchange","exists","val","select2","current","_getValue","isArray","length","_size","first","text","unwait","removeClass","disabled","is","enable","disable","append","_templateOption","label","key","closeOnSelect","setOnChange","callback","validate","available","each","i","e","push","attr","_","escape"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ui-select-default.js","sources":["../../../src/mvc/ui/ui-select-default.js"],"names":["define","Utils","Buttons","View","Backbone","extend","optionsDefault","id","uid","cls","error_text","empty_text","visible","wait","multiple","searchable","optional","initialize","options","self","this","merge","setElement","_template","$select","$el","find","$icon_dropdown","on","select2","minHeight","$","event","currentY","pageY","currentHeight","height","show","Math","max","hide","off","all_button","ButtonCheck","onclick","new_value","value","_availableOptions","trigger","prepend","addClass","prop","remove","update","data","undefined","onchange","exists","val","current","_getValue","isArray","length","_size","first","text","unwait","removeClass","disabled","is","enable","disable","append","_templateOption","label","key","closeOnSelect","setOnChange","callback","validate","available","each","i","e","push","attr","_","escape"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/workflow/workflow-manager.js.map b/static/maps/mvc/workflow/workflow-manager.js.map index 6c4348c37c4..27171ddefe9 100644 --- a/static/maps/mvc/workflow/workflow-manager.js.map +++ b/static/maps/mvc/workflow/workflow-manager.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-manager.js","sources":["../../../src/mvc/workflow/workflow-manager.js"],"names":["define","Connector","Workflow","app","canvas_container","this","id_counter","nodes","name","has_changes","active_form_has_changes","$","extend","prototype","create_node","type","title_text","tool_id","node","prebuildNode","add_node","fit_canvas_to_nodes","canvas_manager","draw_overview","activate_node","id","element","attr","workflow","remove_node","active_node","clear_active_node","remove_all","wf","each","k","v","destroy","rectify_workflow_outputs","using_workflow_outputs","has_existing_pjas","workflow_outputs","length","post_job_actions","pja_id","pja","action_type","self","node_changed","pjas_to_rem","push","i","pja_name","output_terminals","ot_id","ot","create_pja","isWorkflowOutput","output_name","action_arguments","reload_active_node","to_simple","input_connections","input_terminals","t","cons","connectors","c","handle1","act","node_data","tool_state","tool_errors","position","annotation","uuid","label","steps","from_simple","data","max_id","step","init_field_data","css","top","left","Math","max","parseInt","isArray","l","x","other_node","connect","redraw","undefined","addWorkflowOutput","callout","find","Galaxy","root","check_changes_in_active_form","submit","make_inactive","showToolForm","form_html","make_active","force","layout","n_pred","successors","j","other","node_ids_by_level","level_parents","pred_k","sk","all_nodes","h_pad","v_pad","ids","sort","a","b","max_width","width","height","_","bounds_for_all_nodes","p","xmin","xmax","ymin","ymax","e","min","round_up","n","ceil","fix_delta","new_pos","bounds","parent","xmin_delta","ymin_delta","children"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow-manager.js","sources":["../../../src/mvc/workflow/workflow-manager.js"],"names":["define","Connector","Toastr","Workflow","app","canvas_container","this","id_counter","nodes","name","has_changes","active_form_has_changes","nodeLabels","$","extend","prototype","canLabelNodeWith","label","registerNodeLabel","unregisterNodeLabel","updateNodeLabel","fromLabel","toLabel","warning","attemptUpdateNodeLabel","node","setLabel","create_node","type","title_text","content_id","prebuildNode","add_node","fit_canvas_to_nodes","canvas_manager","draw_overview","activate_node","id","element","attr","workflow","remove_node","active_node","clear_active_node","remove_all","wf","each","k","v","destroy","rectify_workflow_outputs","using_workflow_outputs","has_existing_pjas","workflow_outputs","length","post_job_actions","pja_id","pja","action_type","self","node_changed","pjas_to_rem","push","i","pja_name","output_terminals","ot_id","ot","create_pja","isWorkflowOutput","output_name","action_arguments","reload_active_node","to_simple","input_connections","input_terminals","t","cons","connectors","c","handle1","act","node_data","tool_id","tool_state","tool_errors","position","annotation","uuid","steps","from_simple","data","max_id","step","init_field_data","css","top","left","Math","max","parseInt","isArray","l","x","other_node","connect","redraw","undefined","addWorkflowOutput","callout","find","Galaxy","root","check_changes_in_active_form","submit","make_inactive","showToolForm","form_html","make_active","force","layout","n_pred","successors","j","other","node_ids_by_level","level_parents","pred_k","sk","all_nodes","h_pad","v_pad","ids","sort","a","b","max_width","width","height","_","bounds_for_all_nodes","p","xmin","xmax","ymin","ymax","e","min","round_up","n","ceil","fix_delta","new_pos","bounds","parent","xmin_delta","ymin_delta","children"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/workflow/workflow-node.js.map b/static/maps/mvc/workflow/workflow-node.js.map index f07e1b25d75..eff73424320 100644 --- a/static/maps/mvc/workflow/workflow-node.js.map +++ b/static/maps/mvc/workflow/workflow-node.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-node.js","sources":["../../../src/mvc/workflow/workflow-node.js"],"names":["define","NodeView","Node","Backbone","Model","extend","initialize","app","attr","this","element","input_terminals","output_terminals","tool_errors","workflow_outputs","getWorkflowOutput","outputName","_","findWhere","output_name","isWorkflowOutput","undefined","removeWorkflowOutput","splice","addWorkflowOutput","push","connectedOutputTerminals","_connectedTerminals","terminals","connectedTerminals","$","each","t","connectors","length","hasConnectedOutputTerminals","outputTerminals","connectedMappedInputTerminals","_connectedMappedTerminals","hasConnectedMappedInputTerminals","inputTerminals","inputName","inputTerminal","isMappedOver","mapped_outputs","mapOver","isCollection","mappedInputTerminals","_mappedTerminals","mappedTerminals","hasMappedOverInputTerminals","found","redraw","destroy","k","workflow","remove_node","remove","make_active","addClass","make_inactive","get","p","removeChild","appendChild","parentNode","removeClass","init_field_data","data","type","name","form_html","tool_state","tooltip","annotation","post_job_actions","label","uuid","node","nodeView","el","data_inputs","i","input","addDataInput","data_outputs","addRule","output","addDataOutput","render","node_changed","update_field_data","pja_in","parseJSON","renderToolErrors","old_body","new_body","newInputsDiv","newTerminalViews","terminalView","difference","values","terminalViews","unusedView","terminal","updateDataOutput","replaceWith","markChanged","error","text","b","find","tmp","html"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow-node.js","sources":["../../../src/mvc/workflow/workflow-node.js"],"names":["define","NodeView","Node","Backbone","Model","extend","initialize","app","attr","this","element","input_terminals","output_terminals","tool_errors","workflow_outputs","getWorkflowOutput","outputName","_","findWhere","output_name","isWorkflowOutput","undefined","removeWorkflowOutput","splice","addWorkflowOutput","push","connectedOutputTerminals","_connectedTerminals","terminals","connectedTerminals","$","each","t","connectors","length","hasConnectedOutputTerminals","outputTerminals","connectedMappedInputTerminals","_connectedMappedTerminals","hasConnectedMappedInputTerminals","inputTerminals","inputName","inputTerminal","isMappedOver","mapped_outputs","mapOver","isCollection","mappedInputTerminals","_mappedTerminals","mappedTerminals","hasMappedOverInputTerminals","found","redraw","destroy","k","workflow","remove_node","remove","make_active","addClass","make_inactive","get","p","removeChild","appendChild","parentNode","removeClass","setLabel","label","updateNodeLabel","init_field_data","data","type","name","form_html","tool_state","tooltip","annotation","post_job_actions","uuid","node","nodeView","el","data_inputs","i","input","addDataInput","data_outputs","addRule","output","addDataOutput","render","node_changed","update_field_data","pja_in","parseJSON","renderToolErrors","old_body","new_body","newInputsDiv","newTerminalViews","terminalView","difference","values","terminalViews","unusedView","terminal","updateDataOutput","replaceWith","markChanged","error","text","b","find","tmp","html"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/workflow/workflow-view-node.js.map b/static/maps/mvc/workflow/workflow-view-node.js.map index b248c82942a..3f658f81891 100644 --- a/static/maps/mvc/workflow/workflow-view-node.js.map +++ b/static/maps/mvc/workflow/workflow-view-node.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-view-node.js","sources":["../../../src/mvc/workflow/workflow-view-node.js"],"names":["define","TerminalViews","DataViews","Backbone","View","extend","initialize","options","this","node","output_width","Math","max","$el","width","tool_body","find","remove","newInputsDiv","appendTo","terminalViews","outputTerminlViews","render","renderToolErrors","css","min","tool_errors","addClass","removeClass","$","updateMaxWidth","newWidth","addRule","append","addDataInput","input","body","skipResize","terminalView","name","terminalViewClass","input_type","InputCollectionTerminalView","InputTerminalView","el","terminal","destroy","update","destroyInvalidConnections","terminalElement","inputView","DataInputView","nodeView","ib","prepend","terminalElements","addDataOutput","output","OutputCollectionTerminalView","OutputTerminalView","outputView","DataOutputView","updateDataOutput","outputTerminal","output_terminals"],"mappings":"AAAAA,QAAQ,uCAAwC,mCAAoC,SAAUC,EAAeC,GACzG,MAAOC,UAASC,KAAKC,QACjBC,WAAY,SAAUC,GAClBC,KAAKC,KAAOF,EAAQE,KACpBD,KAAKE,aAAeC,KAAKC,IAAI,IAAKJ,KAAKK,IAAIC,SAC3CN,KAAKO,UAAYP,KAAKK,IAAIG,KAAM,iBAChCR,KAAKO,UAAUC,KAAM,OAAQC,SAC7BT,KAAKU,eAAeC,SAAUX,KAAKO,WACnCP,KAAKY,iBACLZ,KAAKa,uBAGTC,OAAQ,WACJd,KAAKe,mBACLf,KAAKK,IAAIW,IAAK,QAASb,KAAKc,IAAI,IAAKd,KAAKC,IAAKJ,KAAKK,IAAIC,QAASN,KAAKE,iBAG1Ea,iBAAkB,WACTf,KAAKC,KAAKiB,YACXlB,KAAKK,IAAIc,SAAU,mBAEnBnB,KAAKK,IAAIe,YAAa,oBAI9BV,aAAc,WACV,MAAOW,GAAE,+BAGbC,eAAgB,SAAUC,GACtBvB,KAAKE,aAAeC,KAAKC,IAAKJ,KAAKE,aAAcqB,IAGrDC,QAAS,WACLxB,KAAKO,UAAUkB,OAAQJ,EAAG,8BAG9BK,aAAc,SAAUC,EAAOC,GAC3B,GAAIC,IAAa,CACXD,KACFA,EAAO5B,KAAKqB,EAAG,WAGfQ,GAAa,EAEjB,IAAIC,GAAe9B,KAAKY,cAAee,EAAMI,MACzCC,EAA0C,sBAApBL,EAAMM,WAAuCxC,EAAcyC,4BAA8BzC,EAAc0C,iBAKjI,KAJIL,GAAoBA,YAAwBE,KAC5CF,EAAaM,GAAGC,SAASC,UACzBR,EAAe,MAEbA,EAKC,CACH,GAAIO,GAAWP,EAAaM,GAAGC,QAC/BA,GAASE,OAAQZ,GACjBU,EAASG,gCAPTV,GAAe,GAAIE,IACf/B,KAAMD,KAAKC,KACX0B,MAAOA,GAOf3B,MAAKY,cAAee,EAAMI,MAASD,CACnC,IAAIW,GAAkBX,EAAaM,GAC/BM,EAAY,GAAIhD,GAAUiD,eAC1BF,gBAAiBA,EACjBd,MAAOA,EACPiB,SAAU5C,KACV6B,WAAYA,IAEZgB,EAAKH,EAAUrC,GAEnB,OADAuB,GAAKH,OAAQoB,EAAGC,QAAShB,EAAaiB,qBAC/BjB,GAGXkB,cAAe,SAAUC,GACrB,GAAIjB,GAAsBiB,EAAkB,WAAIxD,EAAcyD,6BAA+BzD,EAAc0D,mBACvGrB,EAAe,GAAIE,IACnB/B,KAAMD,KAAKC,KACXgD,OAAQA,IAERG,EAAa,GAAI1D,GAAU2D,gBAC3BJ,OAAUA,EACVR,gBAAmBX,EAAaM,GAChCQ,SAAY5C,MAEhBA,MAAKO,UAAUkB,OAAQ2B,EAAW/C,IAAIoB,OAAQK,EAAaiB,sBAG/DO,iBAAkB,SAAUL,GACxB,GAAIM,GAAiBvD,KAAKC,KAAKuD,iBAAkBP,EAAOlB,KACxDwB,GAAehB,OAAQU"} \ No newline at end of file +{"version":3,"file":"workflow-view-node.js","sources":["../../../src/mvc/workflow/workflow-view-node.js"],"names":["define","TerminalViews","DataViews","Backbone","View","extend","initialize","options","this","node","output_width","Math","max","$el","width","tool_body","find","remove","newInputsDiv","appendTo","terminalViews","outputTerminlViews","render","title","label","name","text","renderToolErrors","css","min","tool_errors","addClass","removeClass","$","updateMaxWidth","newWidth","addRule","append","addDataInput","input","body","skipResize","terminalView","terminalViewClass","input_type","InputCollectionTerminalView","InputTerminalView","el","terminal","destroy","update","destroyInvalidConnections","terminalElement","inputView","DataInputView","nodeView","ib","prepend","terminalElements","addDataOutput","output","OutputCollectionTerminalView","OutputTerminalView","outputView","DataOutputView","updateDataOutput","outputTerminal","output_terminals"],"mappings":"AAAAA,QAAQ,uCAAwC,mCAAoC,SAAUC,EAAeC,GACzG,MAAOC,UAASC,KAAKC,QACjBC,WAAY,SAAUC,GAClBC,KAAKC,KAAOF,EAAQE,KACpBD,KAAKE,aAAeC,KAAKC,IAAI,IAAKJ,KAAKK,IAAIC,SAC3CN,KAAKO,UAAYP,KAAKK,IAAIG,KAAM,iBAChCR,KAAKO,UAAUC,KAAM,OAAQC,SAC7BT,KAAKU,eAAeC,SAAUX,KAAKO,WACnCP,KAAKY,iBACLZ,KAAKa,uBAGTC,OAAQ,WACJ,GACIC,GADAC,EAAQhB,KAAKC,KAAKe,KAGlBD,GADDC,EACSA,EAEAhB,KAAKC,KAAKgB,KAEtBjB,KAAKK,IAAIG,KAAK,cAAcU,KAAKH,GACjCf,KAAKmB,mBACLnB,KAAKK,IAAIe,IAAK,QAASjB,KAAKkB,IAAI,IAAKlB,KAAKC,IAAKJ,KAAKK,IAAIC,QAASN,KAAKE,iBAG1EiB,iBAAkB,WACTnB,KAAKC,KAAKqB,YACXtB,KAAKK,IAAIkB,SAAU,mBAEnBvB,KAAKK,IAAImB,YAAa,oBAI9Bd,aAAc,WACV,MAAOe,GAAE,+BAGbC,eAAgB,SAAUC,GACtB3B,KAAKE,aAAeC,KAAKC,IAAKJ,KAAKE,aAAcyB,IAGrDC,QAAS,WACL5B,KAAKO,UAAUsB,OAAQJ,EAAG,8BAG9BK,aAAc,SAAUC,EAAOC,GAC3B,GAAIC,IAAa,CACXD,KACFA,EAAOhC,KAAKyB,EAAG,WAGfQ,GAAa,EAEjB,IAAIC,GAAelC,KAAKY,cAAemB,EAAMd,MACzCkB,EAA0C,sBAApBJ,EAAMK,WAAuC3C,EAAc4C,4BAA8B5C,EAAc6C,iBAKjI,KAJIJ,GAAoBA,YAAwBC,KAC5CD,EAAaK,GAAGC,SAASC,UACzBP,EAAe,MAEbA,EAKC,CACH,GAAIM,GAAWN,EAAaK,GAAGC,QAC/BA,GAASE,OAAQX,GACjBS,EAASG,gCAPTT,GAAe,GAAIC,IACflC,KAAMD,KAAKC,KACX8B,MAAOA,GAOf/B,MAAKY,cAAemB,EAAMd,MAASiB,CACnC,IAAIU,GAAkBV,EAAaK,GAC/BM,EAAY,GAAInD,GAAUoD,eAC1BF,gBAAiBA,EACjBb,MAAOA,EACPgB,SAAU/C,KACViC,WAAYA,IAEZe,EAAKH,EAAUxC,GAEnB,OADA2B,GAAKH,OAAQmB,EAAGC,QAASf,EAAagB,qBAC/BhB,GAGXiB,cAAe,SAAUC,GACrB,GAAIjB,GAAsBiB,EAAkB,WAAI3D,EAAc4D,6BAA+B5D,EAAc6D,mBACvGpB,EAAe,GAAIC,IACnBlC,KAAMD,KAAKC,KACXmD,OAAQA,IAERG,EAAa,GAAI7D,GAAU8D,gBAC3BJ,OAAUA,EACVR,gBAAmBV,EAAaK,GAChCQ,SAAY/C,MAEhBA,MAAKO,UAAUsB,OAAQ0B,EAAWlD,IAAIwB,OAAQK,EAAagB,sBAG/DO,iBAAkB,SAAUL,GACxB,GAAIM,GAAiB1D,KAAKC,KAAK0D,iBAAkBP,EAAOnC,KACxDyC,GAAehB,OAAQU"} \ No newline at end of file diff --git a/static/maps/mvc/workflow/workflow-view.js.map b/static/maps/mvc/workflow/workflow-view.js.map index 29e6d1f76fd..27284bad95a 100644 --- a/static/maps/mvc/workflow/workflow-view.js.map +++ b/static/maps/mvc/workflow/workflow-view.js.map @@ -1 +1 @@ -{"version":3,"file":"workflow-view.js","sources":["../../../src/mvc/workflow/workflow-view.js"],"names":["define","Utils","Globals","Workflow","WorkflowCanvas","Node","ToolsForm","async_save_text","reset_tool_search","initValue","tool_menu_frame","$","contents","length","document","this","removeClass","find","hide","show","each","attr","hasClass","search_input","val","EditorFormView","Backbone","View","extend","initialize","options","merge","$el","workflowView","node","html","setElement","id","after","_genericStepAttributesTemplate","ajaxForm","type","dataType","success","data","workflow","active_form_has_changes","update_field_data","showWorkflowParameters","beforeSubmit","push","name","value","tool_state","form","change","submit","bind","_annotationTemplate","annotation","layout_editor","self","layout","fit_canvas_to_nodes","scroll_to_nodes","canvas_manager","draw_overview","edit_workflow_attributes","clear_active_node","show_overview","jStorage","set","css","hide_overview","app","urls","active_ajax_call","close_editor","check_changes_in_active_form","has_changes","do_close","window","onbeforeunload","undefined","location","workflow_index","show_modal","Cancel","hide_modal","Save Changes","save_current_workflow","Don't Save","eventObj","success_callback","show_message","rectify_workflow_outputs","savefn","callback","ajax","url","save_workflow","workflow_data","JSON","stringify","to_simple","_","body","text","message","errors","addClass","errlist","i","v","appendTo","append","stored","Ok","unbind","click","focus","select","keyup","lastValue","q","timer","clearTimeout","setTimeout","get","tool_search","s","map","n","index","parent","this_label","next","no_visible_tools","is","reset","datatypes","parse","Galaxy","root","async","responseText","datatypes_mapping","ext_to_type","ext_to_class_name","type_to_type","class_to_classes","load_workflow","cache","from_simple","upgrade_message","upgrade_messages","k","parseInt","nodes","vv","Continue","ajaxStart","ajaxError","e","x","statusText","Ignore error","make_popupmenu","Save","Run","run_workflow","Edit Attributes","Auto Re-layout","Close","overview_size","width","height","d","op","offsetParent","opo","offset","new_size","Math","max","offsetX","left","offsetY","top","wrap","last_expanded","slideUp","slideDown","rename_async","annotate_async","remove_all","cv","cc","add_node_for_tool","title","create_node","get_new_module_info","tool_id","global","init_field_data","error","m","status","add_node_for_module","display_pja","pja","get_pja_form","action_to_rem","closest","children","remove","active_node","post_job_actions","display_pja_list","pja_list","display_file_list","addlist","out_terminal","output_terminals","new_pja","action_type","target","output_name","parameter_re","workflow_parameters","wf_parm_container","wf_parm_box","new_parameter_content","matches","form_matches","form_html","match","concat","action_arguments","action_argument","arg_matches","element","inArray","substring","showToolForm","cls","$container","$current","formView","isJSON","scrollTop","isSubType","child","prebuildNode","title_text","f","scrollLeft","b","tmp","buttons","destroy","o","position","p","prependTo","activate_node","node_changed","po","y","terminal","redraw"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workflow-view.js","sources":["../../../src/mvc/workflow/workflow-view.js"],"names":["define","Utils","Globals","Workflow","WorkflowCanvas","Node","ToolsForm","async_save_text","Toastr","reset_tool_search","initValue","tool_menu_frame","$","contents","length","document","this","removeClass","find","hide","show","each","attr","hasClass","search_input","val","NODE_ICONS","tool","data_input","data_collection_input","pause","add_node_icon","$to_el","nodeType","iconStyle","$icon","addClass","before","EditorFormView","Backbone","View","extend","initialize","options","merge","$el","workflowView","node","html","setElement","id","after","_genericStepAttributesTemplate","type","$titleText","data","text","make_text_editable","on_finish","newLabel","lastValue","workflow","attemptUpdateNodeLabel","submit","name","warning","ajaxForm","dataType","success","active_form_has_changes","update_field_data","showWorkflowParameters","beforeSubmit","push","value","tool_state","form","change","bind","_annotationTemplate","annotation","layout_editor","self","layout","fit_canvas_to_nodes","scroll_to_nodes","canvas_manager","draw_overview","edit_workflow_attributes","clear_active_node","show_overview","jStorage","set","css","hide_overview","app","urls","active_ajax_call","close_editor","check_changes_in_active_form","has_changes","do_close","window","onbeforeunload","undefined","location","workflow_index","show_modal","Cancel","hide_modal","Save Changes","save_current_workflow","Don't Save","eventObj","success_callback","show_message","rectify_workflow_outputs","savefn","callback","ajax","url","save_workflow","workflow_data","JSON","stringify","to_simple","_","body","message","errors","errlist","i","v","appendTo","append","stored","Ok","unbind","click","focus","select","keyup","q","timer","clearTimeout","setTimeout","get","tool_search","s","map","n","index","parent","this_label","next","no_visible_tools","is","reset","datatypes","parse","Galaxy","root","async","responseText","datatypes_mapping","ext_to_type","ext_to_class_name","type_to_type","class_to_classes","load_workflow","cache","from_simple","upgrade_message","upgrade_messages","k","parseInt","nodes","vv","Continue","ajaxStart","ajaxError","e","x","statusText","Ignore error","make_popupmenu","Save","Run","run_workflow","Edit Attributes","Auto Re-layout","Close","overview_size","width","height","d","op","offsetParent","opo","offset","new_size","Math","max","offsetX","left","offsetY","top","wrap","last_expanded","slideUp","slideDown","rename_async","annotate_async","remove_all","cv","cc","_moduleInitAjax","request_data","get_new_module_info","global","init_field_data","error","m","status","add_node_for_tool","title","create_node","content_id","add_node_for_subworkflow","subworkflow_id","add_node_for_module","display_pja","pja","get_pja_form","action_to_rem","closest","children","remove","active_node","post_job_actions","display_pja_list","pja_list","display_file_list","addlist","out_terminal","output_terminals","new_pja","action_type","target","output_name","parameter_re","workflow_parameters","wf_parm_container","wf_parm_box","new_parameter_content","matches","form_matches","form_html","match","concat","action_arguments","action_argument","arg_matches","element","inArray","substring","showToolForm","cls","$container","$current","formView","isJSON","scrollTop","isSubType","child","$newNodeElement","title_text","$f","$title","scrollLeft","$b","prebuildNode","tmp","buttons","destroy","o","position","p","prependTo","activate_node","node_changed","po","y","terminal","redraw"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/polyfills.js.map b/static/maps/polyfills.js.map index 1a031d84d0c..87dbd52506e 100644 --- a/static/maps/polyfills.js.map +++ b/static/maps/polyfills.js.map @@ -1 +1 @@ -{"version":3,"file":"polyfills.js","sources":["../src/polyfills.js"],"names":["window","console","log","debug","info","warn","error","assert","Object","assign","_","extend","lastTime","vendors","x","length","requestAnimationFrame","cancelRequestAnimationFrame","callback","currTime","Date","getTime","timeToCall","Math","max","id","setTimeout","cancelAnimationFrame","clearTimeout","incompatibilities","name","compatible","CanvasRenderingContext2D","Number","isInteger","sessionStorage","err","filter","feature","map","root","document","querySelectorAll","item","location","href","join"],"mappings":"CAKA,WAMI,YAKAA,QAAOC,QAAUD,OAAOC,UACpBC,IAAU,aACVC,MAAU,aACVC,KAAU,aACVC,KAAU,aACVC,MAAU,aACVC,OAAU,cAIdC,OAAOC,OAASD,OAAOC,QAAUC,EAAEC,MAKnC,KAAI,GAFAC,GAAW,EACXC,GAAW,KAAM,MAAO,SAAU,KAC9BC,EAAI,EAAGA,EAAID,EAAQE,SAAWf,OAAOgB,wBAAyBF,EAClEd,OAAOgB,sBAAwBhB,OAAOa,EAAQC,GAAG,yBACjDd,OAAOiB,4BAA8BjB,OAAOa,EAAQC,GAClD,8BAGDd,QAAOgB,wBACRhB,OAAOgB,sBAAwB,SAASE,GACpC,GAAIC,IAAW,GAAIC,OAAOC,UACtBC,EAAaC,KAAKC,IAAI,EAAG,IAAML,EAAWP,IAC1Ca,EAAKzB,OAAO0B,WAAW,WAAaR,EAASC,EAAWG,IAC1DA,EAEF,OADAV,GAAWO,EAAWG,EACfG,IAGVzB,OAAO2B,uBACR3B,OAAO2B,qBAAuB,SAASF,GACnCG,aAAaH,IAIrB,IAAII,KACEC,KAAM,SAAoBC,WAAY,WAAY,MAAO/B,QAAOgC,4BAChEF,KAAM,iBAAoBC,WAAY,WACpC,IACI,MAAOE,QAAOC,UAAWC,eAAepB,QAC1C,MAAOqB,IACT,OAAO,IASf,IALAP,EAAoBA,EACfQ,OAAQ,SAAUC,GAAW,OAAQA,EAAQP,eAC7CQ,IAAK,SAAUD,GAAW,MAAOA,GAAQR,OAGxCD,EAAkBd,OAAQ,CAC5B,GAAIyB,GAAOC,SAASC,iBAAkB,qBAAsBC,KAAM,EAC9DH,KACAxC,OAAO4C,SAASC,KAAOL,EAAKK,KAAO,oCAEvC5C,QAAQC,IAAK,0BAA4B2B,EAAkBiB,KAAM"} \ No newline at end of file +{"version":3,"file":"polyfills.js","sources":["../src/polyfills.js"],"names":["window","console","log","debug","info","warn","error","assert","Object","assign","_","extend","lastTime","vendors","x","length","requestAnimationFrame","cancelRequestAnimationFrame","callback","currTime","Date","getTime","timeToCall","Math","max","id","setTimeout","cancelAnimationFrame","clearTimeout","features","name","compatible","CanvasRenderingContext2D","sessionStorage","err","incompatibilities","filter","feature","map","root","document","querySelectorAll","item","location","href","join"],"mappings":"CAKA,WAMI,YAKAA,QAAOC,QAAUD,OAAOC,UACpBC,IAAU,aACVC,MAAU,aACVC,KAAU,aACVC,KAAU,aACVC,MAAU,aACVC,OAAU,cAIdC,OAAOC,OAASD,OAAOC,QAAUC,EAAEC,MAKnC,KAAI,GAFAC,GAAW,EACXC,GAAW,KAAM,MAAO,SAAU,KAC9BC,EAAI,EAAGA,EAAID,EAAQE,SAAWf,OAAOgB,wBAAyBF,EAClEd,OAAOgB,sBAAwBhB,OAAOa,EAAQC,GAAG,yBACjDd,OAAOiB,4BAA8BjB,OAAOa,EAAQC,GAClD,8BAGDd,QAAOgB,wBACRhB,OAAOgB,sBAAwB,SAASE,GACpC,GAAIC,IAAW,GAAIC,OAAOC,UACtBC,EAAaC,KAAKC,IAAI,EAAG,IAAML,EAAWP,IAC1Ca,EAAKzB,OAAO0B,WAAW,WAAaR,EAASC,EAAWG,IAC1DA,EAEF,OADAV,GAAWO,EAAWG,EACfG,IAGVzB,OAAO2B,uBACR3B,OAAO2B,qBAAuB,SAASF,GACnCG,aAAaH,IAIrB,IAAII,KACEC,KAAM,SAAoBC,WAAY,WAAY,MAAO/B,QAAOgC,4BAChEF,KAAM,iBAAoBC,WAAY,WACpC,IACI,MAAO/B,QAAOiC,eAAelB,QAAU,EACzC,MAAOmB,IACT,OAAO,KAIXC,EAAoBN,EACnBO,OAAQ,SAAUC,GAAW,OAAQA,EAAQN,eAC7CO,IAAK,SAAUD,GAAW,MAAOA,GAAQP,MAG9C,IAAMK,EAAkBpB,OAAQ,CAC5B,GAAIwB,GAAOC,SAASC,iBAAkB,qBAAsBC,KAAM,EAC9DH,KACAvC,OAAO2C,SAAWJ,EAAKK,KAAO,oCAElC3C,QAAQC,IAAK,0BAA4BiC,EAAkBU,KAAM"} \ No newline at end of file diff --git a/static/scripts/bundled/analysis.bundled.js b/static/scripts/bundled/analysis.bundled.js index 972dc79068d..886b544d081 100644 --- a/static/scripts/bundled/analysis.bundled.js +++ b/static/scripts/bundled/analysis.bundled.js @@ -1,10 +1,10 @@ -webpackJsonp([3,1],[function(t,e,i){(function(t,e){var n=i(1),s=n,o=i(83).GalaxyApp,a=i(62),r=i(13),l=i(112),c=i(111),d=i(85),h=i(23);window.app=function(i,n){window.Galaxy=new o(i,n),Galaxy.debug("analysis app");var u=i.config,p=new l({el:"#left",userIsAnonymous:Galaxy.user.isAnonymous(),spinner_url:u.spinner_url,search_url:u.search_url,toolbox:u.toolbox,toolbox_in_panel:u.toolbox_in_panel,stored_workflow_menu_entries:u.stored_workflow_menu_entries,nginx_upload_path:u.nginx_upload_path,ftp_upload_site:u.ftp_upload_site,default_genome:u.default_genome,default_extension:u.default_extension}),f=new r.CenterPanel({el:"#center"}),g=new c({el:"#right",galaxyRoot:Galaxy.root,userIsAnonymous:Galaxy.user.isAnonymous(),allow_user_dataset_purge:u.allow_user_dataset_purge}),m=new d.PageLayoutView(t.extend(i,{el:"body",left:p,center:f,right:g}));Galaxy.page=m,Galaxy.params=Galaxy.config.params,Galaxy.toolPanel=p.tool_panel,Galaxy.upload=p.uploadButton,Galaxy.currHistoryPanel=g.historyView,Galaxy.currHistoryPanel.listenToGalaxy(Galaxy),Galaxy.app={display:function(t,e){s(".select2-hidden-accessible").remove(),f.display(t)}};new(e.Router.extend({initialize:function(t){this.options=t},execute:function(t,e,i){Galaxy.debug("router execute:",t,e,i);var n=a.parse(e.pop());e.push(n),t&&t.apply(this,e)},routes:{"(/)":"home","(/)root*":"home"},home:function(t){(t.tool_id||t.job_id)&&"upload1"!==t.tool_id?this._loadToolForm(t):t.workflow_id?this._loadCenterIframe("workflow/run?id="+t.workflow_id):t.m_c?this._loadCenterIframe(t.m_c+"/"+t.m_a):this._loadCenterIframe("welcome")},_loadToolForm:function(t){t.id=t.tool_id,f.display(new h.View(t))},_loadCenterIframe:function(t,e){e=e||Galaxy.root,t=e+t,f.$("#galaxy_main").prop("src",t)}}))(i);s(function(){m.render().right.historyView.loadCurrentHistory(),Galaxy.listenTo(m.right.historyView,"history-size-change",function(){Galaxy.user.fetch()}),m.right.historyView.connectToQuotaMeter(m.masthead.quotaMeter),e.history.start({root:Galaxy.root,pushState:!0})})}}).call(e,i(3),i(2))},,,,,,,function(t,e,i){var n,s;(function(o,a){n=[i(4),i(55),i(58),i(25),i(54),i(17),i(10)],s=function(t,e,i,n,s,r,l){var c=o.View.extend({initialize:function(e){this.options=t.merge(e,{url:"",cls:""}),this.setElement(this._template(this.options))},_template:function(t){return''}}),d=o.View.extend({initialize:function(e){this.options=t.merge(e,{title:"",cls:""}),this.setElement(this._template(this.options))},title:function(t){this.$el.html(t)},value:function(){return options.title},_template:function(t){return'"}}),h=o.View.extend({initialize:function(e){this.options=t.merge(e,{floating:"right",icon:"",tooltip:"",placement:"bottom",title:"",cls:""}),this.setElement(this._template(this.options)),a(this.el).tooltip({title:e.tooltip,placement:"bottom"})},_template:function(t){return'
 '+t.title+"
"}}),u=o.View.extend({initialize:function(e){this.options=t.merge(e,{title:"",cls:""}),this.setElement(this._template(this.options)),a(this.el).on("click",e.onclick)},_template:function(t){return'
'+t.title+"
"}}),p=o.View.extend({initialize:function(e){this.options=t.merge(e,{message:null,status:"info",cls:"",persistent:!1}),this.setElement('
'),this.options.message&&this.update(this.options)},update:function(e){if(this.options=t.merge(e,this.options),""!=e.message){if(this.$el.html(this._template(this.options)),this.$el.fadeIn(),this.timeout&&window.clearTimeout(this.timeout),!e.persistent){var i=this;this.timeout=window.setTimeout(function(){i.$el.is(":visible")?i.$el.fadeOut():i.$el.hide()},3e3)}}else this.$el.fadeOut()},_template:function(t){var e="ui-message alert alert-"+t.status;return t.large&&(e=("success"==t.status&&"done"||"danger"==t.status&&"error"||t.status)+"messagelarge"),'
'+t.message+"
"}}),f=o.View.extend({initialize:function(e){this.options=t.merge(e,{onclick:null,searchword:""}),this.setElement(this._template(this.options));var i=this;this.options.onclick&&this.$el.on("submit",function(t){var e=i.$el.find("#search");i.options.onclick(e.val())})},_template:function(t){return''}}),g=o.View.extend({initialize:function(e){this.options=t.merge(e,{type:"text",placeholder:"",disabled:!1,visible:!0,cls:"",area:!1}),this.setElement(this._template(this.options)),void 0!==this.options.value&&this.value(this.options.value),this.options.disabled&&this.$el.prop("disabled",!0),this.options.visible||this.$el.hide();var i=this;this.$el.on("input",function(){i.options.onchange&&i.options.onchange(i.$el.val())})},value:function(t){return void 0!==t&&this.$el.val(t),this.$el.val()},_template:function(t){return t.area?'':''}}),m=o.View.extend({initialize:function(t){this.options=t,this.setElement(this._template(this.options)),void 0!==this.options.value&&this.value(this.options.value)},value:function(t){return void 0!==t&&this.$("hidden").val(t),this.$("hidden").val()},_template:function(t){var e='
';return t.info&&(e+="
"+t.info+"
"),e+='
'}});return{Anchor:u,Button:r.ButtonDefault,ButtonIcon:r.ButtonIcon,ButtonCheck:r.ButtonCheck,ButtonMenu:r.ButtonMenu,ButtonLink:r.ButtonLink,Icon:h,Image:c,Input:g,Label:d,Message:p,Modal:l,RadioButton:n.RadioButton,Checkbox:n.Checkbox,Radio:n.Radio,Searchbox:f,Select:e,Hidden:m,Slider:i,Drilldown:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e){"use strict";function i(t){return d[t]}function n(t){for(var e=1;ei;i++)if(t[i]===e)return i;return-1}function o(t){if("string"!=typeof t){if(t&&t.toHTML)return t.toHTML();if(null==t)return"";if(!t)return t+"";t=""+t}return u.test(t)?t.replace(h,i):t}function a(t){return t||0===t?g(t)&&0===t.length?!0:!1:!0}function r(t){var e=n({},t);return e._parent=t,e}function l(t,e){return t.path=e,t}function c(t,e){return(t?t+".":"")+e}e.__esModule=!0,e.extend=n,e.indexOf=s,e.escapeExpression=o,e.isEmpty=a,e.createFrame=r,e.blockParams=l,e.appendContextPath=c;var d={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},h=/[&<>"'`=]/g,u=/[&<>"'`=]/,p=Object.prototype.toString;e.toString=p;var f=function(t){return"function"==typeof t};f(/x/)&&(e.isFunction=f=function(t){return"function"==typeof t&&"[object Function]"===p.call(t)}),e.isFunction=f;var g=Array.isArray||function(t){return t&&"object"==typeof t?"[object Array]"===p.call(t):!1};e.isArray=g},function(t,e){"use strict";function i(t,e){var s=e&&e.loc,o=void 0,a=void 0;s&&(o=s.start.line,a=s.start.column,t+=" - "+o+":"+a);for(var r=Error.prototype.constructor.call(this,t),l=0;l';return t.title&&(e+='
',t.icon&&(e+=' '),e+=''+t.title+"
"),e+='
',"top"==t.placement&&(e+='
'),e+='
',"bottom"==t.placement&&(e+='
'),e+='
'}});return{View:e}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){t.exports=i(68)["default"]},,function(t,e,i){var n,s;(function(o,a,r){n=[i(10),i(28),i(19)],s=function(t,e,i){var n=o.Model.extend({}),s=o.Model.extend({defaults:{id:"",type:"",name:"",hda_ldda:"hda",metadata:null},initialize:function(){this.get("metadata")||this._set_metadata(),this.on("change",this._set_metadata,this)},_set_metadata:function(){var t=new n;a.each(a.keys(this.attributes),function(e){if(0===e.indexOf("metadata_")){var i=e.split("metadata_")[1];t.set(i,this.attributes[e]),delete this.attributes[e]}},this),this.set("metadata",t,{silent:!0})},get_metadata:function(t){return this.attributes.metadata.get(t)},urlRoot:Galaxy.root+"api/datasets"}),l=s.extend({defaults:a.extend({},s.prototype.defaults,{chunk_url:null,first_data_chunk:null,chunk_index:-1,at_eof:!1}),initialize:function(t){s.prototype.initialize.call(this),this.attributes.chunk_index=this.attributes.first_data_chunk?1:0,this.attributes.chunk_url=Galaxy.root+"dataset/display?dataset_id="+this.id,this.attributes.url_viz=Galaxy.root+"visualization"},get_next_chunk:function(){if(this.attributes.at_eof)return null;var t=this,e=r.Deferred();return r.getJSON(this.attributes.chunk_url,{chunk:t.attributes.chunk_index++}).success(function(i){var n;""!==i.ck_data?n=i:(t.attributes.at_eof=!0,n=null),e.resolve(n)}),e}}),c=o.Collection.extend({model:s}),d=o.View.extend({initialize:function(t){this.row_count=0,this.loading_chunk=!1,new p({model:t.model,$el:this.$el})},expand_to_container:function(){this.$el.height()").attr("id","loading_indicator"),this.$el.append(this.loading_indicator);var t=r("").attr({id:"content_table",cellpadding:0});this.$el.append(t);var e=this.model.get_metadata("column_names"),i=r("").appendTo(t),n=r("").appendTo(i);if(e)n.append("");else for(var s=1;s<=this.model.get_metadata("columns");s++)n.append("");var o=this,a=this.model.get("first_data_chunk");a?this._renderChunk(a):r.when(o.model.get_next_chunk()).then(function(t){o._renderChunk(t)}),this.scroll_elt.scroll(function(){o.attempt_to_fetch()})},scrolled_to_bottom:function(){return!1},_renderCell:function(t,e,i){var n=r("");e.append(t),this.row.append(e)},appendHeader:function(){this.$thead.append(this.row),this.row=a("")},add:function(t,e,i){var n=a("");e&&n.css("width",e),i&&n.css("text-align",i),n.append(t),this.row.append(n)},append:function(t,e){this._commit(t,e,!1)},prepend:function(t,e){this._commit(t,e,!0)},get:function(t){return this.$el.find("#"+t)},del:function(t){var e=this.$tbody.find("#"+t);e.length>0&&(e.remove(),this.row_count--,this._refresh())},delAll:function(){this.$tbody.empty(),this.row_count=0,this._refresh()},value:function(t){this.before=this.$tbody.find(".current").attr("id"),void 0!==t&&(this.$tbody.find("tr").removeClass("current"),t&&this.$tbody.find("#"+t).addClass("current"));var e=this.$tbody.find(".current").attr("id");return void 0===e?null:(e!=this.before&&this.options.onchange&&this.options.onchange(t),e)},size:function(){return this.$tbody.find("tr").length},_commit:function(t,e,i){this.del(t),this.row.attr("id",t),i?this.$tbody.prepend(this.row):this.$tbody.append(this.row),e&&(this.row.hide(),this.row.fadeIn()),this.row=this._row(),this.row_count++,this._refresh()},_row:function(){return a('')},_onclick:function(t){var e=this.value(),i=a(t.target).closest("tr").attr("id");""!=i&&i&&e!=i&&(this.options.onconfirm?this.options.onconfirm(i):this.value(i))},_ondblclick:function(t){var e=this.value();e&&this.options.ondblclick&&this.options.ondblclick(e)},_refresh:function(){0==this.row_count?this.$tmessage.show():this.$tmessage.hide()},_template:function(t){return'
"+e.join("")+""+s+"").text(t),s=this.model.get_metadata("column_types");return void 0!==i?n.attr("colspan",i).addClass("stringalign"):s&&e"),n=this.model.get_metadata("columns");return this.row_count%2!==0&&i.addClass("dark_row"),e.length===n?a.each(e,function(t,e){i.append(this._renderCell(t,e))},this):e.length>n?(a.each(e.slice(0,n-1),function(t,e){i.append(this._renderCell(t,e))},this),i.append(this._renderCell(e.slice(n-1).join(" "),n-1))):n>5&&e.length===n-1?(a.each(e,function(t,e){i.append(this._renderCell(t,e))},this),i.append(r(""))):i.append(this._renderCell(t,0,n)),this.row_count++,i},_renderChunk:function(t){var e=this.$el.find("table");a.each(t.ck_data.split("\n"),function(t,i){""!==t&&e.append(this._renderRow(t))},this)}}),h=d.extend({initialize:function(t){d.prototype.initialize.call(this,t),scroll_elt=a.find(this.$el.parents(),function(t){return"auto"===r(t).css("overflow")}),scroll_elt||(scroll_elt=window),this.scroll_elt=r(scroll_elt)},scrolled_to_bottom:function(){return this.$el.height()-this.scroll_elt.scrollTop()-this.scroll_elt.height()<=0}}),u=d.extend({initialize:function(t){d.prototype.initialize.call(this,t),this.scroll_elt=this.$el.css({position:"relative",overflow:"scroll",height:t.height||"500px"})},scrolled_to_bottom:function(){return this.$el.scrollTop()+this.$el.innerHeight()>=this.el.scrollHeight}}),p=o.View.extend({col:{chrom:null,start:null,end:null},url_viz:null,dataset_id:null,genome_build:null,file_ext:null,initialize:function(t){function e(t,e){for(var i=0;i').append(i('
').append(t.help));return e.find("a").attr("target","_blank"),e},success:function(t){if(!t.jobs||!t.jobs.length)return this.error(t);var e=t.jobs.length,i="";i=1==e?"1 job has":e+" jobs have";var n='

'+i+" been successfully added to the queue - resulting in the following datasets:

";for(var s in t.outputs)n+='

'+t.outputs[s].hid+": "+t.outputs[s].name+"

";return n+="

You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.

"},error:function(t){return'

The server could not complete the request. Please contact the Galaxy Team if this error persists.

"},requirements:function(t){var e="This tool requires ";for(var i in t.requirements){var n=t.requirements[i];e+=n.name,n.version&&(e+=" (Version "+n.version+")"),ihere for more information.'}}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(1))},function(t,e,i){var n,s;(function(o,a){n=[i(4)],s=function(t){var e=o.View.extend({initialize:function(e){this.options=t.merge(e,{id:t.uid(),title:"",floating:"right",icon:"",cls:"ui-button btn btn-default",cls_wait:"btn btn-info"}),this.setElement(this._template(this.options));var i=this;a(this.el).on("click",function(){a(".tooltip").hide(),e.onclick&&!i.disabled&&e.onclick()}),a(this.el).tooltip({title:e.tooltip,placement:"bottom"})},disable:function(){this.$el.addClass("disabled"),this.disabled=!0},enable:function(){this.$el.removeClass("disabled"),this.disabled=!1},wait:function(){this.$el.removeClass(this.options.cls).addClass(this.options.cls_wait).prop("disabled",!0),this.$(".icon").removeClass(this.options.icon).addClass("fa-spinner fa-spin"),this.$(".title").html("Sending...")},unwait:function(){this.$el.removeClass(this.options.cls_wait).addClass(this.options.cls).prop("disabled",!1),this.$(".icon").removeClass("fa-spinner fa-spin").addClass(this.options.icon),this.$(".title").html(this.options.title)},_template:function(t){var e='"}}),i=e.extend({initialize:function(t){e.prototype.initialize.call(this,t)},_template:function(t){return''}}),n=o.View.extend({initialize:function(e){this.options=t.merge(e,{title:"Select/Unselect all",icons:["fa fa-square-o","fa fa-minus-square-o","fa fa-check-square-o"],value:0}),this.setElement(this._template()),this.$title=this.$(".title"),this.$icon=this.$(".icon"),this.value(this.options.value),this.$title.html(this.options.title);var i=this;this.$el.on("click",function(){i.current=0===i.current&&2||0,i.value(i.current),i.options.onclick&&i.options.onclick()})},value:function(t,e){return void 0!==t&&(e&&0!==t&&(t=t!==e&&1||2),this.current=t,this.$icon.removeClass().addClass("icon").addClass(this.options.icons[t]),this.options.onchange&&this.options.onchange(t)),this.current},_template:function(){return'
'}}),s=o.View.extend({initialize:function(e){this.options=t.merge(e,{id:t.uid(),title:"",floating:"right",cls:"ui-button-icon",icon:"",tooltip:"",onclick:null}),this.setElement(this._template(this.options)),this.$button=this.$el.find(".button");var i=this;a(this.el).on("click",function(){a(".tooltip").hide(),e.onclick&&!i.disabled&&e.onclick()}),this.$button.tooltip({title:e.tooltip,placement:"bottom"})},disable:function(){this.$button.addClass("disabled"),this.disabled=!0},enable:function(){this.$button.removeClass("disabled"),this.disabled=!1},setIcon:function(t){this.$("i").removeClass(this.options.icon).addClass(t),this.options.icon=t},_template:function(t){var e="";t.title&&(e="width: auto;");var i='
';return i+=t.title?' '+t.title+"":'',i+="
"}}),r=o.View.extend({$menu:null,initialize:function(e){this.options=t.merge(e,{id:"",title:"",floating:"right",pull:"right",icon:null,onclick:null,cls:"ui-button-icon ui-button-menu",tooltip:"",target:"",href:"",onunload:null,visible:!0,tag:""}),this.setElement(a(this._template(this.options)));var i=a(this.el).find(".root"),n=this;i.on("click",function(t){a(".tooltip").hide(),t.preventDefault(),n.options.onclick&&n.options.onclick()}),this.options.visible||this.hide(),i.tooltip({title:e.tooltip,placement:"bottom"})},show:function(){a(this.el).show()},hide:function(){a(this.el).hide()},addMenu:function(e){var i={title:"",target:"",href:"",onclick:null,divider:!1,icon:null,cls:"button-menu btn-group"};i=t.merge(e,i),this.$menu||(a(this.el).append(this._templateMenu()),this.$menu=a(this.el).find(".menu"));var n=a(this._templateMenuItem(i));n.on("click",function(t){i.onclick&&(t.preventDefault(),i.onclick())}),this.$menu.append(n),i.divider&&this.$menu.append(a(this._templateDivider()))},_templateMenuItem:function(t){var e='
  • '),e+=" "+t.title+"
  • "},_templateMenu:function(){return'
    '+t.content+"
    "}});return{View:e}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(i,o,a){n=[],s=function(){var t=i.Model.extend({defaults:{title:"",icon_class:"",on_click:null,menu_options:null,is_menu_button:!0,id:null,href:null,target:null,enabled:!0,visible:!0,tooltip_config:{}}}),e=i.View.extend({initialize:function(){this.model.attributes.tooltip_config={placement:"bottom"},this.model.bind("change",this.render,this)},render:function(){this.$el.tooltip("hide");var t=this.template(this.model.toJSON());return t.tooltip(this.model.get("tooltip_config")),this.$el.replaceWith(t),this.setElement(t),this},events:{click:"click"},click:function(t){return o.isFunction(this.model.get("on_click"))?(this.model.get("on_click")(t),!1):!0},template:function(t){var e='title="'+t.title+'" class="icon-button';return t.is_menu_button&&(e+=" menu-button"),e+=" "+t.icon_class,t.enabled||(e+="_disabled"),e+='"',t.id&&(e+=' id="'+t.id+'"'),e+=' href="'+t.href+'"',t.target&&(e+=' target="'+t.target+'"'),t.visible||(e+=' style="display: none;"'),e=t.enabled?"":"",a(e)}}),n=i.Collection.extend({model:t}),s=i.View.extend({tagName:"div",initialize:function(){this.render()},render:function(){var t=this;return this.collection.each(function(e){var i=a("").attr("href","javascript:void(0)").attr("title",e.attributes.title).addClass("icon-button menu-button").addClass(e.attributes.icon_class).appendTo(t.$el).click(e.attributes.on_click);e.attributes.tooltip_config&&i.tooltip(e.attributes.tooltip_config);var n=e.get("options");n&&make_popupmenu(i,n)}),this}}),r=function(e,i){i||(i={});var a=new n(o.map(e,function(e){return new t(o.extend(e,i))}));return new s({collection:a})};return{IconButton:t,IconButtonView:e,IconButtonCollection:n,IconButtonMenuView:s,create_icon_buttons_menu:r}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(3),i(1))},function(t,e,i){var n,s,o;!function(a){s=[i(1)],n=a,o="function"==typeof n?n.apply(e,s):n,!(void 0!==o&&(t.exports=o))}(function(t){"use_strict";var e=t;e.fn.make_text_editable=function(t){var i="num_cols"in t?t.num_cols:30,n="num_rows"in t?t.num_rows:4,s="use_textarea"in t?t.use_textarea:!1,o="on_finish"in t?t.on_finish:null,a="help_text"in t?t.help_text:null,r=e(this);return r.addClass("editable-text").click(function(a){if(!(e(this).children(":input").length>0)){r.removeClass("editable-text");var l,c,d=function(t){r.find(":input").remove(),""!==t?r.text(t):r.html("
    "),r.addClass("editable-text"),o&&o(t)},h="cur_text"in t?t.cur_text:r.text();s?(l=e("':''}}),m=o.View.extend({initialize:function(t){this.options=t,this.setElement(this._template(this.options)),void 0!==this.options.value&&this.value(this.options.value)},value:function(t){return void 0!==t&&this.$("hidden").val(t),this.$("hidden").val()},_template:function(t){var e='
    ';return t.info&&(e+="
    "+t.info+"
    "),e+='
    '}});return{Anchor:u,Button:r.ButtonDefault,ButtonIcon:r.ButtonIcon,ButtonCheck:r.ButtonCheck,ButtonMenu:r.ButtonMenu,ButtonLink:r.ButtonLink,Icon:h,Image:c,Input:g,Label:d,Message:p,Modal:l,RadioButton:n.RadioButton,Checkbox:n.Checkbox,Radio:n.Radio,Searchbox:f,Select:e,Hidden:m,Slider:i,Drilldown:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e){"use strict";function i(t){return d[t]}function n(t){for(var e=1;ei;i++)if(t[i]===e)return i;return-1}function o(t){if("string"!=typeof t){if(t&&t.toHTML)return t.toHTML();if(null==t)return"";if(!t)return t+"";t=""+t}return u.test(t)?t.replace(h,i):t}function a(t){return t||0===t?g(t)&&0===t.length?!0:!1:!0}function r(t){var e=n({},t);return e._parent=t,e}function l(t,e){return t.path=e,t}function c(t,e){return(t?t+".":"")+e}e.__esModule=!0,e.extend=n,e.indexOf=s,e.escapeExpression=o,e.isEmpty=a,e.createFrame=r,e.blockParams=l,e.appendContextPath=c;var d={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="},h=/[&<>"'`=]/g,u=/[&<>"'`=]/,p=Object.prototype.toString;e.toString=p;var f=function(t){return"function"==typeof t};f(/x/)&&(e.isFunction=f=function(t){return"function"==typeof t&&"[object Function]"===p.call(t)}),e.isFunction=f;var g=Array.isArray||function(t){return t&&"object"==typeof t?"[object Array]"===p.call(t):!1};e.isArray=g},function(t,e){"use strict";function i(t,e){var s=e&&e.loc,o=void 0,a=void 0;s&&(o=s.start.line,a=s.start.column,t+=" - "+o+":"+a);for(var r=Error.prototype.constructor.call(this,t),l=0;l';return t.title&&(e+='
    ',t.icon&&(e+=' '),e+=''+t.title+"
    "),e+='
    ',"top"==t.placement&&(e+='
    '),e+='
    ',"bottom"==t.placement&&(e+='
    '),e+='
    '}});return{View:e}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){t.exports=i(68)["default"]},,function(t,e,i){var n,s;(function(o,a,r){n=[i(10),i(28),i(19)],s=function(t,e,i){var n=o.Model.extend({}),s=o.Model.extend({defaults:{id:"",type:"",name:"",hda_ldda:"hda",metadata:null},initialize:function(){this.get("metadata")||this._set_metadata(),this.on("change",this._set_metadata,this)},_set_metadata:function(){var t=new n;a.each(a.keys(this.attributes),function(e){if(0===e.indexOf("metadata_")){var i=e.split("metadata_")[1];t.set(i,this.attributes[e]),delete this.attributes[e]}},this),this.set("metadata",t,{silent:!0})},get_metadata:function(t){return this.attributes.metadata.get(t)},urlRoot:Galaxy.root+"api/datasets"}),l=s.extend({defaults:a.extend({},s.prototype.defaults,{chunk_url:null,first_data_chunk:null,chunk_index:-1,at_eof:!1}),initialize:function(t){s.prototype.initialize.call(this),this.attributes.chunk_index=this.attributes.first_data_chunk?1:0,this.attributes.chunk_url=Galaxy.root+"dataset/display?dataset_id="+this.id,this.attributes.url_viz=Galaxy.root+"visualization"},get_next_chunk:function(){if(this.attributes.at_eof)return null;var t=this,e=r.Deferred();return r.getJSON(this.attributes.chunk_url,{chunk:t.attributes.chunk_index++}).success(function(i){var n;""!==i.ck_data?n=i:(t.attributes.at_eof=!0,n=null),e.resolve(n)}),e}}),c=o.Collection.extend({model:s}),d=o.View.extend({initialize:function(t){this.row_count=0,this.loading_chunk=!1,new p({model:t.model,$el:this.$el})},expand_to_container:function(){this.$el.height()").attr("id","loading_indicator"),this.$el.append(this.loading_indicator);var t=r("").attr({id:"content_table",cellpadding:0});this.$el.append(t);var e=this.model.get_metadata("column_names"),i=r("").appendTo(t),n=r("").appendTo(i);if(e)n.append("");else for(var s=1;s<=this.model.get_metadata("columns");s++)n.append("");var o=this,a=this.model.get("first_data_chunk");a?this._renderChunk(a):r.when(o.model.get_next_chunk()).then(function(t){o._renderChunk(t)}),this.scroll_elt.scroll(function(){o.attempt_to_fetch()})},scrolled_to_bottom:function(){return!1},_renderCell:function(t,e,i){var n=r("");e.append(t),this.row.append(e)},appendHeader:function(){this.$thead.append(this.row),this.row=a("")},add:function(t,e,i){var n=a("");e&&n.css("width",e),i&&n.css("text-align",i),n.append(t),this.row.append(n)},append:function(t,e){this._commit(t,e,!1)},prepend:function(t,e){this._commit(t,e,!0)},get:function(t){return this.$el.find("#"+t)},del:function(t){var e=this.$tbody.find("#"+t);e.length>0&&(e.remove(),this.row_count--,this._refresh())},delAll:function(){this.$tbody.empty(),this.row_count=0,this._refresh()},value:function(t){this.before=this.$tbody.find(".current").attr("id"),void 0!==t&&(this.$tbody.find("tr").removeClass("current"),t&&this.$tbody.find("#"+t).addClass("current"));var e=this.$tbody.find(".current").attr("id");return void 0===e?null:(e!=this.before&&this.options.onchange&&this.options.onchange(t),e)},size:function(){return this.$tbody.find("tr").length},_commit:function(t,e,i){this.del(t),this.row.attr("id",t),i?this.$tbody.prepend(this.row):this.$tbody.append(this.row),e&&(this.row.hide(),this.row.fadeIn()),this.row=this._row(),this.row_count++,this._refresh()},_row:function(){return a('')},_onclick:function(t){var e=this.value(),i=a(t.target).closest("tr").attr("id");""!=i&&i&&e!=i&&(this.options.onconfirm?this.options.onconfirm(i):this.value(i))},_ondblclick:function(t){var e=this.value();e&&this.options.ondblclick&&this.options.ondblclick(e)},_refresh:function(){0==this.row_count?this.$tmessage.show():this.$tmessage.hide()},_template:function(t){return'
    "+e.join("")+""+s+"").text(t),s=this.model.get_metadata("column_types");return void 0!==i?n.attr("colspan",i).addClass("stringalign"):s&&e"),n=this.model.get_metadata("columns");return this.row_count%2!==0&&i.addClass("dark_row"),e.length===n?a.each(e,function(t,e){i.append(this._renderCell(t,e))},this):e.length>n?(a.each(e.slice(0,n-1),function(t,e){i.append(this._renderCell(t,e))},this),i.append(this._renderCell(e.slice(n-1).join(" "),n-1))):n>5&&e.length===n-1?(a.each(e,function(t,e){i.append(this._renderCell(t,e))},this),i.append(r(""))):i.append(this._renderCell(t,0,n)),this.row_count++,i},_renderChunk:function(t){var e=this.$el.find("table");a.each(t.ck_data.split("\n"),function(t,i){""!==t&&e.append(this._renderRow(t))},this)}}),h=d.extend({initialize:function(t){d.prototype.initialize.call(this,t),scroll_elt=a.find(this.$el.parents(),function(t){return"auto"===r(t).css("overflow")}),scroll_elt||(scroll_elt=window),this.scroll_elt=r(scroll_elt)},scrolled_to_bottom:function(){return this.$el.height()-this.scroll_elt.scrollTop()-this.scroll_elt.height()<=0}}),u=d.extend({initialize:function(t){d.prototype.initialize.call(this,t),this.scroll_elt=this.$el.css({position:"relative",overflow:"scroll",height:t.height||"500px"})},scrolled_to_bottom:function(){return this.$el.scrollTop()+this.$el.innerHeight()>=this.el.scrollHeight}}),p=o.View.extend({col:{chrom:null,start:null,end:null},url_viz:null,dataset_id:null,genome_build:null,file_ext:null,initialize:function(t){function e(t,e){for(var i=0;i').append(i('
    ').append(t.help));return e.find("a").attr("target","_blank"),e},success:function(t){if(!t.jobs||!t.jobs.length)return this.error(t);var e=t.jobs.length,i="";i=1==e?"1 job has":e+" jobs have";var n='

    '+i+" been successfully added to the queue - resulting in the following datasets:

    ";for(var s in t.outputs)n+='

    '+t.outputs[s].hid+": "+t.outputs[s].name+"

    ";return n+="

    You can check the status of queued jobs and view the resulting data by refreshing the History pane. When the job has been run the status will change from 'running' to 'finished' if completed successfully or 'error' if problems were encountered.

    "},error:function(t){return'

    The server could not complete the request. Please contact the Galaxy Team if this error persists.

    "},requirements:function(t){var e="This tool requires ";for(var i in t.requirements){var n=t.requirements[i];e+=n.name,n.version&&(e+=" (Version "+n.version+")"),ihere for more information.'}}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(1))},function(t,e,i){var n,s;(function(o,a){n=[i(4)],s=function(t){var e=o.View.extend({initialize:function(e){this.options=t.merge(e,{id:t.uid(),title:"",floating:"right",icon:"",cls:"ui-button btn btn-default",cls_wait:"btn btn-info"}),this.setElement(this._template(this.options));var i=this;a(this.el).on("click",function(){a(".tooltip").hide(),e.onclick&&!i.disabled&&e.onclick()}),a(this.el).tooltip({title:e.tooltip,placement:"bottom"})},disable:function(){this.$el.addClass("disabled"),this.disabled=!0},enable:function(){this.$el.removeClass("disabled"),this.disabled=!1},wait:function(){this.$el.removeClass(this.options.cls).addClass(this.options.cls_wait).prop("disabled",!0),this.$(".icon").removeClass(this.options.icon).addClass("fa-spinner fa-spin"),this.$(".title").html("Sending...")},unwait:function(){this.$el.removeClass(this.options.cls_wait).addClass(this.options.cls).prop("disabled",!1),this.$(".icon").removeClass("fa-spinner fa-spin").addClass(this.options.icon),this.$(".title").html(this.options.title)},_template:function(t){var e='"}}),i=e.extend({initialize:function(t){e.prototype.initialize.call(this,t)},_template:function(t){return''}}),n=o.View.extend({initialize:function(e){this.options=t.merge(e,{title:"Select/Unselect all",icons:["fa fa-square-o","fa fa-minus-square-o","fa fa-check-square-o"],value:0}),this.setElement(this._template()),this.$title=this.$(".title"),this.$icon=this.$(".icon"),this.value(this.options.value),this.$title.html(this.options.title);var i=this;this.$el.on("click",function(){i.current=0===i.current&&2||0,i.value(i.current),i.options.onclick&&i.options.onclick()})},value:function(t,e){return void 0!==t&&(e&&0!==t&&(t=t!==e&&1||2),this.current=t,this.$icon.removeClass().addClass("icon").addClass(this.options.icons[t]),this.options.onchange&&this.options.onchange(t)),this.current},_template:function(){return'
    '}}),s=o.View.extend({initialize:function(e){this.options=t.merge(e,{id:t.uid(),title:"",floating:"right",cls:"ui-button-icon",icon:"",tooltip:"",onclick:null}),this.setElement(this._template(this.options)),this.$button=this.$el.find(".button");var i=this;a(this.el).on("click",function(){a(".tooltip").hide(),e.onclick&&!i.disabled&&e.onclick()}),this.$button.tooltip({title:e.tooltip,placement:"bottom"})},disable:function(){this.$button.addClass("disabled"),this.disabled=!0},enable:function(){this.$button.removeClass("disabled"),this.disabled=!1},setIcon:function(t){this.$("i").removeClass(this.options.icon).addClass(t),this.options.icon=t},_template:function(t){var e="";t.title&&(e="width: auto;");var i='
    ';return i+=t.title?' '+t.title+"":'',i+="
    "}}),r=o.View.extend({$menu:null,initialize:function(e){this.options=t.merge(e,{id:"",title:"",floating:"right",pull:"right",icon:null,onclick:null,cls:"ui-button-icon ui-button-menu",tooltip:"",target:"",href:"",onunload:null,visible:!0,tag:""}),this.setElement(a(this._template(this.options)));var i=a(this.el).find(".root"),n=this;i.on("click",function(t){a(".tooltip").hide(),t.preventDefault(),n.options.onclick&&n.options.onclick()}),this.options.visible||this.hide(),i.tooltip({title:e.tooltip,placement:"bottom"})},show:function(){a(this.el).show()},hide:function(){a(this.el).hide()},addMenu:function(e){var i={title:"",target:"",href:"",onclick:null,divider:!1,icon:null,cls:"button-menu btn-group"};i=t.merge(e,i),this.$menu||(a(this.el).append(this._templateMenu()),this.$menu=a(this.el).find(".menu"));var n=a(this._templateMenuItem(i));n.on("click",function(t){i.onclick&&(t.preventDefault(),i.onclick())}),this.$menu.append(n),i.divider&&this.$menu.append(a(this._templateDivider()))},_templateMenuItem:function(t){var e='
  • '),e+=" "+t.title+"
  • "},_templateMenu:function(){return'
    '+t.content+"
    "}});return{View:e}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(i,o,a){n=[],s=function(){var t=i.Model.extend({defaults:{title:"",icon_class:"",on_click:null,menu_options:null,is_menu_button:!0,id:null,href:null,target:null,enabled:!0,visible:!0,tooltip_config:{}}}),e=i.View.extend({initialize:function(){this.model.attributes.tooltip_config={placement:"bottom"},this.model.bind("change",this.render,this)},render:function(){this.$el.tooltip("hide");var t=this.template(this.model.toJSON());return t.tooltip(this.model.get("tooltip_config")),this.$el.replaceWith(t),this.setElement(t),this},events:{click:"click"},click:function(t){return o.isFunction(this.model.get("on_click"))?(this.model.get("on_click")(t),!1):!0},template:function(t){var e='title="'+t.title+'" class="icon-button';return t.is_menu_button&&(e+=" menu-button"),e+=" "+t.icon_class,t.enabled||(e+="_disabled"),e+='"',t.id&&(e+=' id="'+t.id+'"'),e+=' href="'+t.href+'"',t.target&&(e+=' target="'+t.target+'"'),t.visible||(e+=' style="display: none;"'),e=t.enabled?"":"",a(e)}}),n=i.Collection.extend({model:t}),s=i.View.extend({tagName:"div",initialize:function(){this.render()},render:function(){var t=this;return this.collection.each(function(e){var i=a("").attr("href","javascript:void(0)").attr("title",e.attributes.title).addClass("icon-button menu-button").addClass(e.attributes.icon_class).appendTo(t.$el).click(e.attributes.on_click);e.attributes.tooltip_config&&i.tooltip(e.attributes.tooltip_config);var n=e.get("options");n&&make_popupmenu(i,n)}),this}}),r=function(e,i){i||(i={});var a=new n(o.map(e,function(e){return new t(o.extend(e,i))}));return new s({collection:a})};return{IconButton:t,IconButtonView:e,IconButtonCollection:n,IconButtonMenuView:s,create_icon_buttons_menu:r}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(3),i(1))},function(t,e,i){var n,s,o;!function(a){s=[i(1)],n=a,o="function"==typeof n?n.apply(e,s):n,!(void 0!==o&&(t.exports=o))}(function(t){"use_strict";var e=t;e.fn.make_text_editable=function(t){var i="num_cols"in t?t.num_cols:30,n="num_rows"in t?t.num_rows:4,s="use_textarea"in t?t.use_textarea:!1,o="on_finish"in t?t.on_finish:null,a="help_text"in t?t.help_text:null,r=e(this);return r.addClass("editable-text").click(function(a){if(!(e(this).children(":input").length>0)){r.removeClass("editable-text");var l,c,d=function(t){r.find(":input").remove(),""!==t?r.text(t):r.html("
    "),r.addClass("editable-text"),o&&o(t)},h="cur_text"in t?t.cur_text:r.text();s?(l=e("',"
    ","
    "].join("")}});return{CitationView:n,CitationListView:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2))},function(t,e,i){var n,s;(function(o,a,r){n=[i(48),i(37),i(6),i(5)],s=function(t,e,i,n){var s=t.FoldoutListItemView,l=t.ListItemView,c=s.extend({className:s.prototype.className+" dataset-collection",id:function(){return["dataset_collection",this.model.get("id")].join("-")},initialize:function(t){this.linkTarget=t.linkTarget||"_blank",this.hasUser=t.hasUser,s.prototype.initialize.call(this,t)},_setUpListeners:function(){s.prototype._setUpListeners.call(this),this.model.on("change",function(t,e){o.isEqual(o.keys(t.changed),["deleted"])&&this.render()},this)},_renderSubtitle:function(){var t=a('
    ');switch(this.model.get("collection_type")){case"list":return t.text(n("a list of datasets"));case"paired":return t.text(n("a pair of datasets"));case"list:paired":return t.text(n("a list of paired datasets"))}return t},_getFoldoutPanelOptions:function(){var t=s.prototype._getFoldoutPanelOptions.call(this);return o.extend(t,{linkTarget:this.linkTarget,hasUser:this.hasUser})},$selector:function(){return this.$("> .selector")},toString:function(){var t=this.model?this.model+"":"(no model)";return"DCListItemView("+t+")"}});c.prototype.templates=function(){var t=o.extend({},s.prototype.templates.warnings,{error:i.wrapTemplate(["<% if( model.error ){ %>",'
    ',n("There was an error getting the data for this collection"),": <%- model.error %>","
    ","<% } %>"]),purged:i.wrapTemplate(["<% if( model.purged ){ %>",'
    ',n("This collection has been deleted and removed from disk"),"
    ","<% } %>"]),deleted:i.wrapTemplate(["<% if( model.deleted && !model.purged ){ %>",'
    ',n("This collection has been deleted"),"
    ","<% } %>"])}),e=i.wrapTemplate(['
    ','
    ','<%- collection.element_identifier || collection.name %>',"
    ",'
    ',"
    "],"collection");return o.extend({},s.prototype.templates,{warnings:t,titleBar:e})}();var d=l.extend({className:l.prototype.className+" dataset-collection-element",initialize:function(t){t.logger&&(this.logger=this.model.logger=t.logger),this.log("DCEListItemView.initialize:",t),l.prototype.initialize.call(this,t)},toString:function(){var t=this.model?this.model+"":"(no model)";return"DCEListItemView("+t+")"}});d.prototype.templates=function(){var t=i.wrapTemplate(['
    ','
    ','<%- element.element_identifier %>',"
    ",'
    ',"
    "],"element");return o.extend({},l.prototype.templates,{titleBar:t})}();var h=e.DatasetListItemView.extend({className:e.DatasetListItemView.prototype.className+" dataset-collection-element",initialize:function(t){t.logger&&(this.logger=this.model.logger=t.logger),this.log("DatasetDCEListItemView.initialize:",t),e.DatasetListItemView.prototype.initialize.call(this,t)},_fetchModelDetails:function(){var t=this;return t.model.inReadyState()&&!t.model.hasDetails()?t.model.fetch({silent:!0}):r.when()},toString:function(){var t=this.model?this.model+"":"(no model)";return"DatasetDCEListItemView("+t+")"}});h.prototype.templates=function(){var t=i.wrapTemplate(['
    ','','
    ','<%- element.element_identifier %>',"
    ","
    "],"element");return o.extend({},e.DatasetListItemView.prototype.templates,{titleBar:t})}();var u=c.extend({className:c.prototype.className+" dataset-collection-element",_swapNewRender:function(t){c.prototype._swapNewRender.call(this,t);var e=this.model.get("state")||"ok";return this.$el.addClass("state-"+e),this.$el},toString:function(){var t=this.model?this.model+"":"(no model)";return"NestedDCDCEListItemView("+t+")"}});return{DCListItemView:c,DCEListItemView:d,DatasetDCEListItemView:h,NestedDCDCEListItemView:u}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(3),i(1),i(1))},function(t,e,i){var n,s;(function(o,a,r){n=[i(95),i(6),i(5)],s=function(t,e,i){var n="collections",s={defaults:{model_class:"DatasetCollectionElement",element_identifier:null,element_index:null,element_type:null},_mergeObject:function(t){return o.extend(t,t.object,{element_id:t.id}),delete t.object,t},constructor:function(t,e){t=this._mergeObject(t),this.idAttribute="element_id",a.Model.apply(this,arguments)},parse:function(t,e){var i=t;return i=this._mergeObject(i)}},l=a.Model.extend(e.LoggableMixin).extend(s).extend({_logNamespace:n}),c=a.Collection.extend(e.LoggableMixin).extend({_logNamespace:n,model:l,initialize:function(t,e){this.debug(this+"(DCECollection).initialize:",t,e),e=e||{}},toString:function(){return["DatasetCollectionElementCollection(",this.length,")"].join("")}}),d=t.DatasetAssociation.extend(e.mixin(s,{url:function(){return this.has("history_id")?Galaxy.root+"api/histories/"+this.get("history_id")+"/contents/"+this.get("id"):(console.warn("no endpoint for non-hdas within a collection yet"),Galaxy.root+"api/datasets")},defaults:o.extend({},t.DatasetAssociation.prototype.defaults,s.defaults),constructor:function(t,e){this.debug(" DatasetDCE.constructor:",t,e),s.constructor.call(this,t,e)},initialize:function(e,i){this.debug(this+"(DatasetDCE).initialize:",e,i),t.DatasetAssociation.prototype.initialize.call(this,e,i)},hasDetails:function(){return o.has(this.attributes,"annotation")},toString:function(){var t=this.get("element_identifier");return["DatasetDCE(",t,")"].join("")}})),h=c.extend({model:d,initialize:function(t,e){this.debug(this+"(DatasetDCECollection).initialize:",t,e),c.prototype.initialize.call(this,t,e)},toString:function(){return["DatasetDCECollection(",this.length,")"].join("")}}),u=a.Model.extend(e.LoggableMixin).extend(e.SearchableModelMixin).extend({_logNamespace:n,defaults:{collection_type:null,deleted:!1},collectionClass:c,initialize:function(t,e){this.debug(this+"(DatasetCollection).initialize:",t,e,this),this.elements=this._createElementsModel(),this.on("change:elements",function(){this.log("change:elements"),this.elements=this._createElementsModel()})},_createElementsModel:function(){this.debug(this+"._createElementsModel",this.collectionClass,this.get("elements"),this.elements);var t=this.get("elements")||[];return this.unset("elements",{silent:!0}),this.elements=new this.collectionClass(t),this.elements},toJSON:function(){var t=a.Model.prototype.toJSON.call(this);return this.elements&&(t.elements=this.elements.toJSON()),t},inReadyState:function(){var t=this.get("populated");return this.isDeletedOrPurged()||t},hasDetails:function(){return this.debug("hasDetails:",this.elements.length),0!==this.elements.length},getVisibleContents:function(t){return this.elements},"delete":function(t){return this.get("deleted")?r.when():this.save({deleted:!0},t)},undelete:function(t){return!this.get("deleted")||this.get("purged")?r.when():this.save({deleted:!1},t)},isDeletedOrPurged:function(){return this.get("deleted")||this.get("purged")},searchAttributes:["name"],toString:function(){var t=[this.get("id"),this.get("name")||this.get("element_identifier")];return"DatasetCollection("+t.join(",")+")"}}),p=u.extend({collectionClass:h,initialize:function(t,e){this.debug(this+"(ListDatasetCollection).initialize:",t,e),u.prototype.initialize.call(this,t,e)},toString:function(){return["ListDatasetCollection(",this.get("name"),")"].join("")}}),f=p.extend({initialize:function(t,e){this.debug(this+"(PairDatasetCollection).initialize:",t,e),p.prototype.initialize.call(this,t,e)},toString:function(){return["PairDatasetCollection(",this.get("name"),")"].join("")}}),g=u.extend(e.mixin(s,{constructor:function(t,e){this.debug(" NestedDCDCE.constructor:",t,e),s.constructor.call(this,t,e)},toString:function(){var t=this.object?""+this.object:this.get("element_identifier");return["NestedDCDCE(",t,")"].join("")}})),m=c.extend({model:g,initialize:function(t,e){this.debug(this+"(NestedDCDCECollection).initialize:",t,e),c.prototype.initialize.call(this,t,e)},toString:function(){return["NestedDCDCECollection(",this.length,")"].join("")}}),v=f.extend(e.mixin(s,{constructor:function(t,e){this.debug(" NestedPairDCDCE.constructor:",t,e),s.constructor.call(this,t,e)},toString:function(){var t=this.object?""+this.object:this.get("element_identifier");return["NestedPairDCDCE(",t,")"].join("")}})),_=m.extend({model:v,initialize:function(t,e){this.debug(this+"(NestedPairDCDCECollection).initialize:",t,e),m.prototype.initialize.call(this,t,e)},toString:function(){return["NestedPairDCDCECollection(",this.length,")"].join("")}}),y=u.extend({collectionClass:_,initialize:function(t,e){this.debug(this+"(ListPairedDatasetCollection).initialize:",t,e),u.prototype.initialize.call(this,t,e)},toString:function(){return["ListPairedDatasetCollection(",this.get("name"),")"].join("")}});return{ListDatasetCollection:p,PairDatasetCollection:f,ListPairedDatasetCollection:y}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(3),i(2),i(1))},function(t,e,i){var n,s;(function(o,a,r,l){n=[i(45),i(15),i(6),i(10),i(109),i(5),i(106)],s=function(t,e,i,n,s,c){function d(t){var e=t.toJSON(),i=g(e,{creationFn:function(e,i){return e=e.map(function(t){return{id:t.id,name:t.name,src:"dataset"===t.history_content_type?"hda":"hdca"}}),t.createHDCA(e,"list",i)}});return i}var h="collections",u=o.View.extend(i.LoggableMixin).extend({_logNamespace:h,tagName:"li",className:"collection-element",initialize:function(t){this.element=t.element||{},this.selected=t.selected||!1},render:function(){return this.$el.attr("data-element-id",this.element.id).attr("draggable",!0).html(this.template({element:this.element})),this.selected&&this.$el.addClass("selected"),this},template:a.template(['
    ',"<%- element.name %>","",'"].join("")),select:function(t){this.$el.toggleClass("selected",t),this.trigger("select",{source:this,selected:this.$el.hasClass("selected")})},discard:function(){var t=this,e=this.$el.parent().width();this.$el.animate({"margin-right":e},"fast",function(){t.trigger("discard",{source:t}),t.destroy()})},destroy:function(){this.off(),this.$el.remove()},events:{click:"_click","click .name":"_clickName","click .discard":"_clickDiscard",dragstart:"_dragstart",dragend:"_dragend",dragover:"_sendToParent",drop:"_sendToParent"},_click:function(t){t.stopPropagation(),this.select(t)},_clickName:function(t){t.stopPropagation(),t.preventDefault();var e=([c("Enter a new name for the element"),":\n(",c("Note that changing the name here will not rename the dataset"),")"].join(""),prompt(c("Enter a new name for the element")+":",this.element.name));e&&(this.element.name=e,this.render())},_clickDiscard:function(t){t.stopPropagation(),this.discard()},_dragstart:function(t){t.originalEvent&&(t=t.originalEvent),t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",JSON.stringify(this.element)),this.$el.addClass("dragging"),this.$el.parent().trigger("collection-element.dragstart",[this])},_dragend:function(t){this.$el.removeClass("dragging"),this.$el.parent().trigger("collection-element.dragend",[this])},_sendToParent:function(t){this.$el.parent().trigger(t)},toString:function(){return"DatasetCollectionElementView()"}}),p=o.View.extend(i.LoggableMixin).extend({_logNamespace:h,elementViewClass:u,collectionClass:t.HistoryListDatasetCollection,className:"list-collection-creator collection-creator flex-row-container",minElements:1,defaultAttributes:{creationFn:function(){throw new TypeError("no creation fn for creator")},oncreate:function(){},oncancel:function(){},autoscrollDist:24,highlightClr:"rgba( 64, 255, 255, 1.0 )"},initialize:function(t){this.metric("ListCollectionCreator.initialize",t);var e=this;a.each(this.defaultAttributes,function(i,n){i=t[n]||i,e[n]=i}),e.initialElements=t.elements||[],this._instanceSetUp(),this._elementsSetUp(),this._setUpBehaviors()},_instanceSetUp:function(){this.selectedIds={},this.$dragging=null,this.blocking=!1},_elementsSetUp:function(){this.invalidElements=[],this.workingElements=[],this.elementViews=[],this.workingElements=this.initialElements.slice(0),this._ensureElementIds(),this._validateElements(),this._mangleDuplicateNames(),this._sortElements()},_ensureElementIds:function(){return this.workingElements.forEach(function(t){t.hasOwnProperty("id")||(t.id=a.uniqueId())}),this.workingElements},_validateElements:function(){var t=this;return t.invalidElements=[],this.workingElements=this.workingElements.filter(function(e){var i=t._isElementInvalid(e);return i&&t.invalidElements.push({element:e,text:i}),!i}),this.workingElements},_isElementInvalid:function(t){return"dataset"!==t.history_content_type?c("is not a dataset"):t.state!==e.OK?c(a.contains(e.NOT_READY_STATES,t.state)?"hasn't finished running yet":"has errored, is paused, or is not accessible"):t.deleted||t.purged?c("has been deleted or purged"):null},_mangleDuplicateNames:function(){var t=900,e=1,i={};this.workingElements.forEach(function(n){for(var s=n.name;i.hasOwnProperty(s);)if(s=n.name+" ("+e+")",e+=1,e>=t)throw new Error("Safety hit in while loop - thats impressive");n.name=s,i[n.name]=!0})},_sortElements:function(t){},render:function(t,e){return this.workingElements.length .clear-selected").show():this.$(".collection-elements-controls > .clear-selected").hide()},_renderList:function(t,e){var i=this,n=l("
    "),s=i.$list();a.each(this.elementViews,function(t){t.destroy(),i.removeElementView(t)}),i.workingElements.forEach(function(t){var e=i._createElementView(t);n.append(e.$el)}),i._renderClearSelected(),s.empty().append(n.children()),a.invoke(i.elementViews,"render"),s.height()>s.css("max-height")?s.css("border-width","1px 0px 1px 0px"):s.css("border-width","0px")},_createElementView:function(t){var e=new this.elementViewClass({element:t,selected:a.has(this.selectedIds,t.id)});return this.elementViews.push(e),this._listenToElementView(e),e},_listenToElementView:function(t){var e=this;e.listenTo(t,{select:function(t){var i=t.source.element;t.selected?e.selectedIds[i.id]=!0:delete e.selectedIds[i.id],e.trigger("elements:select",t)},discard:function(t){e.trigger("elements:discard",t)}})},addElementView:function(t){},removeElementView:function(t){delete this.selectedIds[t.element.id],this._renderClearSelected(),this.elementViews=a.without(this.elementViews,t),this.stopListening(t)},_renderNoElementsLeft:function(){this._disableNameAndCreate(!0),this.$(".collection-elements").append(this.templates.noElementsLeft())},_elementToJSON:function(t){return t},createList:function(t){if(!this.workingElements.length){var e=c("No valid elements for final list")+". ";return e+=''+c("Cancel")+" ",e+=c("or"),e+=' '+c("start over")+".",void this._showAlert(e)}var i=this,n=this.workingElements.map(function(t){return i._elementToJSON(t)});return i.blocking=!0,i.creationFn(n,t).always(function(){i.blocking=!1}).fail(function(t,e,n){i.trigger("error",{xhr:t,status:e,message:c("An error occurred while creating this collection")})}).done(function(t,e,n){i.trigger("collection:created",t,e,n),i.metric("collection:created",t),"function"==typeof i.oncreate&&i.oncreate.call(this,t,e,n)})},_setUpBehaviors:function(){return this.on("error",this._errorHandler),this.once("rendered",function(){this.trigger("rendered:initial",this)}),this.on("elements:select",function(t){this._renderClearSelected()}),this.on("elements:discard",function(t){var e=t.source.element;this.removeElementView(t.source),this.workingElements=a.without(this.workingElements,e),this.workingElements.length||this._renderNoElementsLeft()}),this},_errorHandler:function(t){this.error(t);var e=this;if(content=t.message||c("An error occurred"),t.xhr){var i=t.xhr,n=t.message;0===i.readyState&&0===i.status?content+=": "+c("Galaxy could not be reached and may be updating.")+c(" Try again in a few minutes."):i.responseJSON?content+=":
    "+JSON.stringify(i.responseJSON)+"
    ":content+=": "+n}e._showAlert(content,"alert-danger")},events:{"click .more-help":"_clickMoreHelp","click .less-help":"_clickLessHelp","click .main-help":"_toggleHelp","click .header .alert button":"_hideAlert","click .reset":"reset","click .clear-selected":"clearSelectedElements","click .collection-elements":"clearSelectedElements","dragover .collection-elements":"_dragoverElements","drop .collection-elements":"_dropElements","collection-element.dragstart .collection-elements":"_elementDragstart","collection-element.dragend .collection-elements":"_elementDragend","change .collection-name":"_changeName","keydown .collection-name":"_nameCheckForEnter","click .cancel-create":function(t){"function"==typeof this.oncancel&&this.oncancel.call(this)},"click .create-collection":"_clickCreate"},_clickMoreHelp:function(t){t.stopPropagation(),this.$(".main-help").addClass("expanded"),this.$(".more-help").hide()},_clickLessHelp:function(t){t.stopPropagation(),this.$(".main-help").removeClass("expanded"),this.$(".more-help").show()},_toggleHelp:function(t){t.stopPropagation(),this.$(".main-help").toggleClass("expanded"),this.$(".more-help").toggle()},_showAlert:function(t,e){e=e||"alert-danger",this.$(".main-help").hide(),this.$(".header .alert").attr("class","alert alert-dismissable").addClass(e).show().find(".alert-message").html(t)},_hideAlert:function(t){this.$(".main-help").show(),this.$(".header .alert").hide()},reset:function(){this._instanceSetUp(),this._elementsSetUp(),this.render()},clearSelectedElements:function(t){this.$(".collection-elements .collection-element").removeClass("selected"),this.$(".collection-elements-controls > .clear-selected").hide()},_dragoverElements:function(t){t.preventDefault();var e=this.$list();this._checkForAutoscroll(e,t.originalEvent.clientY);var i=this._getNearestElement(t.originalEvent.clientY);this.$(".element-drop-placeholder").remove();var n=r('
    ');i.size()?i.before(n):e.append(n)},_checkForAutoscroll:function(t,e){var i=2,n=t.offset(),s=t.scrollTop(),o=e-n.top,a=n.top+t.outerHeight()-e;o>=0&&o=0&&at&&t>o-a)return s}return r()},_dropElements:function(t){t.originalEvent&&(t=t.originalEvent),t.preventDefault(),t.dataTransfer.dropEffect="move";var e=this._getNearestElement(t.clientY);return e.size()?this.$dragging.insertBefore(e):this.$dragging.insertAfter(this.$(".collection-elements .collection-element").last()),this._syncOrderToDom(),!1},_syncOrderToDom:function(){var t=this,e=[];this.$(".collection-elements .collection-element").each(function(){var i=r(this).attr("data-element-id"),n=a.findWhere(t.workingElements,{id:i});n?e.push(n):console.error("missing element: ",i)}),this.workingElements=e,this._renderList()},_elementDragstart:function(t,e){e.select(!0),this.$dragging=this.$(".collection-elements .collection-element.selected")},_elementDragend:function(t,e){r(".element-drop-placeholder").remove(),this.$dragging=null},_changeName:function(t){this._validationWarning("name",!!this._getName())},_nameCheckForEnter:function(t){13!==t.keyCode||this.blocking||this._clickCreate()},_getName:function(){return a.escape(this.$(".collection-name").val())},_clickCreate:function(t){var e=this._getName();e?this.blocking||this.createList(e):this._validationWarning("name")},templates:{main:a.template(['
    ','
    ',''].join("")),header:a.template(['",'
    ','','',"
    "].join("")),middle:a.template(['",'
    ',"
    "].join("")),footer:a.template(['
    ','
    ','','
    ',c("Name"),":
    ","
    ","
    ",'
    ','
    ','",'
    ','",'","
    ","
    ",'
    ','","
    ","
    "].join("")),helpContent:a.template(["

    ",c(["Collections of datasets are permanent, ordered lists of datasets that can be passed to tools and ","workflows in order to have analyses done on each member of the entire group. This interface allows ","you to create a collection and re-order the final collection."].join("")),"

    ","
      ","
    • ",c(["Rename elements in the list by clicking on ",'the existing name.'].join("")),"
    • ","
    • ",c(["Discard elements from the final created list by clicking on the ",'"Discard" button.'].join("")),"
    • ","
    • ",c(["Reorder the list by clicking and dragging elements. Select multiple elements by clicking on ",'them and you can then move those selected by dragging the ',"entire group. Deselect them by clicking them again or by clicking the ",'the "Clear selected" link.'].join("")),"
    • ","
    • ",c(['Click the "Start over" link to begin again as if you had just opened ',"the interface."].join("")),"
    • ","
    • ",c(['Click the "Cancel" button to exit the interface.'].join("")),"
    • ","

    ","

    ",c(['Once your collection is complete, enter a name and ','click "Create list".'].join("")),"

    "].join("")),invalidElements:a.template([c("The following selections could not be included due to problems:"),"
      <% _.each( problems, function( problem ){ %>","
    • <%- problem.element.name %>: <%- problem.text %>
    • ","<% }); %>
    "].join("")),noElementsLeft:a.template(['
  • ',c("No elements left! "),c("Would you like to "),'',c("start over"),"?","
  • "].join("")),invalidInitial:a.template(['
    ','
    ','',"<% if( _.size( problems ) ){ %>",c("The following selections could not be included due to problems"),":","
      <% _.each( problems, function( problem ){ %>","
    • <%- problem.element.name %>: <%- problem.text %>
    • ","<% }); %>
    ","<% } else if( _.size( elements ) < 1 ){ %>",c("No datasets were selected"),".","<% } %>","
    ",c("At least one element is needed for the collection"),". ",c("You may need to "),'',c("cancel")," ",c("and reselect new elements"),".","
    ","
    ","
    ",'"].join(""))},toString:function(){return"ListCollectionCreator"}}),f=function(t,e,i){var s,o=l.Deferred(),r=Galaxy.modal||new n.View;return e=a.defaults(e||{},{elements:t,oncancel:function(){r.hide(),o.reject("cancelled")},oncreate:function(t,e){r.hide(),o.resolve(e)}}),s=new i(e),r.show({title:e.title||c("Create a collection"),body:s.$el,width:"80%",height:"min-content",closing_events:!0}),s.render(),window._collectionCreator=s,o},g=function(t,e){return e=e||{},e.title=c("Create a collection from a list of datasets"),f(t,e,p)};return{DatasetCollectionElementView:u,ListCollectionCreator:p,collectionCreatorModal:f,listCollectionCreatorModal:g,createListCollection:d}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(3),i(1),i(1))},function(t,e,i){var n,s;(function(o,a,r,l){n=[i(48),i(15),i(26),i(6),i(5)],s=function(t,e,i,n,s){var c="dataset",d=t.ListItemView,h=d.extend({_logNamespace:c,className:d.prototype.className+" dataset",id:function(){return["dataset",this.model.get("id")].join("-")},initialize:function(t){t.logger&&(this.logger=this.model.logger=t.logger),this.log(this+".initialize:",t),d.prototype.initialize.call(this,t),this.linkTarget=t.linkTarget||"_blank"},_setUpListeners:function(){d.prototype._setUpListeners.call(this), this.model.on("change",function(t,e){this.model.changedAttributes().state&&this.model.inReadyState()&&this.expanded&&!this.model.hasDetails()?this.model.fetch():this.render()},this)},_fetchModelDetails:function(){var t=this;return t.model.inReadyState()&&!t.model.hasDetails()?t.model.fetch({silent:!0}):o.when()},remove:function(t,e){var i=this;t=t||this.fxSpeed,this.$el.fadeOut(t,function(){a.View.prototype.remove.call(i),e&&e.call(i)})},render:function(t){return d.prototype.render.call(this,t)},_swapNewRender:function(t){return d.prototype._swapNewRender.call(this,t),this.model.has("state")&&this.$el.addClass("state-"+this.model.get("state")),this.$el},_renderPrimaryActions:function(){return[this._renderDisplayButton()]},_renderDisplayButton:function(){var t=this.model.get("state");if(t===e.NOT_VIEWABLE||t===e.DISCARDED||!this.model.get("accessible"))return null;var n={target:this.linkTarget,classes:"display-btn"};if(this.model.get("purged"))n.disabled=!0,n.title=s("Cannot display datasets removed from disk");else if(t===e.UPLOAD)n.disabled=!0,n.title=s("This dataset must finish uploading before it can be viewed");else if(t===e.NEW)n.disabled=!0,n.title=s("This dataset is not yet viewable");else{n.title=s("View data"),n.href=this.model.urls.display;var o=this;n.onclick=function(t){Galaxy.frame&&Galaxy.frame.active&&(Galaxy.frame.add_dataset(o.model.get("id")),t.preventDefault())}}return n.faIcon="fa-eye",i(n)},_renderDetails:function(){if(this.model.get("state")===e.NOT_VIEWABLE)return r(this.templates.noAccess(this.model.toJSON(),this));var t=d.prototype._renderDetails.call(this);return t.find(".actions .left").empty().append(this._renderSecondaryActions()),t.find(".summary").html(this._renderSummary()).prepend(this._renderDetailMessages()),t.find(".display-applications").html(this._renderDisplayApplications()),this._setUpBehaviors(t),t},_renderSummary:function(){var t=this.model.toJSON(),e=this.templates.summaries[t.state];return(e=e||this.templates.summaries.unknown)(t,this)},_renderDetailMessages:function(){var t=this,e=r('
    '),i=t.model.toJSON();return l.each(t.templates.detailMessages,function(n){e.append(r(n(i,t)))}),e},_renderDisplayApplications:function(){return this.model.isDeletedOrPurged()?"":[this.templates.displayApplications(this.model.get("display_apps"),this),this.templates.displayApplications(this.model.get("display_types"),this)].join("")},_renderSecondaryActions:function(){switch(this.debug("_renderSecondaryActions"),this.model.get("state")){case e.NOT_VIEWABLE:return[];case e.OK:case e.FAILED_METADATA:case e.ERROR:return[this._renderDownloadButton(),this._renderShowParamsButton()]}return[this._renderShowParamsButton()]},_renderShowParamsButton:function(){return i({title:s("View details"),classes:"params-btn",href:this.model.urls.show_params,target:this.linkTarget,faIcon:"fa-info-circle"})},_renderDownloadButton:function(){return this.model.get("purged")||!this.model.hasData()?null:l.isEmpty(this.model.get("meta_files"))?r(['','',""].join("")):this._renderMetaFileDownloadButton()},_renderMetaFileDownloadButton:function(){var t=this.model.urls;return r(['"].join("\n"))},events:l.extend(l.clone(d.prototype.events),{"click .display-btn":function(t){this.trigger("display",this,t)},"click .params-btn":function(t){this.trigger("params",this,t)},"click .download-btn":function(t){this.trigger("download",this,t)}}),toString:function(){var t=this.model?this.model+"":"(no model)";return"DatasetListItemView("+t+")"}});return h.prototype.templates=function(){var t=l.extend({},d.prototype.templates.warnings,{failed_metadata:n.wrapTemplate(['<% if( model.state === "failed_metadata" ){ %>','
    ',s("An error occurred setting the metadata for this dataset"),"
    ","<% } %>"]),error:n.wrapTemplate(["<% if( model.error ){ %>",'
    ',s("There was an error getting the data for this dataset"),": <%- model.error %>","
    ","<% } %>"]),purged:n.wrapTemplate(["<% if( model.purged ){ %>",'
    ',s("This dataset has been deleted and removed from disk"),"
    ","<% } %>"]),deleted:n.wrapTemplate(["<% if( model.deleted && !model.purged ){ %>",'
    ',s("This dataset has been deleted"),"
    ","<% } %>"])}),i=n.wrapTemplate(['
    ','
    ','
    ','
    ','
    ',"
    ","<% if( !dataset.deleted && !dataset.purged ){ %>",'
    ','
    ','
    ',"<% if( dataset.peek ){ %>",'
    <%= dataset.peek %>
    ',"<% } %>","<% } %>","
    "],"dataset"),o=n.wrapTemplate(['
    ','
    ',s("You do not have permission to view this dataset"),"
    ","
    "],"dataset"),a={};a[e.OK]=a[e.FAILED_METADATA]=n.wrapTemplate(["<% if( dataset.misc_blurb ){ %>",'
    ','<%- dataset.misc_blurb %>',"
    ","<% } %>","<% if( dataset.file_ext ){ %>",'
    ','",'<%- dataset.file_ext %>',"
    ","<% } %>","<% if( dataset.metadata_dbkey ){ %>",'
    ','",'',"<%- dataset.metadata_dbkey %>","","
    ","<% } %>","<% if( dataset.misc_info ){ %>",'
    ','<%- dataset.misc_info %>',"
    ","<% } %>"],"dataset"),a[e.NEW]=n.wrapTemplate(["
    ",s("This is a new dataset and not all of its data are available yet"),"
    "],"dataset"),a[e.NOT_VIEWABLE]=n.wrapTemplate(["
    ",s("You do not have permission to view this dataset"),"
    "],"dataset"),a[e.DISCARDED]=n.wrapTemplate(["
    ",s("The job creating this dataset was cancelled before completion"),"
    "],"dataset"),a[e.QUEUED]=n.wrapTemplate(["
    ",s("This job is waiting to run"),"
    "],"dataset"),a[e.RUNNING]=n.wrapTemplate(["
    ",s("This job is currently running"),"
    "],"dataset"),a[e.UPLOAD]=n.wrapTemplate(["
    ",s("This dataset is currently uploading"),"
    "],"dataset"),a[e.SETTING_METADATA]=n.wrapTemplate(["
    ",s("Metadata is being auto-detected"),"
    "],"dataset"),a[e.PAUSED]=n.wrapTemplate(["
    ",s('This job is paused. Use the "Resume Paused Jobs" in the history menu to resume'),"
    "],"dataset"),a[e.ERROR]=n.wrapTemplate(["<% if( !dataset.purged ){ %>","
    <%- dataset.misc_blurb %>
    ","<% } %>",'',s("An error occurred with this dataset"),":",'
    <%- dataset.misc_info %>
    '],"dataset"),a[e.EMPTY]=n.wrapTemplate(["
    ",s("No data"),": <%- dataset.misc_blurb %>
    "],"dataset"),a.unknown=n.wrapTemplate(['
    Error: unknown dataset state: "<%- dataset.state %>"
    '],"dataset");var r={resubmitted:n.wrapTemplate(["<% if( model.resubmitted ){ %>",'
    ',s("The job creating this dataset has been resubmitted"),"
    ","<% } %>"])},c=n.wrapTemplate(["<% _.each( apps, function( app ){ %>",'
    ','<%- app.label %> ','',"<% _.each( app.links, function( link ){ %>",'',"<% print( _l( link.text ) ); %>"," ","<% }); %>","","
    ","<% }); %>"],"apps");return l.extend({},d.prototype.templates,{warnings:t,details:i,noAccess:o,summaries:a,detailMessages:r,displayApplications:c})}(),{DatasetListItemView:h}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(1),i(2),i(1),i(3))},function(t,e,i){var n,s;(function(o,a){n=[i(4)],s=function(t){return o.Model.extend({initialize:function(t){this.app=t},checksum:function(){var t="",e=this;return this.app.section.$el.find(".section-row").each(function(){var i=a(this).attr("id"),n=e.app.field_list[i];n&&(t+=i+":"+JSON.stringify(n.value&&n.value())+":"+n.collapsed+";")}),t},create:function(){function t(t,e,n){i.map_dict[t]=e,s[t]=n}function e(n,s){for(var o in s){var a=s[o];if(a.input){var r=a.input,l=n;switch(""!=n&&(l+="|"),l+=r.name,r.type){case"repeat":var c="section-",d=[],h=null;for(var u in a){var p=u.indexOf(c);-1!=p&&(p+=c.length,d.push(parseInt(u.substr(p))),h||(h=u.substr(0,p)))}d.sort(function(t,e){return t-e});var o=0;for(var f in d)e(l+"_"+o++,a[h+d[f]]);break;case"conditional":var g=i.app.field_list[r.id].value();t(l+"|"+r.test_param.name,r.id,g);var m=i.matchCase(r,g);-1!=m&&e(l,s[r.id+"-section-"+m]);break;case"section":e(!r.flat&&l||"",a);break;default:var v=i.app.field_list[r.id];if(v&&v.value){var g=v.value();if((void 0===r.ignore||r.ignore!=g)&&(v.collapsed&&r.collapsible_value&&(g=r.collapsible_value),t(l,r.id,g),r.payload))for(var _ in r.payload)t(_,r.id,r.payload[_])}}}}}var i=this,n={};this._iterate(this.app.section.$el,n);var s={};return this.map_dict={},e("",n),s},match:function(t){return this.map_dict&&this.map_dict[t]},matchCase:function(t,e){"boolean"==t.test_param.type&&(e="true"==e?t.test_param.truevalue||"true":t.test_param.falsevalue||"false");for(var i in t.cases)if(t.cases[i].value==e)return i;return-1},matchModel:function(t,e){function i(t,n){for(var o in n){var a=n[o],r=a.name;switch(""!=t&&(r=t+"|"+r),a.type){case"repeat":for(var l in a.cache)i(r+"_"+l,a.cache[l]);break;case"conditional":var c=a.test_param&&a.test_param.value,d=s.matchCase(a,c);-1!=d&&i(r,a.cases[d].inputs);break;case"section":i(r,a.inputs);break;default:var h=s.map_dict[r];h&&e(h,a)}}}var n={},s=this;return i("",t.inputs),n},matchResponse:function(t){function e(t,s){if("string"==typeof s){var o=n.map_dict[t];o&&(i[o]=s)}else for(var a in s){var r=a;if(""!==t){var l="|";s instanceof Array&&(l="_"),r=t+l+r}e(r,s[a])}}var i={},n=this;return e("",t),i},_iterate:function(t,e){var i=this,n=a(t).children();n.each(function(){var t=this,n=a(t).attr("id");if(a(t).hasClass("section-row")){e[n]={};var s=i.app.input_list[n];s&&(e[n]={input:s}),i._iterate(t,e[n])}else i._iterate(t,e)})}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(i){n=[],s=function(){return i.View.extend({initialize:function(t,e){this.app=t,this.text_enable=t.options.text_enable||"Enable",this.text_disable=t.options.text_disable||"Disable",this.cls_enable=t.options.cls_enable||"fa fa-caret-square-o-down",this.cls_disable=t.options.cls_disable||"fa fa-caret-square-o-up",this.field=e.field,this.default_value=e.default_value,this.setElement(this._template(e)),this.$field=this.$el.find(".ui-table-form-field"),this.$optional=this.$el.find(".ui-table-form-optional"),this.$optional_icon=this.$el.find(".ui-table-form-optional").find(".icon"),this.$error_text=this.$el.find(".ui-table-form-error-text"),this.$error=this.$el.find(".ui-table-form-error"),this.$field.prepend(this.field.$el),this.field.collapsed=e.collapsible&&e.value&&JSON.stringify(e.value)==JSON.stringify(e.collapsible_value),this._refresh();var i=this;this.$optional.on("click",function(){i.field.collapsed=!i.field.collapsed,i._refresh(),i.app.trigger("change")})},error:function(t){this.$error_text.html(t),this.$error.show(),this.$el.addClass("ui-error")},reset:function(){this.$error.hide(),this.$el.removeClass("ui-error")},_refresh:function(){this.$optional_icon.removeClass().addClass("icon"),this.field.collapsed?(this.$field.hide(),this._tooltip(this.text_enable,this.cls_enable),this.field.value&&this.field.value(this.default_value)):(this.$field.fadeIn("fast"),this._tooltip(this.text_disable,this.cls_disable),this.app.trigger("change"))},_tooltip:function(t,e){this.$optional.length&&this.$optional_icon.addClass(e).tooltip({placement:"bottom"}).attr("data-original-title",t).tooltip("fixTitle").tooltip("hide")},_template:function(t){var e='
    ';return e+=t.collapsible?'
    '+t.label+"
    ":t.label,e+='
    ',e+='
    ',t.help&&(e+=t.help,t.argument&&-1==t.help.indexOf("("+t.argument+")")&&(e+=" ("+t.argument+")")),e+="
    ",e+="
    "}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2))},function(t,e,i){var n,s;(function(o,a){n=[i(4),i(7),i(43),i(57),i(56),i(53)],s=function(t,e,i,n,s,r){return o.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(t,e){this.app=t},create:function(t){void 0===t.value&&(t.value=null),void 0===t.default_value&&(t.default_value=t.value);var e=null,i=this.types[t.type];return i&&"function"==typeof this[i]&&(e=this[i].call(this,t)),e||(this.app.incompatible=!0,e=t.options?this._fieldSelect(t):this._fieldText(t),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+t.type+").")),void 0!==t.value&&e.value(t.value),e},_fieldData:function(e){if(this.app.options.is_workflow)return e.info="Data input '"+e.name+"' ("+t.textify(e.extensions.toString())+")",e.value=null,this._fieldHidden(e);var n=this;return new i.View(this.app,{id:"field-"+e.id,extensions:e.extensions,optional:e.optional,multiple:e.multiple,type:e.type,data:e.options,onchange:function(){n.app.trigger("change")}})},_fieldSelect:function(t){if(0==t.options.length&&this.app.options.is_workflow)return this._fieldText(t);"data_column"==t.type&&(t.error_text="Missing columns in referenced dataset.");var i=[];for(var n in t.options){var s=t.options[n];i.push({label:s[0],value:s[1]})}var o=e.Select;switch(t.display){case"checkboxes":o=e.Checkbox;break;case"radio":o=e.Radio}var a=this;return new o.View({id:"field-"+t.id,data:i,error_text:t.error_text||"No options available",optional:t.optional&&null===t.default_value,multiple:t.multiple,optional:t.optional,searchable:t.searchable,onchange:function(){a.app.trigger("change")}})},_fieldDrilldown:function(t){if(0==t.options.length&&this.app.options.is_workflow)return this._fieldText(t);var i=this;return new e.Drilldown.View({id:"field-"+t.id,data:t.options,display:t.display,onchange:function(){i.app.trigger("change")}})},_fieldText:function(i){if(i.options)if(i.area=i.multiple,t.validate(i.value)){if(a.isArray(i.value)){var n="";for(var s in i.value){if(n+=String(i.value[s]),!i.multiple)break;n+="\n"}i.value=n}}else i.value="";var o=this;return new e.Input({id:"field-"+i.id,area:i.area,onchange:function(){o.app.trigger("change")}})},_fieldSlider:function(t){var i=this;return new e.Slider.View({id:"field-"+t.id,precise:"float"==t.type,min:t.min,max:t.max,onchange:function(){i.app.trigger("change")}})},_fieldHidden:function(t){return new e.Hidden({id:"field-"+t.id,info:t.info})},_fieldBoolean:function(t){var i=this;return new e.RadioButton.View({id:"field-"+t.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:function(){i.app.trigger("change")}})},_fieldColor:function(t){var e=this;return new r({id:"field-"+t.id,onchange:function(){e.app.trigger("change")}})},_fieldLibrary:function(t){var e=this;return new n.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:function(){e.app.trigger("change")}})},_fieldFtp:function(t){var e=this;return new s.View({id:"field-"+t.id,optional:t.optional,multiple:t.multiple,onchange:function(){e.app.trigger("change")}})}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(o,a){n=[i(4),i(18),i(11),i(7)],s=function(t,e,i,n){var s=o.View.extend({optionsDefault:{title:"Section",max:null,min:null},initialize:function(i){this.options=t.merge(i,this.optionsDefault),this.setElement("
    ");this.button_new=new n.ButtonIcon({icon:"fa-plus",title:"Insert "+i.title_new,tooltip:"Add new "+i.title_new+" block",floating:"clear",onclick:function(){i.onnew&&i.onnew()}}),this.table=new e.View({cls:"ui-table-plain",content:""}),this.$el.append(this.table.$el),this.$el.append(a("
    ").append(this.button_new.$el)),this.list={},this.n=0},size:function(){return this.n},add:function(t){if(!t.id||this.list[t.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate repeat block id.");this.n++;var e=new n.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain",onclick:function(){t.ondel&&t.ondel()}}),s=new i.View({id:t.id,title:"placeholder",cls:"ui-portlet-repeat",operations:{button_delete:e}});s.append(t.$el),s.$el.addClass("section-row"),this.list[t.id]=s,this.table.add(s.$el),this.table.append("row_"+t.id,!0),this.options.max>0&&this.n>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(t){if(!this.list[t])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.n--;var e=this.table.get("row_"+t);e.remove(),delete this.list[t],this.button_new.enable(),this._refresh()},_refresh:function(){var t=0;for(var e in this.list){var i=this.list[e];i.title(++t+": "+this.options.title),this.n>this.options.min?i.showOperation("button_delete"):i.hideOperation("button_delete")}}});return{View:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(o,a,r,l){n=[i(4),i(18),i(7),i(11),i(41),i(39),i(40)],s=function(t,e,i,n,s,c,d){var h=o.View.extend({initialize:function(t,i){this.app=t,this.inputs=i.inputs,i.cls="ui-table-plain",i.cls_tr="section-row",this.table=new e.View(i),this.parameters=new d(t,i),this.setElement(this.table.$el),this.render()},render:function(){this.table.delAll();for(var t in this.inputs)this.add(this.inputs[t])},add:function(e){var i=a.extend(!0,{},e);i.id=e.id=t.uid(),this.app.input_list[i.id]=i;var n=i.type;switch(n){case"conditional":this._addConditional(i);break;case"repeat":this._addRepeat(i);break;case"section":this._addSection(i);break;default:this._addRow(i)}},_addConditional:function(t){var e=this;t.test_param.id=t.id;var i=this._addRow(t.test_param);i.options.onchange=function(i){var n=e.app.data.matchCase(t,i);for(var s in t.cases){var o=t.cases[s],a=t.id+"-section-"+s,r=e.table.get(a),l=!1;for(var c in o.inputs)if(!o.inputs[c].hidden){l=!0;break}s==n&&l?r.fadeIn("fast"):r.hide()}e.app.trigger("change")};for(var n in t.cases){var s=t.id+"-section-"+n,o=new h(this.app,{inputs:t.cases[n].inputs});o.$el.addClass("ui-table-section"),this.table.add(o.$el),this.table.append(s)}i.trigger("change")},_addRepeat:function(t){function e(e){var s=t.id+"-section-"+n++,a=new h(i.app,{inputs:e});o.add({id:s,$el:a.$el,ondel:function(){o.del(s),i.app.trigger("change")}})}for(var i=this,n=0,o=new s.View({title:t.title,title_new:t.title,min:t.min,max:t.max,onnew:function(){e(t.inputs),i.app.trigger("change")}}),a=t.min,l=r.size(t.cache),d=0;dd?t.cache[d]:t.inputs,e(u)}var p=new c(this.app,{label:t.title,help:t.help,field:o});this.table.add(p.$el),this.table.append(t.id)},_addSection:function(t){var e=this,s=new h(e.app,{inputs:t.inputs}),o=new i.ButtonIcon({icon:"fa-eye-slash",tooltip:"Show/hide section",cls:"ui-button-icon-plain"}),a=new n.View({title:t.title,cls:"ui-portlet-section",operations:{button_visible:o}});a.append(s.$el),a.append(l("
    ").addClass("ui-table-form-info").html(t.help));var r=!1;a.$content.hide(),a.$header.css("cursor","pointer"),a.$header.on("click",function(){r?(r=!1,a.$content.hide(),o.setIcon("fa-eye-slash")):(r=!0,a.$content.fadeIn("fast"),o.setIcon("fa-eye"))}),this.app.on("expand",function(t){a.$el.find("#"+t).length>0&&!r&&a.$header.trigger("click")}),t.expanded&&a.$header.trigger("click"),this.table.add(a.$el),this.table.append(t.id)},_addRow:function(t){var e=t.id,i=this.parameters.create(t);this.app.field_list[e]=i;var n=new c(this.app,{name:t.name,label:t.label||t.name,value:t.value,default_value:t.default_value,collapsible:t.collapsible,collapsible_value:t.collapsible_value,help:t.help,argument:t.argument,field:i});return this.app.element_list[e]=n,this.table.add(n.$el),this.table.append(e),t.hidden&&this.table.get(e).hide(),i}});return{View:h}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1),i(3),i(1))},function(t,e,i){var n,s;(function(o,a,r){n=[i(4),i(7),i(31),i(16)],s=function(t,e,i,n){var s=o.View.extend({initialize:function(i,n){this.app=i,this.options=n,this.history={};var s=this;this.setElement('
    '),this.list={};var o=[];"data_collection"==n.type?this.mode="collection":n.multiple?this.mode="multiple":this.mode="single",this.current=this.mode,this.list={};var l=t.textify(n.extensions),c="No dataset available.";l&&(c="No "+l+" dataset available.");var d="No dataset list available.";if(l&&(d="No "+l+" dataset collection available."),"single"==this.mode&&(o.push({icon:"fa-file-o",value:"single",tooltip:"Single dataset"}),this.select_single=new e.Select.View({optional:n.optional,error_text:c,onchange:function(){s.trigger("change")}}),this.list.single={field:this.select_single,type:"hda"}),("single"==this.mode||"multiple"==this.mode)&&(o.push({icon:"fa-files-o",value:"multiple",tooltip:"Multiple datasets"}),this.select_multiple=new e.Select.View({multiple:!0,searchable:!1,optional:n.optional,error_text:c,onchange:function(){s.trigger("change")}}),this.list.multiple={field:this.select_multiple,type:"hda"}),"single"==this.mode||"multiple"==this.mode||"collection"==this.mode){o.push({icon:"fa-folder-o",value:"collection",tooltip:"Dataset collection"});var h="multiple"==this.mode;this.select_collection=new e.Select.View({error_text:d,multiple:h,searchable:!1,optional:n.optional,onchange:function(){s.trigger("change")}}),this.list.collection={field:this.select_collection,type:"hdca"}}this.button_type=new e.RadioButton.View({value:this.current,data:o,onchange:function(t){s.current=t,s.refresh(),s.trigger("change")}}),this.$batch=a(this.template_batch());var u=r.size(this.list),p=0;u>1&&(this.$el.append(this.button_type.$el),p=Math.max(0,35*r.size(this.list))+"px");for(var f in this.list)this.$el.append(this.list[f].field.$el.css({"margin-left":p}));this.$el.append(this.$batch.css({"margin-left":p})),this.update(n.data),void 0!==this.options.value&&this.value(this.options.value),this.refresh(),this.on("change",function(){n.onchange&&n.onchange(s.value())})},wait:function(){for(var t in this.list)this.list[t].field.wait()},unwait:function(){for(var t in this.list)this.list[t].field.unwait()},update:function(t){function e(t,e){if(t){var n=[];for(var s in e){var o=e[s];n.push({label:o.hid+": "+o.name,value:o.id}),i.history[o.id+"_"+o.src]=o}t.update(n)}}var i=this;e(this.select_single,t.hda),e(this.select_multiple,t.hda),e(this.select_collection,t.hdca)},value:function(t){if(void 0!==t)if(t&&t.values)try{var e=[];for(var i in t.values)e.push(t.values[i].id);t&&t.values.length>0&&"hdca"==t.values[0].src?(this.current="collection",this.select_collection.value(e)):"multiple"==this.mode?(this.current="multiple",this.select_multiple.value(e)):(this.current="single",this.select_single.value(e[0]))}catch(n){Galaxy.emit.debug("tools-select-content::value()","Skipped.")}else for(var i in this.list)this.list[i].field.value(null);this.refresh();var s=this._select().value();if(null===s)return null;if(s instanceof Array||(s=[s]),0===s.length)return null;var o={batch:this._batch(),values:[]};for(var i in s){var a=this.history[s[i]+"_"+this.list[this.current].type];if(!a)return null;o.values.push(a)}return o.values.sort(function(t,e){return t.hid-e.hid}),o},refresh:function(){this.button_type.value(this.current);for(var t in this.list){var e=this.list[t].field.$el;this.current==t?e.show():e.hide()}this._batch()?this.$batch.show():this.$batch.hide()},_select:function(){return this.list[this.current].field},_batch:function(){if("collection"==this.current){var t=this.history[this._select().value()+"_hdca"];if(t&&t.map_over_type)return!0}return"single"!=this.current&&"single"==this.mode?!0:!1},template_batch:function(){return'
    This is a batch mode input field. A separate job will be triggered for each dataset.
    '}});return{View:s}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1),i(3))},function(t,e,i){var n,s;(function(o,a,r){n=[i(4),i(11),i(7),i(42),i(38)],s=function(t,e,i,n,s){return o.View.extend({initialize:function(e){this.optionsDefault={is_workflow:!1,initial_errors:!1,cls:"ui-portlet-limited"},this.options=t.merge(e,this.optionsDefault),Galaxy.emit.debug("form-view::initialize()","Ready to build form.",this.options);var n=parent.Galaxy;n&&n.modal?this.modal=n.modal:this.modal=new i.Modal.View,this.setElement("
    "),this._build()},update:function(t){var e=this;this.data.matchModel(t,function(t,i){var n=e.input_list[t];if(n&&n.options&&!a.isEqual(n.options,i.options)){n.options=i.options;var s=e.field_list[t];if(s.update){var o=[];if(-1!=["data","data_collection","drill_down"].indexOf(n.type))o=n.options;else for(var r in i.options){var l=i.options[r];l.length>2&&o.push({label:l[0],value:l[1]})}s.update(o),s.trigger("change"),Galaxy.emit.debug("form-view::update()","Updating options for "+t)}}})},wait:function(t){for(var e in this.input_list){var i=this.field_list[e],n=this.input_list[e];n.is_dynamic&&i.wait&&i.unwait&&(t?i.wait():i.unwait())}},highlight:function(t,e,i){var n=this.element_list[t];if(n&&(n.error(e||"Please verify this parameter."),this.trigger("expand",t),!i))if(self==top){var s=this.$el.parents().filter(function(){return"auto"==r(this).css("overflow")}).first();s.animate({scrollTop:s.scrollTop()+n.$el.offset().top-50},500)}else r("html, body").animate({scrollTop:n.$el.offset().top-20},500)},errors:function(t){if(this.trigger("reset"),t&&t.errors){var e=this.data.matchResponse(t.errors);for(var i in this.element_list){this.element_list[i];e[i]&&this.highlight(i,e[i],!0)}}},_build:function(){var t=this;this.off("change"),this.off("reset"),this.field_list={},this.input_list={},this.element_list={},this.data=new s(this),this._renderForm(),this.data.create(),this.options.initial_errors&&this.errors(this.options);var e=this.data.checksum();this.on("change",function(){var i=t.data.checksum();i!=e&&(e=i,t.options.onchange&&t.options.onchange())}),this.on("reset",function(){for(var t in this.element_list)this.element_list[t].reset()})},_renderForm:function(){this.message=new i.Message,this.section=new n.View(this,{inputs:this.options.inputs}),r(".tooltip").remove(),this.portlet=new e.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}),Galaxy.emit.debug("form-view::initialize()","Completed")}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(3),i(1))},function(t,e,i){var n,s;(function(o){n=[i(35),i(46),i(5)],s=function(t,e,i){function n(t){return function(e,i){return this.isNew()&&(i=i||{},i.url=this.urlRoot+this.get("history_id")+"/contents",e=e||{},e.type="dataset_collection"),t.call(this,e,i)}}var s=e.HistoryContentMixin,a=t.ListDatasetCollection,r=t.PairDatasetCollection,l=t.ListPairedDatasetCollection,c=a.extend(s).extend({defaults:o.extend(o.clone(a.prototype.defaults),{history_content_type:"dataset_collection",collection_type:"list",model_class:"HistoryDatasetCollectionAssociation"}),initialize:function(t,e){a.prototype.initialize.call(this,t,e),s.initialize.call(this,t,e)},save:n(a.prototype.save),toString:function(){return["HistoryListDatasetCollection(",this.get("name"),")"].join("")}}),d=r.extend(s).extend({defaults:o.extend(o.clone(r.prototype.defaults),{history_content_type:"dataset_collection",collection_type:"paired",model_class:"HistoryDatasetCollectionAssociation"}),initialize:function(t,e){r.prototype.initialize.call(this,t,e),s.initialize.call(this,t,e)},save:n(r.prototype.save),toString:function(){return["HistoryPairDatasetCollection(",this.get("name"),")"].join("")}}),h=l.extend(s).extend({defaults:o.extend(o.clone(l.prototype.defaults),{history_content_type:"dataset_collection",collection_type:"list:paired",model_class:"HistoryDatasetCollectionAssociation"}),initialize:function(t,e){l.prototype.initialize.call(this,t,e),s.initialize.call(this,t,e)},save:n(l.prototype.save),toString:function(){return["HistoryListPairedDatasetCollection(",this.get("name"),")"].join("")}});return{HistoryListDatasetCollection:c,HistoryPairDatasetCollection:d,HistoryListPairedDatasetCollection:h}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(3))},function(t,e,i){var n,s;(function(o,a){n=[i(15),i(6),i(5)],s=function(t,e,i){var n="history",s=function(t,e){return[t,e].join("-")},r={defaults:{history_id:null,history_content_type:null,hid:null,visible:!0},idAttribute:"type_id",constructor:function(t,e){t.type_id=s(t.history_content_type,t.id),this.debug("HistoryContentMixin.constructor:",t.type_id),o.Model.apply(this,arguments)},_typeIdStr:function(){return s(this.get("history_content_type"),this.get("id"))},initialize:function(t,e){this.on("change:id",this._createTypeId)},_createTypeId:function(){this.set("type_id",this._typeIdStr())},isNew:function(){return!this.get("id")},hidden:function(){return!this.get("visible")},isVisible:function(t,e){var i=!0;return t||!this.get("deleted")&&!this.get("purged")||(i=!1),e||this.get("visible")||(i=!1),i},urlRoot:Galaxy.root+"api/histories/",url:function(){var t=this.urlRoot+this.get("history_id")+"/contents/"+this.get("history_content_type")+"s/"+this.get("id");return t},hide:function(t){return this.get("visible")?this.save({visible:!1},t):a.when()},unhide:function(t){return this.get("visible")?a.when():this.save({visible:!0},t)},toString:function(){var t=this.get("id")||"";return this.get("name")&&(t=this.get("hid")+' :"'+this.get("name")+'",'+t),"HistoryContent("+t+")"}},l=o.Model.extend(e.LoggableMixin).extend(r).extend({_logNamespace:n});return{typeIdStr:s,HistoryContentMixin:r,HistoryContent:l}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(o,a,r){n=[i(46),i(97),i(45),i(6),i(5)],s=function(t,e,i,n,s){var l="history",c=o.Collection.extend(n.LoggableMixin).extend({_logNamespace:l,model:function(t,n){if("dataset"===t.history_content_type)return new e.HistoryDatasetAssociation(t,n);if("dataset_collection"===t.history_content_type){switch(t.collection_type){case"list":return new i.HistoryListDatasetCollection(t,n);case"paired":return new i.HistoryPairDatasetCollection(t,n);case"list:paired":return new i.HistoryListPairedDatasetCollection(t,n)}return{validationError:"Unknown collection_type: "+t.history_content_type }}return{validationError:"Unknown history_content_type: "+t.history_content_type}},initialize:function(t,e){e=e||{},this.historyId=e.historyId,this.model.prototype.idAttribute="type_id",this.on("all",function(){this.debug(this+".event:",arguments)})},urlRoot:Galaxy.root+"api/histories",url:function(){return this.urlRoot+"/"+this.historyId+"/contents"},ids:function(){return this.map(function(t){return t.get("id")})},notReady:function(){return this.filter(function(t){return!t.inReadyState()})},running:function(){var t=[];return this.each(function(e){var i=!e.inReadyState();i&&t.push(e.get("id"))}),t},getByHid:function(t){return a.first(this.filter(function(e){return e.get("hid")===t}))},getVisible:function(t,e,i){i=i||[],this.debug("checking isVisible");var n=new c(this.filter(function(i){return i.isVisible(t,e)}));return a.each(i,function(t){a.isFunction(t)&&(n=new c(n.filter(t)))}),n},hidden:function(){function t(t){return t.hidden()}return new c(this.filter(t))},deleted:function(){function t(t){return t.get("deleted")}return new c(this.filter(t))},haveDetails:function(){return this.all(function(t){return t.hasDetails()})},fetchAllDetails:function(t){t=t||{};var e={details:"all"};return t.data=t.data?a.extend(t.data,e):e,this.fetch(t)},ajaxQueue:function(t,e){var i=r.Deferred(),n=this.length,s=[];if(!n)return i.resolve([]),i;var o=this.chain().reverse().map(function(a,r){return function(){var l=t.call(a,e);l.done(function(t){i.notify({curr:r,total:n,response:t,model:a})}),l.always(function(t){s.push(t),o.length?o.shift()():i.resolve(s)})}}).value();return o.shift()(),i},isCopyable:function(t){var e=["HistoryDatasetAssociation","HistoryDatasetCollectionAssociation"];return a.isObject(t)&&t.id&&a.contains(e,t.model_class)},copy:function(t){var e,i,n;a.isString(t)?(e=t,n="hda",i="dataset"):(e=t.id,n={HistoryDatasetAssociation:"hda",LibraryDatasetDatasetAssociation:"ldda",HistoryDatasetCollectionAssociation:"hdca"}[t.model_class]||"hda",i="hdca"===n?"dataset_collection":"dataset");var s=this,o=r.post(this.url(),{content:e,source:n,type:i}).done(function(t){s.add([t])}).fail(function(t,a,r){s.trigger("error",s,o,{},"Error copying contents",{type:i,id:e,source:n})});return o},matches:function(t){return this.filter(function(e){return e.matches(t)})},set:function(e,i){e=a.isArray(e)?e:[e],a.each(e,function(e){e.type_id&&e.get&&e.get("type_id")||(e.type_id=t.typeIdStr(e.history_content_type,e.id))}),o.Collection.prototype.set.call(this,e,i)},createHDCA:function(t,e,n,s){var o=this,a={list:i.HistoryListDatasetCollection,paired:i.HistoryPairDatasetCollection},r=new a[e]({history_id:this.historyId,name:n,element_identifiers:t});return r.save().done(function(t){o.add(r)}).fail(function(t,e,i){o.trigger("error",t,e,i)})},clone:function(){var t=o.Collection.prototype.clone.call(this);return t.historyId=this.historyId,t},print:function(){var t=this;t.each(function(e){t.debug(e),e.elements&&t.debug(" elements:",e.elements)})},toString:function(){return["HistoryContents(",[this.historyId,this.length].join(),")"].join("")}});return{HistoryContents:c}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(3),i(1))},function(t,e,i){var n,s;(function(o,a,r,l){n=[i(6),i(5)],s=function(t,e){var i="list",n=o.View.extend(t.LoggableMixin).extend({_logNamespace:i,initialize:function(t){this.expanded=t.expanded||!1,this.log(" expanded:",this.expanded),this.fxSpeed=void 0!==t.fxSpeed?t.fxSpeed:this.fxSpeed},fxSpeed:"fast",render:function(t){var e=this._buildNewRender();return this._setUpBehaviors(e),this._queueNewRender(e,t),this},_buildNewRender:function(){var t=a(this.templates.el(this.model.toJSON(),this));return this.expanded&&this.$details(t).replaceWith(this._renderDetails().show()),t},_queueNewRender:function(t,e){e=void 0===e?this.fxSpeed:e;var i=this;a(i).queue("fx",[function(t){this.$el.fadeOut(e,t)},function(e){i._swapNewRender(t),e()},function(t){this.$el.fadeIn(e,t)},function(t){this.trigger("rendered",i),t()}])},_swapNewRender:function(t){return this.$el.empty().attr("class",r.isFunction(this.className)?this.className():this.className).append(t.children())},_setUpBehaviors:function(t){t=t||this.$el,t.find("[title]").tooltip({placement:"bottom"})},$details:function(t){return t=t||this.$el,t.find("> .details")},_renderDetails:function(){var t=a(this.templates.details(this.model.toJSON(),this));return this._setUpBehaviors(t),t},toggleExpanded:function(t){return t=void 0===t?!this.expanded:t,t?this.expand():this.collapse(),this},expand:function(){var t=this;return t._fetchModelDetails().always(function(){t._expand()})},_fetchModelDetails:function(){return this.model.hasDetails()?l.when():this.model.fetch()},_expand:function(){var t=this,e=t._renderDetails();t.$details().replaceWith(e),t.expanded=!0,t.$details().slideDown({duration:t.fxSpeed,step:function(){t.trigger("expanding",t)},complete:function(){t.trigger("expanded",t)}})},collapse:function(){this.debug(this+"(ExpandableView).collapse");var t=this;t.expanded=!1,this.$details().slideUp({duration:t.fxSpeed,step:function(){t.trigger("collapsing",t)},complete:function(){t.trigger("collapsed",t)}})}}),s=n.extend(t.mixin(t.SelectableViewMixin,t.DraggableViewMixin,{tagName:"div",className:"list-item",initialize:function(e){n.prototype.initialize.call(this,e),t.SelectableViewMixin.initialize.call(this,e),t.DraggableViewMixin.initialize.call(this,e),this._setUpListeners()},_setUpListeners:function(){return this.on("selectable",function(t){t?this.$(".primary-actions").hide():this.$(".primary-actions").show()},this),this},_buildNewRender:function(){var t=n.prototype._buildNewRender.call(this);return t.children(".warnings").replaceWith(this._renderWarnings()),t.children(".title-bar").replaceWith(this._renderTitleBar()),t.children(".primary-actions").append(this._renderPrimaryActions()),t.find("> .title-bar .subtitle").replaceWith(this._renderSubtitle()),t},_swapNewRender:function(t){return n.prototype._swapNewRender.call(this,t),this.selectable&&this.showSelector(0),this.draggable&&this.draggableOn(),this.$el},_renderWarnings:function(){var t=this,e=a('
    '),i=t.model.toJSON();return r.each(t.templates.warnings,function(n){e.append(a(n(i,t)))}),e},_renderTitleBar:function(){return a(this.templates.titleBar(this.model.toJSON(),this))},_renderPrimaryActions:function(){return[]},_renderSubtitle:function(){return a(this.templates.subtitle(this.model.toJSON(),this))},events:{"click .title-bar":"_clickTitleBar","keydown .title-bar":"_keyDownTitleBar","click .selector":"toggleSelect"},_clickTitleBar:function(t){t.stopPropagation(),t.altKey?(this.toggleSelect(t),this.selectable||this.showSelector()):this.toggleExpanded()},_keyDownTitleBar:function(t){var e=32,i=13;return!t||"keydown"!==t.type||t.keyCode!==e&&t.keyCode!==i?!0:(this.toggleExpanded(),t.stopPropagation(),!1)},toString:function(){var t=this.model?this.model+"":"(no model)";return"ListItemView("+t+")"}}));s.prototype.templates=function(){var e=t.wrapTemplate(['
    ','
    ','
    ','',"
    ",'
    ','
    ','
    ',"
    "]),i={},n=t.wrapTemplate(['
    ','','
    ','<%- element.name %>',"
    ",'
    ',"
    "],"element"),s=t.wrapTemplate(['
    ']),o=t.wrapTemplate(['
    ']);return{el:e,warnings:i,titleBar:n,subtitle:s,details:o}}();var c=s.extend({foldoutStyle:"foldout",foldoutPanelClass:null,initialize:function(t){"drilldown"===this.foldoutStyle&&(this.expanded=!1),this.foldoutStyle=t.foldoutStyle||this.foldoutStyle,this.foldoutPanelClass=t.foldoutPanelClass||this.foldoutPanelClass,s.prototype.initialize.call(this,t),this.foldout=this._createFoldoutPanel()},_renderDetails:function(){if("drilldown"===this.foldoutStyle)return a();var t=s.prototype._renderDetails.call(this);return this._attachFoldout(this.foldout,t)},_createFoldoutPanel:function(){var t=this.model,e=this._getFoldoutPanelClass(t),i=this._getFoldoutPanelOptions(t),n=new e(r.extend(i,{model:t}));return n},_getFoldoutPanelClass:function(){return this.foldoutPanelClass},_getFoldoutPanelOptions:function(){return{foldoutStyle:this.foldoutStyle,fxSpeed:this.fxSpeed}},_attachFoldout:function(t,e){return e=e||this.$("> .details"),this.foldout=t.render(0),t.$("> .controls").hide(),e.append(t.$el)},expand:function(){var t=this;return t._fetchModelDetails().always(function(){"foldout"===t.foldoutStyle?t._expand():"drilldown"===t.foldoutStyle&&t._expandByDrilldown()})},_expandByDrilldown:function(){var t=this;t.foldout.on("close",function(){t.trigger("collapsed:drilldown",t,t.foldout)}),t.trigger("expanded:drilldown",t,t.foldout)}});return c.prototype.templates=function(){var e=t.wrapTemplate(['
    ',"
    "],"collection");return r.extend({},s.prototype.templates,{details:e})}(),{ExpandableView:n,ListItemView:s,FoldoutListItemView:c}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1),i(3),i(1))},function(t,e,i){var n,s;(function(o,a){n=[i(4),i(61),i(7),i(44),i(16),i(22),i(33)],s=function(t,e,i,n,s,r,l){return o.View.extend({initialize:function(i){if(this.options=t.merge(i,{}),this.setElement("
    "),this.deferred=new e,i.inputs)this._buildForm(i);else{var n=this;this.deferred.execute(function(t){n._buildModel(t,i,!0)})}},remove:function(){var t=this;this.$el.hide(),this.deferred.execute(function(){o.View.prototype.remove.call(t),Galaxy.emit.debug("tools-form-base::remove()","Destroy view.")})},_buildForm:function(e){var i=this;this.options=t.merge(e,this.options),this.options=t.merge({icon:"fa-wrench",title:""+e.name+" "+e.description+" (Galaxy Tool Version "+e.version+")",operations:this._operations(),onchange:function(){i.deferred.reset(),i.deferred.execute(function(t){i._updateModel(t)})}},this.options),this.options.customize&&this.options.customize(this.options),this.form=new n(this.options),this._footer(),this.$el.empty(),this.$el.append(this.form.$el)},_buildModel:function(e,n,s){var o=this;this.options.id=n.id,this.options.version=n.version;var r="",l={};n.job_id?r=Galaxy.root+"api/jobs/"+n.job_id+"/build_for_rerun":(r=Galaxy.root+"api/tools/"+n.id+"/build",Galaxy.params&&Galaxy.params.tool_id==n.id&&(l=a.extend({},Galaxy.params),n.version&&(l.tool_version=n.version))),t.request({type:"GET",url:r,data:l,success:function(t){o._buildForm(t.tool_model||t),!s&&o.form.message.update({status:"success",message:"Now you are using '"+o.options.name+"' version "+o.options.version+", id '"+o.options.id+"'.",persistent:!1}),Galaxy.emit.debug("tools-form-base::initialize()","Initial tool model ready.",t),e.resolve()},error:function(t){var n=t&&t.err_msg||"Uncaught error.";o.$el.is(":empty")?o.$el.prepend(new i.Message({message:n,status:"danger",persistent:!0,large:!0}).$el):Galaxy.modal.show({title:"Tool request failed",body:n,buttons:{Close:function(){Galaxy.modal.hide()}}}),Galaxy.emit.debug("tools-form::initialize()","Initial tool model request failed.",t),e.reject()}})},_updateModel:function(e){var i=this.options.update_url||Galaxy.root+"api/tools/"+this.options.id+"/build",n=this,s=this.form,o={tool_id:this.options.id,tool_version:this.options.version,inputs:a.extend(!0,{},n.form.data.create())};s.wait(!0),Galaxy.emit.debug("tools-form-base::_updateModel()","Sending current state.",o),t.request({type:"POST",url:i,data:o,success:function(t){n.form.update(t.tool_model||t),n.options.update&&n.options.update(t),s.wait(!1),Galaxy.emit.debug("tools-form-base::_updateModel()","Received new model.",t),e.resolve()},error:function(t){Galaxy.emit.debug("tools-form-base::_updateModel()","Refresh request failed.",t),e.reject()}})},_operations:function(){var t=this,e=this.options,n=new i.ButtonMenu({icon:"fa-cubes",title:!e.narrow&&"Versions"||null,tooltip:"Select another tool version"});if(!e.is_workflow&&e.versions&&e.versions.length>1)for(var o in e.versions){var a=e.versions[o];a!=e.version&&n.addMenu({title:"Switch to "+a,version:a,icon:"fa-cube",onclick:function(){var i=e.id.replace(e.version,this.version),n=this.version;t.deferred.reset(),t.deferred.execute(function(e){t._buildModel(e,{id:i,version:n})})}})}else n.$el.hide();var r=new i.ButtonMenu({icon:"fa-caret-down",title:!e.narrow&&"Options"||null,tooltip:"View available options"});return e.biostar_url&&(r.addMenu({icon:"fa-question-circle",title:"Question?",tooltip:"Ask a question about this tool (Biostar)",onclick:function(){window.open(e.biostar_url+"/p/new/post/")}}),r.addMenu({icon:"fa-search",title:"Search",tooltip:"Search help for this tool (Biostar)",onclick:function(){window.open(e.biostar_url+"/local/search/page/?q="+e.name)}})),r.addMenu({icon:"fa-share",title:"Share",tooltip:"Share this tool",onclick:function(){prompt("Copy to clipboard: Ctrl+C, Enter",window.location.origin+Galaxy.root+"root?tool_id="+e.id)}}),Galaxy.user&&Galaxy.user.get("is_admin")&&r.addMenu({icon:"fa-download",title:"Download",tooltip:"Download this tool",href:Galaxy.root+"api/tools/"+e.id+"/download",download:e.id}),e.requirements&&e.requirements.length>0&&r.addMenu({icon:"fa-info-circle",title:"Requirements",tooltip:"Display tool requirements",onclick:function(){this.visible?(this.visible=!1,t.form.message.update({message:""})):(this.visible=!0,t.form.message.update({persistent:!0,message:s.requirements(e),status:"info"}))}}),e.sharable_url&&r.addMenu({icon:"fa-external-link",title:"See in Tool Shed",tooltip:"Access the repository",onclick:function(){window.open(e.sharable_url)}}),{menu:r,versions:n}},_footer:function(){var t=this.options;if(""!=t.help&&this.form.$el.append(s.help(t)),t.citations){var e=a("
    "),i=new r.ToolCitationCollection;i.tool_id=t.id;var n=new l.CitationListView({el:e,collection:i});n.render(),i.fetch(),this.form.$el.append(e)}}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;n=[i(4),i(16)],s=function(t,e){return{submit:function(i,n,s){var o=this,a={tool_id:n.id,tool_version:n.version,inputs:i.data.create()};return i.trigger("reset"),this._validation(i,a)?(Galaxy.emit.debug("tools-jobs::submit()","Validation complete.",a),void t.request({type:"POST",url:Galaxy.root+"api/tools",data:a,success:function(t){s&&s(),i.$el.replaceWith(e.success(t)),o._refreshHdas()},error:function(t){if(s&&s(),Galaxy.emit.debug("tools-jobs::submit","Submission failed.",t),t&&t.err_data){var n=i.data.matchResponse(t.err_data);for(var o in n){i.highlight(o,n[o]);break}}else i.modal.show({title:"Job submission failed",body:t&&t.err_msg||e.error(a),buttons:{Close:function(){i.modal.hide()}}})}})):(Galaxy.emit.debug("tools-jobs::submit()","Submission canceled. Validation failed."),void(s&&s()))},_validation:function(t,e){var i=e.inputs,n=-1,s=null;for(var o in i){var a=i[o],r=t.data.match(o),l=t.field_list[r],c=t.input_list[r];if(r&&c&&l){if(!c.optional&&null==a)return t.highlight(r),!1;if(a&&a.batch){var d=a.values.length,h=null;if(d>0&&(h=a.values[0]&&a.values[0].src),h)if(null===s)s=h;else if(s!==h)return t.highlight(r,"Please select either dataset or dataset list fields for all batch mode fields."),!1;if(-1===n)n=d;else if(n!==d)return t.highlight(r,"Please make sure that you select the same number of inputs for all batch mode fields. This field contains "+d+" selection(s) while a previous field contains "+n+"."),!1}}else Galaxy.emit.debug("tools-jobs::_validation()","Retrieving input objects failed.")}return!0},_refreshHdas:function(t,e){parent.Galaxy&&parent.Galaxy.currHistoryPanel&&parent.Galaxy.currHistoryPanel.refreshContents(t,e)}}}.apply(e,n),!(void 0!==s&&(t.exports=s))},function(t,e,i){var n,s;(function(o,a){n=[i(3),i(21),i(14),i(23),i(65),i(66),i(64),i(67)],s=function(t,e,i,n,s,r,l,c){var d={hidden:!1,show:function(){this.set("hidden",!1)},hide:function(){this.set("hidden",!0)},toggle:function(){this.set("hidden",!this.get("hidden"))},is_visible:function(){return!this.attributes.hidden}},h=o.Model.extend({defaults:{name:null,label:null,type:null,value:null,html:null,num_samples:5},initialize:function(t){this.attributes.html=unescape(this.attributes.html)},copy:function(){return new h(this.toJSON())},set_value:function(t){this.set("value",t||"")}}),u=o.Collection.extend({model:h}),p=h.extend({}),f=h.extend({set_value:function(t){this.set("value",parseInt(t,10))},get_samples:function(){return d3.scale.linear().domain([this.get("min"),this.get("max")]).ticks(this.get("num_samples"))}}),g=f.extend({set_value:function(t){this.set("value",parseFloat(t))}}),m=h.extend({get_samples:function(){return t.map(this.get("options"),function(t){return t[0]})}});h.subModelTypes={integer:f,"float":g,data:p,select:m};var v=o.Model.extend({defaults:{id:null,name:null,description:null,target:null,inputs:[],outputs:[]},urlRoot:Galaxy.root+"api/tools",initialize:function(e){this.set("inputs",new u(t.map(e.inputs,function(t){var e=h.subModelTypes[t.type]||h;return new e(t)})))},toJSON:function(){var t=o.Model.prototype.toJSON.call(this);return t.inputs=this.get("inputs").map(function(t){return t.toJSON()}),t},remove_inputs:function(t){var e=this,i=e.get("inputs").filter(function(e){return-1!==t.indexOf(e.get("type"))});e.get("inputs").remove(i)},copy:function(t){var e=new v(this.toJSON());if(t){var i=new o.Collection;e.get("inputs").each(function(t){t.get_samples()&&i.push(t)}),e.set("inputs",i)}return e},apply_search_results:function(e){return-1!==t.indexOf(e,this.attributes.id)?this.show():this.hide(),this.is_visible()},set_input_value:function(t,e){this.get("inputs").find(function(e){return e.get("name")===t}).set("value",e)},set_input_values:function(e){var i=this;t.each(t.keys(e),function(t){i.set_input_value(t,e[t])})},run:function(){return this._run()},rerun:function(t,e){return this._run({action:"rerun",target_dataset_id:t.id,regions:e})},get_inputs_dict:function(){var t={};return this.get("inputs").each(function(e){t[e.get("name")]=e.get("value")}),t},_run:function(n){var s=t.extend({tool_id:this.id,inputs:this.get_inputs_dict()},n),o=a.Deferred(),r=new e.ServerStateDeferred({ajax_settings:{url:this.urlRoot,data:JSON.stringify(s),dataType:"json",contentType:"application/json",type:"POST"},interval:2e3,success_fn:function(t){return"pending"!==t}});return a.when(r.go()).then(function(t){o.resolve(new i.DatasetCollection(t))}),o}});t.extend(v.prototype,d);var _=(o.View.extend({}),o.Collection.extend({model:v})),y=o.Model.extend(d),w=o.Model.extend({defaults:{elems:[],open:!1},clear_search_results:function(){t.each(this.attributes.elems,function(t){t.show()}),this.show(),this.set("open",!1)},apply_search_results:function(e){var i,n=!0;t.each(this.attributes.elems,function(t){t instanceof y?(i=t,i.hide()):t instanceof v&&t.apply_search_results(e)&&(n=!1,i&&i.show())}),n?this.hide():(this.show(),this.set("open",!0))}});t.extend(w.prototype,d);var b=o.Model.extend({defaults:{search_hint_string:"search tools",min_chars_for_search:3,spinner_url:"",clear_btn_url:"",search_url:"",visible:!0,query:"",results:null,clear_key:27},urlRoot:Galaxy.root+"api/tools",initialize:function(){this.on("change:query",this.do_search)},do_search:function(){var t=this.attributes.query;if(t.length");if(t.append(r(this.model.toJSON())),"upload1"===this.model.id)t.find("a").on("click",function(t){t.preventDefault(),Galaxy.upload.show()});else if("Tool"===this.model.get("model_class")){var e=this;t.find("a").on("click",function(t){t.preventDefault();var i=new n.View({id:e.model.id,version:e.model.get("version")});i.deferred.execute(function(){Galaxy.app.display(i)})})}return this.$el.append(t),this}}),$=C.extend({tagName:"div",className:"toolPanelLabel",render:function(){return this.$el.append(a("").text(this.model.attributes.text)),this}}),S=C.extend({tagName:"div",className:"toolSectionWrapper",initialize:function(){C.prototype.initialize.call(this),this.model.on("change:open",this.update_open,this)},render:function(){this.$el.append(l(this.model.toJSON()));var e=this.$el.find(".toolSectionBody");return t.each(this.model.attributes.elems,function(t){if(t instanceof v){var i=new E({model:t,className:"toolTitle"});i.render(),e.append(i.$el)}else if(t instanceof y){var n=new $({model:t});n.render(),e.append(n.$el)}}),this},events:{"click .toolSectionTitle > a":"toggle"},toggle:function(){this.model.set("open",!this.model.attributes.open)},update_open:function(){this.model.attributes.open?this.$el.children(".toolSectionBody").slideDown("fast"):this.$el.children(".toolSectionBody").slideUp("fast")}}),k=o.View.extend({tagName:"div",id:"tool-search",className:"bar",events:{click:"focus_and_select","keyup :input":"query_changed","click #search-clear-btn":"clear"},render:function(){return this.$el.append(c(this.model.toJSON())),this.model.is_visible()||this.$el.hide(),this.$el.find("[title]").tooltip(),this},focus_and_select:function(){this.$el.find(":input").focus().select()},clear:function(){return this.model.clear_search(),this.$el.find(":input").val(""),this.focus_and_select(),!1},query_changed:function(t){return this.model.attributes.clear_key&&this.model.attributes.clear_key===t.which?(this.clear(),!1):void this.model.set("query",this.$el.find(":input").val())}}),T=o.View.extend({tagName:"div",className:"toolMenu",initialize:function(){this.model.get("tool_search").on("change:results",this.handle_search_results,this)},render:function(){var t=this,e=new k({model:this.model.get("tool_search")});return e.render(),t.$el.append(e.$el),this.model.get("layout").each(function(e){if(e instanceof w){var i=new S({model:e});i.render(),t.$el.append(i.$el)}else if(e instanceof v){var n=new E({model:e,className:"toolTitleNoSection"});n.render(),t.$el.append(n.$el)}else if(e instanceof y){var s=new $({model:e});s.render(),t.$el.append(s.$el)}}),t.$el.find("a.tool-link").click(function(e){var i=a(this).attr("class").split(/\s+/)[0],n=t.model.get("tools").get(i);t.trigger("tool_link_click",e,n)}),this},handle_search_results:function(){var t=this.model.get("tool_search").get("results");t&&0===t.length?a("#search-no-results").show():a("#search-no-results").hide()}}),D=o.View.extend({className:"toolForm",render:function(){this.$el.children().remove(),this.$el.append(s(this.model.toJSON()))}});o.View.extend({className:"toolMenuAndView",initialize:function(){this.tool_panel_view=new T({collection:this.collection}),this.tool_form_view=new D},render:function(){this.tool_panel_view.render(),this.tool_panel_view.$el.css("float","left"),this.$el.append(this.tool_panel_view.$el),this.tool_form_view.$el.hide(),this.$el.append(this.tool_form_view.$el);var t=this;this.tool_panel_view.on("tool_link_click",function(e,i){e.preventDefault(),t.show_tool(i)})},show_tool:function(t){var e=this;t.fetch().done(function(){e.tool_form_view.model=t,e.tool_form_view.render(),e.tool_form_view.$el.show(),a("#left").width("650px")})}});return{ToolParameter:h,IntegerToolParameter:f,SelectToolParameter:m,Tool:v,ToolCollection:_,ToolSearch:b,ToolPanel:x,ToolPanelView:T,ToolFormView:D}}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,i){var n,s;(function(i,o,a,r){n=[],s=function(){var t=i.View.extend({initialize:function(t,e){this.$button=t,this.$button.size()||(this.$button=o("
    ")),this.options=e||[],this.$button.data("popupmenu",this);var i=this;this.$button.click(function(t){return o(".popmenu-wrapper").remove(),i._renderAndShow(t),!1})},_renderAndShow:function(t){this.render(),this.$el.appendTo("body").css(this._getShownPosition(t)).show(),this._setUpCloseBehavior()},render:function(){if(this.$el.addClass("popmenu-wrapper").hide().css({position:"absolute"}).html(this.template(this.$button.attr("id"),this.options)),this.options.length){var t=this;this.$el.find("li").each(function(e,i){var n=t.options[e];n.func&&o(this).children("a.popupmenu-option").click(function(e){n.func.call(t,e,n),e.preventDefault()})})}return this},template:function(t,e){return['"].join("")},_templateOptions:function(t){return t.length?a.map(t,function(t){if(t.divider)return'
  • ';if(t.header)return['
  • ',t.html,"
  • "].join("");var e=t.href||"javascript:void(0);",i=t.target?' target="'+t.target+'"':"",n=t.checked?'':"";return['
  • ",n,t.html,"
  • "].join("")}).join(""):"
  • (no options)
  • "},_getShownPosition:function(t){var e=this.$el.width(),i=t.pageX-e/2;return i=Math.min(i,o(document).scrollLeft()+o(window).width()-e-5),i=Math.max(i,o(document).scrollLeft()+5),{top:t.pageY,left:i}},_setUpCloseBehavior:function(){function t(t){if(o(document).off("click.close_popup"),window.parent!==window)try{o(window.parent.document).off("click.close_popup")}catch(i){}else try{o("iframe#galaxy_main").contents().off("click.close_popup")}catch(i){}e.remove()}var e=this;if(o("html").one("click.close_popup",t),window.parent!==window)try{o(window.parent.document).find("html").one("click.close_popup",t)}catch(i){}else try{o("iframe#galaxy_main").contents().one("click.close_popup",t)}catch(i){}},addItem:function(t,e){return e=e>=0?e:this.options.length,this.options.splice(e,0,t),this},removeItem:function(t){return t>=0&&this.options.splice(t,1),this},findIndexByHtml:function(t){for(var e=0;e'},_templateContent:function(){return'
    '},_templateBox:function(t){return'
    '},_template:function(){return'
    Select a color
    '}})}.apply(e,n),!(void 0!==s&&(t.exports=s))}).call(e,i(2),i(1))},function(t,e,n){var s,o;(function(a){s=[n(4),n(25)],o=function(t,e){var n=e.BaseIcons.extend({initialize:function(t){ -t.type=t.display||"checkbox",t.multiple="checkbox"==t.display,e.BaseIcons.prototype.initialize.call(this,t),this.initial=!0},value:function(t){var i=e.BaseIcons.prototype.value.call(this,t);if(this.initial&&null!==i&&this.header_index){this.initial=!1;var n=i;a.isArray(n)||(n=[n]);for(var s in n){var o=this.header_index[n[s]];for(var r in o)this._setState(o[r],!0)}}return i},_setState:function(t,e){var i=this.$(".button-"+t),n=this.$(".subgroup-"+t);i.data("is_expanded",e),e?(n.fadeIn("fast"),i.removeClass("toggle-expand"),i.addClass("toggle")):(n.hide(),i.removeClass("toggle"),i.addClass("toggle-expand"))},_templateOptions:function(e){function n(t,e){var i=t.find(".button-"+e);i.on("click",function(){o._setState(e,!i.data("is_expanded"))})}function s(e,r,l){l=l||[];for(i in r){var c=r[i],d=c.options.length>0,h=l.slice(0);o.header_index[c.value]=h.slice(0);var u=a("
    ");if(d){var p=t.uid(),f=a(''),g=a('