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/LICENSE +21 -21
- package/PivotTable.js.map +1 -1
- package/PivotTableUI.js +261 -191
- package/PivotTableUI.js.map +1 -1
- package/PlotlyRenderers.js.map +1 -1
- package/README.md +93 -94
- package/TableRenderers.js.map +1 -1
- package/Utilities.js +19 -13
- package/Utilities.js.map +1 -1
- package/grouping.css +111 -111
- package/hooks/usePivot.js +20 -15
- package/hooks/usePivot.js.map +1 -1
- package/package.json +105 -102
- package/pivottable.css +441 -441
- package/renderers/RadixUI.js.map +1 -1
- package/renderers/ShadcnDashboardUI.js.map +1 -1
- package/renderers/TailwindUI.js.map +1 -1
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
import 'react
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
{
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
|
80
|
-
|
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `pagination` | Boolean | Activa
|
|
86
|
-
| `pageSize` | Number | Cantidad de registros por página
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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.
|
package/TableRenderers.js.map
CHANGED
|
@@ -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
|
-
|
|
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 = {};
|