Merge remote-tracking branch 'diraol/bulletChart'
This commit is contained in:
commit
bd5ca282ec
@ -29,7 +29,9 @@ nv.models.bullet = function() {
|
||||
selection.each(function(d, i) {
|
||||
var availableWidth = width - margin.left - margin.right,
|
||||
availableHeight = height - margin.top - margin.bottom,
|
||||
container = d3.select(this);
|
||||
container = d3.select(this),
|
||||
mainGroup = this.parentNode.parentNode.getAttribute('transform')
|
||||
heightFromTop = parseInt(mainGroup.replace(/.*,(\d+)\)/,"$1")) //TODO: There should be a smarter way to get this value
|
||||
|
||||
var rangez = ranges.call(this, d, i).slice().sort(d3.descending),
|
||||
markerz = markers.call(this, d, i).slice().sort(d3.descending),
|
||||
@ -41,8 +43,9 @@ nv.models.bullet = function() {
|
||||
// Setup Scales
|
||||
|
||||
// Compute the new x-scale.
|
||||
var MaxX = Math.max(rangez[0] ? rangez[0]:0 , markerz[0] ? markerz[0] : 0 , measurez[0] ? measurez[0] : 0)
|
||||
var x1 = d3.scale.linear()
|
||||
.domain([0, Math.max(rangez[0], markerz[0], measurez[0])]) // TODO: need to allow forceX and forceY, and xDomain, yDomain
|
||||
.domain([0, MaxX]).nice() // TODO: need to allow forceX and forceY, and xDomain, yDomain
|
||||
.range(reverse ? [availableWidth, 0] : [0, availableWidth]);
|
||||
|
||||
// Retrieve the old x-scale, if this is an update.
|
||||
@ -87,7 +90,7 @@ nv.models.bullet = function() {
|
||||
dispatch.elementMouseover({
|
||||
value: d,
|
||||
label: (i <= 0) ? 'Maximum' : (i > 1) ? 'Minimum' : 'Mean', //TODO: make these labels a variable
|
||||
pos: [x1(d), availableHeight/2]
|
||||
pos: [x1(d), heightFromTop]
|
||||
})
|
||||
})
|
||||
.on('mouseout', function(d,i) {
|
||||
@ -117,7 +120,7 @@ nv.models.bullet = function() {
|
||||
dispatch.elementMouseover({
|
||||
value: d,
|
||||
label: 'Current', //TODO: make these labels a variable
|
||||
pos: [x1(d), availableHeight/2]
|
||||
pos: [x1(d), heightFromTop]
|
||||
})
|
||||
})
|
||||
.on('mouseout', function(d) {
|
||||
@ -148,7 +151,7 @@ nv.models.bullet = function() {
|
||||
dispatch.elementMouseover({
|
||||
value: d,
|
||||
label: 'Previous',
|
||||
pos: [x1(d), availableHeight/2]
|
||||
pos: [x1(d), heightFromTop]
|
||||
})
|
||||
})
|
||||
.on('mouseout', function(d,i) {
|
||||
|
@ -36,15 +36,15 @@ nv.models.bulletChart = function() {
|
||||
// Private Variables
|
||||
//------------------------------------------------------------
|
||||
|
||||
var showTooltip = function(e, offsetElement) {
|
||||
var offsetElement = document.getElementById("chart"),
|
||||
var showTooltip = function(e, parentElement) {
|
||||
var offsetElement = parentElement.parentNode.parentNode,
|
||||
left = e.pos[0] + offsetElement.offsetLeft + margin.left,
|
||||
top = e.pos[1] + offsetElement.offsetTop + margin.top;
|
||||
|
||||
var content = '<h3>' + e.label + '</h3>' +
|
||||
'<p>' + e.value + '</p>';
|
||||
|
||||
nv.tooltip.show([left, top], content, e.value < 0 ? 'e' : 'w', null, offsetElement);
|
||||
nv.tooltip.show([left, top], content, e.value < 0 ? 'e' : 'w', null, offsetElement.parentNode);
|
||||
};
|
||||
|
||||
//============================================================
|
||||
@ -107,14 +107,15 @@ nv.models.bulletChart = function() {
|
||||
gEnter.append('g').attr('class', 'nv-bulletWrap');
|
||||
gEnter.append('g').attr('class', 'nv-titles');
|
||||
|
||||
wrap.attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');
|
||||
wrap.attr('transform', 'translate(' + margin.left + ',' + ( margin.top + i*height )+ ')');
|
||||
|
||||
//------------------------------------------------------------
|
||||
|
||||
|
||||
// Compute the new x-scale.
|
||||
var MaxX = Math.max(rangez[0] ? rangez[0]:0 , markerz[0] ? markerz[0] : 0 , measurez[0] ? measurez[0] : 0)
|
||||
var x1 = d3.scale.linear()
|
||||
.domain([0, Math.max(rangez[0], markerz[0], measurez[0])]) // TODO: need to allow forceX and forceY, and xDomain, yDomain
|
||||
.domain([0, MaxX]).nice() // TODO: need to allow forceX and forceY, and xDomain, yDomain
|
||||
.range(reverse ? [availableWidth, 0] : [0, availableWidth]);
|
||||
|
||||
// Retrieve the old x-scale, if this is an update.
|
||||
|
Loading…
Reference in New Issue
Block a user