@@ -14,10 +14,13 @@ var isNumeric = require('fast-isnumeric');
1414
1515// pure functions, don't alter but passes on `gd` and parts of `trace` without deep copying
1616module . 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+ } ;
1721 var headerValues = trace . header . values . map ( function ( c ) {
1822 return Array . isArray ( c ) ? c : [ c ] ;
19- } ) ;
20- var cellsValues = trace . cells . values ;
23+ } ) . concat ( slicer ( cellsValues ) . map ( function ( ) { return [ '' ] ; } ) ) ;
2124 var domain = trace . domain ;
2225 var groupWidth = Math . floor ( gd . _fullLayout . _size . w * ( domain . x [ 1 ] - domain . x [ 0 ] ) ) ;
2326 var groupHeight = Math . floor ( gd . _fullLayout . _size . h * ( domain . y [ 1 ] - domain . y [ 0 ] ) ) ;
@@ -31,7 +34,7 @@ module.exports = function calc(gd, trace) {
3134 var headerRowBlocks = makeRowBlock ( anchorToHeaderRowBlock , [ ] ) ;
3235 var rowBlocks = makeRowBlock ( anchorToRowBlock , headerRowBlocks ) ;
3336 var uniqueKeys = { } ;
34- var columnOrder = trace . _fullInput . columnorder ;
37+ var columnOrder = trace . _fullInput . columnorder . concat ( slicer ( cellsValues . map ( function ( d , i ) { return i ; } ) ) ) ;
3538 var columnWidths = headerValues . map ( function ( d , i ) {
3639 var value = Array . isArray ( trace . columnwidth ) ?
3740 trace . columnwidth [ Math . min ( i , trace . columnwidth . length - 1 ) ] :
0 commit comments