Commit 14b9d182 authored by Floreal Cabanettes's avatar Floreal Cabanettes
Browse files

Fix help messages on offline viewer

parent 9043ae2b
......@@ -92,6 +92,10 @@ d3.boxplot.color_mixes = "#969696";
//Filter sizes:
d3.boxplot.min_sizes = [0, 0.01, 0.02, 0.03, 0.05, 1, 2];
//Help pictures:
d3.boxplot.help_zoom = "/static/images/ctrl_plus_mouse.png";
d3.boxplot.help_trans = "/static/images/ctrl_plus_click.png";
/**
* Initialize dotplot
*
......@@ -1021,12 +1025,12 @@ d3.boxplot.draw = function (x_contigs, x_order, y_contigs, y_order) {
draw.append($("<div>").attr("id", "help-zoom")
.append("Press CTRL to zoom")
.append($("<img>").attr("src", "/static/images/ctrl_plus_mouse.png")
.append($("<img>").attr("src", d3.boxplot.help_zoom)
.attr("alt", "")).hide().on("click", function() {$(this).hide()}));
draw.append($("<div>").attr("id", "help-trans")
.append("Press CTRL to translate")
.append($("<img>").attr("src", "/static/images/ctrl_plus_click.png")
.append($("<img>").attr("src", d3.boxplot.help_trans)
.attr("alt", "")).hide().on("click", function() {$(this).hide()})
.on("mouseup", function() {d3.boxplot.translate_start = null; $("#help-trans").fadeOut("slow");}));
......
......@@ -177,7 +177,8 @@ d3.boxplot.svgcontainer=null;d3.boxplot.container=null;d3.boxplot.svgsupercontai
d3.boxplot.translate_start=null;d3.boxplot.posX=null;d3.boxplot.posY=null;d3.boxplot.old_translate=null;//Graphical parameters:
d3.boxplot.scale=1000;d3.boxplot.content_lines_width=d3.boxplot.scale/400;d3.boxplot.break_lines_width=d3.boxplot.scale/1500;d3.boxplot.color_idy_theme="default";d3.boxplot.color_idy_themes=["default","colorblind","black&white","r_default","r_colorblind","allblack"];d3.boxplot.color_idy={"default":{"3":"#094b09","2":"#2ebd40","1":"#d5670b","0":"#ffd84b","-1":"#fff"},"colorblind":{"3":"#000","2":"#006DDB","1":"#DB6E00","0":"#FFB677","-1":"#fff"},"black&white":{"3":"#000","2":"#626262","1":"#9c9c9c","0":"#DDDCDC","-1":"#fff"},"r_default":{"3":"#7fff65","2":"#238d31","1":"#78410d","0":"#3b080a","-1":"#fff"},"r_colorblind":{"3":"#8c8c8c","2":"#006DDB","1":"#783c00","0":"#312515","-1":"#fff"},"allblack":{"3":"#000","2":"#000","1":"#000","0":"#000","-1":"#fff"}};d3.boxplot.limit_idy=null;d3.boxplot.min_idy_draw=0;d3.boxplot.min_size=0;d3.boxplot.linecap="round";d3.boxplot.background_axis="#f4f4f4";d3.boxplot.break_lines_color="#7c7c7c";d3.boxplot.break_lines_dash="3, 3";d3.boxplot.break_lines_show=true;d3.boxplot.zoom_scale_lines=1;// Zoom scale used for lines width
d3.boxplot.tick_width=0.5;d3.boxplot.color_mixes="#969696";//Filter sizes:
d3.boxplot.min_sizes=[0,0.01,0.02,0.03,0.05,1,2];/**
d3.boxplot.min_sizes=[0,0.01,0.02,0.03,0.05,1,2];//Help pictures:
d3.boxplot.help_zoom="/static/images/ctrl_plus_mouse.png";d3.boxplot.help_trans="/static/images/ctrl_plus_click.png";/**
* Initialize dotplot
*
* @param {string} id_res job id
......@@ -328,7 +329,7 @@ for(let i=0;i<4;i++){d3.boxplot.__draw_idy_lines(i.toString(),lines,x_len,y_len)
*/d3.boxplot.draw=function(x_contigs,x_order,y_contigs,y_order){let width=850;let height=850;$("div#draw").width(width).height(height);let draw=$("#draw");draw.empty();draw.append($("<div>").attr("id","restore-all").css("display","none").attr("title","Unzoom"));let draw_in=draw.append($("<div>").attr("id","draw-in"));d3.boxplot.svgsupercontainer=d3.select("#draw-in").append("svg:svg").attr("width","100%").attr("height","100%").attr("viewBox","0 0 100 100").attr("preserveAspectRatio","none");let drawcontainer=d3.boxplot.svgsupercontainer.append("svg:g").attr("class","drawcontainer");drawcontainer.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("stroke","none").attr("fill","white");d3.boxplot.svgcontainer=drawcontainer.append("svg:svg").attr("class","svgcontainer").attr("width",90).attr("height",90).attr("x",5).attr("y",5).attr("viewBox","0 0 "+d3.boxplot.scale+" "+d3.boxplot.scale).attr("preserveAspectRatio","none");d3.boxplot.container=d3.boxplot.svgcontainer.append("svg:g").attr("class","container");d3.boxplot.container.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("stroke","none").attr("fill","white");//X axis:
d3.boxplot.x_zones={};let sum=0;for(let i=0;i<x_order.length-1;i++){let x_id=x_order[i];let x_contig_len=x_contigs[x_id]/d3.boxplot.x_len*d3.boxplot.scale;d3.boxplot.x_zones[x_id]=[sum,sum+x_contig_len];sum+=x_contig_len;d3.boxplot.container.append("line").attr("x1",sum).attr("y1",d3.boxplot.scale).attr("x2",sum).attr("y2",0).attr("class","break-lines").attr("stroke-width",d3.boxplot.break_lines_width).attr("stroke",d3.boxplot.break_lines_color).style("stroke-dasharray",d3.boxplot.break_lines_dash)}d3.boxplot.x_zones[x_order[x_order.length-1]]=[sum,d3.boxplot.scale];//Y axis:
d3.boxplot.y_zones={};sum=0;for(let i=0;i<y_order.length-1;i++){let y_id=y_order[i];let y_contig_len=y_contigs[y_id]/d3.boxplot.y_len*d3.boxplot.scale;d3.boxplot.y_zones[y_id]=[sum,sum+y_contig_len];sum+=y_contig_len;d3.boxplot.container.append("line").attr("x1",0).attr("y1",d3.boxplot.scale-sum).attr("x2",d3.boxplot.scale).attr("y2",d3.boxplot.scale-sum).attr("class","break-lines").attr("stroke-width",d3.boxplot.break_lines_width).attr("stroke",d3.boxplot.break_lines_color).style("stroke-dasharray",d3.boxplot.break_lines_dash)}d3.boxplot.y_zones[y_order[y_order.length-1]]=[sum,d3.boxplot.scale];if(!d3.boxplot.break_lines_show){d3.selectAll("line.break-lines").style("visibility","hidden")}d3.boxplot.draw_axis_bckgd();d3.boxplot.draw_left_axis(d3.boxplot.y_len);d3.boxplot.draw_bottom_axis(d3.boxplot.x_len);d3.boxplot.draw_top_axis(d3.boxplot.x_zones);d3.boxplot.draw_right_axis(d3.boxplot.y_zones);window.setTimeout(()=>{//Data:
d3.boxplot.draw_lines();$("#restore-all").click(function(){if(d3.boxplot.zoom.reset_scale(false,null,false)){$(this).hide()}});$(document).on("keyup",function(e){if(e.keyCode===27){if(d3.boxplot.zoom.reset_scale(false,null,false)){$("#restore-all").hide()}}});d3.boxplot.draw_legend();dgenies.hide_loading()},0);draw.append($("<div>").attr("id","help-zoom").append("Press CTRL to zoom").append($("<img>").attr("src","/static/images/ctrl_plus_mouse.png").attr("alt","")).hide().on("click",function(){$(this).hide()}));draw.append($("<div>").attr("id","help-trans").append("Press CTRL to translate").append($("<img>").attr("src","/static/images/ctrl_plus_click.png").attr("alt","")).hide().on("click",function(){$(this).hide()}).on("mouseup",function(){d3.boxplot.translate_start=null;$("#help-trans").fadeOut("slow")}));d3.boxplot.zoom.init();d3.boxplot.events.init_context_menu()};if(!d3||!d3.boxplot){throw"d3.boxplot wasn't included!"}d3.boxplot.events={};d3.boxplot.events.context_menu={actions:[{name:"Export SVG",onClick:dgenies.result.export.export_svg},{name:"Export PNG",onClick:dgenies.result.export.export_png},{name:"Reverse query",isShown:function(){return d3.boxplot.name_x!==d3.boxplot.name_y},onClick:dgenies.result.controls.launch_reverse_contig}]};/**
d3.boxplot.draw_lines();$("#restore-all").click(function(){if(d3.boxplot.zoom.reset_scale(false,null,false)){$(this).hide()}});$(document).on("keyup",function(e){if(e.keyCode===27){if(d3.boxplot.zoom.reset_scale(false,null,false)){$("#restore-all").hide()}}});d3.boxplot.draw_legend();dgenies.hide_loading()},0);draw.append($("<div>").attr("id","help-zoom").append("Press CTRL to zoom").append($("<img>").attr("src",d3.boxplot.help_zoom).attr("alt","")).hide().on("click",function(){$(this).hide()}));draw.append($("<div>").attr("id","help-trans").append("Press CTRL to translate").append($("<img>").attr("src",d3.boxplot.help_trans).attr("alt","")).hide().on("click",function(){$(this).hide()}).on("mouseup",function(){d3.boxplot.translate_start=null;$("#help-trans").fadeOut("slow")}));d3.boxplot.zoom.init();d3.boxplot.events.init_context_menu()};if(!d3||!d3.boxplot){throw"d3.boxplot wasn't included!"}d3.boxplot.events={};d3.boxplot.events.context_menu={actions:[{name:"Export SVG",onClick:dgenies.result.export.export_svg},{name:"Export PNG",onClick:dgenies.result.export.export_png},{name:"Reverse query",isShown:function(){return d3.boxplot.name_x!==d3.boxplot.name_y},onClick:dgenies.result.controls.launch_reverse_contig}]};/**
* Initialise events
*/d3.boxplot.events.init=function(){$("input#filter_size").change(function(){d3.boxplot.events.filter_size(d3.boxplot.min_sizes[this.value])});$("input#stroke-linecap").change(function(){d3.boxplot.events.stroke_linecap(!this.checked)});$("input#stroke-width").change(function(){d3.boxplot.events.stroke_width(this.value)});$("input#filter_identity").change(function(){d3.boxplot.events.filter_identity(this.value)});$("input#chroms-limits").change(function(){d3.boxplot.events.set_break_lines_visibility(this.value)});$("div#legend div.draw").on("click",d3.boxplot.switch_color_theme)};/**
* Initialise context menu
......
......@@ -96,7 +96,8 @@ d3.boxplot.svgcontainer=null;d3.boxplot.container=null;d3.boxplot.svgsupercontai
d3.boxplot.translate_start=null;d3.boxplot.posX=null;d3.boxplot.posY=null;d3.boxplot.old_translate=null;//Graphical parameters:
d3.boxplot.scale=1000;d3.boxplot.content_lines_width=d3.boxplot.scale/400;d3.boxplot.break_lines_width=d3.boxplot.scale/1500;d3.boxplot.color_idy_theme="default";d3.boxplot.color_idy_themes=["default","colorblind","black&white","r_default","r_colorblind","allblack"];d3.boxplot.color_idy={"default":{"3":"#094b09","2":"#2ebd40","1":"#d5670b","0":"#ffd84b","-1":"#fff"},"colorblind":{"3":"#000","2":"#006DDB","1":"#DB6E00","0":"#FFB677","-1":"#fff"},"black&white":{"3":"#000","2":"#626262","1":"#9c9c9c","0":"#DDDCDC","-1":"#fff"},"r_default":{"3":"#7fff65","2":"#238d31","1":"#78410d","0":"#3b080a","-1":"#fff"},"r_colorblind":{"3":"#8c8c8c","2":"#006DDB","1":"#783c00","0":"#312515","-1":"#fff"},"allblack":{"3":"#000","2":"#000","1":"#000","0":"#000","-1":"#fff"}};d3.boxplot.limit_idy=null;d3.boxplot.min_idy_draw=0;d3.boxplot.min_size=0;d3.boxplot.linecap="round";d3.boxplot.background_axis="#f4f4f4";d3.boxplot.break_lines_color="#7c7c7c";d3.boxplot.break_lines_dash="3, 3";d3.boxplot.break_lines_show=true;d3.boxplot.zoom_scale_lines=1;// Zoom scale used for lines width
d3.boxplot.tick_width=0.5;d3.boxplot.color_mixes="#969696";//Filter sizes:
d3.boxplot.min_sizes=[0,0.01,0.02,0.03,0.05,1,2];/**
d3.boxplot.min_sizes=[0,0.01,0.02,0.03,0.05,1,2];//Help pictures:
d3.boxplot.help_zoom="/static/images/ctrl_plus_mouse.png";d3.boxplot.help_trans="/static/images/ctrl_plus_click.png";/**
* Initialize dotplot
*
* @param {string} id_res job id
......@@ -247,7 +248,7 @@ for(let i=0;i<4;i++){d3.boxplot.__draw_idy_lines(i.toString(),lines,x_len,y_len)
*/d3.boxplot.draw=function(x_contigs,x_order,y_contigs,y_order){let width=850;let height=850;$("div#draw").width(width).height(height);let draw=$("#draw");draw.empty();draw.append($("<div>").attr("id","restore-all").css("display","none").attr("title","Unzoom"));let draw_in=draw.append($("<div>").attr("id","draw-in"));d3.boxplot.svgsupercontainer=d3.select("#draw-in").append("svg:svg").attr("width","100%").attr("height","100%").attr("viewBox","0 0 100 100").attr("preserveAspectRatio","none");let drawcontainer=d3.boxplot.svgsupercontainer.append("svg:g").attr("class","drawcontainer");drawcontainer.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("stroke","none").attr("fill","white");d3.boxplot.svgcontainer=drawcontainer.append("svg:svg").attr("class","svgcontainer").attr("width",90).attr("height",90).attr("x",5).attr("y",5).attr("viewBox","0 0 "+d3.boxplot.scale+" "+d3.boxplot.scale).attr("preserveAspectRatio","none");d3.boxplot.container=d3.boxplot.svgcontainer.append("svg:g").attr("class","container");d3.boxplot.container.append("rect").attr("x",0).attr("y",0).attr("width","100%").attr("height","100%").attr("stroke","none").attr("fill","white");//X axis:
d3.boxplot.x_zones={};let sum=0;for(let i=0;i<x_order.length-1;i++){let x_id=x_order[i];let x_contig_len=x_contigs[x_id]/d3.boxplot.x_len*d3.boxplot.scale;d3.boxplot.x_zones[x_id]=[sum,sum+x_contig_len];sum+=x_contig_len;d3.boxplot.container.append("line").attr("x1",sum).attr("y1",d3.boxplot.scale).attr("x2",sum).attr("y2",0).attr("class","break-lines").attr("stroke-width",d3.boxplot.break_lines_width).attr("stroke",d3.boxplot.break_lines_color).style("stroke-dasharray",d3.boxplot.break_lines_dash)}d3.boxplot.x_zones[x_order[x_order.length-1]]=[sum,d3.boxplot.scale];//Y axis:
d3.boxplot.y_zones={};sum=0;for(let i=0;i<y_order.length-1;i++){let y_id=y_order[i];let y_contig_len=y_contigs[y_id]/d3.boxplot.y_len*d3.boxplot.scale;d3.boxplot.y_zones[y_id]=[sum,sum+y_contig_len];sum+=y_contig_len;d3.boxplot.container.append("line").attr("x1",0).attr("y1",d3.boxplot.scale-sum).attr("x2",d3.boxplot.scale).attr("y2",d3.boxplot.scale-sum).attr("class","break-lines").attr("stroke-width",d3.boxplot.break_lines_width).attr("stroke",d3.boxplot.break_lines_color).style("stroke-dasharray",d3.boxplot.break_lines_dash)}d3.boxplot.y_zones[y_order[y_order.length-1]]=[sum,d3.boxplot.scale];if(!d3.boxplot.break_lines_show){d3.selectAll("line.break-lines").style("visibility","hidden")}d3.boxplot.draw_axis_bckgd();d3.boxplot.draw_left_axis(d3.boxplot.y_len);d3.boxplot.draw_bottom_axis(d3.boxplot.x_len);d3.boxplot.draw_top_axis(d3.boxplot.x_zones);d3.boxplot.draw_right_axis(d3.boxplot.y_zones);window.setTimeout(()=>{//Data:
d3.boxplot.draw_lines();$("#restore-all").click(function(){if(d3.boxplot.zoom.reset_scale(false,null,false)){$(this).hide()}});$(document).on("keyup",function(e){if(e.keyCode===27){if(d3.boxplot.zoom.reset_scale(false,null,false)){$("#restore-all").hide()}}});d3.boxplot.draw_legend();dgenies.hide_loading()},0);draw.append($("<div>").attr("id","help-zoom").append("Press CTRL to zoom").append($("<img>").attr("src","/static/images/ctrl_plus_mouse.png").attr("alt","")).hide().on("click",function(){$(this).hide()}));draw.append($("<div>").attr("id","help-trans").append("Press CTRL to translate").append($("<img>").attr("src","/static/images/ctrl_plus_click.png").attr("alt","")).hide().on("click",function(){$(this).hide()}).on("mouseup",function(){d3.boxplot.translate_start=null;$("#help-trans").fadeOut("slow")}));d3.boxplot.zoom.init();d3.boxplot.events.init_context_menu()};
d3.boxplot.draw_lines();$("#restore-all").click(function(){if(d3.boxplot.zoom.reset_scale(false,null,false)){$(this).hide()}});$(document).on("keyup",function(e){if(e.keyCode===27){if(d3.boxplot.zoom.reset_scale(false,null,false)){$("#restore-all").hide()}}});d3.boxplot.draw_legend();dgenies.hide_loading()},0);draw.append($("<div>").attr("id","help-zoom").append("Press CTRL to zoom").append($("<img>").attr("src",d3.boxplot.help_zoom).attr("alt","")).hide().on("click",function(){$(this).hide()}));draw.append($("<div>").attr("id","help-trans").append("Press CTRL to translate").append($("<img>").attr("src",d3.boxplot.help_trans).attr("alt","")).hide().on("click",function(){$(this).hide()}).on("mouseup",function(){d3.boxplot.translate_start=null;$("#help-trans").fadeOut("slow")}));d3.boxplot.zoom.init();d3.boxplot.events.init_context_menu()};
if(!d3||!d3.boxplot){throw'd3.boxplot wasn\'t included!'}d3.boxplot.events={};d3.boxplot.events.context_menu={actions:[{name:'Export SVG',onClick:dgenies.result.export.export_svg},{name:'Export PNG',onClick:dgenies.result.export.export_png},{name:'Reverse query',isShown:function(){return d3.boxplot.name_x!==d3.boxplot.name_y},onClick:dgenies.result.controls.launch_reverse_contig}]};/**
* Initialise events
*/d3.boxplot.events.init=function(){$('input#filter_size').change(function(){d3.boxplot.events.filter_size(d3.boxplot.min_sizes[this.value])});$('input#stroke-linecap').change(function(){d3.boxplot.events.stroke_linecap(!this.checked)});$('input#stroke-width').change(function(){d3.boxplot.events.stroke_width(this.value)});$('input#filter_identity').change(function(){d3.boxplot.events.filter_identity(this.value)});$('input#chroms-limits').change(function(){d3.boxplot.events.set_break_lines_visibility(this.value)});$('div#legend div.draw').on('click',d3.boxplot.switch_color_theme)};/**
......
......@@ -14,6 +14,9 @@
onClick: dgenies.result.export.export_png
}]
};
d3.boxplot.help_zoom = "data:image/png;base64,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";
d3.boxplot.help_trans = "data:image/png;base64,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 UWfihaAAAAAASUVORK5CYII=";
</script>
<style>
{{ css | safe }}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment