diff --git a/client/galaxy/scripts/mvc/tool/tools.js b/client/galaxy/scripts/mvc/tool/tools.js index a0d7da79d4d..96451d1d74b 100644 --- a/client/galaxy/scripts/mvc/tool/tools.js +++ b/client/galaxy/scripts/mvc/tool/tools.js @@ -531,9 +531,7 @@ var ToolLinkView = BaseView.extend({ Galaxy.upload.show(); }); } - - // regular tools - if ( this.model.id !== 'upload1' && this.model.get( 'model_class' ) === 'Tool' ) { + else if ( this.model.get( 'model_class' ) === 'Tool' ) { // regular tools var self = this; $link.find('a').on('click', function(e) { e.preventDefault(); diff --git a/client/galaxy/scripts/viz/trackster/tracks.js b/client/galaxy/scripts/viz/trackster/tracks.js index d5318a2797d..265d0bf07d8 100644 --- a/client/galaxy/scripts/viz/trackster/tracks.js +++ b/client/galaxy/scripts/viz/trackster/tracks.js @@ -3259,7 +3259,7 @@ extend(LabelTrack.prototype, Track.prototype, { new_div = $("
").addClass('label-container'); while ( position < view.high ) { var screenPosition = Math.floor( ( position - view.low ) / range * width ); - new_div.append( $("
").addClass('label').text(util.commatize( position )).css( { + new_div.append( $("
").addClass('pos-label').text(commatize( position )).css( { left: screenPosition })); position += tickDistance; diff --git a/client/galaxy/style/less/trackster.less b/client/galaxy/style/less/trackster.less index eabdfcf527a..d68ccbb2553 100644 --- a/client/galaxy/style/less/trackster.less +++ b/client/galaxy/style/less/trackster.less @@ -18,7 +18,7 @@ /* Used to push nav into title bar: */ height: 0; } - + text-align: center; } @@ -202,7 +202,7 @@ padding: 0px 2px; text-align: left; margin: 2px; - + /* Make header opaque when focused on. */ &:hover { background-color: #DDDDDD; @@ -232,7 +232,7 @@ overflow: hidden; } -.overlay { +.overlay { position: absolute; left: 0; top: 0; @@ -241,7 +241,7 @@ .track-tile { position: absolute; background: white; - + canvas { position: relative; z-index: @base-index; @@ -292,7 +292,7 @@ } .label-track { - font-size: 10px; + font-size: 10px; border: none; padding: 0; margin: 0; @@ -300,11 +300,11 @@ overflow: hidden; .label-container { - position: relative; + position: relative; height: 1.3em; } - .label { + .pos-label { position: absolute; border-left: solid #999 1px; padding: 1px; @@ -344,7 +344,7 @@ .nav-labeltrack { border-top: solid #999 1px; border-bottom: solid #333 1px; -} +} // Styles for tools and filters. input { @@ -544,7 +544,7 @@ input { top: 0px; background-color: #ccf; opacity: 0.5; - z-index: @overlay-index; + z-index: @overlay-index; } .mouse-pos { @@ -565,7 +565,7 @@ input { height: 12px; } -// Highlight for element(s) being dragged. This definition must be after definition of draggable +// Highlight for element(s) being dragged. This definition must be after definition of draggable // elements (e.g. track, group) in order to take precedence. .dragging { border: 1px solid blue; diff --git a/lib/galaxy/datatypes/converters/lped_to_pbed_converter.py b/lib/galaxy/datatypes/converters/lped_to_pbed_converter.py index 381630e9d8a..33365131980 100644 --- a/lib/galaxy/datatypes/converters/lped_to_pbed_converter.py +++ b/lib/galaxy/datatypes/converters/lped_to_pbed_converter.py @@ -104,7 +104,7 @@ def main(): f.write('
%s\n
    ' % (s)) for i, data in enumerate( flist ): f.write('
  1. %s
  2. \n' % (os.path.split(data)[-1], os.path.split(data)[-1])) - f.write("
") + f.write("
") f.close() diff --git a/lib/galaxy/datatypes/converters/pbed_to_lped_converter.py b/lib/galaxy/datatypes/converters/pbed_to_lped_converter.py index f24b9ce9aac..8f48a8aed37 100644 --- a/lib/galaxy/datatypes/converters/pbed_to_lped_converter.py +++ b/lib/galaxy/datatypes/converters/pbed_to_lped_converter.py @@ -72,7 +72,7 @@ def main(): f.write('
%s\n
    ' % (s)) for i, data in enumerate( flist ): f.write('
  1. %s
  2. \n' % (os.path.split(data)[-1], os.path.split(data)[-1])) - f.write("
") + f.write("
") f.close() diff --git a/lib/galaxy/model/orm/scripts.py b/lib/galaxy/model/orm/scripts.py index 86d5dc02852..d7fce87ecb2 100644 --- a/lib/galaxy/model/orm/scripts.py +++ b/lib/galaxy/model/orm/scripts.py @@ -19,6 +19,7 @@ DATABASE = { 'repo': 'lib/galaxy/model/migrate', 'old_config_file': 'universe_wsgi.ini', 'default_sqlite_file': './database/universe.sqlite', + 'config_override': 'GALAXY_CONFIG_', }, "tool_shed": { @@ -26,6 +27,7 @@ DATABASE = { 'config_file': 'config/tool_shed.ini', 'old_config_file': 'tool_shed_wsgi.ini', 'default_sqlite_file': './database/community.sqlite', + 'config_override': 'TOOL_SHED_CONFIG_', }, "install": { @@ -33,6 +35,7 @@ DATABASE = { 'old_config_file': 'universe_wsgi.ini', 'config_prefix': 'install_', 'default_sqlite_file': './database/install.sqlite', + 'config_override': 'GALAXY_INSTALL_CONFIG_', }, } @@ -92,11 +95,12 @@ def get_config( argv, cwd=None ): config_file = read_config_file_arg( argv, default, old_default ) repo = database_defaults[ 'repo' ] config_prefix = database_defaults.get( 'config_prefix', DEFAULT_CONFIG_PREFIX ) + config_override = database_defaults.get( 'config_override', 'GALAXY_CONFIG_' ) default_sqlite_file = database_defaults[ 'default_sqlite_file' ] if cwd: config_file = os.path.join( cwd, config_file ) - properties = load_app_properties( ini_file=config_file ) + properties = load_app_properties( ini_file=config_file, config_prefix=config_override ) if ("%sdatabase_connection" % config_prefix) in properties: db_url = properties[ "%sdatabase_connection" % config_prefix ] diff --git a/lib/galaxy/tools/toolbox/base.py b/lib/galaxy/tools/toolbox/base.py index 401997feeb4..adda277f5c6 100644 --- a/lib/galaxy/tools/toolbox/base.py +++ b/lib/galaxy/tools/toolbox/base.py @@ -918,9 +918,9 @@ class AbstractToolBox( object, Dictifiable, ManagesIntegratedToolPanelMixin ): # _tools_by_id and _tool_versions_by_id self.register_tool( new_tool ) message = "Reloaded the tool:
" - message += "name: %s
" % old_tool.name - message += "id: %s
" % old_tool.id - message += "version: %s" % old_tool.version + message += "name: %s
" % escape( old_tool.name ) + message += "id: %s
" % escape( old_tool.id ) + message += "version: %s" % escape( old_tool.version ) status = 'done' return message, status @@ -952,9 +952,9 @@ class AbstractToolBox( object, Dictifiable, ManagesIntegratedToolPanelMixin ): del self.data_manager_tools[ tool_id ] # TODO: do we need to manually remove from the integrated panel here? message = "Removed the tool:
" - message += "name: %s
" % tool.name - message += "id: %s
" % tool.id - message += "version: %s" % tool.version + message += "name: %s
" % escape( tool.name ) + message += "id: %s
" % escape( tool.id ) + message += "version: %s" % escape( tool.version ) status = 'done' return message, status diff --git a/lib/galaxy/web/base/controllers/admin.py b/lib/galaxy/web/base/controllers/admin.py index 37821a3415c..b4e4fc29331 100644 --- a/lib/galaxy/web/base/controllers/admin.py +++ b/lib/galaxy/web/base/controllers/admin.py @@ -98,7 +98,7 @@ class Admin( object ): toolbox = self.app.toolbox tool_id = None if params.get( 'reload_tool_button', False ): - tool_id = params.get('tool_id', None) + tool_id = kwd.get( 'tool_id', None ) galaxy.queue_worker.send_control_task(trans.app, 'reload_tool', noop_self=True, kwargs={'tool_id': tool_id} ) message, status = trans.app.toolbox.reload_tool_by_id( tool_id) return trans.fill_template( '/admin/reload_tool.mako', diff --git a/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py b/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py index 7fba23d9ce2..d3627565091 100644 --- a/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py +++ b/lib/galaxy/webapps/galaxy/api/tool_shed_repositories.py @@ -250,8 +250,10 @@ class ToolShedRepositoriesController( BaseAPIController ): action='show', id=trans.security.encode_id( tool_shed_repository.id ) ) return tool_shed_repository_dict - - return map( to_dict, installed_tool_shed_repositories ) + if installed_tool_shed_repositories: + return map( to_dict, installed_tool_shed_repositories ) + message = "No repositories were installed, possibly because the selected repository has already been installed." + return dict( status="ok", message=message ) @expose_api def install_repository_revisions( self, trans, payload, **kwd ): diff --git a/lib/galaxy/webapps/tool_shed/api/repositories.py b/lib/galaxy/webapps/tool_shed/api/repositories.py index 6b4a9f2d2f6..e4f47df8aae 100644 --- a/lib/galaxy/webapps/tool_shed/api/repositories.py +++ b/lib/galaxy/webapps/tool_shed/api/repositories.py @@ -216,7 +216,8 @@ class RepositoriesController( BaseAPIController ): repository_metadata_dict[ 'url' ] = web.url_for( controller='repository_revisions', action='show', id=encoded_repository_metadata_id ) - repository_metadata_dict[ 'valid_tools' ] = repository_metadata.metadata[ 'tools' ] + if 'tools' in repository_metadata.metadata: + repository_metadata_dict[ 'valid_tools' ] = repository_metadata.metadata[ 'tools' ] # Get the repo_info_dict for installing the repository. repo_info_dict, \ includes_tools, \ diff --git a/lib/galaxy/webapps/tool_shed/buildapp.py b/lib/galaxy/webapps/tool_shed/buildapp.py index 67e5620789a..21da0a06f3d 100644 --- a/lib/galaxy/webapps/tool_shed/buildapp.py +++ b/lib/galaxy/webapps/tool_shed/buildapp.py @@ -16,6 +16,7 @@ from galaxy.webapps.util import build_template_error_formatters from galaxy.webapps.tool_shed.framework.middleware import hg from galaxy import util from galaxy.config import process_is_uwsgi +from galaxy.util.properties import load_app_properties log = logging.getLogger( __name__ ) @@ -49,6 +50,10 @@ def add_ui_controllers( webapp, app ): def app_factory( global_conf, **kwargs ): """Return a wsgi application serving the root object""" # Create the Galaxy tool shed application unless passed in + kwargs = load_app_properties( + kwds=kwargs, + config_prefix='TOOL_SHED_CONFIG_' + ) if 'app' in kwargs: app = kwargs.pop( 'app' ) else: diff --git a/lib/galaxy/webapps/tool_shed/framework/middleware/hg.py b/lib/galaxy/webapps/tool_shed/framework/middleware/hg.py index cdc1aa56cb2..a7117efccbc 100644 --- a/lib/galaxy/webapps/tool_shed/framework/middleware/hg.py +++ b/lib/galaxy/webapps/tool_shed/framework/middleware/hg.py @@ -5,6 +5,7 @@ import os import sqlalchemy import sys import tempfile +import urlparse from paste.auth.basic import AuthBasicAuthenticator from paste.httpheaders import AUTH_TYPE from paste.httpheaders import REMOTE_USER @@ -49,11 +50,11 @@ class Hg( object ): # a clone or a pull. However, we do not want to increment the times_downloaded count if we're only setting repository # metadata. if cmd == 'getbundle' and not self.setting_repository_metadata: - common, _ = environ[ 'HTTP_X_HGARG_1' ].split( '&' ) + hg_args = urlparse.parse_qs( environ[ 'HTTP_X_HGARG_1' ] ) # The 'common' parameter indicates the full sha-1 hash of the changeset the client currently has checked out. If # this is 0000000000000000000000000000000000000000, then the client is performing a fresh checkout. If it has any # other value, the client is getting updates to an existing checkout. - if common == 'common=0000000000000000000000000000000000000000': + if 'common' in hg_args and hg_args[ 'common' ][-1] == '0000000000000000000000000000000000000000': # Increment the value of the times_downloaded column in the repository table for the cloned repository. if 'PATH_INFO' in environ: # Instantiate a database connection diff --git a/static/maps/mvc/tool/tools.js.map b/static/maps/mvc/tool/tools.js.map index f0f3cbcf043..71599f745d5 100644 --- a/static/maps/mvc/tool/tools.js.map +++ b/static/maps/mvc/tool/tools.js.map @@ -1 +1 @@ -{"version":3,"file":"tools.js","sources":["../../../src/mvc/tool/tools.js"],"names":["define","_","util","data","ToolsForm","tool_form_template","tool_link_template","panel_section_template","tool_search_template","VisibilityMixin","hidden","show","this","set","hide","toggle","get","is_visible","attributes","ToolParameter","Backbone","Model","extend","defaults","name","label","type","value","html","num_samples","initialize","unescape","copy","toJSON","set_value","ToolParameterCollection","Collection","model","DataToolParameter","IntegerToolParameter","parseInt","get_samples","d3","scale","linear","domain","ticks","FloatToolParameter","parseFloat","SelectToolParameter","map","option","subModelTypes","integer","float","select","Tool","id","description","target","inputs","outputs","urlRoot","Galaxy","root","options","p","p_class","rval","prototype","call","i","remove_inputs","types","tool","incompatible_inputs","filter","input","indexOf","remove","only_samplable_inputs","valid_inputs","each","push","apply_search_results","results","set_input_value","find","set_input_values","inputs_dict","self","keys","input_name","run","_run","rerun","target_dataset","regions","action","target_dataset_id","get_inputs_dict","input_dict","additional_params","payload","tool_id","run_deferred","$","Deferred","ss_deferred","ServerStateDeferred","ajax_settings","url","JSON","stringify","dataType","contentType","interval","success_fn","response","when","go","then","result","resolve","DatasetCollection","ToolCollection","View","ToolSectionLabel","ToolSection","elems","open","clear_search_results","elt","cur_label","all_hidden","ToolSearch","search_hint_string","min_chars_for_search","spinner_url","clear_btn_url","search_url","visible","query","clear_key","on","do_search","length","q","timer","clearTimeout","setTimeout","ga","clear_search","ToolPanel","tool_search","tools","layout","parse","parse_elt","elt_dict","model_class","panel_elt","BaseView","update_visible","$el","ToolLinkView","tagName","render","$link","append","e","preventDefault","upload","form","version","deferred","execute","app","display","ToolSectionLabelView","className","text","ToolSectionView","update_open","section_body","tool_view","label_view","events","click .toolSectionTitle > a","children","slideDown","slideUp","ToolSearchView","click","keyup :input","click #search-clear-btn","tooltip","focus_and_select","focus","clear","val","query_changed","evData","which","ToolPanelView","handle_search_results","search_view","section_title_view","attr","split","trigger","ToolFormView","tool_panel_view","collection","tool_form_view","css","show_tool","fetch","done","width"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.js","sources":["../../../src/mvc/tool/tools.js"],"names":["define","_","util","data","ToolsForm","tool_form_template","tool_link_template","panel_section_template","tool_search_template","VisibilityMixin","hidden","show","this","set","hide","toggle","get","is_visible","attributes","ToolParameter","Backbone","Model","extend","defaults","name","label","type","value","html","num_samples","initialize","unescape","copy","toJSON","set_value","ToolParameterCollection","Collection","model","DataToolParameter","IntegerToolParameter","parseInt","get_samples","d3","scale","linear","domain","ticks","FloatToolParameter","parseFloat","SelectToolParameter","map","option","subModelTypes","integer","float","select","Tool","id","description","target","inputs","outputs","urlRoot","Galaxy","root","options","p","p_class","rval","prototype","call","i","remove_inputs","types","tool","incompatible_inputs","filter","input","indexOf","remove","only_samplable_inputs","valid_inputs","each","push","apply_search_results","results","set_input_value","find","set_input_values","inputs_dict","self","keys","input_name","run","_run","rerun","target_dataset","regions","action","target_dataset_id","get_inputs_dict","input_dict","additional_params","payload","tool_id","run_deferred","$","Deferred","ss_deferred","ServerStateDeferred","ajax_settings","url","JSON","stringify","dataType","contentType","interval","success_fn","response","when","go","then","result","resolve","DatasetCollection","ToolCollection","View","ToolSectionLabel","ToolSection","elems","open","clear_search_results","elt","cur_label","all_hidden","ToolSearch","search_hint_string","min_chars_for_search","spinner_url","clear_btn_url","search_url","visible","query","clear_key","on","do_search","length","q","timer","clearTimeout","setTimeout","ga","clear_search","ToolPanel","tool_search","tools","layout","parse","parse_elt","elt_dict","model_class","panel_elt","BaseView","update_visible","$el","ToolLinkView","tagName","render","$link","append","e","preventDefault","upload","form","version","deferred","execute","app","display","ToolSectionLabelView","className","text","ToolSectionView","update_open","section_body","tool_view","label_view","events","click .toolSectionTitle > a","children","slideDown","slideUp","ToolSearchView","click","keyup :input","click #search-clear-btn","tooltip","focus_and_select","focus","clear","val","query_changed","evData","which","ToolPanelView","handle_search_results","search_view","section_title_view","attr","split","trigger","ToolFormView","tool_panel_view","collection","tool_form_view","css","show_tool","fetch","done","width"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/mvc/tools.js.map b/static/maps/mvc/tools.js.map new file mode 100644 index 00000000000..c7b41e346dd --- /dev/null +++ b/static/maps/mvc/tools.js.map @@ -0,0 +1 @@ +{"version":3,"file":"tools.js","sources":["../../src/mvc/tools.js"],"names":["define","_","util","data","ToolsForm","VisibilityMixin","hidden","show","this","set","hide","toggle","get","is_visible","attributes","ToolParameter","Backbone","Model","extend","defaults","name","label","type","value","html","num_samples","initialize","unescape","copy","toJSON","set_value","ToolParameterCollection","Collection","model","DataToolParameter","IntegerToolParameter","parseInt","get_samples","d3","scale","linear","domain","ticks","FloatToolParameter","parseFloat","SelectToolParameter","map","option","subModelTypes","integer","float","select","Tool","id","description","target","inputs","outputs","urlRoot","galaxy_config","root","options","p","p_class","rval","prototype","call","i","remove_inputs","types","tool","incompatible_inputs","filter","input","indexOf","remove","only_samplable_inputs","valid_inputs","each","push","apply_search_results","results","set_input_value","find","set_input_values","inputs_dict","self","keys","input_name","run","_run","rerun","target_dataset","regions","action","target_dataset_id","get_inputs_dict","input_dict","additional_params","payload","tool_id","run_deferred","$","Deferred","ss_deferred","ServerStateDeferred","ajax_settings","url","JSON","stringify","dataType","contentType","interval","success_fn","response","when","go","then","result","resolve","DatasetCollection","ToolCollection","View","ToolSectionLabel","ToolSection","elems","open","clear_search_results","elt","cur_label","all_hidden","ToolSearch","search_hint_string","min_chars_for_search","spinner_url","clear_btn_url","search_url","visible","query","clear_key","on","do_search","length","q","timer","clearTimeout","setTimeout","ga","clear_search","ToolPanel","tool_search","tools","layout","parse","parse_elt","elt_dict","model_class","panel_elt","BaseView","update_visible","$el","ToolLinkView","tagName","render","$link","append","Handlebars","templates","tool_link","e","preventDefault","Galaxy","upload","form","version","deferred","execute","app","display","ToolSectionLabelView","className","text","ToolSectionView","update_open","panel_section","section_body","tool_view","label_view","events","click .toolSectionTitle > a","children","slideDown","slideUp","ToolSearchView","click","keyup :input","click #search-clear-btn","tooltip","focus_and_select","focus","clear","val","query_changed","evData","which","ToolPanelView","handle_search_results","search_view","section_title_view","attr","split","trigger","ToolFormView","tool_form","tool_panel_view","collection","tool_form_view","css","show_tool","fetch","done","width"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/viz/trackster/tracks.js.map b/static/maps/viz/trackster/tracks.js.map index 8e98f38dbe0..fe3681ec184 100644 --- a/static/maps/viz/trackster/tracks.js.map +++ b/static/maps/viz/trackster/tracks.js.map @@ -1 +1 @@ -{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","$","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","type","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","val","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","success","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","Math","round","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","num","chrom_data","Deferred","ajax","url","dataType","result","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","resolve","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","status","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","pow","log","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","$","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","type","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","val","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","success","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","Math","round","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","num","chrom_data","Deferred","ajax","url","dataType","result","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","resolve","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","status","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","pow","log","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/mvc/tool/tools.js b/static/scripts/mvc/tool/tools.js index a1ad8fc3d8f..1fe371d0526 100644 --- a/static/scripts/mvc/tool/tools.js +++ b/static/scripts/mvc/tool/tools.js @@ -1,2 +1,2 @@ -define(["libs/underscore","viz/trackster/util","mvc/dataset/data","mvc/tool/tools-form","templates/tool_form.handlebars","templates/tool_link.handlebars","templates/panel_section.handlebars","templates/tool_search.handlebars"],function(a,b,c,d,e,f,g,h){var i={hidden:!1,show:function(){this.set("hidden",!1)},hide:function(){this.set("hidden",!0)},toggle:function(){this.set("hidden",!this.get("hidden"))},is_visible:function(){return!this.attributes.hidden}},j=Backbone.Model.extend({defaults:{name:null,label:null,type:null,value:null,html:null,num_samples:5},initialize:function(){this.attributes.html=unescape(this.attributes.html)},copy:function(){return new j(this.toJSON())},set_value:function(a){this.set("value",a||"")}}),k=Backbone.Collection.extend({model:j}),l=j.extend({}),m=j.extend({set_value:function(a){this.set("value",parseInt(a,10))},get_samples:function(){return d3.scale.linear().domain([this.get("min"),this.get("max")]).ticks(this.get("num_samples"))}}),n=m.extend({set_value:function(a){this.set("value",parseFloat(a))}}),o=j.extend({get_samples:function(){return a.map(this.get("options"),function(a){return a[0]})}});j.subModelTypes={integer:m,"float":n,data:l,select:o};var p=Backbone.Model.extend({defaults:{id:null,name:null,description:null,target:null,inputs:[],outputs:[]},urlRoot:Galaxy.root+"api/tools",initialize:function(b){this.set("inputs",new k(a.map(b.inputs,function(a){var b=j.subModelTypes[a.type]||j;return new b(a)})))},toJSON:function(){var a=Backbone.Model.prototype.toJSON.call(this);return a.inputs=this.get("inputs").map(function(a){return a.toJSON()}),a},remove_inputs:function(a){var b=this,c=b.get("inputs").filter(function(b){return-1!==a.indexOf(b.get("type"))});b.get("inputs").remove(c)},copy:function(a){var b=new p(this.toJSON());if(a){var c=new Backbone.Collection;b.get("inputs").each(function(a){a.get_samples()&&c.push(a)}),b.set("inputs",c)}return b},apply_search_results:function(b){return-1!==a.indexOf(b,this.attributes.id)?this.show():this.hide(),this.is_visible()},set_input_value:function(a,b){this.get("inputs").find(function(b){return b.get("name")===a}).set("value",b)},set_input_values:function(b){var c=this;a.each(a.keys(b),function(a){c.set_input_value(a,b[a])})},run:function(){return this._run()},rerun:function(a,b){return this._run({action:"rerun",target_dataset_id:a.id,regions:b})},get_inputs_dict:function(){var a={};return this.get("inputs").each(function(b){a[b.get("name")]=b.get("value")}),a},_run:function(d){var e=a.extend({tool_id:this.id,inputs:this.get_inputs_dict()},d),f=$.Deferred(),g=new b.ServerStateDeferred({ajax_settings:{url:this.urlRoot,data:JSON.stringify(e),dataType:"json",contentType:"application/json",type:"POST"},interval:2e3,success_fn:function(a){return"pending"!==a}});return $.when(g.go()).then(function(a){f.resolve(new c.DatasetCollection(a))}),f}});a.extend(p.prototype,i);var q=(Backbone.View.extend({}),Backbone.Collection.extend({model:p})),r=Backbone.Model.extend(i),s=Backbone.Model.extend({defaults:{elems:[],open:!1},clear_search_results:function(){a.each(this.attributes.elems,function(a){a.show()}),this.show(),this.set("open",!1)},apply_search_results:function(b){var c,d=!0;a.each(this.attributes.elems,function(a){a instanceof r?(c=a,c.hide()):a instanceof p&&a.apply_search_results(b)&&(d=!1,c&&c.show())}),d?this.hide():(this.show(),this.set("open",!0))}});a.extend(s.prototype,i);var t=Backbone.Model.extend({defaults:{search_hint_string:"search tools",min_chars_for_search:3,spinner_url:"",clear_btn_url:"",search_url:"",visible:!0,query:"",results:null,clear_key:27},urlRoot:Galaxy.root+"api/tools",initialize:function(){this.on("change:query",this.do_search)},do_search:function(){var a=this.attributes.query;if(a.length");if(a.append(f(this.model.toJSON())),"upload1"===this.model.id&&a.find("a").on("click",function(a){a.preventDefault(),Galaxy.upload.show()}),"upload1"!==this.model.id&&"Tool"===this.model.get("model_class")){var b=this;a.find("a").on("click",function(a){a.preventDefault();var c=new d.View({id:b.model.id,version:b.model.get("version")});c.deferred.execute(function(){Galaxy.app.display(c)})})}return this.$el.append(a),this}}),x=v.extend({tagName:"div",className:"toolPanelLabel",render:function(){return this.$el.append($("").text(this.model.attributes.text)),this}}),y=v.extend({tagName:"div",className:"toolSectionWrapper",initialize:function(){v.prototype.initialize.call(this),this.model.on("change:open",this.update_open,this)},render:function(){this.$el.append(g(this.model.toJSON()));var b=this.$el.find(".toolSectionBody");return a.each(this.model.attributes.elems,function(a){if(a instanceof p){var c=new w({model:a,className:"toolTitle"});c.render(),b.append(c.$el)}else if(a instanceof r){var d=new x({model:a});d.render(),b.append(d.$el)}}),this},events:{"click .toolSectionTitle > a":"toggle"},toggle:function(){this.model.set("open",!this.model.attributes.open)},update_open:function(){this.model.attributes.open?this.$el.children(".toolSectionBody").slideDown("fast"):this.$el.children(".toolSectionBody").slideUp("fast")}}),z=Backbone.View.extend({tagName:"div",id:"tool-search",className:"bar",events:{click:"focus_and_select","keyup :input":"query_changed","click #search-clear-btn":"clear"},render:function(){return this.$el.append(h(this.model.toJSON())),this.model.is_visible()||this.$el.hide(),this.$el.find("[title]").tooltip(),this},focus_and_select:function(){this.$el.find(":input").focus().select()},clear:function(){return this.model.clear_search(),this.$el.find(":input").val(""),this.focus_and_select(),!1},query_changed:function(a){return this.model.attributes.clear_key&&this.model.attributes.clear_key===a.which?(this.clear(),!1):void this.model.set("query",this.$el.find(":input").val())}}),A=Backbone.View.extend({tagName:"div",className:"toolMenu",initialize:function(){this.model.get("tool_search").on("change:results",this.handle_search_results,this)},render:function(){var a=this,b=new z({model:this.model.get("tool_search")});return b.render(),a.$el.append(b.$el),this.model.get("layout").each(function(b){if(b instanceof s){var c=new y({model:b});c.render(),a.$el.append(c.$el)}else if(b instanceof p){var d=new w({model:b,className:"toolTitleNoSection"});d.render(),a.$el.append(d.$el)}else if(b instanceof r){var e=new x({model:b});e.render(),a.$el.append(e.$el)}}),a.$el.find("a.tool-link").click(function(b){var c=$(this).attr("class").split(/\s+/)[0],d=a.model.get("tools").get(c);a.trigger("tool_link_click",b,d)}),this},handle_search_results:function(){var a=this.model.get("tool_search").get("results");a&&0===a.length?$("#search-no-results").show():$("#search-no-results").hide()}}),B=Backbone.View.extend({className:"toolForm",render:function(){this.$el.children().remove(),this.$el.append(e(this.model.toJSON()))}});Backbone.View.extend({className:"toolMenuAndView",initialize:function(){this.tool_panel_view=new A({collection:this.collection}),this.tool_form_view=new B},render:function(){this.tool_panel_view.render(),this.tool_panel_view.$el.css("float","left"),this.$el.append(this.tool_panel_view.$el),this.tool_form_view.$el.hide(),this.$el.append(this.tool_form_view.$el);var a=this;this.tool_panel_view.on("tool_link_click",function(b,c){b.preventDefault(),a.show_tool(c)})},show_tool:function(a){var b=this;a.fetch().done(function(){b.tool_form_view.model=a,b.tool_form_view.render(),b.tool_form_view.$el.show(),$("#left").width("650px")})}})}return{ToolParameter:j,IntegerToolParameter:m,SelectToolParameter:o,Tool:p,ToolCollection:q,ToolSearch:t,ToolPanel:u,ToolPanelView:A,ToolFormView:B}}); +define(["libs/underscore","viz/trackster/util","mvc/dataset/data","mvc/tool/tools-form","templates/tool_form.handlebars","templates/tool_link.handlebars","templates/panel_section.handlebars","templates/tool_search.handlebars"],function(a,b,c,d,e,f,g,h){var i={hidden:!1,show:function(){this.set("hidden",!1)},hide:function(){this.set("hidden",!0)},toggle:function(){this.set("hidden",!this.get("hidden"))},is_visible:function(){return!this.attributes.hidden}},j=Backbone.Model.extend({defaults:{name:null,label:null,type:null,value:null,html:null,num_samples:5},initialize:function(){this.attributes.html=unescape(this.attributes.html)},copy:function(){return new j(this.toJSON())},set_value:function(a){this.set("value",a||"")}}),k=Backbone.Collection.extend({model:j}),l=j.extend({}),m=j.extend({set_value:function(a){this.set("value",parseInt(a,10))},get_samples:function(){return d3.scale.linear().domain([this.get("min"),this.get("max")]).ticks(this.get("num_samples"))}}),n=m.extend({set_value:function(a){this.set("value",parseFloat(a))}}),o=j.extend({get_samples:function(){return a.map(this.get("options"),function(a){return a[0]})}});j.subModelTypes={integer:m,"float":n,data:l,select:o};var p=Backbone.Model.extend({defaults:{id:null,name:null,description:null,target:null,inputs:[],outputs:[]},urlRoot:Galaxy.root+"api/tools",initialize:function(b){this.set("inputs",new k(a.map(b.inputs,function(a){var b=j.subModelTypes[a.type]||j;return new b(a)})))},toJSON:function(){var a=Backbone.Model.prototype.toJSON.call(this);return a.inputs=this.get("inputs").map(function(a){return a.toJSON()}),a},remove_inputs:function(a){var b=this,c=b.get("inputs").filter(function(b){return-1!==a.indexOf(b.get("type"))});b.get("inputs").remove(c)},copy:function(a){var b=new p(this.toJSON());if(a){var c=new Backbone.Collection;b.get("inputs").each(function(a){a.get_samples()&&c.push(a)}),b.set("inputs",c)}return b},apply_search_results:function(b){return-1!==a.indexOf(b,this.attributes.id)?this.show():this.hide(),this.is_visible()},set_input_value:function(a,b){this.get("inputs").find(function(b){return b.get("name")===a}).set("value",b)},set_input_values:function(b){var c=this;a.each(a.keys(b),function(a){c.set_input_value(a,b[a])})},run:function(){return this._run()},rerun:function(a,b){return this._run({action:"rerun",target_dataset_id:a.id,regions:b})},get_inputs_dict:function(){var a={};return this.get("inputs").each(function(b){a[b.get("name")]=b.get("value")}),a},_run:function(d){var e=a.extend({tool_id:this.id,inputs:this.get_inputs_dict()},d),f=$.Deferred(),g=new b.ServerStateDeferred({ajax_settings:{url:this.urlRoot,data:JSON.stringify(e),dataType:"json",contentType:"application/json",type:"POST"},interval:2e3,success_fn:function(a){return"pending"!==a}});return $.when(g.go()).then(function(a){f.resolve(new c.DatasetCollection(a))}),f}});a.extend(p.prototype,i);var q=(Backbone.View.extend({}),Backbone.Collection.extend({model:p})),r=Backbone.Model.extend(i),s=Backbone.Model.extend({defaults:{elems:[],open:!1},clear_search_results:function(){a.each(this.attributes.elems,function(a){a.show()}),this.show(),this.set("open",!1)},apply_search_results:function(b){var c,d=!0;a.each(this.attributes.elems,function(a){a instanceof r?(c=a,c.hide()):a instanceof p&&a.apply_search_results(b)&&(d=!1,c&&c.show())}),d?this.hide():(this.show(),this.set("open",!0))}});a.extend(s.prototype,i);var t=Backbone.Model.extend({defaults:{search_hint_string:"search tools",min_chars_for_search:3,spinner_url:"",clear_btn_url:"",search_url:"",visible:!0,query:"",results:null,clear_key:27},urlRoot:Galaxy.root+"api/tools",initialize:function(){this.on("change:query",this.do_search)},do_search:function(){var a=this.attributes.query;if(a.length");if(a.append(f(this.model.toJSON())),"upload1"===this.model.id)a.find("a").on("click",function(a){a.preventDefault(),Galaxy.upload.show()});else if("Tool"===this.model.get("model_class")){var b=this;a.find("a").on("click",function(a){a.preventDefault();var c=new d.View({id:b.model.id,version:b.model.get("version")});c.deferred.execute(function(){Galaxy.app.display(c)})})}return this.$el.append(a),this}}),x=v.extend({tagName:"div",className:"toolPanelLabel",render:function(){return this.$el.append($("").text(this.model.attributes.text)),this}}),y=v.extend({tagName:"div",className:"toolSectionWrapper",initialize:function(){v.prototype.initialize.call(this),this.model.on("change:open",this.update_open,this)},render:function(){this.$el.append(g(this.model.toJSON()));var b=this.$el.find(".toolSectionBody");return a.each(this.model.attributes.elems,function(a){if(a instanceof p){var c=new w({model:a,className:"toolTitle"});c.render(),b.append(c.$el)}else if(a instanceof r){var d=new x({model:a});d.render(),b.append(d.$el)}}),this},events:{"click .toolSectionTitle > a":"toggle"},toggle:function(){this.model.set("open",!this.model.attributes.open)},update_open:function(){this.model.attributes.open?this.$el.children(".toolSectionBody").slideDown("fast"):this.$el.children(".toolSectionBody").slideUp("fast")}}),z=Backbone.View.extend({tagName:"div",id:"tool-search",className:"bar",events:{click:"focus_and_select","keyup :input":"query_changed","click #search-clear-btn":"clear"},render:function(){return this.$el.append(h(this.model.toJSON())),this.model.is_visible()||this.$el.hide(),this.$el.find("[title]").tooltip(),this},focus_and_select:function(){this.$el.find(":input").focus().select()},clear:function(){return this.model.clear_search(),this.$el.find(":input").val(""),this.focus_and_select(),!1},query_changed:function(a){return this.model.attributes.clear_key&&this.model.attributes.clear_key===a.which?(this.clear(),!1):void this.model.set("query",this.$el.find(":input").val())}}),A=Backbone.View.extend({tagName:"div",className:"toolMenu",initialize:function(){this.model.get("tool_search").on("change:results",this.handle_search_results,this)},render:function(){var a=this,b=new z({model:this.model.get("tool_search")});return b.render(),a.$el.append(b.$el),this.model.get("layout").each(function(b){if(b instanceof s){var c=new y({model:b});c.render(),a.$el.append(c.$el)}else if(b instanceof p){var d=new w({model:b,className:"toolTitleNoSection"});d.render(),a.$el.append(d.$el)}else if(b instanceof r){var e=new x({model:b});e.render(),a.$el.append(e.$el)}}),a.$el.find("a.tool-link").click(function(b){var c=$(this).attr("class").split(/\s+/)[0],d=a.model.get("tools").get(c);a.trigger("tool_link_click",b,d)}),this},handle_search_results:function(){var a=this.model.get("tool_search").get("results");a&&0===a.length?$("#search-no-results").show():$("#search-no-results").hide()}}),B=Backbone.View.extend({className:"toolForm",render:function(){this.$el.children().remove(),this.$el.append(e(this.model.toJSON()))}});Backbone.View.extend({className:"toolMenuAndView",initialize:function(){this.tool_panel_view=new A({collection:this.collection}),this.tool_form_view=new B},render:function(){this.tool_panel_view.render(),this.tool_panel_view.$el.css("float","left"),this.$el.append(this.tool_panel_view.$el),this.tool_form_view.$el.hide(),this.$el.append(this.tool_form_view.$el);var a=this;this.tool_panel_view.on("tool_link_click",function(b,c){b.preventDefault(),a.show_tool(c)})},show_tool:function(a){var b=this;a.fetch().done(function(){b.tool_form_view.model=a,b.tool_form_view.render(),b.tool_form_view.$el.show(),$("#left").width("650px")})}})}return{ToolParameter:j,IntegerToolParameter:m,SelectToolParameter:o,Tool:p,ToolCollection:q,ToolSearch:t,ToolPanel:u,ToolPanelView:A,ToolFormView:B}}); //# sourceMappingURL=../../../maps/mvc/tool/tools.js.map \ No newline at end of file diff --git a/static/scripts/mvc/tools.js b/static/scripts/mvc/tools.js new file mode 100644 index 00000000000..4a325dfe087 --- /dev/null +++ b/static/scripts/mvc/tools.js @@ -0,0 +1,2 @@ +define(["libs/underscore","viz/trackster/util","mvc/data","mvc/tools/tools-form"],function(a,b,c,d){var e={hidden:!1,show:function(){this.set("hidden",!1)},hide:function(){this.set("hidden",!0)},toggle:function(){this.set("hidden",!this.get("hidden"))},is_visible:function(){return!this.attributes.hidden}},f=Backbone.Model.extend({defaults:{name:null,label:null,type:null,value:null,html:null,num_samples:5},initialize:function(){this.attributes.html=unescape(this.attributes.html)},copy:function(){return new f(this.toJSON())},set_value:function(a){this.set("value",a||"")}}),g=Backbone.Collection.extend({model:f}),h=f.extend({}),i=f.extend({set_value:function(a){this.set("value",parseInt(a,10))},get_samples:function(){return d3.scale.linear().domain([this.get("min"),this.get("max")]).ticks(this.get("num_samples"))}}),j=i.extend({set_value:function(a){this.set("value",parseFloat(a))}}),k=f.extend({get_samples:function(){return a.map(this.get("options"),function(a){return a[0]})}});f.subModelTypes={integer:i,"float":j,data:h,select:k};var l=Backbone.Model.extend({defaults:{id:null,name:null,description:null,target:null,inputs:[],outputs:[]},urlRoot:galaxy_config.root+"api/tools",initialize:function(b){this.set("inputs",new g(a.map(b.inputs,function(a){var b=f.subModelTypes[a.type]||f;return new b(a)})))},toJSON:function(){var a=Backbone.Model.prototype.toJSON.call(this);return a.inputs=this.get("inputs").map(function(a){return a.toJSON()}),a},remove_inputs:function(a){var b=this,c=b.get("inputs").filter(function(b){return-1!==a.indexOf(b.get("type"))});b.get("inputs").remove(c)},copy:function(a){var b=new l(this.toJSON());if(a){var c=new Backbone.Collection;b.get("inputs").each(function(a){a.get_samples()&&c.push(a)}),b.set("inputs",c)}return b},apply_search_results:function(b){return-1!==a.indexOf(b,this.attributes.id)?this.show():this.hide(),this.is_visible()},set_input_value:function(a,b){this.get("inputs").find(function(b){return b.get("name")===a}).set("value",b)},set_input_values:function(b){var c=this;a.each(a.keys(b),function(a){c.set_input_value(a,b[a])})},run:function(){return this._run()},rerun:function(a,b){return this._run({action:"rerun",target_dataset_id:a.id,regions:b})},get_inputs_dict:function(){var a={};return this.get("inputs").each(function(b){a[b.get("name")]=b.get("value")}),a},_run:function(d){var e=a.extend({tool_id:this.id,inputs:this.get_inputs_dict()},d),f=$.Deferred(),g=new b.ServerStateDeferred({ajax_settings:{url:this.urlRoot,data:JSON.stringify(e),dataType:"json",contentType:"application/json",type:"POST"},interval:2e3,success_fn:function(a){return"pending"!==a}});return $.when(g.go()).then(function(a){f.resolve(new c.DatasetCollection(a))}),f}});a.extend(l.prototype,e);var m=(Backbone.View.extend({}),Backbone.Collection.extend({model:l})),n=Backbone.Model.extend(e),o=Backbone.Model.extend({defaults:{elems:[],open:!1},clear_search_results:function(){a.each(this.attributes.elems,function(a){a.show()}),this.show(),this.set("open",!1)},apply_search_results:function(b){var c,d=!0;a.each(this.attributes.elems,function(a){a instanceof n?(c=a,c.hide()):a instanceof l&&a.apply_search_results(b)&&(d=!1,c&&c.show())}),d?this.hide():(this.show(),this.set("open",!0))}});a.extend(o.prototype,e);var p=Backbone.Model.extend({defaults:{search_hint_string:"search tools",min_chars_for_search:3,spinner_url:"",clear_btn_url:"",search_url:"",visible:!0,query:"",results:null,clear_key:27},urlRoot:galaxy_config.root+"api/tools",initialize:function(){this.on("change:query",this.do_search)},do_search:function(){var a=this.attributes.query;if(a.length");if(a.append(Handlebars.templates.tool_link(this.model.toJSON())),"upload1"===this.model.id)a.find("a").on("click",function(a){a.preventDefault(),Galaxy.upload.show()});else if("Tool"===this.model.get("model_class")){var b=this;a.find("a").on("click",function(a){a.preventDefault();var c=new d.View({id:b.model.id,version:b.model.get("version")});c.deferred.execute(function(){Galaxy.app.display(c)})})}return this.$el.append(a),this}}),t=r.extend({tagName:"div",className:"toolPanelLabel",render:function(){return this.$el.append($("").text(this.model.attributes.text)),this}}),u=r.extend({tagName:"div",className:"toolSectionWrapper",initialize:function(){r.prototype.initialize.call(this),this.model.on("change:open",this.update_open,this)},render:function(){this.$el.append(Handlebars.templates.panel_section(this.model.toJSON()));var b=this.$el.find(".toolSectionBody");return a.each(this.model.attributes.elems,function(a){if(a instanceof l){var c=new s({model:a,className:"toolTitle"});c.render(),b.append(c.$el)}else if(a instanceof n){var d=new t({model:a});d.render(),b.append(d.$el)}}),this},events:{"click .toolSectionTitle > a":"toggle"},toggle:function(){this.model.set("open",!this.model.attributes.open)},update_open:function(){this.model.attributes.open?this.$el.children(".toolSectionBody").slideDown("fast"):this.$el.children(".toolSectionBody").slideUp("fast")}}),v=Backbone.View.extend({tagName:"div",id:"tool-search",className:"bar",events:{click:"focus_and_select","keyup :input":"query_changed","click #search-clear-btn":"clear"},render:function(){return this.$el.append(Handlebars.templates.tool_search(this.model.toJSON())),this.model.is_visible()||this.$el.hide(),this.$el.find("[title]").tooltip(),this},focus_and_select:function(){this.$el.find(":input").focus().select()},clear:function(){return this.model.clear_search(),this.$el.find(":input").val(""),this.focus_and_select(),!1},query_changed:function(a){return this.model.attributes.clear_key&&this.model.attributes.clear_key===a.which?(this.clear(),!1):void this.model.set("query",this.$el.find(":input").val())}}),w=Backbone.View.extend({tagName:"div",className:"toolMenu",initialize:function(){this.model.get("tool_search").on("change:results",this.handle_search_results,this)},render:function(){var a=this,b=new v({model:this.model.get("tool_search")});return b.render(),a.$el.append(b.$el),this.model.get("layout").each(function(b){if(b instanceof o){var c=new u({model:b});c.render(),a.$el.append(c.$el)}else if(b instanceof l){var d=new s({model:b,className:"toolTitleNoSection"});d.render(),a.$el.append(d.$el)}else if(b instanceof n){var e=new t({model:b});e.render(),a.$el.append(e.$el)}}),a.$el.find("a.tool-link").click(function(b){var c=$(this).attr("class").split(/\s+/)[0],d=a.model.get("tools").get(c);a.trigger("tool_link_click",b,d)}),this},handle_search_results:function(){var a=this.model.get("tool_search").get("results");a&&0===a.length?$("#search-no-results").show():$("#search-no-results").hide()}}),x=Backbone.View.extend({className:"toolForm",render:function(){this.$el.children().remove(),this.$el.append(Handlebars.templates.tool_form(this.model.toJSON()))}});Backbone.View.extend({className:"toolMenuAndView",initialize:function(){this.tool_panel_view=new w({collection:this.collection}),this.tool_form_view=new x},render:function(){this.tool_panel_view.render(),this.tool_panel_view.$el.css("float","left"),this.$el.append(this.tool_panel_view.$el),this.tool_form_view.$el.hide(),this.$el.append(this.tool_form_view.$el);var a=this;this.tool_panel_view.on("tool_link_click",function(b,c){b.preventDefault(),a.show_tool(c)})},show_tool:function(a){var b=this;a.fetch().done(function(){b.tool_form_view.model=a,b.tool_form_view.render(),b.tool_form_view.$el.show(),$("#left").width("650px")})}})}return{ToolParameter:f,IntegerToolParameter:i,SelectToolParameter:k,Tool:l,ToolCollection:m,ToolSearch:p,ToolPanel:q,ToolPanelView:w,ToolFormView:x}}); +//# sourceMappingURL=../../maps/mvc/tools.js.map \ No newline at end of file diff --git a/static/scripts/viz/trackster/tracks.js b/static/scripts/viz/trackster/tracks.js index 4715afd0636..404ab0f0a9a 100644 --- a/static/scripts/viz/trackster/tracks.js +++ b/static/scripts/viz/trackster/tracks.js @@ -1,3 +1,3 @@ define(["libs/underscore","viz/visualization","viz/viz_views","viz/trackster/util","viz/trackster/slotting","viz/trackster/painters","viz/trackster/filters","mvc/dataset/data","mvc/tool/tools","utils/config","ui/editable-text"],function(a,b,c,d,e,f,g,h,i,j){var k=a.extend,l={},m=function(a,b){l[a.attr("id")]=b},n=function(a,b,c,d){c=".group",l[a.attr("id")]=d,a.bind("drag",{handle:"."+b,relative:!0},function(a,b){var d,e,f,g,h,i=($(this),$(this).parent()),j=i.children(".track,.group"),k=l[$(this).attr("id")];if(e=$(this).parents(c),0!==e.length){f=e.position().top,g=f+e.outerHeight();var m=l[e.attr("id")];if(b.offsetYg)return $(this).insertAfter(e),m.remove_drawable(k),void m.container.add_drawable(k)}for(e=null,h=0;h=f&&b.offsetY<=g)return b.offsetY-f0?h-1:h))}).bind("dragstart",function(){$(this).addClass("dragging")}).bind("dragend",function(){$(this).removeClass("dragging")})},o=20,p=100,q=12e3,r=400,s=5e3,t=100,u="Cannot display dataset due to an error. ",v="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",w="No data for this chrom/contig.",x="Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background.",y="Tool cannot be rerun: ",z="Ready for display",A=10,B=["Histogram","Line","Filled","Intensity"],C=function(a,b,d){if(C.id_counter||(C.id_counter=0),this.id=C.id_counter++,this.view=a,this.container=b,this.drag_handle_class=d.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=j.ConfigSettingCollection.from_models_and_saved_values(this.config_params,d.prefs),this.config.get_value("name")||this.config.set_value("name",d.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,d.header!==!1){var e=new c.TrackHeaderView({model:this,id:this.id});this.header_div=e.$el,this.container_div.append(this.header_div);var f=e.icons_div;this.action_icons=e.action_icons,this.container_div.hover(function(){f.show()},function(){f.hide()})}};C.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(a){a.config.get_value("content_visible")?(a.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),a.hide_contents(),a.config.set_value("content_visible",!1)):(a.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),a.config.set_value("content_visible",!0),a.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(a){var b=new j.ConfigSettingCollectionView({collection:a.config});b.render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(a){$(".tooltip").remove(),a.remove()}}],k(C.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return this.enabled&&this.config.get_value("content_visible")?!0:!1},request_draw:function(){},_draw:function(){},to_dict:function(){},set_name:function(a){this.old_name=this.config.get_value("name"),this.config.set_value("name",a)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var a=this.view;this.container_div.hide(0,function(){$(this).remove(),a.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var D=function(a,b,c){C.call(this,a,b,c),this.obj_type=c.obj_type,this.drawables=[]};k(D.prototype,C.prototype,{unpack_drawables:function(a){this.drawables=[];for(var b,c=0;c").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),m(this.container_div,this),m(this.content_div,this),n(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new g.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after($("
")),this.saved_filters_managers=[],"drawables"in c&&this.unpack_drawables(c.drawables),"filters"in c){var d=this.filters_manager;this.filters_manager=new g.FiltersManager(this,c.filters),d.parent_div.replaceWith(this.filters_manager.parent_div),c.filters.visible&&this.setup_multitrack_filtering()}};k(E.prototype,C.prototype,D.prototype,{action_icons_def:[C.prototype.action_icons_def[0],C.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?(a.filters_manager.clear_filters(),a._restore_filter_managers()):(a.setup_multitrack_filtering(),a.request_draw({clear_tile_cache:!0})),a.filters_manager.toggle()}},C.prototype.action_icons_def[2]],build_container_div:function(){var a=$("
").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(a),a},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var a=this.drawables.length;if(0===a)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===a)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof Q),this.action_icons.filters_icon.hide();else{var b,c,d,e=!0,f=this.drawables[0].get_type(),h=0;for(b=0;a>b;b++){if(d=this.drawables[b],d.get_type()!==f){can_composite=!1;break}d instanceof U&&h++}if(e&&this.drawables[0]instanceof S?this.action_icons.composite_icon.show():(this.action_icons.composite_icon.hide(),$(".tooltip").remove()),h>1&&h===this.drawables.length){var i,j={};for(d=this.drawables[0],c=0;c0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var a=0;a0){this.saved_filters_managers=[];for(var a=0;a").addClass("top-container").appendTo(c),this.browser_content_div=$("
").addClass("content").appendTo(c),this.bottom_container=$("
").addClass("bottom-container").appendTo(c),this.top_labeltrack=$("
").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=$("
").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,m(this.viewport_container,d),this.intro_div=$("
").addClass("intro").appendTo(this.viewport_container);$("
").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){b.select_datasets(Galaxy.root+"visualization/list_current_history_datasets",Galaxy.root+"api/datasets",{"f-dbkey":d.dbkey},function(b){a.each(b,function(a){d.add_drawable(Y(a,d,d))})})});this.nav_container=$("
").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=$("
").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=$("
").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=$("
").addClass("overview-viewport").appendTo(this.overview),this.overview_close=$("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=$("
").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=$("
").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=$("
").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=$("
").addClass("nav-controls").appendTo(this.nav),this.chrom_select=$("").addClass("nav-input").hide().bind("keyup focusout",e).appendTo(this.nav_controls),this.location_span=$("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){d.location_span.hide(),d.chrom_select.hide(),d.nav_input.val(d.chrom+":"+d.low+"-"+d.high),d.nav_input.css("display","inline-block"),d.nav_input.select(),d.nav_input.focus(),d.nav_input.autocomplete({source:function(a,b){var c=[],e=$.map(d.get_tracks(U),function(b){return b.data_manager.search_features(a.term).success(function(a){c=c.concat(a)})});$.when.apply($,e).done(function(){b($.map(c,function(a){return{label:a[0],value:a[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=$("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=$("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){d.zoom_out()}).appendTo(this.nav_controls),this.zi_link=$("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){d.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){d.change_chrom(d.chrom_select.val())}),this.browser_content_div.click(function(){$(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(a){d.zoom_in(a.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(a,b){this.current_x=b.offsetX}).bind("drag",function(a,b){var c=b.offsetX-this.current_x;this.current_x=b.offsetX;var e=Math.round(c/d.viewport_container.width()*(d.max_high-d.max_low));d.move_delta(-e)}),this.overview_close.click(function(){d.reset_overview()}),this.viewport_container.bind("draginit",function(a){return a.clientX>d.viewport_container.width()-16?!1:void 0}).bind("dragstart",function(a,b){b.original_low=d.low,b.current_height=a.clientY,b.current_x=b.offsetX}).bind("drag",function(a,b){var c=$(this),e=b.offsetX-b.current_x,f=c.scrollTop()-(a.clientY-b.current_height);c.scrollTop(f),b.current_height=a.clientY,b.current_x=b.offsetX;var g=Math.round(e/d.viewport_container.width()*(d.high-d.low));d.move_delta(g)}),this.top_labeltrack.bind("dragstart",function(){return $("
").addClass("zoom-area").css("height",d.browser_content_div.height()+d.top_labeltrack.height()+1).appendTo($(this))}).bind("drag",function(a,b){$(b.proxy).css({left:Math.min(a.pageX,b.startX)-d.container.offset().left,width:Math.abs(a.pageX-b.startX)});var c=Math.min(a.pageX,b.startX)-d.container.offset().left,e=Math.max(a.pageX,b.startX)-d.container.offset().left,f=d.high-d.low,g=d.viewport_container.width();d.update_location(Math.round(c/g*f)+d.low,Math.round(e/g*f)+d.low)}).bind("dragend",function(a,b){var c=Math.min(a.pageX,b.startX),e=Math.max(a.pageX,b.startX),f=d.high-d.low,g=d.viewport_container.width(),h=d.low;d.low=Math.round(c/g*f)+h,d.high=Math.round(e/g*f)+h,$(b.proxy).remove(),d.request_redraw()}),this.add_label_track(new P(this,{content_div:this.top_labeltrack})),$(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){d.resize_window()},500)}),$(document).bind("redraw",function(){d.redraw()}),this.reset(),$(window).trigger("resize")},get_base_color:function(a){return this.config.get_value(a.toLowerCase()+"_color")||this.config.get_value("n_color")}});k(F.prototype,D.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(a,b,c,d){if(this.timer&&clearTimeout(this.timer),d){var e=this;this.timer=setTimeout(function(){e.trigger("navigate",a+":"+b+"-"+c)},500)}else view.trigger("navigate",a+":"+b+"-"+c)},update_location:function(a,b){this.location_span.text(d.commatize(a)+" - "+d.commatize(b)),this.nav_input.val(this.chrom+":"+d.commatize(a)+"-"+d.commatize(b));var c=this.chrom_select.val();""!==c&&this.trigger_navigate(c,this.low,this.high,!0)},load_chroms:function(a){a.num=t;var b=this,c=$.Deferred();return $.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:a,dataType:"json",success:function(a){if(0!==a.chrom_info.length){if(a.reference){var d=new R(b);b.add_label_track(d),b.reference_track=d}b.chrom_data=a.chrom_info;for(var e='',f=0,g=b.chrom_data.length;g>f;f++){var h=b.chrom_data[f].chrom;e+='"}a.prev_chroms&&(e+='"),a.next_chroms&&(e+='"),b.chrom_select.html(e),b.chrom_start_index=a.start_index,c.resolve(a.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+b.dbkey)}}),c},change_chrom:function(a,b,c){var d=this;if(!d.chrom_data)return void d.load_chroms_deferred.then(function(){d.change_chrom(a,b,c)});if(a&&"None"!==a){if("previous"===a)return void d.load_chroms({low:this.chrom_start_index-t});if("next"===a)return void d.load_chroms({low:this.chrom_start_index+t});var e=$.grep(d.chrom_data,function(b){return b.chrom===a})[0];if(void 0===e)return void d.load_chroms({chrom:a},function(){d.change_chrom(a,b,c)});if(a!==d.chrom){d.chrom=a,d.chrom_select.val(d.chrom),d.max_high=e.len-1,d.reset();for(var f=0,g=d.drawables.length;g>f;f++){var h=d.drawables[f];h.init&&h.init()}d.reference_track&&d.reference_track.init()}void 0===b&&void 0===c?(d.low=0,d.high=d.max_high):(d.low=void 0!==b?Math.max(b,0):0,void 0===c?(d.low=Math.max(d.low-15,0),d.high=d.low+30):d.high=Math.min(c,d.max_high)),d.request_redraw()}},go_to:function(a){a=a.replace(/,/g,""),a=a.replace(/:|\-/g," ");var b=a.split(/\s+/),c=b[0],d=b[1]?parseInt(b[1],10):void 0,e=b[2]?parseInt(b[2],10):void 0;this.change_chrom(c,d,e)},move_fraction:function(a){var b=this,c=b.high-b.low;this.move_delta(a*c)},move_delta:function(a){var b=this,c=b.high-b.low;b.low-ab.max_high?(b.high=b.max_high,b.low=b.max_high-c):(b.high-=a,b.low-=a),b.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){b.request_redraw()},200);var d=b.chrom_select.val();this.trigger_navigate(d,b.low,b.high,!0)},add_drawable:function(a){D.prototype.add_drawable.call(this,a),a.init(),this.changed(),this.update_intro_div();var b=this;a.config.on("change",function(){b.changed()})},add_label_track:function(a){a.view=this,a.init(),this.label_tracks.push(a)},remove_drawable:function(a,b){if(D.prototype.remove_drawable.call(this,a),b){var c=this;a.container_div.hide(0,function(){$(this).remove(),c.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(b,c){var d=this,e=c?[c]:d.drawables;a.each(e,function(c){var e=a.find(d.tracks_to_be_redrawn,function(a){return a[0]===c});e?e[1]=b:d.tracks_to_be_redrawn.push([c,b])}),this.requested_redraw||(requestAnimationFrame(function(){d._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var b=this.low,c=this.high;bthis.max_high&&(c=this.max_high);var d=this.high-this.low;0!==this.high&&df&&this.overview_box.css("left",e-(g-f)/2),this.overview_highlight&&this.overview_highlight.css({left:e,width:f}),a.each(this.tracks_to_be_redrawn,function(a){var b=a[0],c=a[1];b&&b._draw(c)}),this.tracks_to_be_redrawn=[],a.each(this.label_tracks,function(a){a._draw()})},zoom_in:function(a){if(!(0===this.max_high||this.high-this.low<=this.min_separation)){var b=this.high-this.low,c=b/2+this.low,d=b/this.zoom_factor/2;a&&(c=a/this.viewport_container.width()*(this.high-this.low)+this.low),this.low=Math.round(c-d),this.high=Math.round(c+d),this.changed(),this.request_redraw()}},zoom_out:function(){if(0!==this.max_high){var a=this.high-this.low,b=a/2+this.low,c=a*this.zoom_factor/2;this.low=Math.round(b-c),this.high=Math.round(b+c),this.changed(),this.request_redraw()}},resize_viewport:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height())},resize_window:function(){this.resize_viewport(),this.request_redraw()},set_overview:function(a){if(this.overview_drawable){if(this.overview_drawable.dataset.id===a.dataset.id)return;this.overview_viewport.find(".track").remove()}var b=a.copy({content_div:this.overview_viewport}),c=this;b.header_div.hide(),b.is_overview=!0,c.overview_drawable=b,this.overview_drawable.postdraw_actions=function(){c.overview_highlight.show().height(c.overview_drawable.content_div.height()),c.overview_viewport.height(c.overview_drawable.content_div.height()+c.overview_box.outerHeight()),c.overview_close.show(),c.resize_window()},c.overview_drawable.request_draw(),this.changed()},reset_overview:function(){$(".tooltip").remove(),this.overview_viewport.find(".track-tile").remove(),this.overview_viewport.height(this.default_overview_height),this.overview_box.height(this.default_overview_height),this.overview_close.hide(),this.overview_highlight.hide(),view.resize_window(),view.overview_drawable=null}});var G=i.Tool.extend({defaults:{track:null},initialize:function(a){i.Tool.prototype.initialize.call(this,a);var b=!0;void 0!==a.tool_state&&void 0!==a.tool_state.hidden&&(b=a.tool_state.hidden),this.set("hidden",b),this.remove_inputs(["data","hidden_data","conditional"])},state_dict:function(){return a.extend(this.get_inputs_dict(),{hidden:!this.is_visible()})}}),H=Backbone.View.extend({events:{"change :input":"update_value"},render:function(){var a=this.$el.addClass("param-row"),b=this.model,c=($("
").addClass("param-label").text(b.get("label")).appendTo(a),$("
").addClass("param-input").html(b.get("html")).appendTo(a));c.find(":input").val(b.get("value")),$("
").appendTo(a)},update_value:function(a){this.model.set_value($(a.target).val())}}),I=Backbone.View.extend({initialize:function(){this.model.on("change:hidden",this.set_visible,this)},render:function(){var a=this;tool=this.model,parent_div=this.$el.addClass("dynamic-tool").hide(),parent_div.bind("drag",function(a){a.stopPropagation()}).click(function(a){a.stopPropagation()}).bind("dblclick",function(a){a.stopPropagation()}).keydown(function(a){a.stopPropagation()});$("
").appendTo(parent_div).text(tool.get("name"));tool.get("inputs").each(function(a){var b=new H({model:a});b.render(),parent_div.append(b.$el)}),parent_div.find("input").click(function(){$(this).select()});var b=$("
").addClass("param-row").appendTo(parent_div),c=$("").attr("value","Run on complete dataset").appendTo(b),d=$("").attr("value","Run on visible region").appendTo(b);d.click(function(){a.run_on_region()}),c.click(function(){a.run_on_dataset()}),tool.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var a=0;a").append(d),this.data=e,this.stale=!1};K.prototype.predisplay_actions=function(){};var L=function(a,b,c,d,e){K.call(this,a,b,c,d,e)};L.prototype.predisplay_actions=function(){};var M=function(a,b,c,d,e,f,g,h,i,j,k){K.call(this,a,b,c,d,e),this.mode=f,this.all_slotted=h,this.feature_mapper=i,this.has_icons=!1,this.incomplete_features=j,this.other_tiles_features_drawn={},this.seq_data=k};k(M.prototype,K.prototype),M.prototype.predisplay_actions=function(){};var N=function(a,c,d){k(d,{drag_handle_class:"draghandle"}),C.call(this,a,c,d),this.dataset=null,d.dataset&&(this.dataset=d.dataset instanceof Backbone.Model?d.dataset:new h.Dataset(d.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in d?d.data_query_wait:s,this.data_manager="data_manager"in d?d.data_manager:new b.GenomeDataManager({dataset:this.dataset,genome:new b.Genome({key:a.dbkey,chroms_info:{chrom_info:a.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=$("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in d&&!d.resize||this.add_resize_handle())};k(N.prototype,C.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},C.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(a){a.view.set_overview(a)}},C.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?a.filters_manager.clear_filters():a.filters_manager.init_filters(),a.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(a){a.tool.toggle(),a.tool.is_visible()?a.set_name(a.config.get_value("name")+a.tool_region_and_parameters_str()):a.revert_name(),$(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(c){var d="Tool:"+c.tool.get("name")+"
Dataset:"+c.config.get_value("name")+'
Region(s): ',e=function(){Galaxy.modal.hide(),$(window).unbind("keypress.check_enter_esc")},f=function(){var d,e=$('select[name="regions"] option:selected').val(),f=new b.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),g=a.map($(".bookmark"),function(a){return new b.GenomeRegion({from_str:$(a).children(".position").text()})});d="cur"===e?[f]:"bookmarks"===e?g:[f].concat(g),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+$.param({dataset_id:c.dataset.id,hda_ldda:c.dataset.get("hda_ldda"),regions:JSON.stringify(new Backbone.Collection(d).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:d,buttons:{No:e,Yes:f}})}},C.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&C.prototype.can_draw.call(this)},build_container_div:function(){return $("
").addClass("track").attr("id","track_"+this.id)},set_dataset:function(a){this.dataset=a,this.data_manager.set("dataset",a)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var a=this,b=!1,c=!1,d=$("
");$(a.container_div).hover(function(){a.config.get_value("content_visible")&&(b=!0,d.show())},function(){b=!1,c||d.hide()}),d.hide().bind("dragstart",function(b,d){c=!0,d.original_height=$(a.content_div).height()}).bind("drag",function(b,c){var d=Math.min(Math.max(c.original_height+c.deltaY,a.min_height_px),a.max_height_px);$(a.tiles_div).css("height",d),a.visible_height_px=a.max_height_px===d?0:d,a.on_resize()}).bind("dragend",function(){a.tile_cache.clear(),c=!1,b||d.hide(),a.config.set_value("height",a.visible_height_px),a.changed()}).appendTo(a.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof P?"LabelTrack":this instanceof R?"ReferenceTrack":this instanceof S?"LineTrack":this instanceof W?"ReadTrack":this instanceof V?"VariantTrack":this instanceof Q?"CompositeTrack":this instanceof U?"FeatureTrack":""},show_message:function(a){return this.tiles_div.remove(),$("").addClass("message").html(a).appendTo(this.content_div)},init:function(a){var b=this;if(b.enabled=!1,b.tile_cache.clear(), -b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(v)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(w)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(x),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(z),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(u);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("
").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(void 0!==c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var O=function(c,d,e){N.call(this,c,d,e);var f=this;if(n(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new G(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(A),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new I({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};k(O.prototype,C.prototype,N.prototype,{action_icons_def:N.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();k(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(r*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(c.config.get_value(f)):(g=$("
").text(c.config.get_value(f)).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,a),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof L});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof L||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",o)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(B,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.LinePainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new L(this,d,e,g,a.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var P=function(a,b){N.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};k(P.prototype,N.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),e=Math.floor(a.low/c)*c,f=this.view.container.width(),g=$("
").addClass("label-container");e").addClass("label").text(d.commatize(e)).css({left:h})),e+=c}this.content_div.children(":first").remove(),this.content_div.append(g)}});var Q=function(b,c,d){if(O.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof U||a instanceof W)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};k(Q.prototype,O.prototype,{display_modes:B,config_params:a.union(C.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(O.prototype.action_icons_def),to_dict:D.prototype.to_dict,add_drawable:D.prototype.add_drawable,unpack_drawables:D.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),N.prototype.on_resize.call(this)},change_mode:function(a){O.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=O.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new K(this,d,e,h,f)}});var S=function(a,b,c){this.mode="Histogram",O.call(this,a,b,c)};k(S.prototype,C.prototype,O.prototype,{display_modes:B,config_params:a.union(C.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var T=function(a,b,c){this.mode="Heatmap",O.call(this,a,b,c)};k(T.prototype,C.prototype,O.prototype,{display_modes:["Heatmap"],config_params:a.union(C.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new K(this,d,e,g,a.data)}});var U=function(a,b,c){O.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};k(U.prototype,C.prototype,O.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(C.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){O.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof L});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;kq?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new J(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new J(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new M(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var V=function(a,b,c){O.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};k(V.prototype,C.prototype,O.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(C.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new K(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[N.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){O.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof L}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var W=function(a,b,c){U.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};k(W.prototype,C.prototype,O.prototype,U.prototype,{config_params:a.union(C.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var X={CompositeTrack:Q,DrawableGroup:E,DiagonalHeatmapTrack:T,FeatureTrack:U,LineTrack:S,ReadTrack:W,VariantTrack:V,VcfTrack:V},Y=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new X[d](b,c,a)};return{TracksterView:F,DrawableGroup:E,LineTrack:S,FeatureTrack:U,DiagonalHeatmapTrack:T,ReadTrack:W,VariantTrack:V,CompositeTrack:Q,object_from_template:Y}}); +b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(v)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(w)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(x),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(z),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(u);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(void 0!==c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var O=function(c,d,e){N.call(this,c,d,e);var f=this;if(n(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new G(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(A),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new I({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};k(O.prototype,C.prototype,N.prototype,{action_icons_def:N.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();k(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(r*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(c.config.get_value(f)):(g=$("
").text(c.config.get_value(f)).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,a),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof L});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof L||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",o)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(B,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.LinePainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new L(this,d,e,g,a.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var P=function(a,b){N.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};k(P.prototype,N.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),d=Math.floor(a.low/c)*c,e=this.view.container.width(),f=$("
").addClass("label-container");d").addClass("pos-label").text(commatize(d)).css({left:g})),d+=c}this.content_div.children(":first").remove(),this.content_div.append(f)}});var Q=function(b,c,d){if(O.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof U||a instanceof W)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};k(Q.prototype,O.prototype,{display_modes:B,config_params:a.union(C.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(O.prototype.action_icons_def),to_dict:D.prototype.to_dict,add_drawable:D.prototype.add_drawable,unpack_drawables:D.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),N.prototype.on_resize.call(this)},change_mode:function(a){O.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=O.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new K(this,d,e,h,f)}});var S=function(a,b,c){this.mode="Histogram",O.call(this,a,b,c)};k(S.prototype,C.prototype,O.prototype,{display_modes:B,config_params:a.union(C.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var T=function(a,b,c){this.mode="Heatmap",O.call(this,a,b,c)};k(T.prototype,C.prototype,O.prototype,{display_modes:["Heatmap"],config_params:a.union(C.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new K(this,d,e,g,a.data)}});var U=function(a,b,c){O.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};k(U.prototype,C.prototype,O.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(C.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){O.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof L});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;kq?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new J(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new J(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new M(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var V=function(a,b,c){O.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};k(V.prototype,C.prototype,O.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(C.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new K(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[N.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){O.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof L}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var W=function(a,b,c){U.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};k(W.prototype,C.prototype,O.prototype,U.prototype,{config_params:a.union(C.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:null,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var X={CompositeTrack:Q,DrawableGroup:E,DiagonalHeatmapTrack:T,FeatureTrack:U,LineTrack:S,ReadTrack:W,VariantTrack:V,VcfTrack:V},Y=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new X[d](b,c,a)};return{TracksterView:F,DrawableGroup:E,LineTrack:S,FeatureTrack:U,DiagonalHeatmapTrack:T,ReadTrack:W,VariantTrack:V,CompositeTrack:Q,object_from_template:Y}}); //# sourceMappingURL=../../../maps/viz/trackster/tracks.js.map \ No newline at end of file diff --git a/static/style/blue/trackster.css b/static/style/blue/trackster.css index 0cecd3168a5..19babb880fb 100644 --- a/static/style/blue/trackster.css +++ b/static/style/blue/trackster.css @@ -1 +1 @@ -.viewport-container{overflow-x:hidden;overflow-y:auto;background:white}.trackster-nav-container{width:100%;text-align:center}.trackster-nav-container.stand-alone{height:0}.trackster-nav{padding:0 0;color:#333;font-weight:bold;background:#ccc;display:inline-block;top:-2em;background:transparent;border:none}.trackster-nav.stand-alone{position:relative}.chrom-nav{width:15em}.content{font:10px verdana;position:relative}.nav-controls{text-align:center;padding:1px 0}.nav-controls input{margin:0 5px}#zoom-in,#zoom-out{display:inline-block;height:16px;width:16px;margin-bottom:-3px;cursor:pointer}#zoom-out{background:transparent url(../images/fugue/magnifier-zoom-out.png) center center no-repeat}#zoom-in{margin-left:10px;background:transparent url(../images/fugue/magnifier-zoom.png) center center no-repeat}.nav-input{font-size:12px;width:30em;z-index:2}.location{display:inline-block;width:15em;margin:0 10px;white-space:nowrap}.intro{z-index:2;margin-left:auto;margin-right:auto;color:#555;text-align:center;font-size:16px}.intro .action-button{background-color:#ccc;margin-top:10px;padding:1em;text-decoration:underline}.overview{width:100%;margin:0;color:white}.overview-viewport{position:relative;height:14px;background:white;margin:0}.overview-close{font:9px verdana;position:absolute;top:0;right:0;padding:5px;z-index:2;background-color:white}.overview-highlight{top:0;position:absolute;z-index:2;border-style:solid;border-color:#666;border-width:0 1px}.overview-boxback{width:100%;bottom:0;z-index:2;position:absolute;height:14px;background:#eee;border:solid #999 1px}.overview-box{cursor:pointer;bottom:0;z-index:2;position:absolute;margin-top:0;height:14px;background:#c1c9e5 url(../images/visualization/draggable_horizontal.png) center center no-repeat;border:solid #666 1px}.viewport-canvas{width:100%;height:100px}.yaxislabel{z-index:2;position:absolute;right:20px}.yaxislabel.bottom{bottom:2px}.group-handle{cursor:move;float:left;background:#eee url('../images/tracks/block.png');width:12px;height:12px}.group{min-height:20px;border-top:1px solid #888;border-bottom:1px solid #888}.group>.track-header{position:relative;float:left}.track-header{height:16px;position:absolute;z-index:2;background-color:rgba(1,1,1,0.1);border-radius:5px;padding:0 2px;text-align:left;margin:2px}.track-header:hover{background-color:#ddd}.track-header .track-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-header .menubutton{margin-left:0}.track-name{float:left;margin-top:2px}.tiles{background:url('../images/tracks/diag_bg.gif');position:relative;overflow:hidden}.overlay{position:absolute;left:0;top:0}.track-tile{position:absolute;background:white}.track-tile canvas{position:relative;z-index:1}.tile-message{border-bottom:solid 1px red;text-align:center;color:red;background-color:white}.track{position:relative;border-bottom:1px solid #888}.track.error{background:#ecb4af}.track.nodata{background:#eee}.track.pending{background:#ffc}.track-content{text-align:center;position:relative;min-height:20px;padding:0 0 1px 0}.track-content .message{position:relative;top:4px}.loading{min-height:100px}.label-track{font-size:10px;border:none;padding:0;margin:0;height:1.5em;overflow:hidden}.label-track .label-container{position:relative;height:1.3em}.label-track .label{position:absolute;border-left:solid #999 1px;padding:1px;padding-bottom:2px;display:inline-block}.label-track .track-content{border:none;background:white}.reference-track{border:none;margin:0;padding:0;line-height:1}.reference-track .track-content{min-height:0}.right-float{float:right;margin-left:5px}.top-labeltrack{position:relative;border-bottom:solid #999 1px}.nav-labeltrack{border-top:solid #999 1px;border-bottom:solid #333 1px}input{font:10px verdana}input[type="submit"]{padding:0;margin-right:20px;font-size:inherit}input.color-input{float:left}.dynamic-tool,.filters{padding-top:18px;padding-bottom:.5em;margin-left:.25em}.dynamic-tool{width:410px}.filters{float:left;margin:1em;width:60%;position:relative}.display-controls{float:left;margin-left:1em}.slider-row{margin-left:1em;height:16px}.slider-row.input{height:22px}.elt-label{float:left;width:30%;font-weight:bold;margin-right:1em}.slider{float:left;width:40%;position:relative;padding-top:2px}.tool-name{font-size:110%;font-weight:bold}.param-row{margin-top:.2em;margin-left:1em}.param-label{float:left;font-weight:bold;padding-top:.2em;width:50%}.menu-button{margin:0 4px 0 4px}.exclamation{background:transparent url(../images/fugue/exclamation.png) no-repeat;margin-left:5em}.track-icons{float:left}.icon-button.bookmarks{background:transparent url('../images/fugue/bookmarks-bw.png') no-repeat}.icon-button.bookmarks:hover{background:transparent url('../images/fugue/bookmarks.png') no-repeat}.icon-button.layers-stack{background:transparent url('../images/fugue/layers-stack-bw.png') no-repeat}.icon-button.layers-stack:hover{background:transparent url('../images/fugue/layers-stack.png') no-repeat}.icon-button.hammer{background:transparent url('../images/fugue/hammer-bw.png') no-repeat}.icon-button.hammer:hover{background:transparent url('../images/fugue/hammer.png') no-repeat}.icon-button.toolbox{background:transparent url('../images/fugue/toolbox-bw.png') no-repeat}.icon-button.toolbox:hover{background:transparent url('../images/fugue/toolbox.png') no-repeat}.icon-button.globe{background:transparent url('../images/fugue/globe-bw.png') no-repeat}.icon-button.globe:hover{background:transparent url('../images/fugue/globe.png') no-repeat}.icon-button.block--plus{background:transparent url('../images/fugue/block--plus-bw.png') no-repeat}.icon-button.block--plus:hover{background:transparent url('../images/fugue/block--plus.png') no-repeat}.icon-button.toggle{background:transparent url('../images/fugue/toggle-bw.png') no-repeat}.icon-button.toggle:hover{background:transparent url('../images/fugue/toggle.png') no-repeat}.icon-button.toggle-expand{background:transparent url('../images/fugue/toggle-expand-bw.png') no-repeat}.icon-button.toggle-expand:hover{background:transparent url('../images/fugue/toggle-expand.png') no-repeat}.icon-button.gear{background:transparent url('../images/fugue/gear-bw.png') no-repeat}.icon-button.gear:hover{background:transparent url('../images/fugue/gear.png') no-repeat}.icon-button.application-dock-270{background:transparent url('../images/fugue/application-dock-270-bw.png') no-repeat}.icon-button.application-dock-270:hover{background:transparent url('../images/fugue/application-dock-270.png') no-repeat}.icon-button.ui-slider-050{background:transparent url('../images/fugue/ui-slider-050-bw.png') no-repeat}.icon-button.ui-slider-050:hover{background:transparent url('../images/fugue/ui-slider-050.png') no-repeat}.icon-button.arrow-resize-090{background:transparent url('../images/fugue/arrow-resize-090-bw.png') no-repeat}.icon-button.arrow-resize-090:hover{background:transparent url('../images/fugue/arrow-resize-090.png') no-repeat}.icon-button.layer-transparent{background:transparent url('../images/fugue/layer-transparent-bw.png') no-repeat}.icon-button.layer-transparent:hover{background:transparent url('../images/fugue/layer-transparent.png') no-repeat}.remove-icon,.overview-close{background:transparent url(../images/fugue/cross-small-bw.png) no-repeat}.icon-button.remove-icon:hover,.overview-close:hover{background:transparent url(../images/fugue/cross-circle.png) no-repeat}.child-track-icon{background:url('../images/fugue/arrow-000-small-bw.png') no-repeat;width:30px;cursor:move}.track-resize{background:white url('../images/visualization/draggable_vertical.png') no-repeat top center;position:absolute;right:3px;bottom:-4px;width:14px;height:7px;border:solid #999 1px;z-index:2}.bookmark{background:white;border:solid #999 1px;border-right:none;margin:.5em;margin-right:0;padding:.5em}.bookmark .position{font-weight:bold}.delete-icon-container{float:right}.icon{display:inline-block;width:16px;height:16px}.icon.more-down{background:url('../images/fugue/arrow-transition-270-bw.png') no-repeat 0 0}.icon.more-across{background:url('../images/fugue/arrow-transition-bw.png') no-repeat 0 0}.feature-popup{position:absolute;z-index:2;padding:5px;font-size:10px;filter:alpha(opacity=80);background-repeat:no-repeat;background-image:url(../images/tipsy.gif);background-position:top center}.feature-popup-inner{padding:5px 8px 4px 8px;background-color:black;color:white}.zoom-area{position:absolute;top:0;background-color:#ccf;opacity:.5;z-index:2}.mouse-pos{position:absolute;top:0;background-color:black;opacity:.15;height:100%;width:1px}.draghandle{margin-top:2px;cursor:move;float:left;background:transparent url(../images/visualization/draggable_horizontal.png) center center no-repeat;width:10px;height:12px}.dragging{border:1px solid blue} \ No newline at end of file +.viewport-container{overflow-x:hidden;overflow-y:auto;background:white}.trackster-nav-container{width:100%;text-align:center}.trackster-nav-container.stand-alone{height:0}.trackster-nav{padding:0 0;color:#333;font-weight:bold;background:#ccc;display:inline-block;top:-2em;background:transparent;border:none}.trackster-nav.stand-alone{position:relative}.chrom-nav{width:15em}.content{font:10px verdana;position:relative}.nav-controls{text-align:center;padding:1px 0}.nav-controls input{margin:0 5px}#zoom-in,#zoom-out{display:inline-block;height:16px;width:16px;margin-bottom:-3px;cursor:pointer}#zoom-out{background:transparent url(../images/fugue/magnifier-zoom-out.png) center center no-repeat}#zoom-in{margin-left:10px;background:transparent url(../images/fugue/magnifier-zoom.png) center center no-repeat}.nav-input{font-size:12px;width:30em;z-index:2}.location{display:inline-block;width:15em;margin:0 10px;white-space:nowrap}.intro{z-index:2;margin-left:auto;margin-right:auto;color:#555;text-align:center;font-size:16px}.intro .action-button{background-color:#ccc;margin-top:10px;padding:1em;text-decoration:underline}.overview{width:100%;margin:0;color:white}.overview-viewport{position:relative;height:14px;background:white;margin:0}.overview-close{font:9px verdana;position:absolute;top:0;right:0;padding:5px;z-index:2;background-color:white}.overview-highlight{top:0;position:absolute;z-index:2;border-style:solid;border-color:#666;border-width:0 1px}.overview-boxback{width:100%;bottom:0;z-index:2;position:absolute;height:14px;background:#eee;border:solid #999 1px}.overview-box{cursor:pointer;bottom:0;z-index:2;position:absolute;margin-top:0;height:14px;background:#c1c9e5 url(../images/visualization/draggable_horizontal.png) center center no-repeat;border:solid #666 1px}.viewport-canvas{width:100%;height:100px}.yaxislabel{z-index:2;position:absolute;right:20px}.yaxislabel.bottom{bottom:2px}.group-handle{cursor:move;float:left;background:#eee url('../images/tracks/block.png');width:12px;height:12px}.group{min-height:20px;border-top:1px solid #888;border-bottom:1px solid #888}.group>.track-header{position:relative;float:left}.track-header{height:16px;position:absolute;z-index:2;background-color:rgba(1,1,1,0.1);border-radius:5px;padding:0 2px;text-align:left;margin:2px}.track-header:hover{background-color:#ddd}.track-header .track-name{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-header .menubutton{margin-left:0}.track-name{float:left;margin-top:2px}.tiles{background:url('../images/tracks/diag_bg.gif');position:relative;overflow:hidden}.overlay{position:absolute;left:0;top:0}.track-tile{position:absolute;background:white}.track-tile canvas{position:relative;z-index:1}.tile-message{border-bottom:solid 1px red;text-align:center;color:red;background-color:white}.track{position:relative;border-bottom:1px solid #888}.track.error{background:#ecb4af}.track.nodata{background:#eee}.track.pending{background:#ffc}.track-content{text-align:center;position:relative;min-height:20px;padding:0 0 1px 0}.track-content .message{position:relative;top:4px}.loading{min-height:100px}.label-track{font-size:10px;border:none;padding:0;margin:0;height:1.5em;overflow:hidden}.label-track .label-container{position:relative;height:1.3em}.label-track .pos-label{position:absolute;border-left:solid #999 1px;padding:1px;padding-bottom:2px;display:inline-block}.label-track .track-content{border:none;background:white}.reference-track{border:none;margin:0;padding:0;line-height:1}.reference-track .track-content{min-height:0}.right-float{float:right;margin-left:5px}.top-labeltrack{position:relative;border-bottom:solid #999 1px}.nav-labeltrack{border-top:solid #999 1px;border-bottom:solid #333 1px}input{font:10px verdana}input[type="submit"]{padding:0;margin-right:20px;font-size:inherit}input.color-input{float:left}.dynamic-tool,.filters{padding-top:18px;padding-bottom:.5em;margin-left:.25em}.dynamic-tool{width:410px}.filters{float:left;margin:1em;width:60%;position:relative}.display-controls{float:left;margin-left:1em}.slider-row{margin-left:1em;height:16px}.slider-row.input{height:22px}.elt-label{float:left;width:30%;font-weight:bold;margin-right:1em}.slider{float:left;width:40%;position:relative;padding-top:2px}.tool-name{font-size:110%;font-weight:bold}.param-row{margin-top:.2em;margin-left:1em}.param-label{float:left;font-weight:bold;padding-top:.2em;width:50%}.menu-button{margin:0 4px 0 4px}.exclamation{background:transparent url(../images/fugue/exclamation.png) no-repeat;margin-left:5em}.track-icons{float:left}.icon-button.bookmarks{background:transparent url('../images/fugue/bookmarks-bw.png') no-repeat}.icon-button.bookmarks:hover{background:transparent url('../images/fugue/bookmarks.png') no-repeat}.icon-button.layers-stack{background:transparent url('../images/fugue/layers-stack-bw.png') no-repeat}.icon-button.layers-stack:hover{background:transparent url('../images/fugue/layers-stack.png') no-repeat}.icon-button.hammer{background:transparent url('../images/fugue/hammer-bw.png') no-repeat}.icon-button.hammer:hover{background:transparent url('../images/fugue/hammer.png') no-repeat}.icon-button.toolbox{background:transparent url('../images/fugue/toolbox-bw.png') no-repeat}.icon-button.toolbox:hover{background:transparent url('../images/fugue/toolbox.png') no-repeat}.icon-button.globe{background:transparent url('../images/fugue/globe-bw.png') no-repeat}.icon-button.globe:hover{background:transparent url('../images/fugue/globe.png') no-repeat}.icon-button.block--plus{background:transparent url('../images/fugue/block--plus-bw.png') no-repeat}.icon-button.block--plus:hover{background:transparent url('../images/fugue/block--plus.png') no-repeat}.icon-button.toggle{background:transparent url('../images/fugue/toggle-bw.png') no-repeat}.icon-button.toggle:hover{background:transparent url('../images/fugue/toggle.png') no-repeat}.icon-button.toggle-expand{background:transparent url('../images/fugue/toggle-expand-bw.png') no-repeat}.icon-button.toggle-expand:hover{background:transparent url('../images/fugue/toggle-expand.png') no-repeat}.icon-button.gear{background:transparent url('../images/fugue/gear-bw.png') no-repeat}.icon-button.gear:hover{background:transparent url('../images/fugue/gear.png') no-repeat}.icon-button.application-dock-270{background:transparent url('../images/fugue/application-dock-270-bw.png') no-repeat}.icon-button.application-dock-270:hover{background:transparent url('../images/fugue/application-dock-270.png') no-repeat}.icon-button.ui-slider-050{background:transparent url('../images/fugue/ui-slider-050-bw.png') no-repeat}.icon-button.ui-slider-050:hover{background:transparent url('../images/fugue/ui-slider-050.png') no-repeat}.icon-button.arrow-resize-090{background:transparent url('../images/fugue/arrow-resize-090-bw.png') no-repeat}.icon-button.arrow-resize-090:hover{background:transparent url('../images/fugue/arrow-resize-090.png') no-repeat}.icon-button.layer-transparent{background:transparent url('../images/fugue/layer-transparent-bw.png') no-repeat}.icon-button.layer-transparent:hover{background:transparent url('../images/fugue/layer-transparent.png') no-repeat}.remove-icon,.overview-close{background:transparent url(../images/fugue/cross-small-bw.png) no-repeat}.icon-button.remove-icon:hover,.overview-close:hover{background:transparent url(../images/fugue/cross-circle.png) no-repeat}.child-track-icon{background:url('../images/fugue/arrow-000-small-bw.png') no-repeat;width:30px;cursor:move}.track-resize{background:white url('../images/visualization/draggable_vertical.png') no-repeat top center;position:absolute;right:3px;bottom:-4px;width:14px;height:7px;border:solid #999 1px;z-index:2}.bookmark{background:white;border:solid #999 1px;border-right:none;margin:.5em;margin-right:0;padding:.5em}.bookmark .position{font-weight:bold}.delete-icon-container{float:right}.icon{display:inline-block;width:16px;height:16px}.icon.more-down{background:url('../images/fugue/arrow-transition-270-bw.png') no-repeat 0 0}.icon.more-across{background:url('../images/fugue/arrow-transition-bw.png') no-repeat 0 0}.feature-popup{position:absolute;z-index:2;padding:5px;font-size:10px;filter:alpha(opacity=80);background-repeat:no-repeat;background-image:url(../images/tipsy.gif);background-position:top center}.feature-popup-inner{padding:5px 8px 4px 8px;background-color:black;color:white}.zoom-area{position:absolute;top:0;background-color:#ccf;opacity:.5;z-index:2}.mouse-pos{position:absolute;top:0;background-color:black;opacity:.15;height:100%;width:1px}.draghandle{margin-top:2px;cursor:move;float:left;background:transparent url(../images/visualization/draggable_horizontal.png) center center no-repeat;width:10px;height:12px}.dragging{border:1px solid blue} \ No newline at end of file diff --git a/templates/admin/reload_tool.mako b/templates/admin/reload_tool.mako index 15d22ff38f2..c29a233e2e5 100644 --- a/templates/admin/reload_tool.mako +++ b/templates/admin/reload_tool.mako @@ -31,7 +31,7 @@ $().ready(function() {