Files
galaxy/static/scripts/packed/trackster_ui.js
T
2012-02-15 11:20:25 -05:00

1 line
1.9 KiB
JavaScript

var add_bookmark=function(b,a){var g=$("#bookmarks-container"),d=$("<div/>").addClass("bookmark").appendTo(g),c=$("<div/>").addClass("delete-icon-container").appendTo(d).click(function(){d.slideUp("fast");d.remove();view.has_changes=true;return false}),e=$("<a href=''/>").addClass("icon-button delete").appendTo(c),f=$("<div/>").addClass("position").appendTo(d),h=$("<a href=''/>").text(b).appendTo(f).click(function(){view.go_to(b);return false});annotation_div=get_editable_text_elt(a,true).addClass("annotation").appendTo(d);view.has_changes=true;return d};var object_from_template=function(b,a){if("copy" in b){return b.copy(a)}else{var c=b.obj_type;if(!c){c=b.track_type}return new addable_objects[c](view,a,b)}};var addable_objects={LineTrack:LineTrack,FeatureTrack:FeatureTrack,VcfTrack:VcfTrack,ReadTrack:ReadTrack,CompositeTrack:CompositeTrack,DrawableGroup:DrawableGroup};var create_visualization=function(c,a,b,d){view=new View(c);view.editor=true;$.when(view.load_chroms_deferred).then(function(){if(a){var n=a.chrom,e=a.start,k=a.end,g=a.overview;if(n&&(e!==undefined)&&k){view.change_chrom(n,e,k)}}if(b){var h,f,j;for(var l=0;l<b.length;l++){view.add_drawable(object_from_template(b[l],view))}}view.update_intro_div();var o;for(var l=0;l<view.drawables.length;l++){if(view.drawables[l].name===g){view.set_overview(view.drawables[l]);break}}if(d){var m;for(var l=0;l<d.length;l++){m=d[l];add_bookmark(m.position,m.annotation)}}view.has_changes=false});return view};var init_keyboard_nav=function(a){$(document).keydown(function(b){if($(b.srcElement).is(":input")){return}switch(b.which){case 37:a.move_fraction(0.25);break;case 38:var c=Math.round(a.viewport_container.height()/15);a.viewport_container.scrollTop(a.viewport_container.scrollTop()-20);break;case 39:a.move_fraction(-0.25);break;case 40:var c=Math.round(a.viewport_container.height()/15);a.viewport_container.scrollTop(a.viewport_container.scrollTop()+20);break}})};