Skip to content

Commit 805aa06

Browse files
monferaetpinard
authored andcommitted
fix for non-removed columns and zero row counts
1 parent acf9f31 commit 805aa06

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/traces/table/plot.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,8 @@ module.exports = function plot(gd, wrappedTraceHolders) {
9393
.append('g')
9494
.classed(c.cn.yColumn, true);
9595

96+
yColumn.exit().remove();
97+
9698
yColumn
9799
.attr('transform', function(d) {return 'translate(' + d.x + ' 0)';})
98100
.call(d3.behavior.drag()
@@ -242,7 +244,7 @@ function renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {
242244

243245
function calcTotalHeight(d) {
244246
var blocks = d.rowBlocks;
245-
return firstRowAnchor(blocks, blocks.length - 1) + rowsHeight(blocks[blocks.length - 1], Infinity);
247+
return firstRowAnchor(blocks, blocks.length - 1) + (blocks.length ? rowsHeight(blocks[blocks.length - 1], Infinity) : 1);
246248
}
247249

248250
var scrollbarKit = tableControlView.selectAll('.' + c.cn.scrollbarKit)
@@ -288,7 +290,7 @@ function renderScrollbarKit(tableControlView, gd, bypassVisibleBar) {
288290

289291
scrollbarSlider
290292
.attr('transform', function(d) {
291-
return 'translate(0 ' + d.scrollbarState.topY + ')';
293+
return 'translate(0 ' + (d.scrollbarState.topY || 0) + ')';
292294
});
293295

294296
var scrollbarGlyph = scrollbarSlider.selectAll('.' + c.cn.scrollbarGlyph)
@@ -603,7 +605,7 @@ function headerBlock(d) {return d.type === 'header';}
603605
*/
604606

605607
function headerHeight(d) {
606-
var headerBlocks = d.rowBlocks[0].auxiliaryBlocks;
608+
var headerBlocks = d.rowBlocks.length ? d.rowBlocks[0].auxiliaryBlocks : [];
607609
return headerBlocks.reduce(function(p, n) {return p + rowsHeight(n, Infinity);}, 0);
608610
}
609611

@@ -643,6 +645,7 @@ function findPagesAndCacheHeights(blocks, scrollY, scrollHeight) {
643645

644646
function updateBlockYPosition(gd, cellsColumnBlock, tableControlView) {
645647
var d = flatData(cellsColumnBlock)[0];
648+
if(d === undefined) return;
646649
var blocks = d.rowBlocks;
647650
var calcdata = d.calcdata;
648651

0 commit comments

Comments
 (0)