@@ -14,10 +14,13 @@ var isNumeric = require('fast-isnumeric');
14
14
15
15
// pure functions, don't alter but passes on `gd` and parts of `trace` without deep copying
16
16
module . exports = function calc ( gd , trace ) {
17
+ var cellsValues = trace . cells . values ;
18
+ var slicer = function ( a ) {
19
+ return a . slice ( trace . header . values . length , a . length ) ;
20
+ } ;
17
21
var headerValues = trace . header . values . map ( function ( c ) {
18
22
return Array . isArray ( c ) ? c : [ c ] ;
19
- } ) ;
20
- var cellsValues = trace . cells . values ;
23
+ } ) . concat ( slicer ( cellsValues ) . map ( function ( ) { return [ '' ] ; } ) ) ;
21
24
var domain = trace . domain ;
22
25
var groupWidth = Math . floor ( gd . _fullLayout . _size . w * ( domain . x [ 1 ] - domain . x [ 0 ] ) ) ;
23
26
var groupHeight = Math . floor ( gd . _fullLayout . _size . h * ( domain . y [ 1 ] - domain . y [ 0 ] ) ) ;
@@ -31,7 +34,7 @@ module.exports = function calc(gd, trace) {
31
34
var headerRowBlocks = makeRowBlock ( anchorToHeaderRowBlock , [ ] ) ;
32
35
var rowBlocks = makeRowBlock ( anchorToRowBlock , headerRowBlocks ) ;
33
36
var uniqueKeys = { } ;
34
- var columnOrder = trace . _fullInput . columnorder ;
37
+ var columnOrder = trace . _fullInput . columnorder . concat ( slicer ( cellsValues . map ( function ( d , i ) { return i ; } ) ) ) ;
35
38
var columnWidths = headerValues . map ( function ( d , i ) {
36
39
var value = Array . isArray ( trace . columnwidth ) ?
37
40
trace . columnwidth [ Math . min ( i , trace . columnwidth . length - 1 ) ] :
0 commit comments