react-pivottable-plus 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,94 +1,93 @@
1
- # react-pivottable-plus
2
-
3
- `react-pivottable-plus` es una versión moderna y extendida de [react-pivottable-grouping](https://github.com/jjagielka/react-pivottable-grouping) (a su vez un fork de [react-pivottable](https://github.com/plotly/react-pivottable)), actualizada para los estándares actuales de desarrollo web y con una interfaz de usuario significativamente mejorada.
4
-
5
- Esta biblioteca permite la exploración y el análisis de datos mediante el resumen de un conjunto de datos en una tabla dinámica con una interfaz de arrastrar y soltar (drag'n'drop) intuitiva.
6
-
7
- ## 🚀 Novedades y Mejoras
8
-
9
- ### ⚛️ Soporte para React 19
10
- Totalmente compatible con **React 19**, aprovechando las últimas mejoras de rendimiento y estabilidad del ecosistema.
11
-
12
- ### 🎨 Interfaces de Usuario Modernas
13
- Se han incluido renderizadores de alta calidad basados en frameworks modernos:
14
- - **Tailwind CSS**: Una interfaz limpia, moderna y altamente personalizable.
15
- - **Shadcn/UI**: Diseño profesional basado en componentes de Radix UI y Tailwind.
16
- - **Radix UI**: Soporte nativo para componentes accesibles y robustos.
17
-
18
- ### 📊 Paginación y Totalización (Nuevo Footer)
19
- Se ha añadido un pie de página inteligente que incluye:
20
- - **Paginación avanzada**: Control de página actual y tamaño de página (registros por página).
21
- - **Totalización**: Visualización en tiempo real del total de registros procesados y el total de filas resultantes en la tabla dinámica.
22
-
23
- ### 📉 Agrupación y Subtotales
24
- Incluye soporte nativo para la agrupación de filas y columnas con cálculo automático de **subtotales**, permitiendo colapsar y expandir secciones para un análisis de datos más profundo.
25
-
26
- ## 📦 Instalación
27
-
28
- ```bash
29
- npm install --save react-pivottable-plus react react-dom
30
- ```
31
-
32
- ## 🛠️ Uso Básico
33
-
34
- ```jsx
35
- import React, { useState } from 'react';
36
- import PivotTableUI from 'react-pivottable-plus/PivotTableUI';
37
- import 'react-pivottable-plus/pivottable.css';
38
-
39
- const data = [
40
- { producto: "Manzana", categoria: "Fruta", ventas: 100 },
41
- { producto: "Pera", categoria: "Fruta", ventas: 150 },
42
- // ... más datos
43
- ];
44
-
45
- function App() {
46
- const [state, setState] = useState({});
47
-
48
- return (
49
- <PivotTableUI
50
- data={data}
51
- onChange={s => setState(s)}
52
- {...state}
53
- />
54
- );
55
- }
56
- ```
57
-
58
- ## 🌈 Uso de Renderizadores Modernos (Tailwind / Shadcn / Radix)
59
-
60
- Para utilizar las nuevas interfaces, importa el renderizador correspondiente desde la carpeta de renderers:
61
-
62
- ```jsx
63
- import { TailwindUI } from 'react-pivottable-plus/renderers/TailwindUI';
64
- // O bien:
65
- // import { ShadcnDashboardUI } from 'react-pivottable-plus/renderers/ShadcnDashboardUI';
66
- // import { RadixUI } from 'react-pivottable-plus/renderers/RadixUI';
67
-
68
- // En tu componente:
69
- <PivotTableUI
70
- data={data}
71
- rendererName="Table" // o el nombre que prefieras
72
- renderers={{ Table: TailwindUI }}
73
- {...state}
74
- />
75
- ```
76
-
77
- ## 📑 Propiedades Principales
78
-
79
- | Propiedad | Tipo | Descripción |
80
- | :--- | :--- | :--- |
81
- | `data` | Array / Object | Los datos a resumir (formato JSON o Array de Arrays). |
82
- | `rows` | Array | Atributos para las filas. |
83
- | `cols` | Array | Atributos para las columnas. |
84
- | `vals` | Array | Atributos para los valores calculados. |
85
- | `pagination` | Boolean | Activa/Desactiva el pie de página con paginación. |
86
- | `pageSize` | Number | Cantidad de registros por página (Default: 20). |
87
- | `hiddenAttributes` | Array | Atributos que no se mostrarán en la UI. |
88
-
89
- ---
90
-
91
- Este proyecto es un fork mantenido de `react-pivottable` con el objetivo de proporcionar una experiencia de usuario superior y compatibilidad con las últimas versiones de React.
92
-
93
- ## ✍️ Créditos y Autoría
94
- Esta versión moderna y extendida (`react-pivottable-plus`) ha sido desarrollada y mantenida por **Jasp402**, quien ha liderado la implementación de las nuevas interfaces (Tailwind, Shadcn, Radix), la actualización a React 19 y la optimización del motor de arrastre y filtrado.
1
+ # react-pivottable-plus
2
+
3
+ `react-pivottable-plus` es una versión moderna y extendida de [react-pivottable-grouping](https://github.com/jjagielka/react-pivottable-grouping) (a su vez un fork de [react-pivottable](https://github.com/plotly/react-pivottable)), actualizada para los estándares actuales de desarrollo web y con una interfaz de usuario significativamente mejorada.
4
+
5
+ Esta biblioteca permite la exploración y el análisis de datos mediante el resumen de un conjunto de datos en una tabla dinámica con una interfaz de arrastrar y soltar (drag'n'drop) intuitiva.
6
+
7
+ ## 🚀 Novedades y Mejoras
8
+
9
+ ### ⚛️ Soporte para React 19
10
+ Totalmente compatible con **React 19**, aprovechando las últimas mejoras de rendimiento y estabilidad del ecosistema.
11
+
12
+ ### 🎨 Interfaces de Usuario Modernas
13
+ Se han incluido renderizadores de alta calidad basados en frameworks modernos:
14
+ - **Tailwind CSS**: Una interfaz limpia, moderna y altamente personalizable.
15
+ - **Shadcn/UI**: Diseño profesional basado en componentes de Radix UI y Tailwind.
16
+ - **Radix UI**: Soporte nativo para componentes accesibles y robustos.
17
+
18
+ ### 📊 Paginación y Totalización (Nuevo Footer)
19
+ Se ha añadido un pie de página inteligente que incluye:
20
+ - **Paginación avanzada**: Control de página actual y tamaño de página (registros por página).
21
+ - **Totalización**: Visualización en tiempo real del total de registros procesados y el total de filas resultantes en la tabla dinámica.
22
+
23
+ ### 📉 Agrupación y Subtotales
24
+ Incluye soporte nativo para la agrupación de filas y columnas con cálculo automático de **subtotales**, permitiendo colapsar y expandir secciones para un análisis de datos más profundo.
25
+
26
+ ## 📦 Instalación
27
+
28
+ ```bash
29
+ npm install --save react-pivottable-plus react react-dom
30
+ ```
31
+
32
+ ## 🛠️ Uso Básico (Zero Config)
33
+
34
+ Gracias a las últimas optimizaciones, implementar la tabla dinámica es más sencillo que nunca. La mayoría de las propiedades ya tienen valores por defecto inteligentes.
35
+
36
+ ```jsx
37
+ import React, { useState } from 'react';
38
+ import PivotTableUI from 'react-pivottable-plus'; // Importación directa
39
+ import 'react-pivottable-plus/pivottable.css';
40
+
41
+ const data = [
42
+ { producto: "Manzana", categoria: "Fruta", ventas: 100 },
43
+ { producto: "Pera", categoria: "Fruta", ventas: 150 },
44
+ ];
45
+
46
+ function App() {
47
+ // Solo necesitas gestionar el estado si quieres persistir la configuración
48
+ const [state, setState] = useState({});
49
+
50
+ return (
51
+ <PivotTableUI
52
+ data={data}
53
+ onChange={s => setState(s)}
54
+ {...state}
55
+ />
56
+ );
57
+ }
58
+ ```
59
+
60
+ ## 🌈 Uso de Renderizadores Modernos
61
+
62
+ La librería incluye renderizadores premium listos para usar. No necesitas configurarlos manualmente, solo indica el nombre si ya los has incluido en el objeto `renderers`, o pásalos directamente:
63
+
64
+ ```jsx
65
+ import { TailwindUI } from 'react-pivottable-plus/renderers/TailwindUI';
66
+
67
+ // En tu componente:
68
+ <PivotTableUI
69
+ data={data}
70
+ renderers={{ Table: TailwindUI }} // Sobrescribe el renderizador por defecto
71
+ {...state}
72
+ />
73
+ ```
74
+
75
+ ## 📑 Propiedades Principales (Todas Opcionales)
76
+
77
+ | Propiedad | Tipo | Por Defecto | Descripción |
78
+ | :--- | :--- | :--- | :--- |
79
+ | `data` | Array / Object | `[]` | Los datos a resumir. |
80
+ | `rows` | Array | `[]` | Atributos para las filas. |
81
+ | `cols` | Array | `[]` | Atributos para las columnas. |
82
+ | `vals` | Array | `[]` | Atributos para los valores calculados. |
83
+ | `aggregatorName` | String | `"Count"` | Nombre del agregador inicial. |
84
+ | `rendererName` | String | `"Table"` | Nombre del renderizador inicial. |
85
+ | `pagination` | Boolean | `false` | Activa el pie de página con paginación. |
86
+ | `pageSize` | Number | `20` | Cantidad de registros por página. |
87
+
88
+ ---
89
+
90
+ Este proyecto es un fork mantenido de `react-pivottable` con el objetivo de proporcionar una experiencia de usuario superior y compatibilidad con las últimas versiones de React.
91
+
92
+ ## ✍️ Créditos y Autoría
93
+ Esta versión moderna y extendida (`react-pivottable-plus`) ha sido desarrollada y mantenida por **Jasp402**, quien ha liderado la implementación de las nuevas interfaces (Tailwind, Shadcn, Radix), la actualización a React 19 y la optimización del motor de arrastre y filtrado.
@@ -1 +1 @@
1
- {"version":3,"file":"TableRenderers.js","names":["_react","_interopRequireDefault","require","_propTypes","_Utilities","e","__esModule","_createForOfIteratorHelper","r","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","_setPrototypeOf","spanSize","arr","j","no_loop","arguments","undefined","x","asc","end","noDraw","len","asc1","end1","stop","redColorScaleGenerator","values","min","Math","max","nonRed","round","backgroundColor","concat","flatKey","join","fromCharCode","has","set","every","add","forEach","remove","toggle","makeRenderer","opts","TableRenderer","_React$PureComponent","render","_this","pivotData","PivotData","props","id","colAttrs","cols","rowAttrs","rows","rowKeys","getRowKeys","colKeys","getColKeys","grandTotalAggregator","getAggregator","grouping","compactRows","specialCase","rowGroupBefore","folded","state","Set","isFolded","keys","map","fold","setState","_iterator","_step","_loop","filter","colKey","startsWith","rowKey","err","totalRows","pagination","start","page","pageSize","valueCellColors","rowTotalColors","colTotalColors","heatmapMode","colorScaleGenerator","tableColorScaleGenerator","rowTotalValues","colTotalValues","allValues","c","push","colorScale","v","rowColorScales","rowValues","colColorScales","colValues","getClickHandler","tableOptions","clickCallback","filters","_i","_Object$keys","attr","_i2","_Object$keys2","rbClass","cbClass","colGroupBefore","clickClass","pred","closed","createElement","className","clickable","levelKeys","colSpan","rowSpan","onClick","_","totalAggregator","rowGap","rowTotalValue","txt","style","paddingLeft","aggregator","colGap","val","isNumeric","format","totalVal","React","PureComponent","defaultProps","propTypes","PropTypes","func","object","bool","TSVExportRenderer","_React$PureComponent2","headerRow","aggregatorName","result","row","unshift","width","window","innerWidth","height","innerHeight","readOnly","_default","exports","Table","module","default"],"sources":["src/TableRenderers.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {PivotData} from './Utilities';\r\n\r\n// helper function for setting row/col-span in pivotTableRenderer\r\nconst spanSize = function(arr, i, j, no_loop = false) {\r\n let x;\r\n if (i !== 0) {\r\n let asc, end;\r\n let noDraw = true;\r\n for (\r\n x = 0, end = j, asc = end >= 0;\r\n asc ? x <= end : x >= end;\r\n asc ? x++ : x--\r\n ) {\r\n if (arr[i - 1][x] !== arr[i][x]) {\r\n noDraw = false;\r\n }\r\n }\r\n if (noDraw) {\r\n return -1;\r\n }\r\n }\r\n let len = 0;\r\n while (i + len < arr.length) {\r\n let asc1, end1;\r\n let stop = false;\r\n for (\r\n x = no_loop ? j : 0, end1 = j, asc1 = end1 >= 0;\r\n asc1 ? x <= end1 : x >= end1;\r\n asc1 ? x++ : x--\r\n ) {\r\n if (arr[i][x] !== arr[i + len][x]) {\r\n stop = true;\r\n }\r\n }\r\n if (stop) {\r\n break;\r\n }\r\n len++;\r\n }\r\n return len;\r\n};\r\n\r\nfunction redColorScaleGenerator(values) {\r\n const min = Math.min.apply(Math, values);\r\n const max = Math.max.apply(Math, values);\r\n return x => {\r\n // eslint-disable-next-line no-magic-numbers\r\n const nonRed = 255 - Math.round((255 * (x - min)) / (max - min));\r\n return {backgroundColor: `rgb(255,${nonRed},${nonRed})`};\r\n };\r\n}\r\n\r\nconst flatKey = arr => arr.join(String.fromCharCode(0));\r\nconst has = (set, arr) => arr.every(set.has, set);\r\nconst add = (set, arr) => (arr.forEach(set.add, set) || set);\r\nconst remove = (set, arr) => (arr.forEach(set.delete, set) || set);\r\nconst toggle = (set, arr) => (has(set, arr) ? remove : add)(set, arr);\r\n\r\nfunction makeRenderer(opts = {}) {\r\n class TableRenderer extends React.PureComponent {\r\n render() {\r\n const pivotData = new PivotData(this.props);\r\n const id = pivotData.props.id;\r\n const colAttrs = pivotData.props.cols;\r\n const rowAttrs = pivotData.props.rows;\r\n let rowKeys = pivotData.getRowKeys(true);\r\n let colKeys = pivotData.getColKeys(true);\r\n const grandTotalAggregator = pivotData.getAggregator([], []);\r\n\r\n const grouping = pivotData.props.grouping;\r\n const compactRows = grouping && this.props.compactRows;\r\n // speacial case for spanSize counting (no_loop)\r\n const specialCase = grouping && !this.props.rowGroupBefore;\r\n const folded = (this.state || {}).folded || new Set();\r\n const isFolded = keys => has(folded, keys.map(flatKey));\r\n const fold = keys => this.setState({folded: toggle(new Set(folded), keys.map(flatKey))});\r\n\r\n if(grouping){\r\n for (const key of folded) {\r\n colKeys = colKeys.filter(colKey => !flatKey(colKey).startsWith(key + String.fromCharCode(0)));\r\n rowKeys = rowKeys.filter(rowKey => !flatKey(rowKey).startsWith(key + String.fromCharCode(0)));\r\n }\r\n }\r\n\r\n const totalRows = rowKeys.length;\r\n if (this.props.pagination) {\r\n const start = (this.props.page - 1) * this.props.pageSize;\r\n const end = start + this.props.pageSize;\r\n rowKeys = rowKeys.slice(start, end);\r\n }\r\n\r\n let valueCellColors = () => {};\r\n let rowTotalColors = () => {};\r\n let colTotalColors = () => {};\r\n if (opts.heatmapMode) {\r\n const colorScaleGenerator = this.props.tableColorScaleGenerator;\r\n const rowTotalValues = colKeys.map(x =>\r\n pivotData.getAggregator([], x).value()\r\n );\r\n rowTotalColors = colorScaleGenerator(rowTotalValues);\r\n const colTotalValues = rowKeys.map(x =>\r\n pivotData.getAggregator(x, []).value()\r\n );\r\n colTotalColors = colorScaleGenerator(colTotalValues);\r\n\r\n if (opts.heatmapMode === 'full') {\r\n const allValues = [];\r\n rowKeys.map(r =>\r\n colKeys.map(c =>\r\n allValues.push(pivotData.getAggregator(r, c).value())\r\n )\r\n );\r\n const colorScale = colorScaleGenerator(allValues);\r\n valueCellColors = (r, c, v) => colorScale(v);\r\n } else if (opts.heatmapMode === 'row') {\r\n const rowColorScales = {};\r\n rowKeys.map(r => {\r\n const rowValues = colKeys.map(x =>\r\n pivotData.getAggregator(r, x).value()\r\n );\r\n rowColorScales[r] = colorScaleGenerator(rowValues);\r\n });\r\n valueCellColors = (r, c, v) => rowColorScales[r](v);\r\n } else if (opts.heatmapMode === 'col') {\r\n const colColorScales = {};\r\n colKeys.map(c => {\r\n const colValues = rowKeys.map(x =>\r\n pivotData.getAggregator(x, c).value()\r\n );\r\n colColorScales[c] = colorScaleGenerator(colValues);\r\n });\r\n valueCellColors = (r, c, v) => colColorScales[c](v);\r\n }\r\n }\r\n\r\n const getClickHandler =\r\n this.props.tableOptions && this.props.tableOptions.clickCallback\r\n ? (value, rowValues, colValues) => {\r\n const filters = {};\r\n for (const i of Object.keys(colAttrs || {})) {\r\n const attr = colAttrs[i];\r\n if (colValues[i] !== null) {\r\n filters[attr] = colValues[i];\r\n }\r\n }\r\n for (const i of Object.keys(rowAttrs || {})) {\r\n const attr = rowAttrs[i];\r\n if (rowValues[i] !== null) {\r\n filters[attr] = rowValues[i];\r\n }\r\n }\r\n return e =>\r\n this.props.tableOptions.clickCallback(\r\n e,\r\n value,\r\n filters,\r\n pivotData\r\n );\r\n }\r\n : null;\r\n\r\n const rbClass = grouping? this.props.rowGroupBefore ? \"rowGroupBefore\" : \"rowGroupAfter\" : \"\";\r\n const cbClass = grouping? this.props.colGroupBefore ? \"colGroupBefore\" : \"colGroupAfter\" : \"\";\r\n const clickClass = (pred, closed) => pred? \" pvtClickable\" + (closed? \" closed\": \"\") : \"\";\r\n return (\r\n <table id={id} className={`pvtTable ${rbClass} ${cbClass}`}>\r\n <thead>\r\n {colAttrs.map(function(c, j) {\r\n const clickable = grouping && colAttrs.length > j + 1;\r\n const levelKeys = colKeys.filter(x => x.length === j+1);\r\n return (\r\n <tr key={`colAttr${j}`}>\r\n {j === 0 && rowAttrs.length !== 0 && (\r\n <th colSpan={rowAttrs.length} rowSpan={colAttrs.length} />\r\n )}\r\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\r\n onClick={clickable? _ => fold(levelKeys): null}\r\n >{c}</th>\r\n {colKeys.map(function(colKey, i) {\r\n const x = spanSize(colKeys, i, j);\r\n if (x === -1) {\r\n return null;\r\n }\r\n return (\r\n <th\r\n className={\"pvtColLabel\" + clickClass(clickable && colKey[j], isFolded([colKey.slice(0, j + 1)]))}\r\n key={`colKey-${i}-${j}-${colKey[j]}`}\r\n colSpan={x}\r\n rowSpan={\r\n j === colAttrs.length - 1 && rowAttrs.length !== 0\r\n ? 2\r\n : 1\r\n }\r\n onClick={clickable && colKey[j] ? _ => fold([colKey.slice(0, j + 1)]) : null}\r\n >\r\n {colKey[j]}\r\n </th>\r\n );\r\n })}\r\n\r\n {j === 0 && (\r\n <th\r\n className=\"pvtTotalLabel\"\r\n rowSpan={\r\n colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)\r\n }\r\n >\r\n Totals\r\n </th>\r\n )}\r\n </tr>\r\n );\r\n })}\r\n\r\n {rowAttrs.length !== 0 && (\r\n <tr>\r\n {rowAttrs.map(function(r, i) {\r\n const clickable = grouping && rowAttrs.length > i + 1;\r\n const levelKeys = rowKeys.filter(x => x.length === i+1);\r\n return (\r\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\r\n onClick={clickable? _ => fold(levelKeys): null}\r\n key={`rowAttr${i}`}>\r\n {r}\r\n </th>\r\n );\r\n })}\r\n <th className=\"pvtTotalLabel\">\r\n {colAttrs.length === 0 ? 'Totals' : null}\r\n </th>\r\n </tr>\r\n )}\r\n </thead>\r\n\r\n <tbody>\r\n {rowKeys.map(function(rowKey, i) {\r\n const totalAggregator = pivotData.getAggregator(rowKey, []);\r\n const rowGap = rowAttrs.length - rowKey.length;\r\n const rowTotalValue = totalAggregator.value();\r\n return (\r\n <tr key={`rowKeyRow${i}`}\r\n className={(rowGap ? \"pvtLevel\" + rowGap : \"pvtData\") + \" pvtRow-data\"}>\r\n {rowKey.map(function(txt, j) {\r\n if (compactRows && j < rowKey.length - 1) {\r\n return null;\r\n }\r\n const clickable = grouping && rowAttrs.length > j + 1;\r\n const x = compactRows ? 1 : spanSize(rowKeys, i, j, specialCase);\r\n if (x === -1) {\r\n return null;\r\n }\r\n return (\r\n <th\r\n key={`rowKeyLabel-${i}-${j}-${txt}`}\r\n className={\"pvtRowLabel\" + clickClass(clickable && rowKey[j], isFolded([rowKey.slice(0, j + 1)]))}\r\n rowSpan={x}\r\n colSpan={\r\n compactRows ?\r\n rowAttrs.length + 1 :\r\n j === rowAttrs.length - 1 && colAttrs.length !== 0\r\n ? 2\r\n : 1\r\n }\r\n style={{paddingLeft: compactRows ? `calc(var(--pvt-row-padding, 5px) + ${j} * var(--pvt-row-indent, 20px))` : null}}\r\n onClick={clickable && rowKey[j] ? _ => fold([rowKey.slice(0, j + 1)]) : null}\r\n >\r\n {txt}\r\n </th>\r\n );\r\n })}\r\n {!compactRows && rowGap\r\n ? <th className=\"pvtRowLabel\" colSpan={rowGap + 1}>{\"Total (\" + rowKey[rowKey.length - 1] + \")\"}</th>\r\n : null\r\n }\r\n {colKeys.map(function(colKey, j) {\r\n const aggregator = pivotData.getAggregator(rowKey, colKey);\r\n const colGap = colAttrs.length - colKey.length;\r\n const val = aggregator.value();\r\n const isNumeric = typeof val === 'number';\r\n return (\r\n <td\r\n className={\"pvtVal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\r\n key={`pvtVal${i}-${j}`}\r\n onClick={\r\n getClickHandler &&\r\n getClickHandler(val, rowKey, colKey)\r\n }\r\n style={valueCellColors(\r\n rowKey,\r\n colKey,\r\n val\r\n )}\r\n >\r\n {aggregator.format(val)}\r\n </td>\r\n );\r\n })}\r\n <td\r\n className={\"pvtTotal\" + (typeof rowTotalValue === 'number' ? \" pvtVal-numeric\" : \"\")}\r\n onClick={\r\n getClickHandler &&\r\n getClickHandler(rowTotalValue, rowKey, [null])\r\n }\r\n style={colTotalColors(rowTotalValue)}\r\n >\r\n {totalAggregator.format(rowTotalValue)}\r\n </td>\r\n </tr>\r\n );\r\n })}\r\n\r\n <tr className=\"pvtTotalRow\">\r\n <th\r\n className=\"pvtTotalLabel\"\r\n colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}\r\n >\r\n Totals\r\n </th>\r\n\r\n {colKeys.map(function(colKey, i) {\r\n const totalAggregator = pivotData.getAggregator([], colKey);\r\n const colGap = colAttrs.length - colKey.length;\r\n const totalVal = totalAggregator.value();\r\n const isNumeric = typeof totalVal === 'number';\r\n return (\r\n <td\r\n className={\"pvtTotal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\r\n key={`total${i}`}\r\n onClick={\r\n getClickHandler &&\r\n getClickHandler(totalVal, [null], colKey)\r\n }\r\n style={rowTotalColors(totalVal)}\r\n >\r\n {totalAggregator.format(totalVal)}\r\n </td>\r\n );\r\n })}\r\n\r\n <td\r\n onClick={\r\n getClickHandler &&\r\n getClickHandler(grandTotalAggregator.value(), [null], [null])\r\n }\r\n className={\"pvtGrandTotal\" + (typeof grandTotalAggregator.value() === 'number' ? \" pvtVal-numeric\" : \"\")}\r\n >\r\n {grandTotalAggregator.format(grandTotalAggregator.value())}\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n );\r\n }\r\n }\r\n\r\n TableRenderer.defaultProps = PivotData.defaultProps;\r\n TableRenderer.propTypes = PivotData.propTypes;\r\n TableRenderer.defaultProps.tableColorScaleGenerator = redColorScaleGenerator;\r\n TableRenderer.defaultProps.tableOptions = {};\r\n TableRenderer.propTypes.tableColorScaleGenerator = PropTypes.func;\r\n TableRenderer.propTypes.tableOptions = PropTypes.object;\r\n TableRenderer.defaultProps.compactRows = true;\r\n TableRenderer.propTypes.compactRows = PropTypes.bool;\r\n return TableRenderer;\r\n}\r\n\r\nclass TSVExportRenderer extends React.PureComponent {\r\n render() {\r\n const pivotData = new PivotData(this.props);\r\n const rowKeys = pivotData.getRowKeys();\r\n const colKeys = pivotData.getColKeys();\r\n if (rowKeys.length === 0) {\r\n rowKeys.push([]);\r\n }\r\n if (colKeys.length === 0) {\r\n colKeys.push([]);\r\n }\r\n\r\n const headerRow = pivotData.props.rows.map(r => r);\r\n if (colKeys.length === 1 && colKeys[0].length === 0) {\r\n headerRow.push(this.props.aggregatorName);\r\n } else {\r\n colKeys.map(c => headerRow.push(c.join('-')));\r\n }\r\n\r\n const result = rowKeys.map(r => {\r\n const row = r.map(x => x);\r\n colKeys.map(c => {\r\n const v = pivotData.getAggregator(r, c).value();\r\n row.push(v ? v : '');\r\n });\r\n return row;\r\n });\r\n\r\n result.unshift(headerRow);\r\n\r\n return (\r\n <textarea\r\n value={result.map(r => r.join('\\t')).join('\\n')}\r\n style={{width: window.innerWidth / 2, height: window.innerHeight / 2}}\r\n readOnly={true}\r\n />\r\n );\r\n }\r\n}\r\n\r\nTSVExportRenderer.defaultProps = PivotData.defaultProps;\r\nTSVExportRenderer.propTypes = PivotData.propTypes;\r\n\r\nexport default {\r\n Table: makeRenderer(),\r\n 'Table Heatmap': makeRenderer({heatmapMode: 'full'}),\r\n 'Table Col Heatmap': makeRenderer({heatmapMode: 'col'}),\r\n 'Table Row Heatmap': makeRenderer({heatmapMode: 'row'}),\r\n 'Exportable TSV': TSVExportRenderer,\r\n};\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TableRenderers.js","names":["_react","_interopRequireDefault","require","_propTypes","_Utilities","e","__esModule","_createForOfIteratorHelper","r","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","_setPrototypeOf","spanSize","arr","j","no_loop","arguments","undefined","x","asc","end","noDraw","len","asc1","end1","stop","redColorScaleGenerator","values","min","Math","max","nonRed","round","backgroundColor","concat","flatKey","join","fromCharCode","has","set","every","add","forEach","remove","toggle","makeRenderer","opts","TableRenderer","_React$PureComponent","render","_this","pivotData","PivotData","props","id","colAttrs","cols","rowAttrs","rows","rowKeys","getRowKeys","colKeys","getColKeys","grandTotalAggregator","getAggregator","grouping","compactRows","specialCase","rowGroupBefore","folded","state","Set","isFolded","keys","map","fold","setState","_iterator","_step","_loop","filter","colKey","startsWith","rowKey","err","totalRows","pagination","start","page","pageSize","valueCellColors","rowTotalColors","colTotalColors","heatmapMode","colorScaleGenerator","tableColorScaleGenerator","rowTotalValues","colTotalValues","allValues","c","push","colorScale","v","rowColorScales","rowValues","colColorScales","colValues","getClickHandler","tableOptions","clickCallback","filters","_i","_Object$keys","attr","_i2","_Object$keys2","rbClass","cbClass","colGroupBefore","clickClass","pred","closed","createElement","className","clickable","levelKeys","colSpan","rowSpan","onClick","_","totalAggregator","rowGap","rowTotalValue","txt","style","paddingLeft","aggregator","colGap","val","isNumeric","format","totalVal","React","PureComponent","defaultProps","propTypes","PropTypes","func","object","bool","TSVExportRenderer","_React$PureComponent2","headerRow","aggregatorName","result","row","unshift","width","window","innerWidth","height","innerHeight","readOnly","_default","exports","Table","module","default"],"sources":["src/TableRenderers.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {PivotData} from './Utilities';\n\n// helper function for setting row/col-span in pivotTableRenderer\nconst spanSize = function(arr, i, j, no_loop = false) {\n let x;\n if (i !== 0) {\n let asc, end;\n let noDraw = true;\n for (\n x = 0, end = j, asc = end >= 0;\n asc ? x <= end : x >= end;\n asc ? x++ : x--\n ) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n let len = 0;\n while (i + len < arr.length) {\n let asc1, end1;\n let stop = false;\n for (\n x = no_loop ? j : 0, end1 = j, asc1 = end1 >= 0;\n asc1 ? x <= end1 : x >= end1;\n asc1 ? x++ : x--\n ) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n};\n\nfunction redColorScaleGenerator(values) {\n const min = Math.min.apply(Math, values);\n const max = Math.max.apply(Math, values);\n return x => {\n // eslint-disable-next-line no-magic-numbers\n const nonRed = 255 - Math.round((255 * (x - min)) / (max - min));\n return {backgroundColor: `rgb(255,${nonRed},${nonRed})`};\n };\n}\n\nconst flatKey = arr => arr.join(String.fromCharCode(0));\nconst has = (set, arr) => arr.every(set.has, set);\nconst add = (set, arr) => (arr.forEach(set.add, set) || set);\nconst remove = (set, arr) => (arr.forEach(set.delete, set) || set);\nconst toggle = (set, arr) => (has(set, arr) ? remove : add)(set, arr);\n\nfunction makeRenderer(opts = {}) {\n class TableRenderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const id = pivotData.props.id;\n const colAttrs = pivotData.props.cols;\n const rowAttrs = pivotData.props.rows;\n let rowKeys = pivotData.getRowKeys(true);\n let colKeys = pivotData.getColKeys(true);\n const grandTotalAggregator = pivotData.getAggregator([], []);\n\n const grouping = pivotData.props.grouping;\n const compactRows = grouping && this.props.compactRows;\n // speacial case for spanSize counting (no_loop)\n const specialCase = grouping && !this.props.rowGroupBefore;\n const folded = (this.state || {}).folded || new Set();\n const isFolded = keys => has(folded, keys.map(flatKey));\n const fold = keys => this.setState({folded: toggle(new Set(folded), keys.map(flatKey))});\n\n if(grouping){\n for (const key of folded) {\n colKeys = colKeys.filter(colKey => !flatKey(colKey).startsWith(key + String.fromCharCode(0)));\n rowKeys = rowKeys.filter(rowKey => !flatKey(rowKey).startsWith(key + String.fromCharCode(0)));\n }\n }\n\n const totalRows = rowKeys.length;\n if (this.props.pagination) {\n const start = (this.props.page - 1) * this.props.pageSize;\n const end = start + this.props.pageSize;\n rowKeys = rowKeys.slice(start, end);\n }\n\n let valueCellColors = () => {};\n let rowTotalColors = () => {};\n let colTotalColors = () => {};\n if (opts.heatmapMode) {\n const colorScaleGenerator = this.props.tableColorScaleGenerator;\n const rowTotalValues = colKeys.map(x =>\n pivotData.getAggregator([], x).value()\n );\n rowTotalColors = colorScaleGenerator(rowTotalValues);\n const colTotalValues = rowKeys.map(x =>\n pivotData.getAggregator(x, []).value()\n );\n colTotalColors = colorScaleGenerator(colTotalValues);\n\n if (opts.heatmapMode === 'full') {\n const allValues = [];\n rowKeys.map(r =>\n colKeys.map(c =>\n allValues.push(pivotData.getAggregator(r, c).value())\n )\n );\n const colorScale = colorScaleGenerator(allValues);\n valueCellColors = (r, c, v) => colorScale(v);\n } else if (opts.heatmapMode === 'row') {\n const rowColorScales = {};\n rowKeys.map(r => {\n const rowValues = colKeys.map(x =>\n pivotData.getAggregator(r, x).value()\n );\n rowColorScales[r] = colorScaleGenerator(rowValues);\n });\n valueCellColors = (r, c, v) => rowColorScales[r](v);\n } else if (opts.heatmapMode === 'col') {\n const colColorScales = {};\n colKeys.map(c => {\n const colValues = rowKeys.map(x =>\n pivotData.getAggregator(x, c).value()\n );\n colColorScales[c] = colorScaleGenerator(colValues);\n });\n valueCellColors = (r, c, v) => colColorScales[c](v);\n }\n }\n\n const getClickHandler =\n this.props.tableOptions && this.props.tableOptions.clickCallback\n ? (value, rowValues, colValues) => {\n const filters = {};\n for (const i of Object.keys(colAttrs || {})) {\n const attr = colAttrs[i];\n if (colValues[i] !== null) {\n filters[attr] = colValues[i];\n }\n }\n for (const i of Object.keys(rowAttrs || {})) {\n const attr = rowAttrs[i];\n if (rowValues[i] !== null) {\n filters[attr] = rowValues[i];\n }\n }\n return e =>\n this.props.tableOptions.clickCallback(\n e,\n value,\n filters,\n pivotData\n );\n }\n : null;\n\n const rbClass = grouping? this.props.rowGroupBefore ? \"rowGroupBefore\" : \"rowGroupAfter\" : \"\";\n const cbClass = grouping? this.props.colGroupBefore ? \"colGroupBefore\" : \"colGroupAfter\" : \"\";\n const clickClass = (pred, closed) => pred? \" pvtClickable\" + (closed? \" closed\": \"\") : \"\";\n return (\n <table id={id} className={`pvtTable ${rbClass} ${cbClass}`}>\n <thead>\n {colAttrs.map(function(c, j) {\n const clickable = grouping && colAttrs.length > j + 1;\n const levelKeys = colKeys.filter(x => x.length === j+1);\n return (\n <tr key={`colAttr${j}`}>\n {j === 0 && rowAttrs.length !== 0 && (\n <th colSpan={rowAttrs.length} rowSpan={colAttrs.length} />\n )}\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable? _ => fold(levelKeys): null}\n >{c}</th>\n {colKeys.map(function(colKey, i) {\n const x = spanSize(colKeys, i, j);\n if (x === -1) {\n return null;\n }\n return (\n <th\n className={\"pvtColLabel\" + clickClass(clickable && colKey[j], isFolded([colKey.slice(0, j + 1)]))}\n key={`colKey-${i}-${j}-${colKey[j]}`}\n colSpan={x}\n rowSpan={\n j === colAttrs.length - 1 && rowAttrs.length !== 0\n ? 2\n : 1\n }\n onClick={clickable && colKey[j] ? _ => fold([colKey.slice(0, j + 1)]) : null}\n >\n {colKey[j]}\n </th>\n );\n })}\n\n {j === 0 && (\n <th\n className=\"pvtTotalLabel\"\n rowSpan={\n colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)\n }\n >\n Totals\n </th>\n )}\n </tr>\n );\n })}\n\n {rowAttrs.length !== 0 && (\n <tr>\n {rowAttrs.map(function(r, i) {\n const clickable = grouping && rowAttrs.length > i + 1;\n const levelKeys = rowKeys.filter(x => x.length === i+1);\n return (\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable? _ => fold(levelKeys): null}\n key={`rowAttr${i}`}>\n {r}\n </th>\n );\n })}\n <th className=\"pvtTotalLabel\">\n {colAttrs.length === 0 ? 'Totals' : null}\n </th>\n </tr>\n )}\n </thead>\n\n <tbody>\n {rowKeys.map(function(rowKey, i) {\n const totalAggregator = pivotData.getAggregator(rowKey, []);\n const rowGap = rowAttrs.length - rowKey.length;\n const rowTotalValue = totalAggregator.value();\n return (\n <tr key={`rowKeyRow${i}`}\n className={(rowGap ? \"pvtLevel\" + rowGap : \"pvtData\") + \" pvtRow-data\"}>\n {rowKey.map(function(txt, j) {\n if (compactRows && j < rowKey.length - 1) {\n return null;\n }\n const clickable = grouping && rowAttrs.length > j + 1;\n const x = compactRows ? 1 : spanSize(rowKeys, i, j, specialCase);\n if (x === -1) {\n return null;\n }\n return (\n <th\n key={`rowKeyLabel-${i}-${j}-${txt}`}\n className={\"pvtRowLabel\" + clickClass(clickable && rowKey[j], isFolded([rowKey.slice(0, j + 1)]))}\n rowSpan={x}\n colSpan={\n compactRows ?\n rowAttrs.length + 1 :\n j === rowAttrs.length - 1 && colAttrs.length !== 0\n ? 2\n : 1\n }\n style={{paddingLeft: compactRows ? `calc(var(--pvt-row-padding, 5px) + ${j} * var(--pvt-row-indent, 20px))` : null}}\n onClick={clickable && rowKey[j] ? _ => fold([rowKey.slice(0, j + 1)]) : null}\n >\n {txt}\n </th>\n );\n })}\n {!compactRows && rowGap\n ? <th className=\"pvtRowLabel\" colSpan={rowGap + 1}>{\"Total (\" + rowKey[rowKey.length - 1] + \")\"}</th>\n : null\n }\n {colKeys.map(function(colKey, j) {\n const aggregator = pivotData.getAggregator(rowKey, colKey);\n const colGap = colAttrs.length - colKey.length;\n const val = aggregator.value();\n const isNumeric = typeof val === 'number';\n return (\n <td\n className={\"pvtVal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\n key={`pvtVal${i}-${j}`}\n onClick={\n getClickHandler &&\n getClickHandler(val, rowKey, colKey)\n }\n style={valueCellColors(\n rowKey,\n colKey,\n val\n )}\n >\n {aggregator.format(val)}\n </td>\n );\n })}\n <td\n className={\"pvtTotal\" + (typeof rowTotalValue === 'number' ? \" pvtVal-numeric\" : \"\")}\n onClick={\n getClickHandler &&\n getClickHandler(rowTotalValue, rowKey, [null])\n }\n style={colTotalColors(rowTotalValue)}\n >\n {totalAggregator.format(rowTotalValue)}\n </td>\n </tr>\n );\n })}\n\n <tr className=\"pvtTotalRow\">\n <th\n className=\"pvtTotalLabel\"\n colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}\n >\n Totals\n </th>\n\n {colKeys.map(function(colKey, i) {\n const totalAggregator = pivotData.getAggregator([], colKey);\n const colGap = colAttrs.length - colKey.length;\n const totalVal = totalAggregator.value();\n const isNumeric = typeof totalVal === 'number';\n return (\n <td\n className={\"pvtTotal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\n key={`total${i}`}\n onClick={\n getClickHandler &&\n getClickHandler(totalVal, [null], colKey)\n }\n style={rowTotalColors(totalVal)}\n >\n {totalAggregator.format(totalVal)}\n </td>\n );\n })}\n\n <td\n onClick={\n getClickHandler &&\n getClickHandler(grandTotalAggregator.value(), [null], [null])\n }\n className={\"pvtGrandTotal\" + (typeof grandTotalAggregator.value() === 'number' ? \" pvtVal-numeric\" : \"\")}\n >\n {grandTotalAggregator.format(grandTotalAggregator.value())}\n </td>\n </tr>\n </tbody>\n </table>\n );\n }\n }\n\n TableRenderer.defaultProps = PivotData.defaultProps;\n TableRenderer.propTypes = PivotData.propTypes;\n TableRenderer.defaultProps.tableColorScaleGenerator = redColorScaleGenerator;\n TableRenderer.defaultProps.tableOptions = {};\n TableRenderer.propTypes.tableColorScaleGenerator = PropTypes.func;\n TableRenderer.propTypes.tableOptions = PropTypes.object;\n TableRenderer.defaultProps.compactRows = true;\n TableRenderer.propTypes.compactRows = PropTypes.bool;\n return TableRenderer;\n}\n\nclass TSVExportRenderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const rowKeys = pivotData.getRowKeys();\n const colKeys = pivotData.getColKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n\n const headerRow = pivotData.props.rows.map(r => r);\n if (colKeys.length === 1 && colKeys[0].length === 0) {\n headerRow.push(this.props.aggregatorName);\n } else {\n colKeys.map(c => headerRow.push(c.join('-')));\n }\n\n const result = rowKeys.map(r => {\n const row = r.map(x => x);\n colKeys.map(c => {\n const v = pivotData.getAggregator(r, c).value();\n row.push(v ? v : '');\n });\n return row;\n });\n\n result.unshift(headerRow);\n\n return (\n <textarea\n value={result.map(r => r.join('\\t')).join('\\n')}\n style={{width: window.innerWidth / 2, height: window.innerHeight / 2}}\n readOnly={true}\n />\n );\n }\n}\n\nTSVExportRenderer.defaultProps = PivotData.defaultProps;\nTSVExportRenderer.propTypes = PivotData.propTypes;\n\nexport default {\n Table: makeRenderer(),\n 'Table Heatmap': makeRenderer({heatmapMode: 'full'}),\n 'Table Col Heatmap': makeRenderer({heatmapMode: 'col'}),\n 'Table Row Heatmap': makeRenderer({heatmapMode: 'row'}),\n 'Exportable TSV': TSVExportRenderer,\n};\n"],"mappings":"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","ignoreList":[]}
package/Utilities.js CHANGED
@@ -22,16 +22,16 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
22
22
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
23
23
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
24
24
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
- /*
26
- * decaffeinate suggestions:
27
- * DS101: Remove unnecessary use of Array.from
28
- * DS102: Remove unnecessary code created because of implicit returns
29
- * DS104: Avoid inline assignments
30
- * DS201: Simplify complex destructure assignments
31
- * DS203: Remove `|| {}` from converted for-own loops
32
- * DS205: Consider reworking code to avoid use of IIFEs
33
- * DS207: Consider shorter variations of null checks
34
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
25
+ /*
26
+ * decaffeinate suggestions:
27
+ * DS101: Remove unnecessary use of Array.from
28
+ * DS102: Remove unnecessary code created because of implicit returns
29
+ * DS104: Avoid inline assignments
30
+ * DS201: Simplify complex destructure assignments
31
+ * DS203: Remove `|| {}` from converted for-own loops
32
+ * DS205: Consider reworking code to avoid use of IIFEs
33
+ * DS207: Consider shorter variations of null checks
34
+ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
35
35
  */
36
36
 
37
37
  var addSeparators = function addSeparators(nStr, thousandsSep, decimalSep) {
@@ -563,15 +563,21 @@ var flatKey = exports.flatKey = function flatKey(attrVals) {
563
563
  return attrVals.join(String.fromCharCode(0));
564
564
  };
565
565
 
566
- /*
567
- Data Model class
566
+ /*
567
+ Data Model class
568
568
  */
569
569
  var PivotData = exports.PivotData = /*#__PURE__*/function () {
570
570
  function PivotData() {
571
571
  var _this = this;
572
572
  var inputProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
573
573
  _classCallCheck(this, PivotData);
574
- this.props = Object.assign({}, PivotData.defaultProps, inputProps);
574
+ var sanitizedProps = Object.keys(inputProps).reduce(function (acc, key) {
575
+ if (inputProps[key] !== undefined) {
576
+ acc[key] = inputProps[key];
577
+ }
578
+ return acc;
579
+ }, {});
580
+ this.props = Object.assign({}, PivotData.defaultProps, sanitizedProps);
575
581
  _propTypes["default"].checkPropTypes(PivotData.propTypes, this.props, 'prop', 'PivotData');
576
582
  this.aggregator = this.props.aggregators[this.props.aggregatorName](this.props.vals);
577
583
  this.tree = {};