/usr/share/doc/libjs-flotr/examples/mouse-zoom.html is in libjs-flotr 0.2.1~r301-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Flotr: Mouse Zoom Example</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="../flotr/lib/prototype.js"></script>
<script type="text/javascript" src="examples.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../flotr/lib/excanvas.js"></script>
<script type="text/javascript" src="../flotr/lib/base64.js"></script>
<![endif]-->
<script type="text/javascript" src="../flotr/lib/canvas2image.js"></script>
<script type="text/javascript" src="../flotr/lib/canvastext.js"></script>
<script type="text/javascript" src="../flotr/flotr-0.2.1.js"></script>
</head>
<body>
<!-- ad -->
<div id="wrapper">
<h1></h1>
<div id="container" style="width:600px;height:300px;"></div>
<h2>Example</h2>
<p>This example show how to hook into events that are fired by Flotr. Note that the events are
fired from the container element. Read more about the <a href="http://www.solutoire.com/flotr/docs/eventhooks/" title="Flotr Event Hooks">event hooks</a>.</p>
<p>Finished? Go to the example <a href="index.html" title="Flotr Example Index Page">index page</a>, play with the <a href="../../playground/index.html" title="Flotr playground">playground</a> or read the <a href="http://www.solutoire.com/flotr/docs/" title="Flotr Documentation Pages">Flotr Documentation Pages</a>.</p>
<p><button id="reset-btn">Reset</button></p>
<h2>The Code</h2>
<pre id="code-view"><code class="javascript"></code></pre>
<div id="footer">Copyright © 2008 Bas Wenneker, <a href="http://www.solutoire.com">solutoire.com</a></div>
</div>
<!-- ad -->
<script type="text/javascript">
/**
* Wait till dom's finished loading.
*/
document.observe('dom:loaded', function(){
/**
* Fill series d1 and d2.
*/
var d1 = [];
var d2 = [];
var d3 = [];
for(var i = 0; i < 40; i += 0.5){
d1.push([i, Math.sin(i)+3*Math.cos(i)]);
d2.push([i, Math.pow(1.1, i)]);
d3.push([i, 40 - i+Math.random()*10]);
}
/**
* Global options object.
*/
var options = {
selection:{mode:'x',fps:30}
};
/**
* Function displays a graph in the 'container' element, extending
* the global options object with the optionally passed options.
*/
function drawGraph(opts){
/**
* Clone the options, so the 'options' variable always keeps intact.
*/
var o = Object.extend(Object.clone(options), opts || {});
/**
* Return a new graph.
*/
return Flotr.draw(
$('container'),
[ d1, d2, d3 ],
o
);
}
/**
* Actually draw the graph.
*/
var f = drawGraph();
/**
* Hook into the 'flotr:select' event.
*/
$('container').observe('flotr:select', function(evt){
/**
* Get the selected area coordinates passed as event memo.
*/
var area = evt.memo[0];
/**
* What happens: empty the container element, and draw a new
* graph with bounded axis. The axis correspond to the selection
* you just made.
*/
f = drawGraph({
xaxis: {min:area.x1, max:area.x2},
yaxis: {min:area.y1, max:area.y2}
});
});
/**
* Observe click event on the reset-btn. Reset the graph when clicked.
* The drawGraph function wrapped in another function otherwise it get's
* an Event object passed as first argument, while it expects an options
* object.
*/
$('reset-btn').observe('click', function(){drawGraph()});
});
</script>
<!-- analytics -->
</body>
</html>
|