diff --git a/src/TableRenderers.jsx b/src/TableRenderers.jsx index 849894d..c11a858 100644 --- a/src/TableRenderers.jsx +++ b/src/TableRenderers.jsx @@ -61,21 +61,27 @@ function makeRenderer(opts = {}) { const rowKeys = pivotData.getRowKeys(); const colKeys = pivotData.getColKeys(); const grandTotalAggregator = pivotData.getAggregator([], []); + const tableOptions = this.props.tableOptions; + const rowTotals = ('rowTotals' in tableOptions ? tableOptions.rowTotals : true) || colAttrs.length === 0; + const colTotals = ('colTotals' in tableOptions ? tableOptions.colTotals : true) || rowAttrs.length === 0; let valueCellColors = () => {}; let rowTotalColors = () => {}; let colTotalColors = () => {}; if (opts.heatmapMode) { const colorScaleGenerator = this.props.tableColorScaleGenerator; - const rowTotalValues = colKeys.map(x => - pivotData.getAggregator([], x).value() - ); - rowTotalColors = colorScaleGenerator(rowTotalValues); - const colTotalValues = rowKeys.map(x => - pivotData.getAggregator(x, []).value() - ); - colTotalColors = colorScaleGenerator(colTotalValues); - + if (colTotals) { + const rowTotalValues = colKeys.map(x => + pivotData.getAggregator([], x).value() + ); + rowTotalColors = colorScaleGenerator(rowTotalValues); + } + if (rowTotals) { + const colTotalValues = rowKeys.map(x => + pivotData.getAggregator(x, []).value() + ); + colTotalColors = colorScaleGenerator(colTotalValues); + } if (opts.heatmapMode === 'full') { const allValues = []; rowKeys.map(r => @@ -164,7 +170,7 @@ function makeRenderer(opts = {}) { ); })} - {j === 0 && ( + {j === 0 && rowTotals && (