Add an option to display the value of a bar in the bar itself (only for horizontal bars)

This commit is contained in:
Jelte Fennema 2014-10-26 13:29:10 +01:00
parent f17d78fd2e
commit 763c91e795
1 changed files with 13 additions and 0 deletions

View File

@ -31,6 +31,10 @@ class Morris.Bar extends Morris.Grid
xLabelMargin: 50
horizontal: false
shown: true
inBarValue: false
inBarValueTextColor: 'white'
inBarValueMinTopMargin: 1
inBarValueRightMargin: 4
# Do any size-related calculations
#
@ -177,6 +181,15 @@ class Morris.Bar extends Morris.Grid
@options.barOpacity, @options.barRadius)
lastTop -= size
if @options.inBarValue and
barWidth > @options.gridTextSize + 2*@options.inBarValueMinTopMargin
barMiddle = left + 0.5 * barWidth
@raphael.text(bottom - @options.inBarValueRightMargin, barMiddle, @yLabelFormat(row.y[sidx], sidx))
.attr('font-size', @options.gridTextSize)
.attr('font-family', @options.gridTextFamily)
.attr('font-weight', @options.gridTextWeight)
.attr('fill', @options.inBarValueTextColor)
.attr('text-anchor', 'end')
else
null