Skip to content

Commit 3d56195

Browse files
monferaetpinard
authored andcommitted
ensuring special cases 0 rows or 0 columns work; noOpacity
1 parent 3f73dcc commit 3d56195

File tree

3 files changed

+22
-26
lines changed

3 files changed

+22
-26
lines changed

src/traces/table/data_preparation_helper.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,12 @@ module.exports = function calc(gd, trace) {
1616
var headerValues = trace.header.values.map(function(c) {
1717
return Array.isArray(c) ? c : [c];
1818
});
19+
var cellsValues = trace.cells.values;
1920
var domain = trace.domain;
2021
var groupWidth = Math.floor(gd._fullLayout._size.w * (domain.x[1] - domain.x[0]));
2122
var groupHeight = Math.floor(gd._fullLayout._size.h * (domain.y[1] - domain.y[0]));
22-
var headerRowHeights = headerValues[0].map(function() {return trace.header.height;});
23-
var rowHeights = trace.cells.values[0].map(function() {return trace.cells.height;});
23+
var headerRowHeights = headerValues.length ? headerValues[0].map(function() {return trace.header.height;}) : [];
24+
var rowHeights = cellsValues.length ? cellsValues[0].map(function() {return trace.cells.height;}) : [];
2425
var headerHeight = headerRowHeights.reduce(function(a, b) {return a + b;}, 0);
2526
var scrollHeight = groupHeight - headerHeight;
2627
var minimumFillHeight = scrollHeight + c.uplift;

src/traces/table/defaults.js

+18-23
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
var Lib = require('../../lib');
1212
var attributes = require('./attributes');
1313

14-
function defaultColumnOrder(traceIn, coerce) {
15-
var specifiedColumnOrder = traceIn.columnorder || [];
16-
var commonLength = traceIn.header.values.length;
14+
function defaultColumnOrder(traceOut, coerce) {
15+
var specifiedColumnOrder = traceOut.columnorder || [];
16+
var commonLength = traceOut.header.values.length;
1717
var truncated = specifiedColumnOrder.slice(0, commonLength);
1818
var sorted = truncated.slice().sort(function(a, b) {return a - b;});
1919
var oneStepped = truncated.map(function(d) {return sorted.indexOf(d);});
@@ -28,28 +28,10 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
2828
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
2929
}
3030

31-
var fontDflt = {
32-
family: layout.font.family,
33-
size: layout.font.size,
34-
color: layout.font.color
35-
};
36-
3731
coerce('domain.x');
3832
coerce('domain.y');
3933

4034
coerce('columnwidth');
41-
defaultColumnOrder(traceIn, coerce);
42-
43-
coerce('cells.values');
44-
coerce('cells.format');
45-
coerce('cells.align');
46-
coerce('cells.prefix');
47-
coerce('cells.suffix');
48-
coerce('cells.height');
49-
coerce('cells.line.width');
50-
coerce('cells.line.color');
51-
coerce('cells.fill.color');
52-
Lib.coerceFont(coerce, 'cells.font', fontDflt);
5335

5436
coerce('header.values');
5537
coerce('header.format');
@@ -60,6 +42,19 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
6042
coerce('header.height');
6143
coerce('header.line.width');
6244
coerce('header.line.color');
63-
coerce('header.fill.color');
64-
Lib.coerceFont(coerce, 'header.font', fontDflt);
45+
coerce('header.fill.color', defaultColor);
46+
Lib.coerceFont(coerce, 'header.font', Lib.extendFlat({}, layout.font));
47+
48+
defaultColumnOrder(traceOut, coerce);
49+
50+
coerce('cells.values');
51+
coerce('cells.format');
52+
coerce('cells.align');
53+
coerce('cells.prefix');
54+
coerce('cells.suffix');
55+
coerce('cells.height');
56+
coerce('cells.line.width');
57+
coerce('cells.line.color');
58+
coerce('cells.fill.color', defaultColor);
59+
Lib.coerceFont(coerce, 'cells.font', Lib.extendFlat({}, layout.font));
6560
};

src/traces/table/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Table.plot = require('./plot');
1818
Table.moduleType = 'trace';
1919
Table.name = 'table';
2020
Table.basePlotModule = require('./base_plot');
21-
Table.categories = [];
21+
Table.categories = ['noOpacity'];
2222
Table.meta = {
2323
description: [
2424
'Table view for detailed data viewing.',

0 commit comments

Comments
 (0)