Added defensive code to the height calculation for <rect> elements, in lineChart and scatter.js

master
Robin Hu 11 years ago
parent eff85fb985
commit b8d6f750ab

3552
nv.d3.js

File diff suppressed because it is too large Load Diff

8
nv.d3.min.js vendored

File diff suppressed because one or more lines are too long

@ -94,7 +94,7 @@ nv.models.line = function() {
wrap.select('#nv-edge-clip-' + scatter.id() + ' rect') wrap.select('#nv-edge-clip-' + scatter.id() + ' rect')
.attr('width', availableWidth) .attr('width', availableWidth)
.attr('height', availableHeight); .attr('height', (availableHeight > 0) ? availableHeight : 0);
g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : ''); g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + scatter.id() + ')' : '');
scatterWrap scatterWrap

@ -80,7 +80,7 @@ nv.models.lineChart = function() {
//set state.disabled //set state.disabled
state.disabled = data.map(function(d) { return !!d.disabled }); state.disabled = data.map(function(d) { return !!d.disabled });
if (!defaultState) { if (!defaultState) {
var key; var key;
defaultState = {}; defaultState = {};
@ -139,7 +139,9 @@ nv.models.lineChart = function() {
gEnter.append('g').attr('class', 'nv-legendWrap'); gEnter.append('g').attr('class', 'nv-legendWrap');
gEnter.append('g').attr('class', 'nv-interactive'); gEnter.append('g').attr('class', 'nv-interactive');
g.select("rect").attr("width",availableWidth).attr("height",availableHeight); g.select("rect")
.attr("width",availableWidth)
.attr("height",(availableHeight > 0) ? availableHeight : 0);
//------------------------------------------------------------ //------------------------------------------------------------
// Legend // Legend
@ -172,7 +174,7 @@ nv.models.lineChart = function() {
//------------------------------------------------------------ //------------------------------------------------------------
// Main Chart Component(s) // Main Chart Component(s)
//------------------------------------------------------------ //------------------------------------------------------------
//Set up interactive layer //Set up interactive layer
if (useInteractiveGuideline) { if (useInteractiveGuideline) {
@ -245,9 +247,9 @@ nv.models.lineChart = function() {
lines.clearHighlights(); lines.clearHighlights();
var singlePoint, pointIndex, pointXLocation, allData = []; var singlePoint, pointIndex, pointXLocation, allData = [];
data data
.filter(function(series, i) { .filter(function(series, i) {
series.seriesIndex = i; series.seriesIndex = i;
return !series.disabled; return !series.disabled;
}) })
.forEach(function(series,i) { .forEach(function(series,i) {
pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x()); pointIndex = nv.interactiveBisect(series.values, e.pointXValue, chart.x());

@ -146,7 +146,7 @@ nv.models.scatter = function() {
wrap.select('#nv-edge-clip-' + id + ' rect') wrap.select('#nv-edge-clip-' + id + ' rect')
.attr('width', availableWidth) .attr('width', availableWidth)
.attr('height', availableHeight); .attr('height', (availableHeight > 0) ? availableHeight : 0);
g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : ''); g .attr('clip-path', clipEdge ? 'url(#nv-edge-clip-' + id + ')' : '');

Loading…
Cancel
Save