fixes #107, passes data row to formatter function to allow user make usage of it

This commit is contained in:
Marcin Chwedziak 2012-11-05 19:55:08 +01:00
parent 8faced7668
commit c279b9b0b1
4 changed files with 29 additions and 3 deletions

View File

@ -0,0 +1,26 @@
<!doctype html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
<script src="../morris.js"></script>
<script src="lib/prettify.js"></script>
<script src="lib/example.js"></script>
<link rel="stylesheet" href="lib/example.css">
<link rel="stylesheet" href="lib/prettify.css">
</head>
<body>
<h1>Donut Chart</h1>
<div id="graph"></div>
<pre id="code" class="prettyprint linenums">
Morris.Donut({
element: 'graph',
data: [
{value: 70, label: 'foo', formatted: 'at least 70%' },
{value: 15, label: 'bar', formatted: 'approx. 15%' },
{value: 10, label: 'baz', formatted: 'approx. 10%' },
{value: 5, label: 'A really really long label', formatted: 'at most 5%' }
],
formatter: function (x, data) { return data.formatted; }
});
</pre>
</body>

View File

@ -94,7 +94,7 @@ class Morris.Donut
s.deselect() for s in @segments
if typeof idx is 'number' then segment = @segments[idx] else segment = idx
segment.select()
@setLabels segment.data.label, @options.formatter(segment.data.value)
@setLabels segment.data.label, @options.formatter(segment.data.value, segment.data)
# @private
setLabels: (label1, label2) ->

View File

@ -1309,7 +1309,7 @@
segment = idx;
}
segment.select();
return this.setLabels(segment.data.label, this.options.formatter(segment.data.value));
return this.setLabels(segment.data.label, this.options.formatter(segment.data.value, segment.data));
};
Donut.prototype.setLabels = function(label1, label2) {

2
morris.min.js vendored

File diff suppressed because one or more lines are too long