Select the file whose tool_path setting you want used for installing repositories.
',
"
",
"
"
diff --git a/lib/galaxy/model/__init__.py b/lib/galaxy/model/__init__.py
index 79628c559af..225c8205499 100644
--- a/lib/galaxy/model/__init__.py
+++ b/lib/galaxy/model/__init__.py
@@ -5,7 +5,6 @@ Naming: try to use class names that have a distinct plural form so that
the relationship cardinalities are obvious (e.g. prefer Dataset to Data)
"""
import errno
-import json
import logging
import numbers
import operator
@@ -30,8 +29,8 @@ from galaxy.managers import tags
from galaxy.model.item_attrs import UsesAnnotations
from galaxy.model.util import pgcalc
from galaxy.security import get_permitted_actions
-from galaxy.util import (directory_hash_id, Params, ready_name_for_url,
- restore_text, unicodify, unique_id)
+from galaxy.util import (directory_hash_id, ready_name_for_url,
+ unicodify, unique_id)
from galaxy.util.bunch import Bunch
from galaxy.util.dictifiable import Dictifiable
from galaxy.util.hash_util import new_secure_hash
@@ -2667,32 +2666,6 @@ class Library(object, Dictifiable, HasName):
active_folders.extend(self.get_active_folders(active_folder, folders))
return sort_by_attr(active_folders, 'id')
- def get_info_association(self, restrict=False, inherited=False):
- if self.info_association:
- if not inherited or self.info_association[0].inheritable:
- return self.info_association[0], inherited
- else:
- return None, inherited
- return None, inherited
-
- def get_template_widgets(self, trans, get_contents=True):
- # See if we have any associated templates - the returned value for
- # inherited is not applicable at the library level. The get_contents
- # param is passed by callers that are inheriting a template - these
- # are usually new library datsets for which we want to include template
- # fields on the upload form, but not necessarily the contents of the
- # inherited template saved for the parent.
- info_association, inherited = self.get_info_association()
- if info_association:
- template = info_association.template
- if get_contents:
- # See if we have any field contents
- info = info_association.info
- if info:
- return template.get_widgets(trans.user, contents=info.content)
- return template.get_widgets(trans.user)
- return []
-
def get_access_roles(self, trans):
roles = []
for lp in self.actions:
@@ -2723,51 +2696,6 @@ class LibraryFolder(object, Dictifiable, HasName):
folder.order_id = self.item_count
self.item_count += 1
- def get_info_association(self, restrict=False, inherited=False):
- # If restrict is True, we will return this folder's info_association, not inheriting.
- # If restrict is False, we'll return the next available info_association in the
- # inheritable hierarchy if it is "inheritable". True is also returned if the
- # info_association was inherited and False if not. This enables us to eliminate
- # displaying any contents of the inherited template.
- if self.info_association:
- if not inherited or self.info_association[0].inheritable:
- return self.info_association[0], inherited
- else:
- return None, inherited
- if restrict:
- return None, inherited
- if self.parent:
- return self.parent.get_info_association(inherited=True)
- if self.library_root:
- return self.library_root[0].get_info_association(inherited=True)
- return None, inherited
-
- def get_template_widgets(self, trans, get_contents=True):
- # See if we have any associated templates. The get_contents
- # param is passed by callers that are inheriting a template - these
- # are usually new library datsets for which we want to include template
- # fields on the upload form.
- info_association, inherited = self.get_info_association()
- if info_association:
- if inherited:
- template = info_association.template.current.latest_form
- else:
- template = info_association.template
- # See if we have any field contents, but only if the info_association was
- # not inherited ( we do not want to display the inherited contents ).
- # (gvk: 8/30/10) Based on conversations with Dan, we agreed to ALWAYS inherit
- # contents. We'll use this behavior until we hear from the community that
- # contents should not be inherited. If we don't hear anything for a while,
- # eliminate the old commented out behavior.
- # if not inherited and get_contents:
- if get_contents:
- info = info_association.info
- if info:
- return template.get_widgets(trans.user, info.content)
- else:
- return template.get_widgets(trans.user)
- return []
-
@property
def activatable_library_datasets(self):
# This needs to be a list
@@ -2775,13 +2703,6 @@ class LibraryFolder(object, Dictifiable, HasName):
def to_dict(self, view='collection', value_mapper=None):
rval = super(LibraryFolder, self).to_dict(view=view, value_mapper=value_mapper)
- info_association, inherited = self.get_info_association()
- if info_association:
- if inherited:
- template = info_association.template.current.latest_form
- else:
- template = info_association.template
- rval['data_template'] = template.name
rval['library_path'] = self.library_path
rval['parent_library_id'] = self.parent_library.id
return rval
@@ -2855,15 +2776,6 @@ class LibraryDataset(object):
# display in other objects, we can't use the simpler method used by
# other model classes.
ldda = self.library_dataset_dataset_association
- template_data = {}
- for temp_info in ldda.info_association:
- template = temp_info.template
- content = temp_info.info.content
- tmp_dict = {}
- for field in template.fields:
- tmp_dict[field['label']] = content[field['name']]
- template_data[template.name] = tmp_dict
-
rval = dict(id=self.id,
ldda_id=ldda.id,
parent_library_id=self.folder.parent_library.id,
@@ -2881,8 +2793,7 @@ class LibraryDataset(object):
genome_build=ldda.dbkey,
misc_info=ldda.info,
misc_blurb=ldda.blurb,
- peek=(lambda ldda: ldda.display_peek() if ldda.peek and ldda.peek != 'no peek' else None)(ldda),
- template_data=template_data)
+ peek=(lambda ldda: ldda.display_peek() if ldda.peek and ldda.peek != 'no peek' else None)(ldda))
if ldda.dataset.uuid is None:
rval['uuid'] = None
else:
@@ -2987,19 +2898,6 @@ class LibraryDatasetDatasetAssociation(DatasetInstance, HasName):
def has_manage_permissions_roles(self, trans):
return self.dataset.has_manage_permissions_roles(trans)
- def get_info_association(self, restrict=False, inherited=False):
- # If restrict is True, we will return this ldda's info_association whether it
- # exists or not ( in which case None will be returned ). If restrict is False,
- # we'll return the next available info_association in the inheritable hierarchy.
- # True is also returned if the info_association was inherited, and False if not.
- # This enables us to eliminate displaying any contents of the inherited template.
- # SM: Accessing self.info_association can cause a query to be emitted
- if self.info_association:
- return self.info_association[0], inherited
- if restrict:
- return None, inherited
- return self.library_dataset.folder.get_info_association(inherited=True)
-
def to_dict(self, view='collection'):
# Since this class is a proxy to rather complex attributes we want to
# display in other objects, we can't use the simpler method used by
@@ -3044,55 +2942,6 @@ class LibraryDatasetDatasetAssociation(DatasetInstance, HasName):
rval['metadata_' + name] = val
return rval
- def get_template_widgets(self, trans, get_contents=True):
- # See if we have any associated templatesThe get_contents
- # param is passed by callers that are inheriting a template - these
- # are usually new library datsets for which we want to include template
- # fields on the upload form, but not necessarily the contents of the
- # inherited template saved for the parent.
- info_association, inherited = self.get_info_association()
- if info_association:
- if inherited:
- template = info_association.template.current.latest_form
- else:
- template = info_association.template
- # See if we have any field contents, but only if the info_association was
- # not inherited ( we do not want to display the inherited contents ).
- # (gvk: 8/30/10) Based on conversations with Dan, we agreed to ALWAYS inherit
- # contents. We'll use this behavior until we hear from the community that
- # contents should not be inherited. If we don't hear anything for a while,
- # eliminate the old commented out behavior.
- # if not inherited and get_contents:
- if get_contents:
- info = info_association.info
- if info:
- return template.get_widgets(trans.user, info.content)
- else:
- return template.get_widgets(trans.user)
- return []
-
- def templates_dict(self, use_name=False):
- """
- Returns a dict of template info
- """
- # TODO: Should have a method that allows names and labels to be returned together in a structured way
- template_data = {}
- for temp_info in self.info_association:
- template = temp_info.template
- content = temp_info.info.content
- tmp_dict = {}
- for field in template.fields:
- if use_name:
- name = field['name']
- else:
- name = field['label']
- tmp_dict[name] = content.get(field['name'])
- template_data[template.name] = tmp_dict
- return template_data
-
- def templates_json(self, use_name=False):
- return json.dumps(self.templates_dict(use_name=use_name))
-
class ExtendedMetadata(object):
def __init__(self, data):
@@ -4450,98 +4299,6 @@ class FormDefinition(object, Dictifiable):
gridfields[i] = f
return gridfields
- def get_widgets(self, user, contents={}, **kwd):
- '''
- Return the list of widgets that comprise a form definition,
- including field contents if any.
- '''
- params = Params(kwd)
- widgets = []
- for index, field in enumerate(self.fields):
- field_type = field['type']
- if 'name' in field:
- field_name = field['name']
- else:
- # Default to names like field_0, field_1, etc for backward compatibility
- # (not sure this is necessary)...
- field_name = 'field_%i' % index
- # Determine the value of the field
- if field_name in kwd:
- # The form was submitted via refresh_on_change
- if field_type == 'CheckboxField':
- value = CheckboxField.is_checked(params.get(field_name, False))
- else:
- value = restore_text(params.get(field_name, ''))
- elif contents:
- try:
- # This field has a saved value.
- value = str(contents[field['name']])
- except Exception:
- # If there was an error getting the saved value, we'll still
- # display the widget, but it will be empty.
- if field_type == 'AddressField':
- value = 'none'
- elif field_type == 'CheckboxField':
- # Since we do not have contents, set checkbox value to False
- value = False
- else:
- # Set other field types to empty string
- value = ''
- else:
- # If none of the above, then leave the field empty
- if field_type == 'AddressField':
- value = 'none'
- elif field_type == 'CheckboxField':
- # Since we do not have contents, set checkbox value to False
- value = False
- else:
- # Set other field types to the default value of the field
- value = field.get('default', '')
- # Create the field widget
- field_widget = eval(field_type)(field_name)
- if field_type in ['TextField', 'PasswordField']:
- field_widget.set_size(40)
- field_widget.value = value
- elif field_type == 'TextArea':
- field_widget.set_size(3, 40)
- field_widget.value = value
- elif field_type in ['AddressField', 'WorkflowField', 'WorkflowMappingField', 'HistoryField']:
- field_widget.user = user
- field_widget.value = value
- field_widget.params = params
- elif field_type == 'SelectField':
- for option in field['selectlist']:
- if option == value:
- field_widget.add_option(option, option, selected=True)
- else:
- field_widget.add_option(option, option)
- elif field_type == 'CheckboxField':
- field_widget.set_checked(value)
- if field['required'] == 'required':
- req = 'Required'
- else:
- req = 'Optional'
- if field['helptext']:
- helptext = '%s (%s)' % (field['helptext'], req)
- else:
- helptext = '(%s)' % req
- widgets.append(dict(label=field['label'], widget=field_widget, helptext=helptext))
- return widgets
-
- def field_as_html(self, field):
- """Generates disabled html for a field"""
- type = field['type']
- form_field = None
- for field_type in self.supported_field_types:
- if type == field_type.__name__:
- # Name it AddressField, CheckboxField, etc.
- form_field = field_type(type)
- break
- if form_field:
- return form_field.get_html(disabled=True)
- # Return None if unsupported field type
- return None
-
class FormDefinitionCurrent(object):
def __init__(self, form_definition=None):
@@ -4581,30 +4338,6 @@ class UserAddress(object):
'country' : sanitize_html(self.country),
'phone' : sanitize_html(self.phone)}
- def get_html(self):
- # This should probably be deprecated eventually. It should currently
- # sanitize.
- # TODO Find out where else uses this and replace with
- # templates
- html = ''
- if self.name:
- html = html + sanitize_html(self.name)
- if self.institution:
- html = html + ' ' + sanitize_html(self.institution)
- if self.address:
- html = html + ' ' + sanitize_html(self.address)
- if self.city:
- html = html + ' ' + sanitize_html(self.city)
- if self.state:
- html = html + ' ' + sanitize_html(self.state)
- if self.postal_code:
- html = html + ' ' + sanitize_html(self.postal_code)
- if self.country:
- html = html + ' ' + sanitize_html(self.country)
- if self.phone:
- html = html + ' ' + 'phone: ' + sanitize_html(self.phone)
- return html
-
class UserOpenID(object):
def __init__(self, user=None, session=None, openid=None):
diff --git a/lib/galaxy/model/metadata.py b/lib/galaxy/model/metadata.py
index ba937e61391..817a1a809e9 100644
--- a/lib/galaxy/model/metadata.py
+++ b/lib/galaxy/model/metadata.py
@@ -227,29 +227,6 @@ class MetadataParameter(object):
other_values = other_values or {}
return form_builder.TextField(self.spec.name, value=value)
- def get_html(self, value, context=None, other_values=None, **kwd):
- """
- The "context" is simply the metadata collection/bunch holding
- this piece of metadata. This is passed in to allow for
- metadata to validate against each other (note: this could turn
- into a huge, recursive mess if not done with care). For
- example, a column assignment should validate against the
- number of columns in the dataset.
- """
- context = context or {}
- other_values = other_values or {}
-
- if self.spec.get("readonly"):
- return value
- if self.spec.get("optional"):
- checked = False
- if value:
- checked = "true"
- checkbox = form_builder.CheckboxField("is_" + self.spec.name, checked=checked)
- return checkbox.get_html() + self.get_field(value=value, context=context, other_values=other_values, **kwd).get_html()
- else:
- return self.get_field(value=value, context=context, other_values=other_values, **kwd).get_html()
-
def to_string(self, value):
return str(value)
@@ -390,16 +367,6 @@ class SelectParameter(MetadataParameter):
field.add_option(val, label, selected=False)
return field
- def get_html(self, value, context=None, other_values=None, values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
-
- if self.spec.get("readonly"):
- if value in [None, []]:
- return str(self.spec.no_value)
- return ", ".join(map(str, value))
- return MetadataParameter.get_html(self, value, context=context, other_values=other_values, values=values, **kwd)
-
def wrap(self, value, session):
# do we really need this (wasteful)? - yes because we are not sure that
# all existing selects have been stored previously as lists. Also this
@@ -433,15 +400,6 @@ class DBKeyParameter(SelectParameter):
pass
return super(DBKeyParameter, self).get_field(value, context, other_values, values, **kwd)
- def get_html(self, value=None, context=None, other_values=None, values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
- try:
- values = kwd['trans'].app.genome_builds.get_genome_build_names(kwd['trans'])
- except KeyError:
- pass
- return super(DBKeyParameter, self).get_html(value, context, other_values, values, **kwd)
-
class RangeParameter(SelectParameter):
@@ -460,14 +418,6 @@ class RangeParameter(SelectParameter):
values = list(zip(range(self.min, self.max, self.step), range(self.min, self.max, self.step)))
return SelectParameter.get_field(self, value=value, context=context, other_values=other_values, values=values, **kwd)
- def get_html(self, value, context=None, other_values=None, values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
-
- if values is None:
- values = list(zip(range(self.min, self.max, self.step), range(self.min, self.max, self.step)))
- return SelectParameter.get_html(self, value, context=context, other_values=other_values, values=values, **kwd)
-
@classmethod
def marshal(cls, value):
value = SelectParameter.marshal(value)
@@ -486,15 +436,6 @@ class ColumnParameter(RangeParameter):
values = list(zip(column_range, column_range))
return RangeParameter.get_field(self, value=value, context=context, other_values=other_values, values=values, **kwd)
- def get_html(self, value, context=None, other_values=None, values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
-
- if values is None and context:
- column_range = range(1, (context.columns or 0) + 1, 1)
- values = list(zip(column_range, column_range))
- return RangeParameter.get_html(self, value, context=context, other_values=other_values, values=values, **kwd)
-
class ColumnTypesParameter(MetadataParameter):
@@ -530,11 +471,6 @@ class PythonObjectParameter(MetadataParameter):
other_values = other_values or {}
return form_builder.TextField(self.spec.name, value=self._to_string(value))
- def get_html(self, value=None, context=None, other_values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
- return str(self)
-
@classmethod
def marshal(cls, value):
return value
@@ -556,11 +492,6 @@ class FileParameter(MetadataParameter):
other_values = other_values or {}
return form_builder.TextField(self.spec.name, value=str(value.id))
- def get_html(self, value=None, context=None, other_values=None, **kwd):
- context = context or {}
- other_values = other_values or {}
- return "
No display available for Metadata Files
"
-
def wrap(self, value, session):
if value is None:
return None
diff --git a/lib/galaxy/tools/__init__.py b/lib/galaxy/tools/__init__.py
index 6cc79b47b36..660f4786963 100755
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -309,11 +309,9 @@ class ToolBox(BaseGalaxyToolBox):
def __build_tool_version_select_field(self, tools, tool_id, set_selected):
"""Build a SelectField whose options are the ids for the received list of tools."""
options = []
- refresh_on_change_values = []
for tool in tools:
options.insert(0, (tool.version, tool.id))
- refresh_on_change_values.append(tool.id)
- select_field = SelectField(name='tool_id', refresh_on_change=True, refresh_on_change_values=refresh_on_change_values)
+ select_field = SelectField(name='tool_id')
for option_tup in options:
selected = set_selected and option_tup[1] == tool_id
if selected:
@@ -1042,8 +1040,6 @@ class Tool(object, Dictifiable):
group.default_file_type = elem.get('default_file_type', group.default_file_type)
group.metadata_ref = elem.get('metadata_ref', group.metadata_ref)
rval[group.file_type_name].refresh_on_change = True
- rval[group.file_type_name].refresh_on_change_values = \
- self.app.datatypes_registry.get_composite_extensions()
group_page_source = XmlPageSource(elem)
group.inputs = self.parse_input_elem(group_page_source, enctypes, context)
rval[group.name] = group
diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py
index 6022318a2c2..5ae79a7e303 100644
--- a/lib/galaxy/tools/parameters/basic.py
+++ b/lib/galaxy/tools/parameters/basic.py
@@ -75,7 +75,6 @@ class ToolParameter(object, Dictifiable):
def __init__(self, tool, input_source, context=None):
input_source = ensure_input_source(input_source)
self.tool = tool
- self.refresh_on_change_values = []
self.argument = input_source.get("argument")
self.name = self.__class__.parse_name(input_source)
self.type = input_source.get("type")
diff --git a/lib/galaxy/web/__init__.py b/lib/galaxy/web/__init__.py
index a522f38e040..a7284fffafe 100644
--- a/lib/galaxy/web/__init__.py
+++ b/lib/galaxy/web/__init__.py
@@ -23,10 +23,6 @@ from .framework.decorators import (
require_admin,
require_login
)
-from .framework.formbuilder import (
- form,
- FormBuilder
-)
__all__ = ('url_for', 'error', 'expose', 'json', 'json_pretty',
'require_admin', 'require_login', 'expose_api', 'expose_api_anonymous',
diff --git a/lib/galaxy/web/form_builder.py b/lib/galaxy/web/form_builder.py
index c0c49f9af0b..506ed5cc0f7 100644
--- a/lib/galaxy/web/form_builder.py
+++ b/lib/galaxy/web/form_builder.py
@@ -4,14 +4,9 @@ Classes for generating HTML forms
from __future__ import print_function
import logging
-from cgi import escape
-
-from six import string_types
from galaxy.util import (
- asbool,
- restore_text,
- unicodify
+ asbool
)
log = logging.getLogger(__name__)
@@ -29,16 +24,6 @@ class BaseField(object):
self.optional = kwds.get('required', 'optional') == 'optional'
self.help = kwds.get('helptext')
- def get_html(self, prefix=""):
- """Returns the html widget corresponding to the parameter"""
- raise TypeError("Abstract Method")
-
- def get_disabled_str(self, disabled=False):
- if disabled:
- return ' disabled="disabled"'
- else:
- return ''
-
def to_dict(self):
return {
'name' : self.name,
@@ -53,25 +38,7 @@ class BaseField(object):
class TextField(BaseField):
"""
A standard text input box.
-
- >>> print(TextField( "foo" ).get_html())
-
- >>> print(TextField( "bins", size=4, value="default" ).get_html())
-
"""
-
- def __init__(self, name, size=None, value=None, **kwds):
- super(TextField, self).__init__(name, value, **kwds)
- self.size = int(size or 10)
-
- def get_html(self, prefix="", disabled=False):
- value = unicodify(self.value or "")
- return unicodify(''
- % (prefix, self.name, self.size, escape(value, quote=True), self.get_disabled_str(disabled)))
-
- def set_size(self, size):
- self.size = int(size)
-
def to_dict(self):
d = super(TextField, self).to_dict()
d['type'] = 'text'
@@ -81,26 +48,7 @@ class TextField(BaseField):
class PasswordField(BaseField):
"""
A password input box. text appears as "******"
-
- >>> print(PasswordField( "foo" ).get_html())
-
- >>> print(PasswordField( "bins", size=4, value="default" ).get_html())
-
"""
-
- def __init__(self, name, size=None, value=None, **kwds):
- super(PasswordField, self).__init__(name, value, **kwds)
- self.name = name
- self.size = int(size or 10)
- self.value = value or ""
-
- def get_html(self, prefix="", disabled=False):
- return unicodify(''
- % (prefix, self.name, self.size, escape(str(self.value), quote=True), self.get_disabled_str(disabled)))
-
- def set_size(self, size):
- self.size = int(size)
-
def to_dict(self):
d = super(PasswordField, self).to_dict()
d['type'] = 'password'
@@ -110,31 +58,7 @@ class PasswordField(BaseField):
class TextArea(BaseField):
"""
A standard text area box.
-
- >>> print(TextArea( "foo" ).get_html())
-
- >>> print(TextArea( "bins", size="4x5", value="default" ).get_html())
-
"""
- _DEFAULT_SIZE = "5x25"
-
- def __init__(self, name, size=None, value=None, **kwds):
- super(TextArea, self).__init__(name, value, **kwds)
- self.name = name
- size = size or self._DEFAULT_SIZE
- self.size = size.split("x")
- self.rows = int(self.size[0])
- self.cols = int(self.size[-1])
- self.value = value or ""
-
- def get_html(self, prefix="", disabled=False):
- return unicodify(''
- % (prefix, self.name, self.rows, self.cols, self.get_disabled_str(disabled), escape(str(self.value), quote=True)))
-
- def set_size(self, rows, cols):
- self.rows = rows
- self.cols = cols
-
def to_dict(self):
d = super(TextArea, self).to_dict()
d['type'] = 'text'
@@ -145,46 +69,12 @@ class TextArea(BaseField):
class CheckboxField(BaseField):
"""
A checkbox (boolean input)
-
- >>> print(CheckboxField( "foo" ).get_html())
-
- >>> print(CheckboxField( "bar", checked="yes" ).get_html())
-
"""
-
- def __init__(self, name, checked=None, refresh_on_change=False, refresh_on_change_values=None, value=None, **kwds):
- super(CheckboxField, self).__init__(name, value, **kwds)
- self.name = name
- self.checked = (checked is True) or (isinstance(checked, string_types) and (checked.lower() in ("yes", "true", "on")))
- self.refresh_on_change = refresh_on_change
- self.refresh_on_change_values = refresh_on_change_values or []
- if self.refresh_on_change:
- self.refresh_on_change_text = ' refresh_on_change="true" '
- if self.refresh_on_change_values:
- self.refresh_on_change_text = '%s refresh_on_change_values="%s" ' % (self.refresh_on_change_text, ",".join(self.refresh_on_change_values))
- else:
- self.refresh_on_change_text = ''
-
- def get_html(self, prefix="", disabled=False):
- if self.checked:
- checked_text = ' checked="checked"'
- else:
- checked_text = ''
- id_name = prefix + self.name
- return unicodify(''
- % (id_name, id_name, checked_text, self.get_disabled_str(disabled), self.refresh_on_change_text, id_name, self.get_disabled_str(disabled)))
-
@staticmethod
def is_checked(value):
- if value in [True, "true"]:
+ if value in [True, "True", "true"]:
return True
- return isinstance(value, list) and ('__CHECKED__' in value or len(value) == 2)
-
- def set_checked(self, value):
- if isinstance(value, string_types):
- self.checked = value.lower() in ["yes", "true", "on"]
- else:
- self.checked = value
+ return False
def to_dict(self):
d = super(CheckboxField, self).to_dict()
@@ -192,122 +82,17 @@ class CheckboxField(BaseField):
return d
-class FileField(BaseField):
- """
- A file upload input.
-
- >>> print(FileField( "foo" ).get_html())
-
- >>> print(FileField( "foo", ajax = True ).get_html())
-
- """
-
- def __init__(self, name, value=None, ajax=False, **kwds):
- super(FileField, self).__init__(name, value, **kwds)
- self.name = name
- self.ajax = ajax
- self.value = value
-
- def get_html(self, prefix=""):
- value_text = ""
- if self.value:
- value_text = ' value="%s"' % escape(str(self.value), quote=True)
- ajax_text = ""
- if self.ajax:
- ajax_text = ' galaxy-ajax-upload="true"'
- return unicodify('' % (prefix, self.name, ajax_text, value_text))
-
-
-class GenomespaceFileField(BaseField):
- """
- A genomspace file browser field.
- """
- def __init__(self, name, value=None):
- self.name = name
- self.value = value or ""
-
- def get_html(self, prefix=""):
- return unicodify(''
- ' '
- ''
- 'Browse'.format(prefix, self.name, escape(str(self.value), quote=True)))
-
- def to_dict(self):
- return dict(name=self.name,
- token_field=self.token_field)
-
-
-class HiddenField(BaseField):
- """
- A hidden field.
-
- >>> print(HiddenField( "foo", 100 ).get_html())
-
- """
-
- def __init__(self, name, value=None, **kwds):
- super(HiddenField, self).__init__(name, value, **kwds)
- self.name = name
- self.value = value or ""
-
- def get_html(self, prefix=""):
- return unicodify('' % (prefix, self.name, escape(str(self.value), quote=True)))
-
- def to_dict(self):
- d = super(HiddenField, self).to_dict()
- d['type'] = 'hidden'
- d['hidden'] = True
- return d
-
-
class SelectField(BaseField):
"""
A select field.
-
- >>> t = SelectField( "foo", multiple=True )
- >>> t.add_option( "tuti", 1 )
- >>> t.add_option( "fruity", "x" )
- >>> print(t.get_html())
-
-
- >>> t = SelectField( "bar" )
- >>> t.add_option( "automatic", 3 )
- >>> t.add_option( "bazooty", 4, selected=True )
- >>> print(t.get_html())
-
-
- >>> t = SelectField( "foo", display="radio" )
- >>> t.add_option( "tuti", 1 )
- >>> t.add_option( "fruity", "x" )
- >>> print(t.get_html())
-
-
-
- >>> t = SelectField( "bar", multiple=True, display="checkboxes" )
- >>> t.add_option( "automatic", 3 )
- >>> t.add_option( "bazooty", 4, selected=True )
- >>> print(t.get_html())
-
-
-
"""
- def __init__(self, name, multiple=None, display=None, refresh_on_change=False, refresh_on_change_values=None, size=None, field_id=None, value=None, selectlist=None, **kwds):
+ def __init__(self, name, multiple=None, display=None, field_id=None, value=None, selectlist=None, refresh_on_change=False, **kwds):
super(SelectField, self).__init__(name, value, **kwds)
- self.name = name
self.field_id = field_id
self.multiple = multiple or False
+ self.refresh_on_change = refresh_on_change
self.selectlist = selectlist or []
- self.value = value
- self.size = size
self.options = list()
if display == "checkboxes":
assert multiple, "Checkbox display only supported for multiple select"
@@ -316,136 +101,10 @@ class SelectField(BaseField):
elif display is not None:
raise Exception("Unknown display type: %s" % display)
self.display = display
- self.refresh_on_change = refresh_on_change
- self.refresh_on_change_values = refresh_on_change_values or []
- if self.refresh_on_change:
- self.refresh_on_change_text = ' refresh_on_change="true"'
- if self.refresh_on_change_values:
- self.refresh_on_change_text = '%s refresh_on_change_values="%s"' % (self.refresh_on_change_text, escape(",".join(self.refresh_on_change_values), quote=True))
- else:
- self.refresh_on_change_text = ''
def add_option(self, text, value, selected=False):
self.options.append((text, value, selected))
- def get_html(self, prefix="", disabled=False, extra_attr=None):
- if extra_attr is not None:
- self.extra_attributes = ' %s' % ' '.join(['%s="%s"' % (k, escape(v)) for k, v in extra_attr.items()])
- else:
- self.extra_attributes = ''
- if self.display == "checkboxes":
- return self.get_html_checkboxes(prefix, disabled)
- elif self.display == "radio":
- return self.get_html_radio(prefix, disabled)
- else:
- return self.get_html_default(prefix, disabled)
-
- def get_html_checkboxes(self, prefix="", disabled=False):
- rval = []
- ctr = 0
- if len(self.options) > 1:
- rval.append('' % (prefix, self.name)) # placeholder for the insertion of the Select All/Unselect All buttons
- for text, value, selected in self.options:
- style = ""
- text = unicodify(text)
- escaped_value = escape(unicodify(value), quote=True)
- uniq_id = "%s%s|%s" % (prefix, self.name, escaped_value)
- if len(self.options) > 2 and ctr % 2 == 1:
- style = " class=\"odd_row\""
- selected_text = ""
- if selected:
- selected_text = " checked='checked'"
- rval.append(''
- % (style, prefix, self.name, escaped_value, uniq_id, selected_text, self.get_disabled_str(disabled), self.extra_attributes, uniq_id, escape(text, quote=True)))
- ctr += 1
- return unicodify("\n".join(rval))
-
- def get_html_radio(self, prefix="", disabled=False):
- rval = []
- ctr = 0
- for text, value, selected in self.options:
- style = ""
- escaped_value = escape(str(value), quote=True)
- uniq_id = "%s%s|%s" % (prefix, self.name, escaped_value)
- if len(self.options) > 2 and ctr % 2 == 1:
- style = " class=\"odd_row\""
- selected_text = ""
- if selected:
- selected_text = " checked='checked'"
- rval.append(''
- % (style,
- prefix,
- self.name,
- self.refresh_on_change_text,
- escaped_value,
- uniq_id,
- selected_text,
- self.get_disabled_str(disabled),
- self.extra_attributes,
- uniq_id,
- text))
- ctr += 1
- return unicodify("\n".join(rval))
-
- def get_html_default(self, prefix="", disabled=False):
- if self.multiple:
- multiple = " multiple"
- else:
- multiple = ""
- if self.size:
- size = ' size="%s"' % str(self.size)
- else:
- size = ''
- rval = []
- last_selected_value = ""
- for text, value, selected in self.options:
- if selected:
- selected_text = " selected"
- last_selected_value = value
- if not isinstance(last_selected_value, string_types):
- last_selected_value = str(last_selected_value)
- else:
- selected_text = ""
- rval.append('' % (escape(unicodify(value), quote=True), selected_text, escape(unicodify(text), quote=True)))
- if last_selected_value:
- last_selected_value = ' last_selected_value="%s"' % escape(unicodify(last_selected_value), quote=True)
- if self.field_id is not None:
- id_string = ' id="%s"' % self.field_id
- else:
- id_string = ''
- rval.insert(0, '')
- return unicodify("\n".join(rval))
-
- def get_selected(self, return_label=False, return_value=False, multi=False):
- '''
- Return the currently selected option's label, value or both as a tuple. For
- multi-select lists, a list is returned.
- '''
- if multi:
- selected_options = []
- for label, value, selected in self.options:
- if selected:
- if return_label and return_value:
- if multi:
- selected_options.append((label, value))
- else:
- return (label, value)
- elif return_label:
- if multi:
- selected_options.append(label)
- else:
- return label
- elif return_value:
- if multi:
- selected_options.append(value)
- else:
- return value
- if multi:
- return selected_options
- return None
-
def to_dict(self):
d = super(SelectField, self).to_dict()
d['type'] = 'select'
@@ -470,63 +129,10 @@ class AddressField(BaseField):
("country", "Country", ""),
("phone", "Phone", "")]
- def __init__(self, name, user=None, value=None, params=None, security=None, **kwds):
+ def __init__(self, name, user=None, value=None, security=None, **kwds):
super(AddressField, self).__init__(name, value, **kwds)
self.user = user
self.security = security
- self.select_address = None
- self.params = params
-
- def get_html(self, disabled=False):
- address_html = ''
- add_ids = ['none']
- if self.user:
- for a in self.user.addresses:
- add_ids.append(str(a.id))
- add_ids.append('new')
- self.select_address = SelectField(self.name,
- refresh_on_change=True,
- refresh_on_change_values=add_ids)
- if self.value == 'none':
- self.select_address.add_option('Select one', 'none', selected=True)
- else:
- self.select_address.add_option('Select one', 'none')
- if self.user:
- for a in self.user.addresses:
- if not a.deleted:
- if self.value == str(a.id):
- self.select_address.add_option(a.desc, str(a.id), selected=True)
- # Display this address
- address_html += '''
-
- %s
-
- ''' % a.get_html()
- else:
- self.select_address.add_option(a.desc, str(a.id))
- if self.value == 'new':
- self.select_address.add_option('Add a new address', 'new', selected=True)
- for field_name, label, help_text in self.fields():
- add_field = TextField(self.name + '_' + field_name,
- 40,
- restore_text(self.params.get(self.name + '_' + field_name, '')))
- address_html += '''
-
"}});t.default={View:o}}).call(t,i(1),i(0))},44:function(e,t,i){"use strict";(function(e,s,n){Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=(function(e){e&&e.__esModule}(a),e.Model.extend({initialize:function(e){this.app=e},checksum:function(){var e="",t=this;return this.app.section.$el.find(".section-row").each(function(){var i=s(this).attr("id"),n=t.app.field_list[i];n&&(e+=i+":"+JSON.stringify(n.value&&n.value())+":"+n.collapsed+";")}),e},create:function(){function e(e,t,s){i.flat_dict[e]=t,n[e]=s,i.app.element_list[t]&&i.app.element_list[t].$el.attr("tour_id",e)}function t(s,n){for(var a in n){var o=n[a];if(o.input){var l=o.input,d=s;switch(""!=s&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],h=null;for(var u in o){var p=u.indexOf("section-");-1!=p&&(p+="section-".length,c.push(parseInt(u.substr(p))),h||(h=u.substr(0,p)))}c.sort(function(e,t){return e-t});var a=0;for(var _ in c)t(d+"_"+a++,o[h+c[_]]);break;case"conditional":var f=i.app.field_list[l.id].value();e(d+"|"+l.test_param.name,l.id,f);var g=r(l,f);-1!=g&&t(d,n[l.id+"-section-"+g]);break;case"section":t(!l.flat&&d||"",o);break;default:var m=i.app.field_list[l.id];if(m&&m.value){var f=m.value();if((void 0===l.ignore||l.ignore!=f)&&(m.collapsed&&l.collapsible_value&&(f=l.collapsible_value),e(d,l.id,f),l.payload))for(var v in l.payload)e(v,l.id,l.payload[v])}}}}}var i=this,s={};this._iterate(this.app.section.$el,s);var n={};return this.flat_dict={},t("",s),n},match:function(e){return this.flat_dict&&this.flat_dict[e]},matchCase:function(e,t){return r(e,t)},matchModel:function(e,t){var i=this;l(e.inputs,function(e,s){i.flat_dict[s]&&t(e,i.flat_dict[s])})},matchResponse:function(e){function t(e,n){if("string"==typeof n){var a=s.flat_dict[e];a&&(i[a]=n)}else for(var o in n){var r=o;if(""!==e){var l="|";n instanceof Array&&(l="_"),r=e+l+r}t(r,n[o])}}var i={},s=this;return t("",e),i},_iterate:function(e,t){var i=this;s(e).children().each(function(){var e=this,n=s(e).attr("id");if(s(e).hasClass("section-row")){var a=i.app.input_list[n];t[n]=a&&{input:a}||{},i._iterate(e,t[n])}else i._iterate(e,t)})}})),r=function(e,t){"boolean"==e.test_param.type&&(t="true"==t?e.test_param.truevalue||"true":e.test_param.falsevalue||"false");for(var i in e.cases)if(e.cases[i].value==t)return i;return-1},l=function e(t,i,a,o){o=s.extend(!0,{},o),n.each(t,function(e){e&&e.type&&e.name&&(o[e.name]=e)});for(var l in t){var d=t[l];d.name=d.name||l;var c=a?a+"|"+d.name:d.name;switch(d.type){case"repeat":n.each(d.cache,function(t,s){e(t,i,c+"_"+s,o)});break;case"conditional":if(d.test_param){i(d.test_param,c+"|"+d.test_param.name,o);var h=r(d,d.test_param.value);-1!=h?e(d.cases[h].inputs,i,c,o):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":e(d.inputs,i,c,o);break;default:i(d,c,o)}}};t.default={Manager:o,visitInputs:l}}).call(t,i(1),i(0),i(2))},46:function(e,t,i){"use strict";(function(e,s){Object.defineProperty(t,"__esModule",{value:!0});var n=i(3),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({id:a.default.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null,onchange:function(){}}).set(t),this.setElement(this._template()),this.$el.attr("id",this.model.id),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var n=[];this.$text.on("change",function(){i.value(s(this).val())}).on("keyup",function(e){n[e.which]=!1}).on("keydown",function(e){var t=e.which;n[t]=!0,i.model.get("is_workflow")&&n[16]&&52==t?(i.value("$"),event.preventDefault()):8==t||9==t||13==t||37==t||39==t||t>=48&&t<=57&&!n[16]||t>=96&&t<=105||(190==t||110==t)&&-1==s(this).val().indexOf(".")&&i.model.get("precise")||(189==t||109==t)&&-1==s(this).val().indexOf("-")||i._isParameter(s(this).val())||n[91]||n[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var r=o.step;r||(r=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:r}).on("slide",function(e,t){i.value(t.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var e=this.model.get("value");this.has_slider&&this.$slider.slider("value",e),e!==this.$text.val()&&this.$text.val(e)},value:function(e){var t=this.model.attributes;return void 0!==e&&(null===e||""===e||this._isParameter(e)||(isNaN(e)&&(e=0),!t.precise&&(e=Math.round(e)),null!==t.max&&(e=Math.min(e,t.max)),null!==t.min&&(e=Math.max(e,t.min))),this.model.set("value",e),this.model.trigger("change"),t.onchange(e)),this.model.get("value")},_isParameter:function(e){return this.model.get("is_workflow")&&"$"===String(e).substring(0,1)},_template:function(){return'
'}});t.default={View:o}}).call(t,i(1),i(0))},47:function(e,t,i){"use strict";(function(e,s){function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=n(a),r=i(23),l=n(r),d=l.default.BaseIcons.extend({initialize:function(e){e.type=e.display||"checkbox",e.multiple="checkbox"==e.type,l.default.BaseIcons.prototype.initialize.call(this,e)},_setValue:function(t){if(l.default.BaseIcons.prototype._setValue.call(this,t),void 0!==t&&null!==t&&this.header_index){var i=this,n=e.isArray(t)?t:[t];s.each(n,function(e){var t=i.header_index[e];s.each(t,function(e){i._setState(e,!0)})})}},_setState:function(e,t){var i=this.$(".button-"+e),s=this.$(".subgroup-"+e);i.data("is_expanded",t),t?(s.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(s.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function t(e,t){var i=e.find(".button-"+t);i.on("click",function(){s._setState(t,!i.data("is_expanded"))})}function i(n,a,r){r=r||[];for(var l in a){var d=a[l],c=d.options&&d.options.length>0,h=r.slice(0);s.header_index[d.value]=h.slice(0);var u=e("");if(c){var p=o.default.uid(),_=e("").addClass("button-"+p).addClass("ui-drilldown-button fa fa-plus-square"),f=e("").addClass("subgroup-"+p).addClass("ui-drilldown-subgroup");u.append(e("").append(_).append(s._templateOption({label:d.name,value:d.value}))),h.push(p),i(f,d.options,h),u.append(f),t(u,p)}else u.append(s._templateOption({label:d.name,value:d.value}));n.append(u)}}var s=this;this.header_index={};var n=e("");return i(n,this.model.get("data")),n},_template:function(){return e("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});t.default={View:d}}).call(t,i(0),i(2))},48:function(e,t,i){"use strict";(function(e,s,n,a){function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=i(3),l=o(r),d=i(4),c=(o(d),i(11)),h=o(c),u=i(49),p=o(u),_=i(50),f=o(_),g=i(51),m=o(g),v=e.View.extend({initialize:function(e,t){this.app=e,this.inputs=t.inputs,this.parameters=new m.default,this.setElement(s("")),this.render()},render:function(){var e=this;this.$el.empty(),n.each(this.inputs,function(t){e.add(t)})},add:function(e){var t=a.extend(!0,{},e);switch(t.id=e.id=l.default.uid(),this.app.input_list[t.id]=t,t.type){case"conditional":this._addConditional(t);break;case"repeat":this._addRepeat(t);break;case"section":this._addSection(t);break;default:this._addRow(t)}},_addConditional:function(e){var t=this;e.test_param.id=e.id,this.app.model.get("sustain_conditionals")&&(e.test_param.disabled=!0);var i=this._addRow(e.test_param);i.model&&i.model.set("onchange",function(i){var s=t.app.data.matchCase(e,i);for(var n in e.cases){var a=e.cases[n],o=t.$("#"+e.id+"-section-"+n),r=!1;for(var l in a.inputs)if(!a.inputs[l].hidden){r=!0;break}n==s&&r?o.fadeIn("fast"):o.hide()}t.app.trigger("change")});for(var s in e.cases){var n=new v(this.app,{inputs:e.cases[s].inputs});this._append(n.$el.addClass("ui-form-section"),e.id+"-section-"+s)}i.trigger("change")},_addRepeat:function(e){function t(t){var n=e.id+"-section-"+s++,o=new v(i.app,{inputs:t});a.add({id:n,$el:o.$el,ondel:function(){a.del(n),i.app.trigger("change")}})}for(var i=this,s=0,a=new p.default.View({title:e.title||"Repeat",min:e.min,max:e.max,onnew:function(){t(e.inputs),i.app.trigger("change")}}),o=n.size(e.cache),r=0;r").addClass("ui-form-info").html(e.help)),this.app.on("expand",function(e){t.$("#"+e).length>0&&t.expand()}),this._append(t.$el,e.id)},_addRow:function(e){var t=this,i=e.id;e.onchange=e.onchange||function(){t.app.trigger("change",i)};var s=this.parameters.create(e);this.app.field_list[i]=s;var n=new f.default(this.app,{name:e.name,label:e.hide_label?"":e.label||e.name,value:e.value,text_value:e.text_value,collapsible_value:e.collapsible_value,collapsible_preview:e.collapsible_preview,help:e.help,argument:e.argument,disabled:e.disabled,color:e.color,style:e.style,backdrop:e.backdrop,hidden:e.hidden,fixed:e.fixed,field:s});return this.app.element_list[i]=n,this._append(n.$el,e.id),s},_append:function(e,t){this.$el.append(e.addClass("section-row").attr("id",t))}});t.default={View:v}}).call(t,i(1),i(0),i(2),i(0))},49:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(11),d=a(l),c=i(4),h=a(c),u=e.View.extend({initialize:function(e){this.list={},this.options=r.default.merge(e,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new h.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){e.onnew&&e.onnew()}}),this.setElement(s("").append(this.$list=s("")).append(s("").append(this.button_new.$el)))},size:function(){return n.size(this.list)},add:function(e){if(!e.id||this.list[e.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var t=new h.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){e.ondel&&e.ondel()}}),i=new d.default.View({id:e.id,title:"placeholder",cls:e.cls||"ui-portlet-repeat",operations:{button_delete:t}});i.append(e.$el),i.$el.addClass("section-row").hide(),this.list[e.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(e){if(!this.list[e])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+e).remove(),delete this.list[e],this.button_new.enable(),this._refresh()},delAll:function(){for(var e in this.list)this.del(e)},hideOptions:function(){this.button_new.$el.hide(),n.each(this.list,function(e){e.hideOperation("button_delete")}),n.isEmpty(this.list)&&this.$el.append(s("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var e=0;for(var t in this.list){var i=this.list[t];i.title(++e+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});t.default={View:u}}).call(t,i(1),i(0),i(2))},50:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0}),t.default=e.View.extend({initialize:function(t,i){this.app=t,this.app_options=t.model?t.model.attributes:{},this.field=i&&i.field||new e.View,this.model=i&&i.model||new e.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var s=this.model.get("collapsible_value");this.field.collapsed=void 0!==s&&JSON.stringify(this.model.get("value"))==JSON.stringify(s),this.listenTo(this.model,"change",this.render,this),this.render();var n=this;this.$collapsible.on("click",function(){n.field.collapsed=!n.field.collapsed,t.trigger&&t.trigger("change"),n.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){n.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(e){this.model.set("error_text",e)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var e=this.model.get("help",""),t=this.model.get("argument");t&&-1==e.indexOf("("+t+")")&&(e+=" ("+t+")"),this.$info.html(e),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(s.escape(this.model.get("text_value")));var n=this.model.get("error_text");if(this.$error[n?"show":"hide"](),this.$el[n?"addClass":"removeClass"]("ui-error"),this.$error_text.html(n),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var a=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+a)).attr("data-original-title",this.model.get("text_"+a)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(t,i(1),i(0),i(2))},51:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(52),h=a(c),u=i(53),p=a(u),_=i(54),f=a(_),g=i(55),m=a(g),v=i(57),b=a(v);t.default=e.Model.extend({types:{text:"_fieldText",password:"_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",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(e){var t=this.types[e.type],i="function"==typeof this[t]?this[t].call(this,e):null;return i||(i=e.options?this._fieldSelect(e):this._fieldText(e),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+e.type+").")),void 0===e.value&&(e.value=null),i.value(e.value),i},_fieldData:function(e){return new h.default.View({id:"field-"+e.id,extensions:e.extensions,optional:e.optional,multiple:e.multiple,type:e.type,flavor:e.flavor,data:e.options,onchange:e.onchange})},_fieldSelect:function(e){if(e.is_workflow)return this._fieldText(e);"data_column"==e.type&&(e.error_text="Missing columns in referenced dataset.");var t=e.data;t||(t=[],s.each(e.options,function(e){t.push({label:e[0],value:e[1]})}));var i=d.default.Select;switch(e.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+e.id,data:t,error_text:e.error_text||"No options available",readonly:e.readonly,multiple:e.multiple,optional:e.optional,onchange:e.onchange,individual:e.individual,searchable:"workflow"!==e.flavor})},_fieldDrilldown:function(e){return e.is_workflow?this._fieldText(e):new d.default.Drilldown.View({id:"field-"+e.id,data:e.options,display:e.display,optional:e.optional,onchange:e.onchange})},_fieldText:function(e){if(e.options&&e.data)if(e.area=e.multiple,r.default.isEmpty(e.value))e.value=null;else if(n.isArray(e.value)){var t="";for(var i in e.value){if(t+=String(e.value[i]),!e.multiple)break;t+="\n"}e.value=t}return new d.default.Input({id:"field-"+e.id,type:e.type,area:e.area,readonly:e.readonly,placeholder:e.placeholder,datalist:e.datalist,onchange:e.onchange})},_fieldSlider:function(e){return new d.default.Slider.View({id:"field-"+e.id,precise:"float"==e.type,is_workflow:e.is_workflow,min:e.min,max:e.max,onchange:e.onchange})},_fieldHidden:function(e){return new d.default.Hidden({id:"field-"+e.id,info:e.info})},_fieldBoolean:function(e){return new d.default.RadioButton.View({id:"field-"+e.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:e.onchange})},_fieldColor:function(e){return new b.default({id:"field-"+e.id,onchange:e.onchange})},_fieldLibrary:function(e){return new p.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldFtp:function(e){return new f.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldGenomeSpace:function(e){var t=this;return new m.default.View({id:"field-"+e.id,onchange:function(){t.app.trigger("change")}})},_fieldUpload:function(e){return new d.default.Upload({id:"field-"+e.id,onchange:e.onchange})}})}).call(t,i(1),i(2),i(0))},52:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(22),h=a(c),u={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},p={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:u.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:u.ENABLED}]},_=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(t),this.setElement(s("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var n=s("").addClass("ui-form-info").append(s("").addClass("fa fa-sitemap")).append(s("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:n.clone(),enabled:n.clone().append(s("").append(s("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(s("").css("clear","both"))},this.$el.on("dragenter",function(e){this.lastenter=e.target,i.$el.addClass("ui-dragover")}).on("dragover",function(e){e.preventDefault()}).on("dragleave",function(e){this.lastenter===e.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(e){i._handleDrop(e)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){t.onchange&&t.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(e){this.model.set("data",e)},value:function(e){void 0!==e&&this.model.set("value",e);var t=this.model.get("current");if(this.config[t]){var i=this.fields[t].value();if(null!==i&&(i=s.isArray(i)?i:[i],i.length>0)){var n=this._batch({values:[]});for(var a in i){var o=this.history[i[a]+"_"+this.config[t].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[a]+"'."),null;n.values.push(o)}return n.values.sort(function(e,t){return e.hid-t.hid}),n}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+e+"'.");return null},_changeCurrent:function(){var e=this;n.each(this.fields,function(t,i){e.model.get("current")==i?(t.$el.show(),n.each(e.$batch,function(t,s){t[e.config[i].batch==s?"show":"hide"]()}),e.button_type.value(i)):t.$el.hide()})},_changeType:function(){var e=this,t=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");p[t]?this.config=p[t]:(this.config=p.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+t+"'."));var i=e.model.get("data"),s=r.default.textify(this.model.get("extensions")),a=this.model.get("src_labels");this.fields=[],this.button_data=[],n.each(this.config,function(t,n){e.button_data.push({value:n,icon:t.icon,tooltip:t.tooltip}),e.fields.push(new h.default.View({optional:e.model.get("optional"),multiple:t.multiple,searchable:!t.multiple||i&&i[t.src]&&i[t.src].length>e.model.get("pagelimit"),individual:!0,error_text:"No "+(s?s+" ":"")+(a[t.src]||"content")+" available.",onchange:function(){e.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(t){e.model.set("current",t),e.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),n.each(this.fields,function(t){e.$el.append(t.$el.css({"margin-left":o}))}),n.each(this.$batch,function(t,i){e.$el.append(t.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var e=this;n.each(this.fields,function(t){t[e.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var e=this.model.get("data"),t=this,i={};n.each(e,function(e,s){i[s]=[],n.each(e,function(e){i[s].push({hid:e.hid,keep:e.keep,label:e.hid+": "+e.name,value:e.id,tags:e.tags}),t.history[e.id+"_"+s]=e})}),n.each(this.config,function(e,s){i[e.src]&&t.fields[s].add(i[e.src],function(e,t){return t.hid-e.hid})})},_changeValue:function(){var e=this.model.get("value");if(e&&e.values&&e.values.length>0){var t=[];n.each(e.values,function(e){t.push(e.id)});for(var i=e.values[0].src,s=e.values.length>1,a=0;a
"}});t.default={View:o}}).call(t,i(1),i(0))},44:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0});var n=t.Manager=e.Model.extend({initialize:function(e){this.app=e},checksum:function(){var e="",t=this;return this.app.section.$el.find(".section-row").each(function(){var s=i(this).attr("id"),n=t.app.field_list[s];n&&(e+=s+":"+JSON.stringify(n.value&&n.value())+":"+n.collapsed+";")}),e},create:function(){function e(e,t,s){i.flat_dict[e]=t,n[e]=s,i.app.element_list[t]&&i.app.element_list[t].$el.attr("tour_id",e)}function t(s,n){for(var o in n){var r=n[o];if(r.input){var l=r.input,d=s;switch(""!==s&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],h=null;for(var u in r){var p=u.indexOf("section-");-1!=p&&(p+="section-".length,c.push(parseInt(u.substr(p))),h||(h=u.substr(0,p)))}c.sort(function(e,t){return e-t}),o=0;for(var _ in c)t(d+"_"+o++,r[h+c[_]]);break;case"conditional":var f=i.app.field_list[l.id].value();e(d+"|"+l.test_param.name,l.id,f);var g=a(l,f);-1!=g&&t(d,n[l.id+"-section-"+g]);break;case"section":t(!l.flat&&d||"",r);break;default:var m=i.app.field_list[l.id];if(m&&m.value&&(f=m.value(),(void 0===l.ignore||l.ignore!=f)&&(m.collapsed&&l.collapsible_value&&(f=l.collapsible_value),e(d,l.id,f),l.payload)))for(var v in l.payload)e(v,l.id,l.payload[v])}}}}var i=this,s={};this._iterate(this.app.section.$el,s);var n={};return this.flat_dict={},t("",s),n},match:function(e){return this.flat_dict&&this.flat_dict[e]},matchCase:function(e,t){return a(e,t)},matchModel:function(e,t){var i=this;o(e.inputs,function(e,s){i.flat_dict[s]&&t(e,i.flat_dict[s])})},matchResponse:function(e){function t(e,n){if("string"==typeof n){var a=s.flat_dict[e];a&&(i[a]=n)}else for(var o in n){var r=o;if(""!==e){var l="|";n instanceof Array&&(l="_"),r=e+l+r}t(r,n[o])}}var i={},s=this;return t("",e),i},_iterate:function(e,t){var s=this;i(e).children().each(function(){var e=this,n=i(e).attr("id");if(i(e).hasClass("section-row")){var a=s.app.input_list[n];t[n]=a&&{input:a}||{},s._iterate(e,t[n])}else s._iterate(e,t)})}}),a=function(e,t){"boolean"==e.test_param.type&&(t="true"==t?e.test_param.truevalue||"true":e.test_param.falsevalue||"false");for(var i in e.cases)if(e.cases[i].value==t)return i;return-1};t.matchCase=a;var o=t.visitInputs=function e(t,n,o,r){r=i.extend(!0,{},r),s.each(t,function(e){e&&e.type&&e.name&&(r[e.name]=e)});for(var l in t){var d=t[l];d.name=d.name||l;var c=o?o+"|"+d.name:d.name;switch(d.type){case"repeat":s.each(d.cache,function(t,i){e(t,n,c+"_"+i,r)});break;case"conditional":if(d.test_param){n(d.test_param,c+"|"+d.test_param.name,r);var h=a(d,d.test_param.value);-1!=h?e(d.cases[h].inputs,n,c,r):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":e(d.inputs,n,c,r);break;default:n(d,c,r)}}};t.default={Manager:n,visitInputs:o}}).call(t,i(1),i(0),i(2))},46:function(e,t,i){"use strict";(function(e,s){Object.defineProperty(t,"__esModule",{value:!0});var n=i(3),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({id:a.default.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null,onchange:function(){}}).set(t),this.setElement(this._template()),this.$el.attr("id",this.model.id),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var n=[];this.$text.on("change",function(){i.value(s(this).val())}).on("keyup",function(e){n[e.which]=!1}).on("keydown",function(e){var t=e.which;n[t]=!0,i.model.get("is_workflow")&&n[16]&&52==t?(i.value("$"),event.preventDefault()):8==t||9==t||13==t||37==t||39==t||t>=48&&t<=57&&!n[16]||t>=96&&t<=105||(190==t||110==t)&&-1==s(this).val().indexOf(".")&&i.model.get("precise")||(189==t||109==t)&&-1==s(this).val().indexOf("-")||i._isParameter(s(this).val())||n[91]||n[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var r=o.step;r||(r=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:r}).on("slide",function(e,t){i.value(t.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var e=this.model.get("value");this.has_slider&&this.$slider.slider("value",e),e!==this.$text.val()&&this.$text.val(e)},value:function(e){var t=this.model.attributes;return void 0!==e&&(null===e||""===e||this._isParameter(e)||(isNaN(e)&&(e=0),!t.precise&&(e=Math.round(e)),null!==t.max&&(e=Math.min(e,t.max)),null!==t.min&&(e=Math.max(e,t.min))),this.model.set("value",e),this.model.trigger("change"),t.onchange(e)),this.model.get("value")},_isParameter:function(e){return this.model.get("is_workflow")&&"$"===String(e).substring(0,1)},_template:function(){return'
'}});t.default={View:o}}).call(t,i(1),i(0))},47:function(e,t,i){"use strict";(function(e,s){function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=n(a),r=i(23),l=n(r),d=l.default.BaseIcons.extend({initialize:function(e){e.type=e.display||"checkbox",e.multiple="checkbox"==e.type,l.default.BaseIcons.prototype.initialize.call(this,e)},_setValue:function(t){if(l.default.BaseIcons.prototype._setValue.call(this,t),void 0!==t&&null!==t&&this.header_index){var i=this,n=e.isArray(t)?t:[t];s.each(n,function(e){var t=i.header_index[e];s.each(t,function(e){i._setState(e,!0)})})}},_setState:function(e,t){var i=this.$(".button-"+e),s=this.$(".subgroup-"+e);i.data("is_expanded",t),t?(s.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(s.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function t(e,t){var i=e.find(".button-"+t);i.on("click",function(){s._setState(t,!i.data("is_expanded"))})}function i(n,a,r){r=r||[];for(var l in a){var d=a[l],c=d.options&&d.options.length>0,h=r.slice(0);s.header_index[d.value]=h.slice(0);var u=e("");if(c){var p=o.default.uid(),_=e("").addClass("button-"+p).addClass("ui-drilldown-button fa fa-plus-square"),f=e("").addClass("subgroup-"+p).addClass("ui-drilldown-subgroup");u.append(e("").append(_).append(s._templateOption({label:d.name,value:d.value}))),h.push(p),i(f,d.options,h),u.append(f),t(u,p)}else u.append(s._templateOption({label:d.name,value:d.value}));n.append(u)}}var s=this;this.header_index={};var n=e("");return i(n,this.model.get("data")),n},_template:function(){return e("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});t.default={View:d}}).call(t,i(0),i(2))},48:function(e,t,i){"use strict";(function(e,s,n,a){function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=i(3),l=o(r),d=i(4),c=(o(d),i(11)),h=o(c),u=i(49),p=o(u),_=i(50),f=o(_),g=i(51),m=o(g),v=e.View.extend({initialize:function(e,t){this.app=e,this.inputs=t.inputs,this.parameters=new m.default,this.setElement(s("")),this.render()},render:function(){var e=this;this.$el.empty(),n.each(this.inputs,function(t){e.add(t)})},add:function(e){var t=a.extend(!0,{},e);switch(t.id=e.id=l.default.uid(),this.app.input_list[t.id]=t,t.type){case"conditional":this._addConditional(t);break;case"repeat":this._addRepeat(t);break;case"section":this._addSection(t);break;default:this._addRow(t)}},_addConditional:function(e){var t=this;e.test_param.id=e.id,this.app.model.get("sustain_conditionals")&&(e.test_param.disabled=!0);var i=this._addRow(e.test_param);i.model&&i.model.set("onchange",function(i){var s=t.app.data.matchCase(e,i);for(var n in e.cases){var a=e.cases[n],o=t.$("#"+e.id+"-section-"+n),r=!1;for(var l in a.inputs)if(!a.inputs[l].hidden){r=!0;break}n==s&&r?o.fadeIn("fast"):o.hide()}t.app.trigger("change")});for(var s in e.cases){var n=new v(this.app,{inputs:e.cases[s].inputs});this._append(n.$el.addClass("ui-form-section"),e.id+"-section-"+s)}i.trigger("change")},_addRepeat:function(e){function t(t){var n=e.id+"-section-"+s++,o=new v(i.app,{inputs:t});a.add({id:n,$el:o.$el,ondel:function(){a.del(n),i.app.trigger("change")}})}for(var i=this,s=0,a=new p.default.View({title:e.title||"Repeat",min:e.min,max:e.max,onnew:function(){t(e.inputs),i.app.trigger("change")}}),o=n.size(e.cache),r=0;r").addClass("ui-form-info").html(e.help)),this.app.on("expand",function(e){t.$("#"+e).length>0&&t.expand()}),this._append(t.$el,e.id)},_addRow:function(e){var t=this,i=e.id;e.onchange=e.onchange||function(){t.app.trigger("change",i)};var s=this.parameters.create(e);this.app.field_list[i]=s;var n=new f.default(this.app,{name:e.name,label:e.hide_label?"":e.label||e.name,value:e.value,text_value:e.text_value,collapsible_value:e.collapsible_value,collapsible_preview:e.collapsible_preview,help:e.help,argument:e.argument,disabled:e.disabled,color:e.color,style:e.style,backdrop:e.backdrop,hidden:e.hidden,fixed:e.fixed,field:s});return this.app.element_list[i]=n,this._append(n.$el,e.id),s},_append:function(e,t){this.$el.append(e.addClass("section-row").attr("id",t))}});t.default={View:v}}).call(t,i(1),i(0),i(2),i(0))},49:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.View=void 0;var o=i(3),r=a(o),l=i(11),d=a(l),c=i(4),h=a(c),u=t.View=e.View.extend({initialize:function(e){this.list={},this.options=r.default.merge(e,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new h.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){e.onnew&&e.onnew()}}),this.setElement(s("").append(this.$list=s("")).append(s("").append(this.button_new.$el)))},size:function(){return n.size(this.list)},add:function(e){if(!e.id||this.list[e.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var t=new h.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){e.ondel&&e.ondel()}}),i=new d.default.View({id:e.id,title:"placeholder",cls:e.cls||"ui-portlet-repeat",operations:{button_delete:t}});i.append(e.$el),i.$el.addClass("section-row").hide(),this.list[e.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(e){if(!this.list[e])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+e).remove(),delete this.list[e],this.button_new.enable(),this._refresh()},delAll:function(){for(var e in this.list)this.del(e)},hideOptions:function(){this.button_new.$el.hide(),n.each(this.list,function(e){e.hideOperation("button_delete")}),n.isEmpty(this.list)&&this.$el.append(s("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var e=0;for(var t in this.list){var i=this.list[t];i.title(++e+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});t.default={View:u}}).call(t,i(1),i(0),i(2))},50:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0}),t.default=e.View.extend({initialize:function(t,i){this.app=t,this.app_options=t.model?t.model.attributes:{},this.field=i&&i.field||new e.View,this.model=i&&i.model||new e.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var s=this.model.get("collapsible_value");this.field.collapsed=void 0!==s&&JSON.stringify(this.model.get("value"))==JSON.stringify(s),this.listenTo(this.model,"change",this.render,this),this.render();var n=this;this.$collapsible.on("click",function(){n.field.collapsed=!n.field.collapsed,t.trigger&&t.trigger("change"),n.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){n.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(e){this.model.set("error_text",e)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var e=this.model.get("help",""),t=this.model.get("argument");t&&-1==e.indexOf("("+t+")")&&(e+=" ("+t+")"),this.$info.html(e),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(s.escape(this.model.get("text_value")));var n=this.model.get("error_text");if(this.$error[n?"show":"hide"](),this.$el[n?"addClass":"removeClass"]("ui-error"),this.$error_text.html(n),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var a=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+a)).attr("data-original-title",this.model.get("text_"+a)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(t,i(1),i(0),i(2))},51:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(52),h=a(c),u=i(53),p=a(u),_=i(54),f=a(_),g=i(55),m=a(g),v=i(57),b=a(v);t.default=e.Model.extend({types:{text:"_fieldText",password:"_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",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(e){var t=this.types[e.type],i="function"==typeof this[t]?this[t].call(this,e):null;return i||(i=e.options?this._fieldSelect(e):this._fieldText(e),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+e.type+").")),void 0===e.value&&(e.value=null),i.value(e.value),i},_fieldData:function(e){return new h.default.View({id:"field-"+e.id,extensions:e.extensions,optional:e.optional,multiple:e.multiple,type:e.type,flavor:e.flavor,data:e.options,onchange:e.onchange})},_fieldSelect:function(e){if(e.is_workflow)return this._fieldText(e);"data_column"==e.type&&(e.error_text="Missing columns in referenced dataset.");var t=e.data;t||(t=[],s.each(e.options,function(e){t.push({label:e[0],value:e[1]})}));var i=d.default.Select;switch(e.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+e.id,data:t,error_text:e.error_text||"No options available",readonly:e.readonly,multiple:e.multiple,optional:e.optional,onchange:e.onchange,individual:e.individual,searchable:"workflow"!==e.flavor})},_fieldDrilldown:function(e){return e.is_workflow?this._fieldText(e):new d.default.Drilldown.View({id:"field-"+e.id,data:e.options,display:e.display,optional:e.optional,onchange:e.onchange})},_fieldText:function(e){if(e.options&&e.data)if(e.area=e.multiple,r.default.isEmpty(e.value))e.value=null;else if(n.isArray(e.value)){var t="";for(var i in e.value){if(t+=String(e.value[i]),!e.multiple)break;t+="\n"}e.value=t}return new d.default.Input({id:"field-"+e.id,type:e.type,area:e.area,readonly:e.readonly,placeholder:e.placeholder,datalist:e.datalist,onchange:e.onchange})},_fieldSlider:function(e){return new d.default.Slider.View({id:"field-"+e.id,precise:"float"==e.type,is_workflow:e.is_workflow,min:e.min,max:e.max,onchange:e.onchange})},_fieldHidden:function(e){return new d.default.Hidden({id:"field-"+e.id,info:e.info})},_fieldBoolean:function(e){return new d.default.RadioButton.View({id:"field-"+e.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:e.onchange})},_fieldColor:function(e){return new b.default({id:"field-"+e.id,onchange:e.onchange})},_fieldLibrary:function(e){return new p.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldFtp:function(e){return new f.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldGenomeSpace:function(e){var t=this;return new m.default.View({id:"field-"+e.id,onchange:function(){t.app.trigger("change")}})},_fieldUpload:function(e){return new d.default.Upload({id:"field-"+e.id,onchange:e.onchange})}})}).call(t,i(1),i(2),i(0))},52:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(22),h=a(c),u={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},p={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:u.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:u.ENABLED}]},_=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(t),this.setElement(s("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var n=s("").addClass("ui-form-info").append(s("").addClass("fa fa-sitemap")).append(s("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:n.clone(),enabled:n.clone().append(s("").append(s("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(s("").css("clear","both"))},this.$el.on("dragenter",function(e){this.lastenter=e.target,i.$el.addClass("ui-dragover")}).on("dragover",function(e){e.preventDefault()}).on("dragleave",function(e){this.lastenter===e.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(e){i._handleDrop(e)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){t.onchange&&t.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(e){this.model.set("data",e)},value:function(e){void 0!==e&&this.model.set("value",e);var t=this.model.get("current");if(this.config[t]){var i=this.fields[t].value();if(null!==i&&(i=s.isArray(i)?i:[i],i.length>0)){var n=this._batch({values:[]});for(var a in i){var o=this.history[i[a]+"_"+this.config[t].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[a]+"'."),null;n.values.push(o)}return n.values.sort(function(e,t){return e.hid-t.hid}),n}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+e+"'.");return null},_changeCurrent:function(){var e=this;n.each(this.fields,function(t,i){e.model.get("current")==i?(t.$el.show(),n.each(e.$batch,function(t,s){t[e.config[i].batch==s?"show":"hide"]()}),e.button_type.value(i)):t.$el.hide()})},_changeType:function(){var e=this,t=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");p[t]?this.config=p[t]:(this.config=p.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+t+"'."));var i=e.model.get("data"),s=r.default.textify(this.model.get("extensions")),a=this.model.get("src_labels");this.fields=[],this.button_data=[],n.each(this.config,function(t,n){e.button_data.push({value:n,icon:t.icon,tooltip:t.tooltip}),e.fields.push(new h.default.View({optional:e.model.get("optional"),multiple:t.multiple,searchable:!t.multiple||i&&i[t.src]&&i[t.src].length>e.model.get("pagelimit"),individual:!0,error_text:"No "+(s?s+" ":"")+(a[t.src]||"content")+" available.",onchange:function(){e.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(t){e.model.set("current",t),e.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),n.each(this.fields,function(t){e.$el.append(t.$el.css({"margin-left":o}))}),n.each(this.$batch,function(t,i){e.$el.append(t.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var e=this;n.each(this.fields,function(t){t[e.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var e=this.model.get("data"),t=this,i={};n.each(e,function(e,s){i[s]=[],n.each(e,function(e){i[s].push({hid:e.hid,keep:e.keep,label:e.hid+": "+e.name,value:e.id,tags:e.tags}),t.history[e.id+"_"+s]=e})}),n.each(this.config,function(e,s){i[e.src]&&t.fields[s].add(i[e.src],function(e,t){return t.hid-e.hid})})},_changeValue:function(){var e=this.model.get("value");if(e&&e.values&&e.values.length>0){var t=[];n.each(e.values,function(e){t.push(e.id)});for(var i=e.values[0].src,s=e.values.length>1,a=0;a
"}});t.default={View:o}}).call(t,i(1),i(0))},44:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0});var n=t.Manager=e.Model.extend({initialize:function(e){this.app=e},checksum:function(){var e="",t=this;return this.app.section.$el.find(".section-row").each(function(){var s=i(this).attr("id"),n=t.app.field_list[s];n&&(e+=s+":"+JSON.stringify(n.value&&n.value())+":"+n.collapsed+";")}),e},create:function(){function e(e,t,s){i.flat_dict[e]=t,n[e]=s,i.app.element_list[t]&&i.app.element_list[t].$el.attr("tour_id",e)}function t(s,n){for(var o in n){var r=n[o];if(r.input){var l=r.input,d=s;switch(""!==s&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],h=null;for(var u in r){var p=u.indexOf("section-");-1!=p&&(p+="section-".length,c.push(parseInt(u.substr(p))),h||(h=u.substr(0,p)))}c.sort(function(e,t){return e-t}),o=0;for(var _ in c)t(d+"_"+o++,r[h+c[_]]);break;case"conditional":var f=i.app.field_list[l.id].value();e(d+"|"+l.test_param.name,l.id,f);var g=a(l,f);-1!=g&&t(d,n[l.id+"-section-"+g]);break;case"section":t(!l.flat&&d||"",r);break;default:var m=i.app.field_list[l.id];if(m&&m.value&&(f=m.value(),(void 0===l.ignore||l.ignore!=f)&&(m.collapsed&&l.collapsible_value&&(f=l.collapsible_value),e(d,l.id,f),l.payload)))for(var v in l.payload)e(v,l.id,l.payload[v])}}}}var i=this,s={};this._iterate(this.app.section.$el,s);var n={};return this.flat_dict={},t("",s),n},match:function(e){return this.flat_dict&&this.flat_dict[e]},matchCase:function(e,t){return a(e,t)},matchModel:function(e,t){var i=this;o(e.inputs,function(e,s){i.flat_dict[s]&&t(e,i.flat_dict[s])})},matchResponse:function(e){function t(e,n){if("string"==typeof n){var a=s.flat_dict[e];a&&(i[a]=n)}else for(var o in n){var r=o;if(""!==e){var l="|";n instanceof Array&&(l="_"),r=e+l+r}t(r,n[o])}}var i={},s=this;return t("",e),i},_iterate:function(e,t){var s=this;i(e).children().each(function(){var e=this,n=i(e).attr("id");if(i(e).hasClass("section-row")){var a=s.app.input_list[n];t[n]=a&&{input:a}||{},s._iterate(e,t[n])}else s._iterate(e,t)})}}),a=function(e,t){"boolean"==e.test_param.type&&(t="true"==t?e.test_param.truevalue||"true":e.test_param.falsevalue||"false");for(var i in e.cases)if(e.cases[i].value==t)return i;return-1};t.matchCase=a;var o=t.visitInputs=function e(t,n,o,r){r=i.extend(!0,{},r),s.each(t,function(e){e&&e.type&&e.name&&(r[e.name]=e)});for(var l in t){var d=t[l];d.name=d.name||l;var c=o?o+"|"+d.name:d.name;switch(d.type){case"repeat":s.each(d.cache,function(t,i){e(t,n,c+"_"+i,r)});break;case"conditional":if(d.test_param){n(d.test_param,c+"|"+d.test_param.name,r);var h=a(d,d.test_param.value);-1!=h?e(d.cases[h].inputs,n,c,r):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":e(d.inputs,n,c,r);break;default:n(d,c,r)}}};t.default={Manager:n,visitInputs:o}}).call(t,i(1),i(0),i(2))},46:function(e,t,i){"use strict";(function(e,s){Object.defineProperty(t,"__esModule",{value:!0});var n=i(3),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({id:a.default.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null,onchange:function(){}}).set(t),this.setElement(this._template()),this.$el.attr("id",this.model.id),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var n=[];this.$text.on("change",function(){i.value(s(this).val())}).on("keyup",function(e){n[e.which]=!1}).on("keydown",function(e){var t=e.which;n[t]=!0,i.model.get("is_workflow")&&n[16]&&52==t?(i.value("$"),event.preventDefault()):8==t||9==t||13==t||37==t||39==t||t>=48&&t<=57&&!n[16]||t>=96&&t<=105||(190==t||110==t)&&-1==s(this).val().indexOf(".")&&i.model.get("precise")||(189==t||109==t)&&-1==s(this).val().indexOf("-")||i._isParameter(s(this).val())||n[91]||n[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var r=o.step;r||(r=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:r}).on("slide",function(e,t){i.value(t.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var e=this.model.get("value");this.has_slider&&this.$slider.slider("value",e),e!==this.$text.val()&&this.$text.val(e)},value:function(e){var t=this.model.attributes;return void 0!==e&&(null===e||""===e||this._isParameter(e)||(isNaN(e)&&(e=0),!t.precise&&(e=Math.round(e)),null!==t.max&&(e=Math.min(e,t.max)),null!==t.min&&(e=Math.max(e,t.min))),this.model.set("value",e),this.model.trigger("change"),t.onchange(e)),this.model.get("value")},_isParameter:function(e){return this.model.get("is_workflow")&&"$"===String(e).substring(0,1)},_template:function(){return'
'}});t.default={View:o}}).call(t,i(1),i(0))},47:function(e,t,i){"use strict";(function(e,s){function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=n(a),r=i(23),l=n(r),d=l.default.BaseIcons.extend({initialize:function(e){e.type=e.display||"checkbox",e.multiple="checkbox"==e.type,l.default.BaseIcons.prototype.initialize.call(this,e)},_setValue:function(t){if(l.default.BaseIcons.prototype._setValue.call(this,t),void 0!==t&&null!==t&&this.header_index){var i=this,n=e.isArray(t)?t:[t];s.each(n,function(e){var t=i.header_index[e];s.each(t,function(e){i._setState(e,!0)})})}},_setState:function(e,t){var i=this.$(".button-"+e),s=this.$(".subgroup-"+e);i.data("is_expanded",t),t?(s.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(s.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function t(e,t){var i=e.find(".button-"+t);i.on("click",function(){s._setState(t,!i.data("is_expanded"))})}function i(n,a,r){r=r||[];for(var l in a){var d=a[l],c=d.options&&d.options.length>0,h=r.slice(0);s.header_index[d.value]=h.slice(0);var u=e("");if(c){var p=o.default.uid(),_=e("").addClass("button-"+p).addClass("ui-drilldown-button fa fa-plus-square"),f=e("").addClass("subgroup-"+p).addClass("ui-drilldown-subgroup");u.append(e("").append(_).append(s._templateOption({label:d.name,value:d.value}))),h.push(p),i(f,d.options,h),u.append(f),t(u,p)}else u.append(s._templateOption({label:d.name,value:d.value}));n.append(u)}}var s=this;this.header_index={};var n=e("");return i(n,this.model.get("data")),n},_template:function(){return e("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});t.default={View:d}}).call(t,i(0),i(2))},48:function(e,t,i){"use strict";(function(e,s,n,a){function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=i(3),l=o(r),d=i(4),c=(o(d),i(11)),h=o(c),u=i(49),p=o(u),_=i(50),f=o(_),g=i(51),m=o(g),v=e.View.extend({initialize:function(e,t){this.app=e,this.inputs=t.inputs,this.parameters=new m.default,this.setElement(s("")),this.render()},render:function(){var e=this;this.$el.empty(),n.each(this.inputs,function(t){e.add(t)})},add:function(e){var t=a.extend(!0,{},e);switch(t.id=e.id=l.default.uid(),this.app.input_list[t.id]=t,t.type){case"conditional":this._addConditional(t);break;case"repeat":this._addRepeat(t);break;case"section":this._addSection(t);break;default:this._addRow(t)}},_addConditional:function(e){var t=this;e.test_param.id=e.id,this.app.model.get("sustain_conditionals")&&(e.test_param.disabled=!0);var i=this._addRow(e.test_param);i.model&&i.model.set("onchange",function(i){var s=t.app.data.matchCase(e,i);for(var n in e.cases){var a=e.cases[n],o=t.$("#"+e.id+"-section-"+n),r=!1;for(var l in a.inputs)if(!a.inputs[l].hidden){r=!0;break}n==s&&r?o.fadeIn("fast"):o.hide()}t.app.trigger("change")});for(var s in e.cases){var n=new v(this.app,{inputs:e.cases[s].inputs});this._append(n.$el.addClass("ui-form-section"),e.id+"-section-"+s)}i.trigger("change")},_addRepeat:function(e){function t(t){var n=e.id+"-section-"+s++,o=new v(i.app,{inputs:t});a.add({id:n,$el:o.$el,ondel:function(){a.del(n),i.app.trigger("change")}})}for(var i=this,s=0,a=new p.default.View({title:e.title||"Repeat",min:e.min,max:e.max,onnew:function(){t(e.inputs),i.app.trigger("change")}}),o=n.size(e.cache),r=0;r").addClass("ui-form-info").html(e.help)),this.app.on("expand",function(e){t.$("#"+e).length>0&&t.expand()}),this._append(t.$el,e.id)},_addRow:function(e){var t=this,i=e.id;e.onchange=e.onchange||function(){t.app.trigger("change",i)};var s=this.parameters.create(e);this.app.field_list[i]=s;var n=new f.default(this.app,{name:e.name,label:e.hide_label?"":e.label||e.name,value:e.value,text_value:e.text_value,collapsible_value:e.collapsible_value,collapsible_preview:e.collapsible_preview,help:e.help,argument:e.argument,disabled:e.disabled,color:e.color,style:e.style,backdrop:e.backdrop,hidden:e.hidden,fixed:e.fixed,field:s});return this.app.element_list[i]=n,this._append(n.$el,e.id),s},_append:function(e,t){this.$el.append(e.addClass("section-row").attr("id",t))}});t.default={View:v}}).call(t,i(1),i(0),i(2),i(0))},49:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.View=void 0;var o=i(3),r=a(o),l=i(11),d=a(l),c=i(4),h=a(c),u=t.View=e.View.extend({initialize:function(e){this.list={},this.options=r.default.merge(e,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new h.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){e.onnew&&e.onnew()}}),this.setElement(s("").append(this.$list=s("")).append(s("").append(this.button_new.$el)))},size:function(){return n.size(this.list)},add:function(e){if(!e.id||this.list[e.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var t=new h.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){e.ondel&&e.ondel()}}),i=new d.default.View({id:e.id,title:"placeholder",cls:e.cls||"ui-portlet-repeat",operations:{button_delete:t}});i.append(e.$el),i.$el.addClass("section-row").hide(),this.list[e.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(e){if(!this.list[e])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+e).remove(),delete this.list[e],this.button_new.enable(),this._refresh()},delAll:function(){for(var e in this.list)this.del(e)},hideOptions:function(){this.button_new.$el.hide(),n.each(this.list,function(e){e.hideOperation("button_delete")}),n.isEmpty(this.list)&&this.$el.append(s("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var e=0;for(var t in this.list){var i=this.list[t];i.title(++e+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});t.default={View:u}}).call(t,i(1),i(0),i(2))},50:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0}),t.default=e.View.extend({initialize:function(t,i){this.app=t,this.app_options=t.model?t.model.attributes:{},this.field=i&&i.field||new e.View,this.model=i&&i.model||new e.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var s=this.model.get("collapsible_value");this.field.collapsed=void 0!==s&&JSON.stringify(this.model.get("value"))==JSON.stringify(s),this.listenTo(this.model,"change",this.render,this),this.render();var n=this;this.$collapsible.on("click",function(){n.field.collapsed=!n.field.collapsed,t.trigger&&t.trigger("change"),n.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){n.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(e){this.model.set("error_text",e)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var e=this.model.get("help",""),t=this.model.get("argument");t&&-1==e.indexOf("("+t+")")&&(e+=" ("+t+")"),this.$info.html(e),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(s.escape(this.model.get("text_value")));var n=this.model.get("error_text");if(this.$error[n?"show":"hide"](),this.$el[n?"addClass":"removeClass"]("ui-error"),this.$error_text.html(n),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var a=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+a)).attr("data-original-title",this.model.get("text_"+a)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(t,i(1),i(0),i(2))},51:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(52),h=a(c),u=i(53),p=a(u),_=i(54),f=a(_),g=i(55),m=a(g),v=i(57),b=a(v);t.default=e.Model.extend({types:{text:"_fieldText",password:"_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",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(e){var t=this.types[e.type],i="function"==typeof this[t]?this[t].call(this,e):null;return i||(i=e.options?this._fieldSelect(e):this._fieldText(e),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+e.type+").")),void 0===e.value&&(e.value=null),i.value(e.value),i},_fieldData:function(e){return new h.default.View({id:"field-"+e.id,extensions:e.extensions,optional:e.optional,multiple:e.multiple,type:e.type,flavor:e.flavor,data:e.options,onchange:e.onchange})},_fieldSelect:function(e){if(e.is_workflow)return this._fieldText(e);"data_column"==e.type&&(e.error_text="Missing columns in referenced dataset.");var t=e.data;t||(t=[],s.each(e.options,function(e){t.push({label:e[0],value:e[1]})}));var i=d.default.Select;switch(e.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+e.id,data:t,error_text:e.error_text||"No options available",readonly:e.readonly,multiple:e.multiple,optional:e.optional,onchange:e.onchange,individual:e.individual,searchable:"workflow"!==e.flavor})},_fieldDrilldown:function(e){return e.is_workflow?this._fieldText(e):new d.default.Drilldown.View({id:"field-"+e.id,data:e.options,display:e.display,optional:e.optional,onchange:e.onchange})},_fieldText:function(e){if(e.options&&e.data)if(e.area=e.multiple,r.default.isEmpty(e.value))e.value=null;else if(n.isArray(e.value)){var t="";for(var i in e.value){if(t+=String(e.value[i]),!e.multiple)break;t+="\n"}e.value=t}return new d.default.Input({id:"field-"+e.id,type:e.type,area:e.area,readonly:e.readonly,placeholder:e.placeholder,datalist:e.datalist,onchange:e.onchange})},_fieldSlider:function(e){return new d.default.Slider.View({id:"field-"+e.id,precise:"float"==e.type,is_workflow:e.is_workflow,min:e.min,max:e.max,onchange:e.onchange})},_fieldHidden:function(e){return new d.default.Hidden({id:"field-"+e.id,info:e.info})},_fieldBoolean:function(e){return new d.default.RadioButton.View({id:"field-"+e.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:e.onchange})},_fieldColor:function(e){return new b.default({id:"field-"+e.id,onchange:e.onchange})},_fieldLibrary:function(e){return new p.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldFtp:function(e){return new f.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldGenomeSpace:function(e){var t=this;return new m.default.View({id:"field-"+e.id,onchange:function(){t.app.trigger("change")}})},_fieldUpload:function(e){return new d.default.Upload({id:"field-"+e.id,onchange:e.onchange})}})}).call(t,i(1),i(2),i(0))},52:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(22),h=a(c),u={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},p={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:u.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:u.ENABLED}]},_=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(t),this.setElement(s("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var n=s("").addClass("ui-form-info").append(s("").addClass("fa fa-sitemap")).append(s("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:n.clone(),enabled:n.clone().append(s("").append(s("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(s("").css("clear","both"))},this.$el.on("dragenter",function(e){this.lastenter=e.target,i.$el.addClass("ui-dragover")}).on("dragover",function(e){e.preventDefault()}).on("dragleave",function(e){this.lastenter===e.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(e){i._handleDrop(e)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){t.onchange&&t.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(e){this.model.set("data",e)},value:function(e){void 0!==e&&this.model.set("value",e);var t=this.model.get("current");if(this.config[t]){var i=this.fields[t].value();if(null!==i&&(i=s.isArray(i)?i:[i],i.length>0)){var n=this._batch({values:[]});for(var a in i){var o=this.history[i[a]+"_"+this.config[t].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[a]+"'."),null;n.values.push(o)}return n.values.sort(function(e,t){return e.hid-t.hid}),n}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+e+"'.");return null},_changeCurrent:function(){var e=this;n.each(this.fields,function(t,i){e.model.get("current")==i?(t.$el.show(),n.each(e.$batch,function(t,s){t[e.config[i].batch==s?"show":"hide"]()}),e.button_type.value(i)):t.$el.hide()})},_changeType:function(){var e=this,t=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");p[t]?this.config=p[t]:(this.config=p.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+t+"'."));var i=e.model.get("data"),s=r.default.textify(this.model.get("extensions")),a=this.model.get("src_labels");this.fields=[],this.button_data=[],n.each(this.config,function(t,n){e.button_data.push({value:n,icon:t.icon,tooltip:t.tooltip}),e.fields.push(new h.default.View({optional:e.model.get("optional"),multiple:t.multiple,searchable:!t.multiple||i&&i[t.src]&&i[t.src].length>e.model.get("pagelimit"),individual:!0,error_text:"No "+(s?s+" ":"")+(a[t.src]||"content")+" available.",onchange:function(){e.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(t){e.model.set("current",t),e.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),n.each(this.fields,function(t){e.$el.append(t.$el.css({"margin-left":o}))}),n.each(this.$batch,function(t,i){e.$el.append(t.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var e=this;n.each(this.fields,function(t){t[e.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var e=this.model.get("data"),t=this,i={};n.each(e,function(e,s){i[s]=[],n.each(e,function(e){i[s].push({hid:e.hid,keep:e.keep,label:e.hid+": "+e.name,value:e.id,tags:e.tags}),t.history[e.id+"_"+s]=e})}),n.each(this.config,function(e,s){i[e.src]&&t.fields[s].add(i[e.src],function(e,t){return t.hid-e.hid})})},_changeValue:function(){var e=this.model.get("value");if(e&&e.values&&e.values.length>0){var t=[];n.each(e.values,function(e){t.push(e.id)});for(var i=e.values[0].src,s=e.values.length>1,a=0;a
"}});t.default={View:o}}).call(t,i(1),i(0))},45:function(e,t,i){"use strict";(function(e,s,n){Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=(function(e){e&&e.__esModule}(a),e.Model.extend({initialize:function(e){this.app=e},checksum:function(){var e="",t=this;return this.app.section.$el.find(".section-row").each(function(){var i=s(this).attr("id"),n=t.app.field_list[i];n&&(e+=i+":"+JSON.stringify(n.value&&n.value())+":"+n.collapsed+";")}),e},create:function(){function e(e,t,s){i.flat_dict[e]=t,n[e]=s,i.app.element_list[t]&&i.app.element_list[t].$el.attr("tour_id",e)}function t(s,n){for(var a in n){var o=n[a];if(o.input){var l=o.input,d=s;switch(""!=s&&(d+="|"),d+=l.name,l.type){case"repeat":var c=[],h=null;for(var u in o){var p=u.indexOf("section-");-1!=p&&(p+="section-".length,c.push(parseInt(u.substr(p))),h||(h=u.substr(0,p)))}c.sort(function(e,t){return e-t});var a=0;for(var _ in c)t(d+"_"+a++,o[h+c[_]]);break;case"conditional":var f=i.app.field_list[l.id].value();e(d+"|"+l.test_param.name,l.id,f);var g=r(l,f);-1!=g&&t(d,n[l.id+"-section-"+g]);break;case"section":t(!l.flat&&d||"",o);break;default:var m=i.app.field_list[l.id];if(m&&m.value){var f=m.value();if((void 0===l.ignore||l.ignore!=f)&&(m.collapsed&&l.collapsible_value&&(f=l.collapsible_value),e(d,l.id,f),l.payload))for(var v in l.payload)e(v,l.id,l.payload[v])}}}}}var i=this,s={};this._iterate(this.app.section.$el,s);var n={};return this.flat_dict={},t("",s),n},match:function(e){return this.flat_dict&&this.flat_dict[e]},matchCase:function(e,t){return r(e,t)},matchModel:function(e,t){var i=this;l(e.inputs,function(e,s){i.flat_dict[s]&&t(e,i.flat_dict[s])})},matchResponse:function(e){function t(e,n){if("string"==typeof n){var a=s.flat_dict[e];a&&(i[a]=n)}else for(var o in n){var r=o;if(""!==e){var l="|";n instanceof Array&&(l="_"),r=e+l+r}t(r,n[o])}}var i={},s=this;return t("",e),i},_iterate:function(e,t){var i=this;s(e).children().each(function(){var e=this,n=s(e).attr("id");if(s(e).hasClass("section-row")){var a=i.app.input_list[n];t[n]=a&&{input:a}||{},i._iterate(e,t[n])}else i._iterate(e,t)})}})),r=function(e,t){"boolean"==e.test_param.type&&(t="true"==t?e.test_param.truevalue||"true":e.test_param.falsevalue||"false");for(var i in e.cases)if(e.cases[i].value==t)return i;return-1},l=function e(t,i,a,o){o=s.extend(!0,{},o),n.each(t,function(e){e&&e.type&&e.name&&(o[e.name]=e)});for(var l in t){var d=t[l];d.name=d.name||l;var c=a?a+"|"+d.name:d.name;switch(d.type){case"repeat":n.each(d.cache,function(t,s){e(t,i,c+"_"+s,o)});break;case"conditional":if(d.test_param){i(d.test_param,c+"|"+d.test_param.name,o);var h=r(d,d.test_param.value);-1!=h?e(d.cases[h].inputs,i,c,o):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+c+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+c+".");break;case"section":e(d.inputs,i,c,o);break;default:i(d,c,o)}}};t.default={Manager:o,visitInputs:l}}).call(t,i(1),i(0),i(2))},47:function(e,t,i){"use strict";(function(e,s){Object.defineProperty(t,"__esModule",{value:!0});var n=i(3),a=function(e){return e&&e.__esModule?e:{default:e}}(n),o=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({id:a.default.uid(),min:null,max:null,step:null,precise:!1,split:1e4,value:null,onchange:function(){}}).set(t),this.setElement(this._template()),this.$el.attr("id",this.model.id),this.$text=this.$(".ui-form-slider-text"),this.$slider=this.$(".ui-form-slider-element");var n=[];this.$text.on("change",function(){i.value(s(this).val())}).on("keyup",function(e){n[e.which]=!1}).on("keydown",function(e){var t=e.which;n[t]=!0,i.model.get("is_workflow")&&n[16]&&52==t?(i.value("$"),event.preventDefault()):8==t||9==t||13==t||37==t||39==t||t>=48&&t<=57&&!n[16]||t>=96&&t<=105||(190==t||110==t)&&-1==s(this).val().indexOf(".")&&i.model.get("precise")||(189==t||109==t)&&-1==s(this).val().indexOf("-")||i._isParameter(s(this).val())||n[91]||n[17]||event.preventDefault()});var o=this.model.attributes;this.has_slider=null!==o.max&&null!==o.min&&o.max>o.min;var r=o.step;r||(r=o.precise&&this.has_slider?(o.max-o.min)/o.split:1),this.has_slider?(this.$text.addClass("ui-form-slider-left"),this.$slider.slider({min:o.min,max:o.max,step:r}).on("slide",function(e,t){i.value(t.value)})):this.$slider.hide(),this.listenTo(this.model,"change",this.render,this),this.render()},render:function(){var e=this.model.get("value");this.has_slider&&this.$slider.slider("value",e),e!==this.$text.val()&&this.$text.val(e)},value:function(e){var t=this.model.attributes;return void 0!==e&&(null===e||""===e||this._isParameter(e)||(isNaN(e)&&(e=0),!t.precise&&(e=Math.round(e)),null!==t.max&&(e=Math.min(e,t.max)),null!==t.min&&(e=Math.max(e,t.min))),this.model.set("value",e),this.model.trigger("change"),t.onchange(e)),this.model.get("value")},_isParameter:function(e){return this.model.get("is_workflow")&&"$"===String(e).substring(0,1)},_template:function(){return'
'}});t.default={View:o}}).call(t,i(1),i(0))},48:function(e,t,i){"use strict";(function(e,s){function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=i(3),o=n(a),r=i(23),l=n(r),d=l.default.BaseIcons.extend({initialize:function(e){e.type=e.display||"checkbox",e.multiple="checkbox"==e.type,l.default.BaseIcons.prototype.initialize.call(this,e)},_setValue:function(t){if(l.default.BaseIcons.prototype._setValue.call(this,t),void 0!==t&&null!==t&&this.header_index){var i=this,n=e.isArray(t)?t:[t];s.each(n,function(e){var t=i.header_index[e];s.each(t,function(e){i._setState(e,!0)})})}},_setState:function(e,t){var i=this.$(".button-"+e),s=this.$(".subgroup-"+e);i.data("is_expanded",t),t?(s.show(),i.removeClass("fa-plus-square").addClass("fa-minus-square")):(s.hide(),i.removeClass("fa-minus-square").addClass("fa-plus-square"))},_templateOptions:function(){function t(e,t){var i=e.find(".button-"+t);i.on("click",function(){s._setState(t,!i.data("is_expanded"))})}function i(n,a,r){r=r||[];for(var l in a){var d=a[l],c=d.options&&d.options.length>0,h=r.slice(0);s.header_index[d.value]=h.slice(0);var u=e("");if(c){var p=o.default.uid(),_=e("").addClass("button-"+p).addClass("ui-drilldown-button fa fa-plus-square"),f=e("").addClass("subgroup-"+p).addClass("ui-drilldown-subgroup");u.append(e("").append(_).append(s._templateOption({label:d.name,value:d.value}))),h.push(p),i(f,d.options,h),u.append(f),t(u,p)}else u.append(s._templateOption({label:d.name,value:d.value}));n.append(u)}}var s=this;this.header_index={};var n=e("");return i(n,this.model.get("data")),n},_template:function(){return e("").addClass("ui-options-list drilldown-container").attr("id",this.model.id)}});t.default={View:d}}).call(t,i(0),i(2))},49:function(e,t,i){"use strict";(function(e,s,n,a){function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=i(3),l=o(r),d=i(4),c=(o(d),i(11)),h=o(c),u=i(50),p=o(u),_=i(51),f=o(_),g=i(52),m=o(g),v=e.View.extend({initialize:function(e,t){this.app=e,this.inputs=t.inputs,this.parameters=new m.default,this.setElement(s("")),this.render()},render:function(){var e=this;this.$el.empty(),n.each(this.inputs,function(t){e.add(t)})},add:function(e){var t=a.extend(!0,{},e);switch(t.id=e.id=l.default.uid(),this.app.input_list[t.id]=t,t.type){case"conditional":this._addConditional(t);break;case"repeat":this._addRepeat(t);break;case"section":this._addSection(t);break;default:this._addRow(t)}},_addConditional:function(e){var t=this;e.test_param.id=e.id,this.app.model.get("sustain_conditionals")&&(e.test_param.disabled=!0);var i=this._addRow(e.test_param);i.model&&i.model.set("onchange",function(i){var s=t.app.data.matchCase(e,i);for(var n in e.cases){var a=e.cases[n],o=t.$("#"+e.id+"-section-"+n),r=!1;for(var l in a.inputs)if(!a.inputs[l].hidden){r=!0;break}n==s&&r?o.fadeIn("fast"):o.hide()}t.app.trigger("change")});for(var s in e.cases){var n=new v(this.app,{inputs:e.cases[s].inputs});this._append(n.$el.addClass("ui-form-section"),e.id+"-section-"+s)}i.trigger("change")},_addRepeat:function(e){function t(t){var n=e.id+"-section-"+s++,o=new v(i.app,{inputs:t});a.add({id:n,$el:o.$el,ondel:function(){a.del(n),i.app.trigger("change")}})}for(var i=this,s=0,a=new p.default.View({title:e.title||"Repeat",min:e.min,max:e.max,onnew:function(){t(e.inputs),i.app.trigger("change")}}),o=n.size(e.cache),r=0;r").addClass("ui-form-info").html(e.help)),this.app.on("expand",function(e){t.$("#"+e).length>0&&t.expand()}),this._append(t.$el,e.id)},_addRow:function(e){var t=this,i=e.id;e.onchange=e.onchange||function(){t.app.trigger("change",i)};var s=this.parameters.create(e);this.app.field_list[i]=s;var n=new f.default(this.app,{name:e.name,label:e.hide_label?"":e.label||e.name,value:e.value,text_value:e.text_value,collapsible_value:e.collapsible_value,collapsible_preview:e.collapsible_preview,help:e.help,argument:e.argument,disabled:e.disabled,color:e.color,style:e.style,backdrop:e.backdrop,hidden:e.hidden,fixed:e.fixed,field:s});return this.app.element_list[i]=n,this._append(n.$el,e.id),s},_append:function(e,t){this.$el.append(e.addClass("section-row").attr("id",t))}});t.default={View:v}}).call(t,i(1),i(0),i(2),i(0))},50:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(11),d=a(l),c=i(4),h=a(c),u=e.View.extend({initialize:function(e){this.list={},this.options=r.default.merge(e,{title:"Repeat",empty_text:"Not available.",max:null,min:null}),this.button_new=new h.default.ButtonIcon({icon:"fa-plus",title:"Insert "+this.options.title,tooltip:"Add new "+this.options.title+" block",cls:"ui-button-icon ui-clear-float form-repeat-add",onclick:function(){e.onnew&&e.onnew()}}),this.setElement(s("").append(this.$list=s("")).append(s("").append(this.button_new.$el)))},size:function(){return n.size(this.list)},add:function(e){if(!e.id||this.list[e.id])return void Galaxy.emit.debug("form-repeat::add()","Duplicate or invalid repeat block id.");var t=new h.default.ButtonIcon({icon:"fa-trash-o",tooltip:"Delete this repeat block",cls:"ui-button-icon-plain form-repeat-delete",onclick:function(){e.ondel&&e.ondel()}}),i=new d.default.View({id:e.id,title:"placeholder",cls:e.cls||"ui-portlet-repeat",operations:{button_delete:t}});i.append(e.$el),i.$el.addClass("section-row").hide(),this.list[e.id]=i,this.$list.append(i.$el.fadeIn("fast")),this.options.max>0&&this.size()>=this.options.max&&this.button_new.disable(),this._refresh()},del:function(e){if(!this.list[e])return void Galaxy.emit.debug("form-repeat::del()","Invalid repeat block id.");this.$list.find("#"+e).remove(),delete this.list[e],this.button_new.enable(),this._refresh()},delAll:function(){for(var e in this.list)this.del(e)},hideOptions:function(){this.button_new.$el.hide(),n.each(this.list,function(e){e.hideOperation("button_delete")}),n.isEmpty(this.list)&&this.$el.append(s("").addClass("ui-form-info").html(this.options.empty_text))},_refresh:function(){var e=0;for(var t in this.list){var i=this.list[t];i.title(++e+": "+this.options.title),i[this.size()>this.options.min?"showOperation":"hideOperation"]("button_delete")}}});t.default={View:u}}).call(t,i(1),i(0),i(2))},51:function(e,t,i){"use strict";(function(e,i,s){Object.defineProperty(t,"__esModule",{value:!0}),t.default=e.View.extend({initialize:function(t,i){this.app=t,this.app_options=t.model?t.model.attributes:{},this.field=i&&i.field||new e.View,this.model=i&&i.model||new e.Model({text_enable:this.app_options.text_enable||"Enable",text_disable:this.app_options.text_disable||"Disable",cls_enable:this.app_options.cls_enable||"fa fa-caret-square-o-down",cls_disable:this.app_options.cls_disable||"fa fa-caret-square-o-up",always_refresh:this.app_options.always_refresh}).set(i),this.setElement(this._template()),this.$field=this.$(".ui-form-field"),this.$info=this.$(".ui-form-info"),this.$preview=this.$(".ui-form-preview"),this.$collapsible=this.$(".ui-form-collapsible"),this.$collapsible_text=this.$(".ui-form-collapsible-text"),this.$collapsible_icon=this.$(".ui-form-collapsible-icon"),this.$title=this.$(".ui-form-title"),this.$title_text=this.$(".ui-form-title-text"),this.$error_text=this.$(".ui-form-error-text"),this.$error=this.$(".ui-form-error"),this.$backdrop=this.$(".ui-form-backdrop"),this.$field.prepend(this.field.$el);var s=this.model.get("collapsible_value");this.field.collapsed=void 0!==s&&JSON.stringify(this.model.get("value"))==JSON.stringify(s),this.listenTo(this.model,"change",this.render,this),this.render();var n=this;this.$collapsible.on("click",function(){n.field.collapsed=!n.field.collapsed,t.trigger&&t.trigger("change"),n.render()}),this.field.model&&!this.model.get("always_refresh")&&this.listenTo(this.field.model,"change:value",function(){n.reset()})},backdrop:function(){this.model.set("backdrop",!0)},error:function(e){this.model.set("error_text",e)},reset:function(){!this.model.get("fixed")&&this.model.set("error_text",null)},render:function(){i(".tooltip").hide();var e=this.model.get("help",""),t=this.model.get("argument");t&&-1==e.indexOf("("+t+")")&&(e+=" ("+t+")"),this.$info.html(e),this.$el[this.model.get("hidden")?"hide":"show"](),this.$preview[this.field.collapsed&&this.model.get("collapsible_preview")||this.model.get("disabled")?"show":"hide"]().html(s.escape(this.model.get("text_value")));var n=this.model.get("error_text");if(this.$error[n?"show":"hide"](),this.$el[n?"addClass":"removeClass"]("ui-error"),this.$error_text.html(n),this.$backdrop[this.model.get("backdrop")?"show":"hide"](),this.field.collapsed||this.model.get("disabled")?this.$field.hide():this.$field.show(),this.field.model&&this.field.model.set({color:this.model.get("color"),style:this.model.get("style")}),this.model.get("disabled")||void 0===this.model.get("collapsible_value"))this.$title_text.show().text(this.model.get("label")),this.$collapsible.hide();else{var a=this.field.collapsed?"enable":"disable";this.$title_text.hide(),this.$collapsible.show(),this.$collapsible_text.text(this.model.get("label")),this.$collapsible_icon.removeClass().addClass("icon").addClass(this.model.get("cls_"+a)).attr("data-original-title",this.model.get("text_"+a)).tooltip({placement:"bottom"})}},_template:function(){return i("").addClass("ui-form-element").append(i("").addClass("ui-form-error ui-error").append(i("").addClass("fa fa-arrow-down")).append(i("").addClass("ui-form-error-text"))).append(i("").addClass("ui-form-title").append(i("").addClass("ui-form-collapsible").append(i("").addClass("ui-form-collapsible-icon")).append(i("").addClass("ui-form-collapsible-text"))).append(i("").addClass("ui-form-title-text"))).append(i("").addClass("ui-form-field").append(i("").addClass("ui-form-info")).append(i("").addClass("ui-form-backdrop"))).append(i("").addClass("ui-form-preview"))}})}).call(t,i(1),i(0),i(2))},52:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(53),h=a(c),u=i(54),p=a(u),_=i(55),f=a(_),g=i(56),m=a(g),v=i(58),b=a(v);t.default=e.Model.extend({types:{text:"_fieldText",password:"_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",upload:"_fieldUpload",genomespacefile:"_fieldGenomeSpace"},create:function(e){var t=this.types[e.type],i="function"==typeof this[t]?this[t].call(this,e):null;return i||(i=e.options?this._fieldSelect(e):this._fieldText(e),Galaxy.emit.debug("form-parameters::_addRow()","Auto matched field type ("+e.type+").")),void 0===e.value&&(e.value=null),i.value(e.value),i},_fieldData:function(e){return new h.default.View({id:"field-"+e.id,extensions:e.extensions,optional:e.optional,multiple:e.multiple,type:e.type,flavor:e.flavor,data:e.options,onchange:e.onchange})},_fieldSelect:function(e){if(e.is_workflow)return this._fieldText(e);"data_column"==e.type&&(e.error_text="Missing columns in referenced dataset.");var t=e.data;t||(t=[],s.each(e.options,function(e){t.push({label:e[0],value:e[1]})}));var i=d.default.Select;switch(e.display){case"checkboxes":i=d.default.Checkbox;break;case"radio":i=d.default.Radio;break;case"radiobutton":i=d.default.RadioButton}return new i.View({id:"field-"+e.id,data:t,error_text:e.error_text||"No options available",readonly:e.readonly,multiple:e.multiple,optional:e.optional,onchange:e.onchange,individual:e.individual,searchable:"workflow"!==e.flavor})},_fieldDrilldown:function(e){return e.is_workflow?this._fieldText(e):new d.default.Drilldown.View({id:"field-"+e.id,data:e.options,display:e.display,optional:e.optional,onchange:e.onchange})},_fieldText:function(e){if(e.options&&e.data)if(e.area=e.multiple,r.default.isEmpty(e.value))e.value=null;else if(n.isArray(e.value)){var t="";for(var i in e.value){if(t+=String(e.value[i]),!e.multiple)break;t+="\n"}e.value=t}return new d.default.Input({id:"field-"+e.id,type:e.type,area:e.area,readonly:e.readonly,placeholder:e.placeholder,datalist:e.datalist,onchange:e.onchange})},_fieldSlider:function(e){return new d.default.Slider.View({id:"field-"+e.id,precise:"float"==e.type,is_workflow:e.is_workflow,min:e.min,max:e.max,onchange:e.onchange})},_fieldHidden:function(e){return new d.default.Hidden({id:"field-"+e.id,info:e.info})},_fieldBoolean:function(e){return new d.default.RadioButton.View({id:"field-"+e.id,data:[{label:"Yes",value:"true"},{label:"No",value:"false"}],onchange:e.onchange})},_fieldColor:function(e){return new b.default({id:"field-"+e.id,onchange:e.onchange})},_fieldLibrary:function(e){return new p.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldFtp:function(e){return new f.default.View({id:"field-"+e.id,optional:e.optional,multiple:e.multiple,onchange:e.onchange})},_fieldGenomeSpace:function(e){var t=this;return new m.default.View({id:"field-"+e.id,onchange:function(){t.app.trigger("change")}})},_fieldUpload:function(e){return new d.default.Upload({id:"field-"+e.id,onchange:e.onchange})}})}).call(t,i(1),i(2),i(0))},53:function(e,t,i){"use strict";(function(e,s,n){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=i(3),r=a(o),l=i(4),d=a(l),c=i(22),h=a(c),u={DISABLED:"disabled",ENABLED:"enabled",LINKED:"linked"},p={data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.LINKED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.LINKED}],data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED},{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collections",multiple:!0,batch:u.DISABLED}],data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],workflow_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED}],workflow_data_multiple:[{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.DISABLED}],workflow_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED}],module_data:[{src:"hda",icon:"fa-file-o",tooltip:"Single dataset",multiple:!1,batch:u.DISABLED},{src:"hda",icon:"fa-files-o",tooltip:"Multiple datasets",multiple:!0,batch:u.ENABLED}],module_data_collection:[{src:"hdca",icon:"fa-folder-o",tooltip:"Dataset collection",multiple:!1,batch:u.DISABLED},{src:"hdca",icon:"fa-folder",tooltip:"Multiple collections",multiple:!0,batch:u.ENABLED}]},_=e.View.extend({initialize:function(t){var i=this;this.model=t&&t.model||new e.Model({src_labels:{hda:"dataset",hdca:"dataset collection"},pagelimit:100,statustimer:1e3}).set(t),this.setElement(s("").addClass("ui-select-content")),this.button_product=new d.default.RadioButton.View({value:"false",data:[{icon:"fa fa-chain",value:"false",tooltip:"Linked inputs will be run in matched order with other datasets e.g. use this for matching forward and reverse reads."},{icon:"fa fa-chain-broken",value:"true",tooltip:"Unlinked dataset inputs will be run against *all* other inputs."}]});var n=s("").addClass("ui-form-info").append(s("").addClass("fa fa-sitemap")).append(s("").html("This is a batch mode input field. Separate jobs will be triggered for each dataset selection."));this.$batch={linked:n.clone(),enabled:n.clone().append(s("").append(s("").addClass("ui-form-title").html("Batch options:")).append(this.button_product.$el)).append(s("").css("clear","both"))},this.$el.on("dragenter",function(e){this.lastenter=e.target,i.$el.addClass("ui-dragover")}).on("dragover",function(e){e.preventDefault()}).on("dragleave",function(e){this.lastenter===e.target&&i.$el.removeClass("ui-dragover")}).on("drop",function(e){i._handleDrop(e)}),this.history={},this.listenTo(this.model,"change:data",this._changeData,this),this.listenTo(this.model,"change:wait",this._changeWait,this),this.listenTo(this.model,"change:current",this._changeCurrent,this),this.listenTo(this.model,"change:value",this._changeValue,this),this.listenTo(this.model,"change:type change:optional change:multiple change:extensions",this._changeType,this),this.render(),this.on("change",function(){t.onchange&&t.onchange(i.value())})},render:function(){this._changeType(),this._changeValue(),this._changeWait()},wait:function(){this.model.set("wait",!0)},unwait:function(){this.model.set("wait",!1)},update:function(e){this.model.set("data",e)},value:function(e){void 0!==e&&this.model.set("value",e);var t=this.model.get("current");if(this.config[t]){var i=this.fields[t].value();if(null!==i&&(i=s.isArray(i)?i:[i],i.length>0)){var n=this._batch({values:[]});for(var a in i){var o=this.history[i[a]+"_"+this.config[t].src];if(!o)return Galaxy.emit.debug("ui-select-content::value()","Requested details not found for '"+i[a]+"'."),null;n.values.push(o)}return n.values.sort(function(e,t){return e.hid-t.hid}),n}}else Galaxy.emit.debug("ui-select-content::value()","Invalid value/source '"+e+"'.");return null},_changeCurrent:function(){var e=this;n.each(this.fields,function(t,i){e.model.get("current")==i?(t.$el.show(),n.each(e.$batch,function(t,s){t[e.config[i].batch==s?"show":"hide"]()}),e.button_type.value(i)):t.$el.hide()})},_changeType:function(){var e=this,t=(this.model.get("flavor")?this.model.get("flavor")+"_":"")+String(this.model.get("type"))+(this.model.get("multiple")?"_multiple":"");p[t]?this.config=p[t]:(this.config=p.data,Galaxy.emit.debug("ui-select-content::_changeType()","Invalid configuration/type id '"+t+"'."));var i=e.model.get("data"),s=r.default.textify(this.model.get("extensions")),a=this.model.get("src_labels");this.fields=[],this.button_data=[],n.each(this.config,function(t,n){e.button_data.push({value:n,icon:t.icon,tooltip:t.tooltip}),e.fields.push(new h.default.View({optional:e.model.get("optional"),multiple:t.multiple,searchable:!t.multiple||i&&i[t.src]&&i[t.src].length>e.model.get("pagelimit"),individual:!0,error_text:"No "+(s?s+" ":"")+(a[t.src]||"content")+" available.",onchange:function(){e.trigger("change")}}))}),this.button_type=new d.default.RadioButton.View({value:this.model.get("current"),data:this.button_data,onchange:function(t){e.model.set("current",t),e.trigger("change")}}),this.$el.empty();var o=0;this.fields.length>1&&(this.$el.append(this.button_type.$el),o=Math.max(0,36*this.fields.length)+"px"),n.each(this.fields,function(t){e.$el.append(t.$el.css({"margin-left":o}))}),n.each(this.$batch,function(t,i){e.$el.append(t.css({"margin-left":o}))}),this.model.set("current",0),this._changeCurrent(),this._changeData()},_changeWait:function(){var e=this;n.each(this.fields,function(t){t[e.model.get("wait")?"wait":"unwait"]()})},_changeData:function(){var e=this.model.get("data"),t=this,i={};n.each(e,function(e,s){i[s]=[],n.each(e,function(e){i[s].push({hid:e.hid,keep:e.keep,label:e.hid+": "+e.name,value:e.id,tags:e.tags}),t.history[e.id+"_"+s]=e})}),n.each(this.config,function(e,s){i[e.src]&&t.fields[s].add(i[e.src],function(e,t){return t.hid-e.hid})})},_changeValue:function(){var e=this.model.get("value");if(e&&e.values&&e.values.length>0){var t=[];n.each(e.values,function(e){t.push(e.id)});for(var i=e.values[0].src,s=e.values.length>1,a=0;a
'}});t.default={View:n}}).call(t,i(1),i(2),i(0))}},[309]);
>>>>>>> 854854cdf6... Rebuild client.
+>>>>>>> dev
diff --git a/static/scripts/bundled/extended.bundled.js b/static/scripts/bundled/extended.bundled.js
index 7798b5f6327..1da46bb4bf3 100644
--- a/static/scripts/bundled/extended.bundled.js
+++ b/static/scripts/bundled/extended.bundled.js
@@ -46,4 +46,4 @@ s=n,l=e("",{css:{position:"absolute",top:"-200px",left:i?"0px":"-1000px",
// the check will work anyway, as when moving the node will be loaded first and checked again
if(v === 'i' && !ins.is_loaded(p)) { }
*/
-f=!0,p=0,_=o.data.nodes.length;p<_;p++)if(g=o.data.origin&&(o.data.origin.settings.dnd.always_copy||o.data.origin.settings.dnd.copy&&(o.event.metaKey||o.event.ctrlKey))?"copy_node":"move_node",m=u,"move_node"===g&&"a"===j&&o.data.origin&&o.data.origin===w&&d===w.get_parent(o.data.nodes[p])&&(v=w.get_node(d),m>e.inArray(o.data.nodes[p],v.children)&&(m-=1)),!(f=f&&(w&&w.settings&&w.settings.dnd&&!1===w.settings.dnd.check_while_dragging||w.check(g,o.data.origin&&o.data.origin!==w?o.data.origin.get_node(o.data.nodes[p]):o.data.nodes[p],d,m,{dnd:!0,ref:w.get_node(x.parent()),pos:j,is_multi:o.data.origin&&o.data.origin!==w,is_foreign:!o.data.origin})))){w&&w.last_error&&(n=w.last_error());break}if(f)return"i"===j&&x.parent().is(".jstree-closed")&&w.settings.dnd.open_timeout&&(i=setTimeout(function(e,t){return function(){e.open_node(t)}}(w,x),w.settings.dnd.open_timeout)),t={ins:w,par:d,pos:"i"!==j||"last"!==y||0!==u||w.is_loaded(b)?u:"last"},r.css({left:s+"px",top:l+"px"}).show(),o.helper.find(".jstree-icon:eq(0)").removeClass("jstree-er").addClass("jstree-ok"),n={},h=!0,!1}),!0===h))return}else{for(f=!0,p=0,_=o.data.nodes.length;p<_&&(f=f&&w.check(o.data.origin&&(o.data.origin.settings.dnd.always_copy||o.data.origin.settings.dnd.copy&&(o.event.metaKey||o.event.ctrlKey))?"copy_node":"move_node",o.data.origin&&o.data.origin!==w?o.data.origin.get_node(o.data.nodes[p]):o.data.nodes[p],"#","last",{dnd:!0,ref:w.get_node("#"),pos:"i",is_multi:o.data.origin&&o.data.origin!==w,is_foreign:!o.data.origin}));p++);if(f)return t={ins:w,par:"#",pos:"last"},r.hide(),void o.helper.find(".jstree-icon:eq(0)").removeClass("jstree-er").addClass("jstree-ok")}t=!1,o.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),r.hide()}}).bind("dnd_scroll.vakata",function(e,n){n&&n.data&&n.data.jstree&&(r.hide(),t=!1,n.helper.find(".jstree-icon:eq(0)").removeClass("jstree-ok").addClass("jstree-er"))}).bind("dnd_stop.vakata",function(a,o){if(i&&clearTimeout(i),o&&o.data&&o.data.jstree){r.hide();var s,l,c=[];if(t){for(s=0,l=o.data.nodes.length;s
").html(r).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),e(document).bind("mousemove touchmove",e.vakata.dnd.drag),e(document).bind("mouseup touchend",e.vakata.dnd.stop),!1},drag:function(n){if("touchmove"===n.type&&n.originalEvent&&n.originalEvent.changedTouches&&n.originalEvent.changedTouches[0]&&(n.pageX=n.originalEvent.changedTouches[0].pageX,n.pageY=n.originalEvent.changedTouches[0].pageY,n.target=document.elementFromPoint(n.originalEvent.changedTouches[0].pageX-window.pageXOffset,n.originalEvent.changedTouches[0].pageY-window.pageYOffset)),t.is_down){if(!t.is_drag){if(!(Math.abs(n.pageX-t.init_x)>(t.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)||Math.abs(n.pageY-t.init_y)>(t.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)))return;t.helper&&(t.helper.appendTo("body"),t.helper_w=t.helper.outerWidth()),t.is_drag=!0,e.vakata.dnd._trigger("start",n)}var i=!1,r=!1,a=!1,o=!1,s=!1,l=!1,c=!1,d=!1,u=!1,h=!1;return t.scroll_t=0,t.scroll_l=0,t.scroll_e=!1,e(e(n.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(e(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var i=e(this),r=i.offset();if(this.scrollHeight>this.offsetHeight&&(r.top+i.height()-n.pageYthis.offsetWidth&&(r.left+i.width()-n.pageXo&&n.pageY-co&&o-(n.pageY-c)l&&n.pageX-dl&&l-(n.pageX-d)a&&(u=a-50),s&&h+t.helper_w>s&&(h=s-(t.helper_w+2)),t.helper.css({left:h+"px",top:u+"px"})),e.vakata.dnd._trigger("move",n),!1}},stop:function(n){if("touchend"===n.type&&n.originalEvent&&n.originalEvent.changedTouches&&n.originalEvent.changedTouches[0]&&(n.pageX=n.originalEvent.changedTouches[0].pageX,n.pageY=n.originalEvent.changedTouches[0].pageY,n.target=document.elementFromPoint(n.originalEvent.changedTouches[0].pageX-window.pageXOffset,n.originalEvent.changedTouches[0].pageY-window.pageYOffset)),t.is_drag)e.vakata.dnd._trigger("stop",n);else if("touchend"===n.type&&n.target===t.target){var i=setTimeout(function(){e(n.target).click()},100);e(n.target).one("click",function(){i&&clearTimeout(i)})}return e.vakata.dnd._clean(),!1}}}(e),e.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},e.jstree.plugins.search=function(t,n){this.bind=function(){n.bind.call(this),this._data.search.str="",this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this.element.on("before_open.jstree",e.proxy(function(t,n){var i,r,a=this._data.search.res,o=[],s=e();if(a&&a.length&&(this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(a,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search"),this.settings.search.show_only_matches&&this._data.search.res.length)){for(i=0,r=a.length;i32&&(n.fuzzy=!1),n.fuzzy&&(i=1<=p;l--)if(m=r[t.charAt(l-1)],g[l]=0===o?(g[l+1]<<1|1)&m:(g[l+1]<<1|1)&m|(f[l+1]|f[l])<<1|1|f[l+1],g[l]&i&&(x=a(o,l-1))<=y){if(y=x,b=l-1,k.push(b),!(b>s))break;p=Math.max(1,2*s-b)}if(a(o+1,s)>y)break;f=g}return{isMatch:b>=0,score:x}},!0===t?{search:o}:o(t)}}(e),e.jstree.defaults.sort=function(e,t){return this.get_text(e)>this.get_text(t)?1:-1},e.jstree.plugins.sort=function(t,n){this.bind=function(){n.bind.call(this),this.element.on("model.jstree",e.proxy(function(e,t){this.sort(t.parent,!0)},this)).on("rename_node.jstree create_node.jstree",e.proxy(function(e,t){this.sort(t.parent||t.node.parent,!1),this.redraw_node(t.parent||t.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",e.proxy(function(e,t){this.sort(t.parent,!1),this.redraw_node(t.parent,!0)},this))},this.sort=function(t,n){var i,r;if((t=this.get_node(t))&&t.children&&t.children.length&&(t.children.sort(e.proxy(this.settings.sort,this)),n))for(i=0,r=t.children_d.length;it.ttl)&&(t&&t.state&&(t=t.state),t&&e.isFunction(this.settings.state.filter)&&(t=this.settings.state.filter.call(this,t)),!!t&&(this.element.one("set_state.jstree",function(n,i){i.instance.trigger("restore_state",{state:e.extend(!0,{},t)})}),this.set_state(t),!0))},this.clear_state=function(){return e.vakata.storage.del(this.settings.state.key)}},function(e,t){e.vakata.storage={set:function(e,t){return window.localStorage.setItem(e,t)},get:function(e){return window.localStorage.getItem(e)},del:function(e){return window.localStorage.removeItem(e)}}}(e),e.jstree.defaults.types={"#":{},default:{}},e.jstree.plugins.types=function(n,i){this.init=function(e,n){var r,a;if(n&&n.types&&n.types.default)for(r in n.types)if("default"!==r&&"#"!==r&&n.types.hasOwnProperty(r))for(a in n.types.default)n.types.default.hasOwnProperty(a)&&n.types[r][a]===t&&(n.types[r][a]=n.types.default[a]);i.init.call(this,e,n),this._model.data["#"].type="#"},this.refresh=function(e,t){i.refresh.call(this,e,t),this._model.data["#"].type="#"},this.bind=function(){this.element.on("model.jstree",e.proxy(function(e,n){var i,r,a=this._model.data,o=n.nodes,s=this.settings.types,l="default";for(i=0,r=o.length;i .jstree-ocl",e.proxy(function(t){t.stopImmediatePropagation();var n=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(n).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",e.proxy(function(e){return e.stopImmediatePropagation(),this.hover_node(e.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),n.teardown.call(this)},this.redraw_node=function(t,i,r){if(t=n.redraw_node.call(this,t,i,r)){var a=p.cloneNode(!0);-1!==e.inArray(t.id,this._data.core.selected)&&(a.className+=" jstree-wholerow-clicked"),t.insertBefore(a,t.childNodes[0])}return t}}}})},13:function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var i=n(297),r=function(e){return e&&e.__esModule?e:{default:e}}(i),a=e.Model.extend({urlRoot:Galaxy.root+"api/libraries/",isVisible:function(e){var t=!0;return!e&&this.get("deleted")&&(t=!1),t}}),o=e.Collection.extend({urlRoot:Galaxy.root+"api/libraries",model:a,initialize:function(e){e=e||{}},search:function(e){if(""==e)return this;var t=e.toLowerCase();return this.filter(function(e){return-1!==e.get("name").toLowerCase().indexOf(t)})},getVisible:function(e,t){return t=t||[],new o(this.filter(function(t){return t.isVisible(e)}))},sortLibraries:function(e,t){this.comparator=r.default.generateLibraryComparator(e,t),this.sort()}}),s=e.Model.extend({}),l=s.extend({urlRoot:Galaxy.root+"api/libraries/datasets/"}),c=s.extend({urlRoot:Galaxy.root+"api/folders/"}),d=e.Collection.extend({model:s,sortFolder:function(e,t){this.comparator=r.default.generateFolderComparator(e,t),this.sort()}}),u=e.Model.extend({defaults:{folder:new d,urlRoot:Galaxy.root+"api/folders/",id:"unknown"},parse:function(e){this.get("folder").reset();for(var t=0;t ').addClass(i);t.before(r)}}Object.defineProperty(t,"__esModule",{value:!0});var l=n(3),c=a(l),d=n(4),u=a(d),h=n(286),f=a(h),p=n(287),_=a(p),g=n(288),m=a(g),v=n(61),y=a(v),b=n(293),w=a(b),x=n(6),k=a(x),j=n(79),M=a(j),C=n(7);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);t.default=e}(C);n(20),window.workflow_globals=window.workflow_globals||{},t.default=i.View.extend({initialize:function(t){function n(){var t=e('');window.show_modal("Save As a New Workflow",t,{OK:function(){var t=e("#workflow_rename").val().length>0?e("#workflow_rename").val():"SavedAs_"+l.workflow.name,n=e("#wf_annotation").val().length>0?e("#wf_annotation").val():"";e.ajax({url:l.urls.workflow_save_as,type:"POST",data:{workflow_name:t,workflow_annotation:n,workflow_data:function(){return JSON.stringify(l.workflow.to_simple())}}}).done(function(e){window.onbeforeunload=void 0,window.location=Galaxy.root+"workflow/editor?id="+e,hide_modal()}).fail(function(){hide_modal(),alert("Saving this workflow failed. Please contact this site's administrator.")})},Cancel:hide_modal})}function i(){l.workflow.layout(),l.workflow.fit_canvas_to_nodes(),l.scroll_to_nodes(),l.canvas_manager.draw_overview()}function a(){e.jStorage.set("overview-off",!1),e("#overview-border").css("right","0px"),e("#close-viewport").css("background-position","0px 0px")}function s(){e.jStorage.set("overview-off",!0),e("#overview-border").css("right","20000px"),e("#close-viewport").css("background-position","12px 0px")}var l=window.workflow_globals.app=this;this.options=t,this.urls=t&&t.urls||{};var c=function(){if(l.workflow.check_changes_in_active_form(),workflow&&l.workflow.has_changes){var e=function(){window.onbeforeunload=void 0,window.document.location=l.urls.workflow_index};window.show_modal("Close workflow editor","There are unsaved changes to your workflow which will be lost.",{Cancel:hide_modal,"Save Changes":function(){d(null,e)}},{"Don't Save":e})}else window.document.location=l.urls.workflow_index},d=function(t,n){if(show_message("Saving workflow","progress"),l.workflow.check_changes_in_active_form(),!l.workflow.has_changes)return hide_modal(),void(n&&n());l.workflow.rectify_workflow_outputs(),u.default.request({url:Galaxy.root+"api/workflows/"+l.options.id,type:"PUT",data:{workflow:l.workflow.to_simple()},success:function(t){var i=e("").text(t.message);if(t.errors){i.addClass("warningmark");var r=e("
")}),t?window.show_modal("Issues loading this workflow","Please review the following issues, possibly resulting from tool upgrades or changes.
"+t+"
",{Continue:hide_modal}):hide_modal(),l.showWorkflowParameters()},beforeSubmit:function(e){show_message("Loading workflow","progress")}}),window.make_popupmenu&&make_popupmenu(e("#workflow-options-button"),{Save:d,"Save As":n,Run:function(){window.location=Galaxy.root+"workflows/run?id="+l.options.id},"Edit Attributes":function(){l.workflow.clear_active_node()},"Auto Re-layout":i,Close:c});var h=e.jStorage.get("overview-size");void 0!==h&&e("#overview-border").css({width:h,height:h}),e.jStorage.get("overview-off")?s():a(),e("#overview-border").bind("dragend",function(t,n){var i=e(this).offsetParent(),r=i.offset(),a=Math.max(i.width()-(n.offsetX-r.left),i.height()-(n.offsetY-r.top));e.jStorage.set("overview-size",a+"px")}),e("#close-viewport").click(function(){"0px"===e("#overview-border").css("right")?s():a()}),window.onbeforeunload=function(){if(workflow&&l.workflow.has_changes)return"There are unsaved changes to your workflow which will be lost."},this.options.workflows.length>0&&e("#left").find(".toolMenu").append(this._buildToolPanelWorkflows()),e("div.toolSectionBody").hide(),e("div.toolSectionTitle > span").wrap("");var f=null;e("div.toolSectionTitle").each(function(){var t=e(this).next("div.toolSectionBody");e(this).click(function(){t.is(":hidden")?(f&&f.slideUp("fast"),f=t,t.slideDown("fast")):(t.slideUp("fast"),f=null)})}),(0,M.default)("workflow-name","workflow-name",l.urls.rename_async,"new_name"),e("#workflow-tag").click(function(){return e(".tag-area").click(),!1}),(0,M.default)("workflow-annotation","workflow-annotation",l.urls.annotate_async,"new_annotation",25,!0,4)},_buildToolPanelWorkflows:function(){var t=this,n=e('
');return r.each(this.options.workflows,function(i){if(i.id!==t.options.id){var r=new k.default.ButtonIcon({icon:"fa fa-copy",cls:"ui-button-icon-plain",tooltip:(0,c.default)("Copy and insert individual steps"),onclick:function(){i.step_count<2?t.copy_into_workflow(i.id,i.name):Galaxy.modal.show({title:(0,c.default)("Warning"),body:"This will copy "+i.step_count+" new steps into your workflow.",buttons:{Cancel:function(){Galaxy.modal.hide()},Copy:function(){Galaxy.modal.hide(),t.copy_into_workflow(i.id,i.name)}}})}}),a=e("").attr("href","#").html(i.name).on("click",function(){t.add_node_for_subworkflow(i.latest_id,i.name)});n.find(".toolSectionBg").append(e("").addClass("toolTitle").append(a).append(r.$el))}}),n},copy_into_workflow:function(t){var n=this;this._workflowLoadAjax(t,{success:function(t){n.workflow.from_simple(t,!1);var i="";e.each(t.upgrade_messages,function(t,r){i+="
"}),i?window.show_modal("Subworkflow embedded with changes","Problems were encountered loading this workflow (possibly a result of tool upgrades). Please review the following parameters and then save.
"}),i.html(a),r.show()):(i.html(a),r.hide())},showAttributes:function(){e(".right-content").hide(),e("#edit-attributes").show()},showForm:function(t,n){var i="right-content",r=i+"-"+n.id,a=e("#"+i);if(t&&0==a.find("#"+r).length){var o=e('');if(t.node=n,t.workflow=this.workflow,t.datatypes=this.datatypes,t.icon=y.default[n.type],t.cls="ui-portlet-narrow",n){var s="tool"==n.type?"Tool":"Default";o.append(new w.default[s](t).form.$el),a.append(o)}else Galaxy.emit.debug("workflow-view::initialize()","Node not found in workflow.")}e("."+i).hide(),a.find("#"+r).show(),a.show(),a.scrollTop()},isSubType:function(e,t){return e=this.ext_to_type[e],t=this.ext_to_type[t],this.type_to_type[e]&&t in this.type_to_type[e]},prebuildNode:function(t,n,i){var r=this,a=e(""),o=e("
',"This folder is either empty or you do not have proper access permissions to see the contents. If you expected something to show up",' please consult the library security wikipage',' or visit the Galaxy support site.',"
"].join(""))}});t.default={FolderListView:h}}).call(t,n(2),n(1),n(0))},299:function(e,t,n){"use strict";(function(e,i,r){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(7),s=a(o),l=n(13),c=a(l),d=n(126),u=a(d),h=e.View.extend({events:{"click .undelete_dataset_btn":"undeleteDataset","click .undelete_folder_btn":"undeleteFolder","click .edit_folder_btn":"startModifications","click .cancel_folder_btn":"cancelModifications","click .save_folder_btn":"saveModifications"},defaults:{type:null,visibility_config:{edit_folder_btn:!1,save_folder_btn:!1,cancel_folder_btn:!1,permission_folder_btn:!1},edit_mode:!1},initialize:function(e){this.options=i.defaults(e||{},this.defaults),this.render(this.options)},render:function(e){this.options=i.extend(this.options,e);var t=this.options.model,n=null;return"folder"===t.get("type")||"LibraryFolder"===t.get("model_class")?(this.options.type="folder",this.prepareButtons(t),n=t.get("deleted")?this.templateRowDeletedFolder():this.templateRowFolder()):"file"===t.get("type")||"LibraryDatasetDatasetAssociation"===t.get("model_class")||"LibraryDataset"===t.get("model_class")?(this.options.type="file",n=t.get("deleted")?this.templateRowDeletedFile():this.templateRowFile()):(Galaxy.emit.error("Unknown library item type found."),Galaxy.emit.error(t.get("type")||t.get("model_class"))),this.setElement(n({content_item:t,edit_mode:this.options.edit_mode,button_config:this.options.visibility_config})),this.$el.show(),this},prepareButtons:function(e){var t=this.options.visibility_config;!1===this.options.edit_mode?(t.save_folder_btn=!1,t.cancel_folder_btn=!1,!0===e.get("deleted")?(t.edit_folder_btn=!1,t.permission_folder_btn=!1):!1===e.get("deleted")&&(t.save_folder_btn=!1,t.cancel_folder_btn=!1,!0===e.get("can_modify")&&(t.edit_folder_btn=!0),!0===e.get("can_manage")&&(t.permission_folder_btn=!0))):!0===this.options.edit_mode&&(t.edit_folder_btn=!1,t.permission_folder_btn=!1,t.save_folder_btn=!0,t.cancel_folder_btn=!0),this.options.visibility_config=t},showDatasetDetails:function(){Galaxy.libraries.datasetView=new u.default.LibraryDatasetView({id:this.id})},undeleteDataset:function(e){r(".tooltip").hide();var t=this,n=r(e.target).closest("tr").data("id"),i=Galaxy.libraries.folderListView.collection.get(n);i.url=i.urlRoot+i.id+"?undelete=true",i.destroy({success:function(e,i){Galaxy.libraries.folderListView.collection.remove(n);var r=new c.default.Item(i);Galaxy.libraries.folderListView.collection.add(r),Galaxy.libraries.folderListView.collection.sortFolder("name","asc"),s.default.success("Dataset undeleted. Click this to see it.","",{onclick:function(){var e=t.model.get("folder_id");window.location=Galaxy.root+"library/list#folders/"+e+"/datasets/"+t.id}})},error:function(e,t){void 0!==t.responseJSON?s.default.error("Dataset was not undeleted. "+t.responseJSON.err_msg):s.default.error("An error occured! Dataset was not undeleted. Please try again.")}})},undeleteFolder:function(e){r(".tooltip").hide();var t=r(e.target).closest("tr").data("id"),n=Galaxy.libraries.folderListView.collection.get(t);n.url=n.urlRoot+n.id+"?undelete=true",n.destroy({success:function(e,n){Galaxy.libraries.folderListView.collection.remove(t);var i=new c.default.FolderAsModel(n);Galaxy.libraries.folderListView.collection.add(i),Galaxy.libraries.folderListView.collection.sortFolder("name","asc"),s.default.success("Folder undeleted.")},error:function(e,t){void 0!==t.responseJSON?s.default.error("Folder was not undeleted. "+t.responseJSON.err_msg):s.default.error("An error occured! Folder was not undeleted. Please try again.")}})},startModifications:function(){this.options.edit_mode=!0,this.repaint()},cancelModifications:function(){this.options.edit_mode=!1,this.repaint()},saveModifications:function(){var e=Galaxy.libraries.folderListView.collection.get(this.$el.data("id")),t=!1,n=this.$el.find(".input_folder_name").val();if(void 0!==n&&n!==e.get("name")){if(!(n.length>2))return void s.default.warning("Folder name has to be at least 3 characters long.");e.set("name",n),t=!0}var i=this.$el.find(".input_folder_description").val();if(void 0!==i&&i!==e.get("description")&&(e.set("description",i),t=!0),t){var r=this;e.save(null,{patch:!0,success:function(e){r.options.edit_mode=!1,r.repaint(e),s.default.success("Changes to folder saved.")},error:function(e,t){void 0!==t.responseJSON?s.default.error(t.responseJSON.err_msg):s.default.error("An error occured while attempting to update the folder.")}})}else this.options.edit_mode=!1,this.repaint(e),s.default.info("Nothing has changed.")},repaint:function(){r(".tooltip").hide();var e=this.$el;this.render(),e.replaceWith(this.$el),this.$el.find("[data-toggle]").tooltip()},templateRowFolder:function(){return i.template(['
","<% }%>",""].join(""))}});t.default={LibraryListView:f}}).call(t,n(2),n(0))},301:function(e,t,n){"use strict";(function(e,i,r){Object.defineProperty(t,"__esModule",{value:!0});var a=n(7),o=function(e){return e&&e.__esModule?e:{default:e}}(a),s=e.View.extend({events:{"click .edit_library_btn":"edit_button_clicked","click .cancel_library_btn":"cancel_library_modification","click .save_library_btn":"save_library_modification","click .delete_library_btn":"delete_library","click .undelete_library_btn":"undelete_library"},edit_mode:!1,element_visibility_config:{upload_library_btn:!1,edit_library_btn:!1,permission_library_btn:!1,save_library_btn:!1,cancel_library_btn:!1,delete_library_btn:!1,undelete_library_btn:!1},initialize:function(e){this.render(e)},render:function(e){void 0===e&&(e=Galaxy.libraries.libraryListView.collection.get(this.$el.data("id"))),this.prepareButtons(e);var t=this.templateRow();return this.setElement(t({library:e,button_config:this.element_visibility_config,edit_mode:this.edit_mode})),this.$el.show(),this},repaint:function(e){i(".tooltip").hide();var t=this.$el;this.render(),t.replaceWith(this.$el),this.$el.find("[data-toggle]").tooltip()},prepareButtons:function(e){var t=this.element_visibility_config;!1===this.edit_mode?(t.save_library_btn=!1,t.cancel_library_btn=!1,t.delete_library_btn=!1,!0===e.get("deleted")?(t.undelete_library_btn=!0,t.upload_library_btn=!1,t.edit_library_btn=!1,t.permission_library_btn=!1):!1===e.get("deleted")&&(t.save_library_btn=!1,t.cancel_library_btn=!1,t.undelete_library_btn=!1,!0===e.get("can_user_add")&&(t.upload_library_btn=!0),!0===e.get("can_user_modify")&&(t.edit_library_btn=!0),!0===e.get("can_user_manage")&&(t.permission_library_btn=!0))):!0===this.edit_mode&&(t.upload_library_btn=!1,t.edit_library_btn=!1,t.permission_library_btn=!1,t.save_library_btn=!0,t.cancel_library_btn=!0,t.delete_library_btn=!0,t.undelete_library_btn=!1),this.element_visibility_config=t},edit_button_clicked:function(){this.edit_mode=!0,this.repaint()},cancel_library_modification:function(){this.edit_mode=!1,this.repaint()},save_library_modification:function(){var e=Galaxy.libraries.libraryListView.collection.get(this.$el.data("id")),t=!1,n=this.$el.find(".input_library_name").val();if(void 0!==n&&n!==e.get("name")){if(!(n.length>2))return void o.default.warning("Library name has to be at least 3 characters long.");e.set("name",n),t=!0}var i=this.$el.find(".input_library_description").val();void 0!==i&&i!==e.get("description")&&(e.set("description",i),t=!0);var r=this.$el.find(".input_library_synopsis").val();if(void 0!==r&&r!==e.get("synopsis")&&(e.set("synopsis",r),t=!0),t){var a=this;e.save(null,{patch:!0,success:function(e){a.edit_mode=!1,a.repaint(e),o.default.success("Changes to library saved.")},error:function(e,t){void 0!==t.responseJSON?o.default.error(t.responseJSON.err_msg):o.default.error("An error occured while attempting to update the library.")}})}else this.edit_mode=!1,this.repaint(e),o.default.info("Nothing has changed.")},delete_library:function(){var e=Galaxy.libraries.libraryListView.collection.get(this.$el.data("id")),t=this;e.destroy({success:function(e){e.set("deleted",!0),Galaxy.libraries.libraryListView.collection.add(e),t.edit_mode=!1,!1===Galaxy.libraries.preferences.get("with_deleted")?(i(".tooltip").hide(),t.repaint(e),t.$el.remove()):!0===Galaxy.libraries.preferences.get("with_deleted")&&t.repaint(e),o.default.success("Library has been marked deleted.")},error:function(e,t){void 0!==t.responseJSON?o.default.error(t.responseJSON.err_msg):o.default.error("An error occured during deleting the library.")}})},undelete_library:function(){var e=Galaxy.libraries.libraryListView.collection.get(this.$el.data("id")),t=this;e.url=e.urlRoot+e.id+"?undelete=true",e.destroy({success:function(e){e.set("deleted",!1),Galaxy.libraries.libraryListView.collection.add(e),t.edit_mode=!1,t.repaint(e),o.default.success("Library has been undeleted.")},error:function(e,t){void 0!==t.responseJSON?o.default.error(t.responseJSON.err_msg):o.default.error("An error occured while undeleting the library.")}})},templateRow:function(){return r.template(['
"].join(""))}});t.default={LibraryRowView:s}}).call(t,n(2),n(0),n(1))},302:function(e,t,n){"use strict";(function(e,i,r){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(3),s=a(o),l=n(7),c=a(l),d=n(13),u=a(d),h=e.View.extend({el:"#center",defaults:{search_term:""},events:{"click #create_new_library_btn":"createLibraryFromModal","click #include_deleted_chk":"includeDeletedChecked","click #exclude_restricted_chk":"excludeRestrictedChecked","click .page_size_prompt":"showPageSizePrompt","keyup .library-search-input":"searchLibraries"},initialize:function(e){this.options=i.defaults(this.options||{},e,this.defaults),this.render()},render:function(){var e=this.templateToolBar(),t=!1,n=!0;Galaxy.user&&(t=Galaxy.user.isAdmin(),n=Galaxy.user.isAnonymous()),this.$el.html(e({admin_user:t,anon_user:n})),t&&(this.$el.find("#include_deleted_chk")[0].checked=Galaxy.libraries.preferences.get("with_deleted"),this.$el.find("#exclude_restricted_chk")[0].checked=Galaxy.libraries.preferences.get("without_restricted"))},renderPaginator:function(e){this.options=i.extend(this.options,e);var t=this.templatePaginator();this.$el.find("#library_paginator").html(t({show_page:parseInt(this.options.show_page),page_count:parseInt(this.options.page_count),total_libraries_count:this.options.total_libraries_count,libraries_shown:this.options.libraries_shown,library_page_size:Galaxy.libraries.preferences.get("library_page_size")}))},createLibraryFromModal:function(e){e.preventDefault(),e.stopPropagation();var t=this;this.modal=Galaxy.modal,this.modal.show({closing_events:!0,title:(0,s.default)("Create New Library"),body:this.templateNewLibraryInModal(),buttons:{Create:function(){t.createNewLibrary()},Close:function(){t.modal.hide()}}})},createNewLibrary:function(){var e=this.serializeNewLibrary();if(this.validateNewLibrary(e)){var t=new u.default.Library,n=this;t.save(e,{success:function(e){Galaxy.libraries.libraryListView.collection.add(e),n.modal.hide(),n.clearLibraryModal(),Galaxy.libraries.libraryListView.render(),c.default.success("Library created.")},error:function(e,t){void 0!==t.responseJSON?c.default.error(t.responseJSON.err_msg):c.default.error("An error occured.")}})}else c.default.error("Library's name is missing.");return!1},showPageSizePrompt:function(e){e.preventDefault();var t=prompt("How many libraries per page do you want to see?",Galaxy.libraries.preferences.get("library_page_size"));null!=t&&t==parseInt(t)&&(Galaxy.libraries.preferences.set({library_page_size:parseInt(t)}),Galaxy.libraries.libraryListView.render({show_page:1}))},clearLibraryModal:function(){r("input[name='Name']").val(""),r("input[name='Description']").val(""),r("input[name='Synopsis']").val("")},serializeNewLibrary:function(){return{name:r("input[name='Name']").val(),description:r("input[name='Description']").val(),synopsis:r("input[name='Synopsis']").val()}},validateNewLibrary:function(e){return""!==e.name},includeDeletedChecked:function(e){e.target.checked?(Galaxy.libraries.preferences.set({with_deleted:!0}),Galaxy.libraries.libraryListView.fetchDeleted()):(Galaxy.libraries.preferences.set({with_deleted:!1}),Galaxy.libraries.libraryListView.render())},excludeRestrictedChecked:function(e){e.target.checked?Galaxy.libraries.preferences.set({without_restricted:!0}):Galaxy.libraries.preferences.set({without_restricted:!1}),Galaxy.libraries.libraryListView.render()},searchLibraries:function(e){var t=r(".library-search-input").val();this.options.search_term=t,Galaxy.libraries.libraryListView.searchLibraries(t)},templateToolBar:function(){return i.template(['
"].join(""))}});t.default={LibraryToolbarView:h}}).call(t,n(2),n(1),n(0))},303:function(e,t,n){"use strict";(function(e,i,r,a){function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var s=n(3),l=o(s),c=n(4),d=o(c),u=n(7),h=o(u),f=n(13),p=o(f),_=n(10),g=o(_);n(127);var m=e.View.extend({el:"#center",events:{"click #toolbtn_create_folder":"createFolderFromModal","click #toolbtn_bulk_import":"modalBulkImport","click #include_deleted_datasets_chk":"checkIncludeDeleted","click #toolbtn_bulk_delete":"deleteSelectedItems","click .toolbtn-show-locinfo":"showLocInfo","click .page_size_prompt":"showPageSizePrompt"},defaults:{can_add_library_item:!1,contains_file_or_folder:!1,chain_call_control:{total_number:0,failed_number:0},disabled_jstree_element:"folders"},modal:null,jstree:null,histories:null,select_genome:null,select_extension:null,list_extensions:[],auto:{id:"auto",text:"Auto-detect",description:"This system will try to detect the file type automatically. If your file is not detected properly as one of the known formats, it most likely means that it has some format problems (e.g., different number of columns on different rows). You can still coerce the system to set your data to the format you think it should be. You can also upload compressed files, which will automatically be decompressed."},list_genomes:[],initialize:function(e){this.options=i.defaults(e||{},this.defaults),this.fetchExtAndGenomes(),this.render()},render:function(e){this.options=i.extend(this.options,e);var t=this.templateToolBar(),n={id:this.options.id,is_admin:!1,is_anonym:!0,mutiple_add_dataset_options:!1};Galaxy.user&&(n.is_admin=Galaxy.user.isAdmin(),n.is_anonym=Galaxy.user.isAnonymous(),null===Galaxy.config.user_library_import_dir&&!1===Galaxy.config.allow_library_path_paste&&null===Galaxy.config.library_import_dir||(n.mutiple_add_dataset_options=!0)),this.$el.html(t(n))},renderPaginator:function(e){this.options=i.extend(this.options,e);var t=this.templatePaginator();r("body").find(".folder-paginator").html(t({id:this.options.id,show_page:parseInt(this.options.show_page),page_count:parseInt(this.options.page_count),total_items_count:this.options.total_items_count,items_shown:this.options.items_shown,folder_page_size:Galaxy.libraries.preferences.get("folder_page_size")}))},configureElements:function(e){this.options=i.extend(this.options,e),!0===this.options.can_add_library_item?r(".add-library-items").show():r(".add-library-items").hide(),!0===this.options.contains_file_or_folder&&Galaxy.user?Galaxy.user.isAnonymous()?(r(".dataset-manipulation").show(),r(".logged-dataset-manipulation").hide()):(r(".logged-dataset-manipulation").show(),r(".dataset-manipulation").show()):(r(".logged-dataset-manipulation").hide(),r(".dataset-manipulation").hide()),this.$el.find("[data-toggle]").tooltip()},createFolderFromModal:function(e){e.preventDefault(),e.stopPropagation();var t=this,n=this.templateNewFolderInModal();this.modal=Galaxy.modal,this.modal.show({closing_events:!0,title:(0,l.default)("Create New Folder"),body:n(),buttons:{Create:function(){t.create_new_folder_event()},Close:function(){Galaxy.modal.hide()}}})},create_new_folder_event:function(){var t=this.serialize_new_folder();if(this.validate_new_folder(t)){var n,i=new p.default.FolderAsModel,r=e.history.fragment.split("/");n=r.indexOf("page")>-1?r[r.length-3]:r[r.length-1],i.url=i.urlRoot+n,i.save(t,{success:function(e){Galaxy.modal.hide(),h.default.success("Folder created."),e.set({type:"folder"}),Galaxy.libraries.folderListView.collection.add(e)},error:function(e,t){Galaxy.modal.hide(),void 0!==t.responseJSON?h.default.error(t.responseJSON.err_msg):h.default.error("An error occurred.")}})}else h.default.error("Folder's name is missing.");return!1},serialize_new_folder:function(){return{name:r("input[name='Name']").val(),description:r("input[name='Description']").val()}},validate_new_folder:function(e){return""!==e.name},modalBulkImport:function(){if(0===this.findCheckedRows().length)h.default.info("You must select some datasets first.");else{var e=this;this.histories=new p.default.GalaxyHistories,this.histories.fetch().done(function(){var t=e.templateBulkImportInModal();e.modal=Galaxy.modal,e.modal.show({closing_events:!0,title:(0,l.default)("Import into History"),body:t({histories:e.histories.models}),buttons:{Import:function(){e.importAllIntoHistory()},Close:function(){Galaxy.modal.hide()}}})}).fail(function(e,t){void 0!==t.responseJSON?h.default.error(t.responseJSON.err_msg):h.default.error("An error occurred.")})}},importAllIntoHistory:function(){this.modal.disableButton("Import");var e=this.modal.$("input[name=history_name]").val(),t=this;if(""!==e)r.post(Galaxy.root+"api/histories",{name:e}).done(function(e){t.options.last_used_history_id=e.id,t.processImportToHistory(e.id,e.name)}).fail(function(e,t,n){h.default.error("An error occurred.")}).always(function(){t.modal.enableButton("Import")});else{var n=r("select[name=dataset_import_bulk] option:selected").val();this.options.last_used_history_id=n;var i=r("select[name=dataset_import_bulk] option:selected").text();this.processImportToHistory(n,i),this.modal.enableButton("Import")}},processImportToHistory:function(e,t){var n=[],i=[];this.findCheckedRows().each(function(){var e=r(this).closest("tr").data("id");"F"==e.substring(0,1)?i.push(e):n.push(e)});for(var o=[],s=n.length-1;s>=0;s--){var l=n[s],c=new p.default.HistoryItem;c.url=c.urlRoot+e+"/contents",c.content=l,c.source="library",o.push(c)}for(var s=i.length-1;s>=0;s--){var d=i[s],c=new p.default.HistoryItem;c.url=c.urlRoot+e+"/contents",c.content=d,c.source="library_folder",o.push(c)}this.initChainCallControl({length:o.length,action:"to_history",history_name:t}),a.getJSON(Galaxy.root+"history/set_as_current?id="+e),this.chainCallImportingIntoHistory(o,t)},updateProgress:function(){this.progress+=this.progressStep,r(".progress-bar-import").width(Math.round(this.progress)+"%");var e=Math.round(this.progress)+"% Complete";r(".completion_span").text(e)},download:function(e,t){var n=[],i=[];this.findCheckedRows().each(function(){var e=r(this).closest("tr").data("id");"F"==e.substring(0,1)?i.push(e):n.push(e)});var a=Galaxy.root+"api/libraries/datasets/download/"+t,o={ld_ids:n,folder_ids:i};this.processDownload(a,o,"get")},processDownload:function(e,t,n){if(e&&t){t="string"==typeof t?t:r.param(t);var i="";r.each(t.split("&"),function(){var e=this.split("=");i+=''}),r('").appendTo("body").submit().remove(),h.default.info("Your download will begin soon.")}else h.default.error("An error occurred.")},addFilesFromHistoryModal:function(){this.histories=new p.default.GalaxyHistories;var e=this;this.histories.fetch().done(function(){e.modal=Galaxy.modal;var t=e.templateAddFilesFromHistory();e.modal.show({closing_events:!0,title:(0,l.default)("Adding datasets from your history"),body:t({histories:e.histories.models}),buttons:{Add:function(){e.addAllDatasetsFromHistory()},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.navigate("folders/"+e.id,{trigger:!0})}}),e.fetchAndDisplayHistoryContents(e.histories.models[0].id),r("#dataset_add_bulk").change(function(t){e.fetchAndDisplayHistoryContents(t.target.value)})}).fail(function(e,t){void 0!==t.responseJSON?h.default.error(t.responseJSON.err_msg):h.default.error("An error occurred.")})},importFilesFromPathModal:function(){var e=this;this.modal=Galaxy.modal;var t=this.templateImportPathModal();this.modal.show({closing_events:!0,title:(0,l.default)("Please enter paths to import"),body:t({}),buttons:{Import:function(){e.importFromPathsClicked(e)},Close:function(){Galaxy.modal.hide()}},closing_callback:function(){Galaxy.libraries.library_router.navigate("folders/"+e.id,{trigger:!0})}}),this.renderSelectBoxes()},fetchExtAndGenomes:function(){var e=this;d.default.get({url:Galaxy.root+"api/datatypes?extension_only=False",success:function(t){e.list_extensions=[];for(var n in t)e.list_extensions.push({id:t[n].extension,text:t[n].extension,description:t[n].description,description_url:t[n].description_url});e.list_extensions.sort(function(e,t){return e.id>t.id?1:e.idt.id?1:e.id=0;d--){var u=l[d].trim();0!==u.length&&c.push(u)}this.initChainCallControl({length:c.length,action:"adding_datasets"}),this.chainCallImportingFolders({paths:c,preserve_dirs:e,link_data:t,space_to_tab:n,to_posix_lines:i,source:"admin_path",file_type:o,tag_using_filenames:a,dbkey:s})}else h.default.info("Please enter a path relative to Galaxy root.")},initChainCallControl:function(e){var t;switch(e.action){case"adding_datasets":t=this.templateAddingDatasetsProgressBar(),this.modal.$el.find(".modal-body").html(t({folder_name:this.options.folder_name}));break;case"deleting_datasets":t=this.templateDeletingItemsProgressBar(),this.modal.$el.find(".modal-body").html(t());break;case"to_history":t=this.templateImportIntoHistoryProgressBar(),this.modal.$el.find(".modal-body").html(t({history_name:e.history_name}));break;default:Galaxy.emit.error("Wrong action specified.","datalibs")}this.progress=0,this.progressStep=100/e.length,this.options.chain_call_control.total_number=e.length,this.options.chain_call_control.failed_number=0},importFromJstreePath:function(e,t){var n=r("#jstree_browser").jstree().get_selected(!0),a=i.filter(n,function(e){return 0==e.state.disabled}),o=this.modal.$el.find(".preserve-checkbox").is(":checked"),s=this.modal.$el.find(".link-checkbox").is(":checked"),l=this.modal.$el.find(".spacetab-checkbox").is(":checked"),c=this.modal.$el.find(".posix-checkbox").is(":checked"),d=this.select_extension.value(),u=this.select_genome.value(),f=this.modal.$el.find(".tag-files").is(":checked"),p=a[0].type,_=[];if(a.length<1)h.default.info("Please select some items first.");else{this.modal.disableButton("Import");for(var g=a.length-1;g>=0;g--)void 0!==a[g].li_attr.full_path&&_.push(a[g].li_attr.full_path);if(this.initChainCallControl({length:_.length,action:"adding_datasets"}),"folder"===p){var m=t.source+"_folder";this.chainCallImportingFolders({paths:_,preserve_dirs:o,link_data:s,space_to_tab:l,to_posix_lines:c,source:m,file_type:d,dbkey:u,tag_using_filenames:f})}else if("file"===p){var m=t.source+"_file";this.chainCallImportingUserdirFiles({paths:_,file_type:d,dbkey:u,link_data:s,space_to_tab:l,to_posix_lines:c,source:m,tag_using_filenames:f})}}},fetchAndDisplayHistoryContents:function(e){var t=new p.default.HistoryContents({id:e}),n=this;t.fetch({success:function(t){var i=n.templateHistoryContents();n.histories.get(e).set({contents:t}),n.modal.$el.find("#selected_history_content").html(i({history_contents:t.models.reverse()})),n.modal.$el.find(".history-import-select-all").bind("click",function(){r("#selected_history_content [type=checkbox]").prop("checked",!0)}),n.modal.$el.find(".history-import-unselect-all").bind("click",function(){r("#selected_history_content [type=checkbox]").prop("checked",!1)})},error:function(e,t){void 0!==t.responseJSON?h.default.error(t.responseJSON.err_msg):h.default.error("An error occurred.")}})},addAllDatasetsFromHistory:function(){var e=this.modal.$el.find("#selected_history_content").find(":checked"),t=[],n=[],i=[];if(e.length<1)h.default.info("You must select some datasets first.");else{this.modal.disableButton("Add"),e.each(function(){var e=r(this).closest("li").data("id");if(e){var i=r(this).closest("li").data("name");t.push(e),n.push(i)}});for(var a=t.length-1;a>=0;a--){var o=t[a],s=new p.default.Item;s.url=Galaxy.root+"api/folders/"+this.options.id+"/contents","collection"===n[a]?s.set({from_hdca_id:o}):s.set({from_hda_id:o}),i.push(s)}this.initChainCallControl({length:i.length,action:"adding_datasets"}),this.chainCallAddingHdas(i)}},chainCallImportingIntoHistory:function(e,t){var n=this,i=e.pop();if(void 0===i)return 0===this.options.chain_call_control.failed_number?h.default.success("Selected datasets imported into history. Click this to start analyzing it.","",{onclick:function(){window.location=Galaxy.root}}):this.options.chain_call_control.failed_number===this.options.chain_call_control.total_number?h.default.error("There was an error and no datasets were imported into history."):this.options.chain_call_control.failed_number=0;s--){var c=new p.default.Item({id:e[s]});o.push(c)}for(var s=t.length-1;s>=0;s--){var d=new p.default.FolderAsModel({id:t[s]});o.push(d)}this.options.chain_call_control.total_number=a,this.chainCallDeletingItems(o)}},showLocInfo:function(){var e=null,t=this;null!==Galaxy.libraries.libraryListView?(e=Galaxy.libraries.libraryListView.collection.get(this.options.parent_library_id),this.showLocInfoModal(e)):(e=new p.default.Library({id:this.options.parent_library_id}),e.fetch({success:function(){t.showLocInfoModal(e)},error:function(e,t){void 0!==t.responseJSON?h.default.error(t.responseJSON.err_msg):h.default.error("An error occurred.")}}))},showLocInfoModal:function(e){var t=this,n=this.templateLocInfoInModal();this.modal=Galaxy.modal,this.modal.show({closing_events:!0,title:(0,l.default)("Location Details"),body:n({library:e,options:t.options}),buttons:{Close:function(){Galaxy.modal.hide()}}})},showImportModal:function(e){switch(e.source){case"history":this.addFilesFromHistoryModal();break;case"importdir":this.importFilesFromGalaxyFolderModal({source:"importdir"});break;case"path":this.importFilesFromPathModal();break;case"userdir":this.importFilesFromGalaxyFolderModal({source:"userdir"});break;default:Galaxy.libraries.library_router.back(),h.default.error("Invalid import source.")}},showPageSizePrompt:function(e){e.preventDefault();var t=prompt("How many items per page do you want to see?",Galaxy.libraries.preferences.get("folder_page_size"));null!=t&&t==parseInt(t)&&(Galaxy.libraries.preferences.set({folder_page_size:parseInt(t)}),Galaxy.libraries.folderListView.render({id:this.options.id,show_page:1}))},findCheckedRows:function(){return r("#folder_list_body").find(":checked")},templateToolBar:function(){return i.template(['
',"<% if (is_admin) { %>","You are logged in as an administrator therefore you can manage any library on this Galaxy instance. Please make sure you understand the consequences.","<% } else { %>","You can assign any number of roles to any of the following permission types. However please read carefully the implications of such actions.","<% }%>","
",'
',"
Library permissions
","
Roles that can access the library
",'','
',"User with any of these roles can access this library. If there are no access roles set on the library it is considered unrestricted.","
","
Roles that can manage permissions on this library
",'','
',"User with any of these roles can manage permissions on this library (includes giving access).","
","
Roles that can add items to this library
",'','
',"User with any of these roles can add items to this library (folders and datasets).","
","
Roles that can modify this library
",'','
',"User with any of these roles can modify this library (name, synopsis, etc.).","
",'","
","
"].join(""))}});t.default={LibraryView:h}}).call(t,n(2),n(1),n(0))},305:function(e,t,n){"use strict";(function(e,i,r){function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=n(7),s=a(o),l=n(13),c=a(l),d=n(10),u=a(d),h=e.View.extend({el:"#center",model:null,options:{},events:{"click .toolbtn_save_permissions":"savePermissions"},initialize:function(e){this.options=i.extend(this.options,e),this.options.id&&this.fetchFolder()},fetchFolder:function(e){this.options=i.extend(this.options,e),this.model=new c.default.FolderAsModel({id:this.options.id});var t=this;this.model.fetch({success:function(){t.options.show_permissions&&t.showPermissions()},error:function(e,t){void 0!==t.responseJSON?s.default.error(t.responseJSON.err_msg+" Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}}):s.default.error("An error occurred. Click this to go back.","",{onclick:function(){Galaxy.libraries.library_router.back()}})}})},showPermissions:function(e){this.options=i.extend(this.options,e),r(".tooltip").remove();var t=!1;Galaxy.user&&(t=Galaxy.user.isAdmin());var n=this.templateFolderPermissions();this.$el.html(n({folder:this.model,is_admin:t}));var a=this;r.get(Galaxy.root+"api/folders/"+a.id+"/permissions?scope=current").done(function(e){a.prepareSelectBoxes({fetched_permissions:e})}).fail(function(){s.default.error("An error occurred while attempting to fetch folder permissions.")}),r("#center [data-toggle]").tooltip(),r("#center").css("overflow","auto")},_serializeRoles:function(e){for(var t=[],n=0;n=0;n--)t.push(e[n].id);return t},savePermissions:function(e){var t=this,n=this._extractIds(this.addSelectObject.$el.select2("data")),i=this._extractIds(this.manageSelectObject.$el.select2("data")),a=this._extractIds(this.modifySelectObject.$el.select2("data"));r.post(Galaxy.root+"api/folders/"+t.id+"/permissions?action=set_permissions",{"add_ids[]":n,"manage_ids[]":i,"modify_ids[]":a}).done(function(e){t.showPermissions({fetched_permissions:e}),s.default.success("Permissions saved.")}).fail(function(){s.default.error("An error occurred while attempting to set folder permissions.")})},templateFolderPermissions:function(){return i.template(['
',"<% if (is_admin) { %>","You are logged in as an administrator therefore you can manage any folder on this Galaxy instance. Please make sure you understand the consequences.","<% } else { %>","You can assign any number of roles to any of the following permission types. However please read carefully the implications of such actions.","<% }%>","
",'
',"
Folder permissions
","
","Roles that can manage permissions on this folder","
",'','
',"User with any of these roles can manage permissions on this folder.","
","
","Roles that can add items to this folder","
",'','
',"User with any of these roles can add items to this folder (folders and datasets).","
","
","Roles that can modify this folder","
",'','
',"User with any of these roles can modify this folder (name, etc.).","
")}),t?window.show_modal("Issues loading this workflow","Please review the following issues, possibly resulting from tool upgrades or changes.
"+t+"
",{Continue:hide_modal}):hide_modal(),l.showWorkflowParameters()},beforeSubmit:function(e){show_message("Loading workflow","progress")}}),window.make_popupmenu&&make_popupmenu(e("#workflow-options-button"),{Save:d,"Save As":n,Run:function(){window.location=Galaxy.root+"workflows/run?id="+l.options.id},"Edit Attributes":function(){l.workflow.clear_active_node()},"Auto Re-layout":i,Close:c});var h=e.jStorage.get("overview-size");void 0!==h&&e("#overview-border").css({width:h,height:h}),e.jStorage.get("overview-off")?s():a(),e("#overview-border").bind("dragend",function(t,n){var i=e(this).offsetParent(),r=i.offset(),a=Math.max(i.width()-(n.offsetX-r.left),i.height()-(n.offsetY-r.top));e.jStorage.set("overview-size",a+"px")}),e("#close-viewport").click(function(){"0px"===e("#overview-border").css("right")?s():a()}),window.onbeforeunload=function(){if(workflow&&l.workflow.has_changes)return"There are unsaved changes to your workflow which will be lost."},this.options.workflows.length>0&&e("#left").find(".toolMenu").append(this._buildToolPanelWorkflows()),e("div.toolSectionBody").hide(),e("div.toolSectionTitle > span").wrap("");var f=null;e("div.toolSectionTitle").each(function(){var t=e(this).next("div.toolSectionBody");e(this).click(function(){t.is(":hidden")?(f&&f.slideUp("fast"),f=t,t.slideDown("fast")):(t.slideUp("fast"),f=null)})}),(0,M.default)("workflow-name","workflow-name",l.urls.rename_async,"new_name"),e("#workflow-tag").click(function(){return e(".tag-area").click(),!1}),(0,M.default)("workflow-annotation","workflow-annotation",l.urls.annotate_async,"new_annotation",25,!0,4)},_buildToolPanelWorkflows:function(){var t=this,n=e('
');return r.each(this.options.workflows,function(i){if(i.id!==t.options.id){var r=new k.default.ButtonIcon({icon:"fa fa-copy",cls:"ui-button-icon-plain",tooltip:(0,c.default)("Copy and insert individual steps"),onclick:function(){i.step_count<2?t.copy_into_workflow(i.id,i.name):Galaxy.modal.show({title:(0,c.default)("Warning"),body:"This will copy "+i.step_count+" new steps into your workflow.",buttons:{Cancel:function(){Galaxy.modal.hide()},Copy:function(){Galaxy.modal.hide(),t.copy_into_workflow(i.id,i.name)}}})}}),a=e("").attr("href","#").html(i.name).on("click",function(){t.add_node_for_subworkflow(i.latest_id,i.name)});n.find(".toolSectionBg").append(e("").addClass("toolTitle").append(a).append(r.$el))}}),n},copy_into_workflow:function(t){var n=this;this._workflowLoadAjax(t,{success:function(t){n.workflow.from_simple(t,!1);var i="";e.each(t.upgrade_messages,function(t,r){i+="
"}),i?window.show_modal("Subworkflow embedded with changes","Problems were encountered loading this workflow (possibly a result of tool upgrades). Please review the following parameters and then save.
"}),i.html(a),r.show()):(i.html(a),r.hide())},showAttributes:function(){e(".right-content").hide(),e("#edit-attributes").show()},showForm:function(t,n){var i="right-content",r=i+"-"+n.id,a=e("#"+i);if(t&&0==a.find("#"+r).length){var o=e('');if(t.node=n,t.workflow=this.workflow,t.datatypes=this.datatypes,t.icon=y.default[n.type],t.cls="ui-portlet-narrow",n){var s="tool"==n.type?"Tool":"Default";o.append(new w.default[s](t).form.$el),a.append(o)}else Galaxy.emit.debug("workflow-view::initialize()","Node not found in workflow.")}e("."+i).hide(),a.find("#"+r).show(),a.show(),a.scrollTop()},isSubType:function(e,t){return e=this.ext_to_type[e],t=this.ext_to_type[t],this.type_to_type[e]&&t in this.type_to_type[e]},prebuildNode:function(t,n,i){var r=this,a=e(""),o=e("