mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
trackster fixes
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
define(["libs/underscore","viz/trackster/slotting","viz/trackster/painters","viz/trackster/tracks"],function(h,f,b,e){var d=function(n,l,j){var p=$("#bookmarks-container"),r=$("<div/>").addClass("bookmark").appendTo(p);var s=$("<div/>").addClass("position").appendTo(r),o=$("<a href=''/>").text(n).appendTo(s).click(function(){view.go_to(n);return false}),m=$("<div/>").text(l).appendTo(r);if(j){var q=$("<div/>").addClass("delete-icon-container").prependTo(r).click(function(){r.slideUp("fast");r.remove();view.has_changes=true;return false}),k=$("<a href=''/>").addClass("icon-button delete").appendTo(q);m.make_text_editable({num_rows:3,use_textarea:true,help_text:"Edit bookmark note"}).addClass("annotation")}view.has_changes=true;return r};var c={LineTrack:e.LineTrack,FeatureTrack:e.FeatureTrack,VcfTrack:e.VcfTrack,ReadTrack:e.ReadTrack,CompositeTrack:e.CompositeTrack,DrawableGroup:e.DrawableGroup};var i=function(l,k,j){if("copy" in l){return l.copy(j)}else{var m=l.obj_type;if(!m){m=l.track_type}return new c[m](k,j,l)}};var g=function(m,j,l,n,k){view=new e.View(m);view.editor=true;$.when(view.load_chroms_deferred).then(function(){if(j){var w=j.chrom,o=j.start,t=j.end,q=j.overview;if(w&&(o!==undefined)&&t){view.change_chrom(w,o,t)}}if(l){var r,p,s;for(var u=0;u<l.length;u++){view.add_drawable(i(l[u],view,view))}}view.update_intro_div();var x;for(var u=0;u<view.drawables.length;u++){if(view.drawables[u].name===q){view.set_overview(view.drawables[u]);break}}if(n){var v;for(var u=0;u<n.length;u++){v=n[u];d(v.position,v.annotation,k)}}view.has_changes=false});return view};var a=function(j){$(document).keydown(function(k){if($(k.srcElement).is(":input")){return}switch(k.which){case 37:j.move_fraction(0.25);break;case 38:var l=Math.round(j.viewport_container.height()/15);j.viewport_container.scrollTop(j.viewport_container.scrollTop()-20);break;case 39:j.move_fraction(-0.25);break;case 40:var l=Math.round(j.viewport_container.height()/15);j.viewport_container.scrollTop(j.viewport_container.scrollTop()+20);break}})};return{add_bookmark:d,object_from_template:i,create_visualization:g,init_keyboard_nav:a}});
|
||||
define(["libs/underscore","viz/trackster/slotting","viz/trackster/painters","viz/trackster/tracks"],function(d,h,g,c){var a=c.object_from_template;var f=function(m,k,i){var o=$("#bookmarks-container"),q=$("<div/>").addClass("bookmark").appendTo(o);var r=$("<div/>").addClass("position").appendTo(q),n=$("<a href=''/>").text(m).appendTo(r).click(function(){view.go_to(m);return false}),l=$("<div/>").text(k).appendTo(q);if(i){var p=$("<div/>").addClass("delete-icon-container").prependTo(q).click(function(){q.slideUp("fast");q.remove();view.has_changes=true;return false}),j=$("<a href=''/>").addClass("icon-button delete").appendTo(p);l.make_text_editable({num_rows:3,use_textarea:true,help_text:"Edit bookmark note"}).addClass("annotation")}view.has_changes=true;return q};var b=function(l,i,k,m,j){view=new c.View(l);view.editor=true;$.when(view.load_chroms_deferred).then(function(){if(i){var v=i.chrom,n=i.start,s=i.end,p=i.overview;if(v&&(n!==undefined)&&s){view.change_chrom(v,n,s)}}if(k){var q,o,r;for(var t=0;t<k.length;t++){view.add_drawable(a(k[t],view,view))}}view.update_intro_div();var w;for(var t=0;t<view.drawables.length;t++){if(view.drawables[t].name===p){view.set_overview(view.drawables[t]);break}}if(m){var u;for(var t=0;t<m.length;t++){u=m[t];f(u.position,u.annotation,j)}}view.has_changes=false});return view};var e=function(i){$(document).keydown(function(j){if($(j.srcElement).is(":input")){return}switch(j.which){case 37:i.move_fraction(0.25);break;case 38:var k=Math.round(i.viewport_container.height()/15);i.viewport_container.scrollTop(i.viewport_container.scrollTop()-20);break;case 39:i.move_fraction(-0.25);break;case 40:var k=Math.round(i.viewport_container.height()/15);i.viewport_container.scrollTop(i.viewport_container.scrollTop()+20);break}})};return{add_bookmark:f,object_from_template:a,create_visualization:b,init_keyboard_nav:e}});
|
||||
@@ -4764,6 +4764,40 @@ var ReadTrack = function (view, container, obj_dict) {
|
||||
};
|
||||
extend(ReadTrack.prototype, Drawable.prototype, TiledTrack.prototype, FeatureTrack.prototype);
|
||||
|
||||
/**
|
||||
* Objects that can be added to a view.
|
||||
*/
|
||||
var addable_objects = {
|
||||
"LineTrack": LineTrack,
|
||||
"FeatureTrack": FeatureTrack,
|
||||
"VcfTrack": VcfTrack,
|
||||
"ReadTrack": ReadTrack,
|
||||
// "DiagonalHeatmapTrack": DiagonalHeatmapTrack,
|
||||
"CompositeTrack": CompositeTrack,
|
||||
"DrawableGroup": DrawableGroup
|
||||
};
|
||||
|
||||
/**
|
||||
* Create new object from a template. A template can be either an object dictionary or an
|
||||
* object itself.
|
||||
*/
|
||||
var object_from_template = function(template, view, container) {
|
||||
if ('copy' in template) {
|
||||
// Template is an object.
|
||||
return template.copy(container);
|
||||
}
|
||||
else {
|
||||
// Template is a dictionary.
|
||||
var
|
||||
drawable_type = template['obj_type'];
|
||||
// For backward compatibility:
|
||||
if (!drawable_type) {
|
||||
drawable_type = template['track_type'];
|
||||
}
|
||||
return new addable_objects[ drawable_type ](view, container, template);
|
||||
}
|
||||
};
|
||||
|
||||
// Exports
|
||||
return {
|
||||
View: View,
|
||||
@@ -4773,7 +4807,8 @@ return {
|
||||
DiagonalHeatmapTrack: DiagonalHeatmapTrack,
|
||||
ReadTrack: ReadTrack,
|
||||
VcfTrack: VcfTrack,
|
||||
CompositeTrack: CompositeTrack
|
||||
CompositeTrack: CompositeTrack,
|
||||
object_from_template: object_from_template
|
||||
};
|
||||
|
||||
// End trackster_module encapsulation
|
||||
|
||||
@@ -4,6 +4,8 @@ define( ["libs/underscore","viz/trackster/slotting", "viz/trackster/painters","v
|
||||
* Functions used for creating and managing the Trackster user interface.
|
||||
************************************************************************/
|
||||
|
||||
var object_from_template = tracks.object_from_template;
|
||||
|
||||
/**
|
||||
* Add bookmark.
|
||||
*/
|
||||
@@ -40,39 +42,6 @@ var add_bookmark = function(position, annotation, editable) {
|
||||
return new_bookmark;
|
||||
};
|
||||
|
||||
/**
|
||||
* Objects that can be added to a view.
|
||||
*/
|
||||
var addable_objects = {
|
||||
"LineTrack": tracks.LineTrack,
|
||||
"FeatureTrack": tracks.FeatureTrack,
|
||||
"VcfTrack": tracks.VcfTrack,
|
||||
"ReadTrack": tracks.ReadTrack,
|
||||
// "DiagonalHeatmapTrack": DiagonalHeatmapTrack,
|
||||
"CompositeTrack": tracks.CompositeTrack,
|
||||
"DrawableGroup": tracks.DrawableGroup };
|
||||
|
||||
/**
|
||||
* Create new object from a template. A template can be either an object dictionary or an
|
||||
* object itself.
|
||||
*/
|
||||
var object_from_template = function(template, view, container) {
|
||||
if ('copy' in template) {
|
||||
// Template is an object.
|
||||
return template.copy(container);
|
||||
}
|
||||
else {
|
||||
// Template is a dictionary.
|
||||
var
|
||||
drawable_type = template['obj_type'];
|
||||
// For backward compatibility:
|
||||
if (!drawable_type) {
|
||||
drawable_type = template['track_type'];
|
||||
}
|
||||
return new addable_objects[ drawable_type ](view, container, template);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Create a complete Trackster visualization. Returns view.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user