react-pivottable-plus 1.1.1 → 1.1.6
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 +30 -6
- package/dist/PivotTableUI.js +15 -3
- package/dist/PivotTableUI.js.map +1 -1
- package/dist/core/api/GridApi.js +25 -0
- package/dist/core/api/GridApi.js.map +1 -1
- package/dist/hooks/usePivot.js +20 -2
- package/dist/hooks/usePivot.js.map +1 -1
- package/package.json +12 -7
- /package/{pivottable.css → react_pivottable_plus.css} +0 -0
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ npm install react-pivottable-plus
|
|
|
37
37
|
```jsx
|
|
38
38
|
import React, { useState } from 'react';
|
|
39
39
|
import PivotTableUI from 'react-pivottable-plus';
|
|
40
|
-
import 'react-pivottable-plus/
|
|
40
|
+
import 'react-pivottable-plus/react_pivottable_plus.css';
|
|
41
41
|
|
|
42
42
|
const data = [
|
|
43
43
|
{ producto: "Manzana", categoria: "Fruta", ventas: 100 },
|
|
@@ -71,7 +71,7 @@ Crea un componente cliente dedicado para encapsular el pivot table:
|
|
|
71
71
|
|
|
72
72
|
import React, { useState } from 'react';
|
|
73
73
|
import PivotTableUI from 'react-pivottable-plus';
|
|
74
|
-
import 'react-pivottable-plus/
|
|
74
|
+
import 'react-pivottable-plus/react_pivottable_plus.css';
|
|
75
75
|
|
|
76
76
|
export default function PivotWrapper({ data }) {
|
|
77
77
|
const [state, setState] = useState({});
|
|
@@ -107,7 +107,7 @@ export default function Page() {
|
|
|
107
107
|
```jsx
|
|
108
108
|
// pages/dashboard.jsx
|
|
109
109
|
import dynamic from 'next/dynamic';
|
|
110
|
-
import 'react-pivottable-plus/
|
|
110
|
+
import 'react-pivottable-plus/react_pivottable_plus.css';
|
|
111
111
|
|
|
112
112
|
// Importación dinámica para evitar errores de SSR
|
|
113
113
|
const PivotTableUI = dynamic(
|
|
@@ -150,6 +150,30 @@ const nextConfig = {
|
|
|
150
150
|
module.exports = nextConfig;
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 🛠️ Solución de Problemas (Troubleshooting)
|
|
156
|
+
|
|
157
|
+
### ❌ Error: `Module not found: Can't resolve 'react-pivottable-plus/react_pivottable_plus.css'`
|
|
158
|
+
|
|
159
|
+
Este error suele ocurrir en versiones antiguas o por confusión con el fork original. **react-pivottable-plus** ha estandarizado su archivo de estilos para que coincida con la identidad de la librería.
|
|
160
|
+
|
|
161
|
+
**Solución Oficial:**
|
|
162
|
+
Asegúrate de estar usando la ruta oficial que ahora coincide con el nombre de la librería para evitar confusiones:
|
|
163
|
+
|
|
164
|
+
```js
|
|
165
|
+
import 'react-pivottable-plus/react_pivottable_plus.css';
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
> [!NOTE]
|
|
169
|
+
> Aunque `pivottable.css` sigue funcionando como alias por compatibilidad, recomendamos migrar a `react_pivottable_plus.css`.
|
|
170
|
+
|
|
171
|
+
### ❌ Error: `ReferenceError: window is not defined`
|
|
172
|
+
El componente debe cargarse únicamente en el cliente. Asegúrate de añadir la directiva `"use client"` al inicio de tu archivo o usar importación dinámica con `ssr: false`.
|
|
173
|
+
|
|
174
|
+
### ❌ Estilos no se aplican correctamente
|
|
175
|
+
Si los estilos se ven básicos o desordenados, verifica que has importado el CSS obligatorio en tu punto de entrada principal.
|
|
176
|
+
|
|
153
177
|
## 🌈 Uso de Renderizadores Modernos
|
|
154
178
|
|
|
155
179
|
```jsx
|
|
@@ -157,7 +181,7 @@ module.exports = nextConfig;
|
|
|
157
181
|
|
|
158
182
|
import PivotTableUI from 'react-pivottable-plus';
|
|
159
183
|
import { TailwindUI } from 'react-pivottable-plus/renderers/TailwindUI';
|
|
160
|
-
import 'react-pivottable-plus/
|
|
184
|
+
import 'react-pivottable-plus/react_pivottable_plus.css';
|
|
161
185
|
|
|
162
186
|
<PivotTableUI
|
|
163
187
|
data={data}
|
|
@@ -183,7 +207,7 @@ import 'react-pivottable-plus/pivottable.css';
|
|
|
183
207
|
|
|
184
208
|
---
|
|
185
209
|
|
|
186
|
-
Este proyecto es
|
|
210
|
+
Este proyecto es la evolución profesional de las tablas dinámicas en React, diseñado para proporcionar una experiencia de usuario superior, rendimiento de grado industrial y compatibilidad total con el stack moderno (React 18/19, Next.js, Tailwind).
|
|
187
211
|
|
|
188
212
|
## ✍️ Créditos y Autoría
|
|
189
|
-
|
|
213
|
+
**react-pivottable-plus** ha sido desarrollado y es mantenido por **Jasp402**, quien ha liderado la re-arquitectura del motor, la implementación de interfaces premium (Tailwind, Shadcn, Radix UI) y la optimización de rendimiento para grandes volúmenes de datos.
|
package/dist/PivotTableUI.js
CHANGED
|
@@ -511,8 +511,15 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
511
511
|
activeList.splice(activeIndex, 1);
|
|
512
512
|
var insertAt = overIndex >= 0 ? overIndex : overList.length;
|
|
513
513
|
overList.splice(insertAt, 0, active.id);
|
|
514
|
-
|
|
515
|
-
|
|
514
|
+
|
|
515
|
+
// ── Construir el patch atómico para evitar múltiples re-renders ──
|
|
516
|
+
// Problema: dos llamadas separadas (updateProp + updateProp) disparaban dos
|
|
517
|
+
// notificaciones de estado consecutivas, causando el React error #185
|
|
518
|
+
// (Maximum update depth exceeded). batchUpdate aplica ambos cambios en uno.
|
|
519
|
+
var patch = {};
|
|
520
|
+
if (activeZone === 'rows') patch.rows = activeList;else if (activeZone === 'cols') patch.cols = activeList;else if (activeZone === 'unused') patch.unusedOrder = activeList;
|
|
521
|
+
if (overZone === 'rows') patch.rows = overList;else if (overZone === 'cols') patch.cols = overList;else if (overZone === 'unused') patch.unusedOrder = overList;
|
|
522
|
+
actions.batchUpdate(patch);
|
|
516
523
|
};
|
|
517
524
|
var handleDragEnd = function handleDragEnd(_ref9) {
|
|
518
525
|
var _over$data$current$so2, _over$data2;
|
|
@@ -527,7 +534,12 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
527
534
|
var list = getListByZone(activeZone);
|
|
528
535
|
var oldIndex = list.indexOf(active.id);
|
|
529
536
|
var newIndex = list.indexOf(over.id);
|
|
530
|
-
if (oldIndex !== newIndex)
|
|
537
|
+
if (oldIndex !== newIndex) {
|
|
538
|
+
var reordered = (0, _sortable.arrayMove)(list, oldIndex, newIndex);
|
|
539
|
+
var patch = {};
|
|
540
|
+
if (activeZone === 'rows') patch.rows = reordered;else if (activeZone === 'cols') patch.cols = reordered;else if (activeZone === 'unused') patch.unusedOrder = reordered;
|
|
541
|
+
actions.batchUpdate(patch);
|
|
542
|
+
}
|
|
531
543
|
}
|
|
532
544
|
};
|
|
533
545
|
|
package/dist/PivotTableUI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTableUI.js","names":["_typeof","o","Symbol","iterator","constructor","prototype","Object","defineProperty","exports","value","Dropdown","DraggableAttribute","_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_Utilities","_PivotTable","_TableRenderers","_usePivot2","_reactDraggable","_core","_sortable","_utilities","_excluded","e","__esModule","t","WeakMap","r","n","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_extends","assign","bind","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","name","test","l","u","next","done","React","forwardRef","_ref","ref","attrValues","valueFilter","sorter","menuLimit","setValuesInFilter","addValuesToFilter","moveFilterBoxToTop","removeValuesFromFilter","zIndex","dragHandleProps","isDragging","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","filterText","setFilterText","nodeRef","useRef","toggleValue","matchesFilter","x","toLowerCase","trim","includes","selectOnly","stopPropagation","y","getFilterBox","showMenu","values","shown","sort","createElement","handle","className","style","display","cursor","onClick","type","placeholder","onChange","target","role","map","key","toggleFilterBox","filtered","opacity","displayName","SortableAttribute","_ref2","id","rest","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","transition","CSS","Transform","_ref3","_ref3$zIndex","_ref3$open","toggle","current","_ref3$values","setValue","DnDCell","_ref4","items","classes","state","sorters","isHorizontal","strategy","horizontalListSortingStrategy","verticalListSortingStrategy","SortableContext","listStyle","padding","margin","getSort","zIndices","maxZIndex","RendererDropdown","_ref5","rendererName","renderers","isOpen","uiState","setUiState","s","openDropdown","v","_updateProp","AggregatorControls","_ref6","aggregatorName","aggregators","vals","pivotState","hiddenAttributes","hiddenFromAggregators","actions","rowOrder","colOrder","sortIcons","numValsAllowed","Fragment","updateProp","rowSymbol","colSymbol","fill","_","concat","newVals","PivotTableUI","props","_aggregators$aggregat","_aggregators$aggregat2","_usePivot","usePivot","pivotProps","_useState5","_useState6","_useState7","_useState8","activeId","setActiveId","useCallback","attribute","_pivotProps$rows","rows","_pivotProps$cols","cols","_pivotProps$vals","_pivotProps$aggregato","_pivotProps$aggregato2","defaultAggregators","_pivotProps$rendererN","_pivotProps$renderers","TableRenderers","_pivotProps$valueFilt","_pivotProps$sorters","_pivotProps$menuLimit","_pivotProps$unusedOri","unusedOrientationCutoff","_pivotProps$hiddenAtt","_pivotProps$hiddenFro","_pivotProps$hiddenFro2","hiddenFromDragDrop","_pivotProps$paginatio","pagination","_pivotProps$page","page","_pivotProps$pageSize","pageSize","_pivotProps$rowOrder","_pivotProps$colOrder","_pivotProps$size","size","_pivotProps$columnRes","columnResizing","_pivotProps$columnWid","columnWidths","onColumnWidthChange","unusedAttrs","sortAs","unusedOrder","unusedLength","reduce","horizUnused","colAttrs","rowAttrs","getZoneOfItem","getListByZone","zone","getUpdaterByZone","order","setUnusedOrder","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","handleDragStart","_ref7","active","handleDragOver","_ref8","_over$data$current$so","_over$data","over","activeZone","overZone","data","sortable","containerId","activeList","overList","activeIndex","overIndex","splice","insertAt","handleDragEnd","_ref9","_over$data$current$so2","_over$data2","list","oldIndex","newIndex","arrayMove","dropdown","numInputs","actualRendererName","key_a_to_z","value_a_to_z","value_z_to_a","combinedState","sharedCellProps","componentProps","materializedInput","derivedAttributes","cellPipeline","virtualization","renderFooter","pivotData","PivotData","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","disabled","min","max","val","parseInt","rendererDropdown","aggControls","outputCell","DndContext","collisionDetection","closestCorners","onDragStart","onDragOver","onDragEnd","theme","DragOverlay","propTypes","PropTypes","func","isRequired","arrayOf","string","number","objectOf","oneOf","bool","object","defaultProps","_default"],"sources":["../src/PivotTableUI.jsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { PivotData, sortAs, getSort, aggregators as defaultAggregators } from './Utilities';\nimport PivotTable from './PivotTable';\nimport TableRenderers from './TableRenderers';\nimport { usePivot } from './hooks/usePivot';\nimport Draggable from 'react-draggable';\n\nimport {\n DndContext,\n DragOverlay,\n closestCorners,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n SortableContext,\n useSortable,\n horizontalListSortingStrategy,\n verticalListSortingStrategy,\n arrayMove,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\n// ─── DraggableAttribute ────────────────────────────────────────────────────────\n\nexport const DraggableAttribute = React.forwardRef(\n (\n {\n name,\n attrValues,\n valueFilter,\n sorter,\n menuLimit,\n setValuesInFilter,\n addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter,\n zIndex,\n dragHandleProps,\n isDragging,\n },\n ref\n ) => {\n const [open, setOpen] = useState(false);\n const [filterText, setFilterText] = useState('');\n const nodeRef = useRef(null);\n\n const toggleValue = value => {\n if (value in valueFilter) {\n removeValuesFromFilter(name, [value]);\n } else {\n addValuesToFilter(name, [value]);\n }\n };\n\n const matchesFilter = x =>\n x.toLowerCase().trim().includes(filterText.toLowerCase().trim());\n\n const selectOnly = (e, value) => {\n e.stopPropagation();\n setValuesInFilter(\n name,\n Object.keys(attrValues).filter(y => y !== value)\n );\n };\n\n const getFilterBox = () => {\n const showMenu = Object.keys(attrValues).length < menuLimit;\n const values = Object.keys(attrValues);\n const shown = values.filter(matchesFilter).sort(sorter);\n\n return (\n <Draggable handle=\".pvtDragHandle\" nodeRef={nodeRef}>\n <div\n ref={nodeRef}\n className=\"pvtFilterBox\"\n style={{ display: 'block', cursor: 'initial', zIndex }}\n onClick={() => moveFilterBoxToTop(name)}\n >\n <a onClick={() => setOpen(false)} className=\"pvtCloseX\">×</a>\n <span className=\"pvtDragHandle\">☰</span>\n <h4>{name}</h4>\n\n {showMenu || <p>(too many values to show)</p>}\n\n {showMenu && (\n <p>\n <input\n type=\"text\"\n placeholder=\"Filter values\"\n className=\"pvtSearch\"\n value={filterText}\n onChange={e => setFilterText(e.target.value)}\n />\n <br />\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n removeValuesFromFilter(\n name,\n Object.keys(attrValues).filter(matchesFilter)\n )\n }\n >\n Select {values.length === shown.length ? 'All' : shown.length}\n </a>{' '}\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n addValuesToFilter(\n name,\n Object.keys(attrValues).filter(matchesFilter)\n )\n }\n >\n Deselect {values.length === shown.length ? 'All' : shown.length}\n </a>\n </p>\n )}\n\n {showMenu && (\n <div className=\"pvtCheckContainer\">\n {shown.map(x => (\n <p\n key={x}\n onClick={() => toggleValue(x)}\n className={x in valueFilter ? '' : 'selected'}\n >\n <a className=\"pvtOnly\" onClick={e => selectOnly(e, x)}>only</a>\n <a className=\"pvtOnlySpacer\"> </a>\n {x === '' ? <em>null</em> : x}\n </p>\n ))}\n </div>\n )}\n </div>\n </Draggable>\n );\n };\n\n const toggleFilterBox = () => {\n setOpen(o => !o);\n moveFilterBoxToTop(name);\n };\n\n const filtered = Object.keys(valueFilter).length !== 0 ? 'pvtFilteredAttribute' : '';\n\n return (\n <li\n ref={ref}\n data-id={name}\n style={{ opacity: isDragging ? 0.4 : 1 }}\n >\n <span className={'pvtAttr ' + filtered} {...dragHandleProps}>\n {name}\n <span\n className=\"pvtTriangle\"\n onClick={e => { e.stopPropagation(); toggleFilterBox(); }}\n >\n {' '}▾\n </span>\n </span>\n {open ? getFilterBox() : null}\n </li>\n );\n }\n);\nDraggableAttribute.displayName = 'DraggableAttribute';\n\nconst SortableAttribute = ({ id, ...rest }) => {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <DraggableAttribute\n ref={setNodeRef}\n name={id}\n isDragging={isDragging}\n dragHandleProps={{ ...attributes, ...listeners, style }}\n {...rest}\n />\n );\n};\n\nexport const Dropdown = ({ zIndex = 1, open = false, toggle, current, values = [], setValue }) => (\n <div className=\"pvtDropdown\" style={{ zIndex }}>\n <div\n onClick={e => { e.stopPropagation(); toggle(); }}\n className={'pvtDropdownValue pvtDropdownCurrent ' + (open ? 'pvtDropdownCurrentOpen' : '')}\n role=\"button\"\n >\n <div className=\"pvtDropdownIcon\">{open ? '×' : '▾'}</div>\n {current || <span> </span>}\n </div>\n {open && (\n <div className=\"pvtDropdownMenu\">\n {values.map(r => (\n <div\n key={r}\n role=\"button\"\n onClick={e => {\n e.stopPropagation();\n if (current === r) toggle();\n else { setValue(r); toggle(); }\n }}\n className={'pvtDropdownValue ' + (r === current ? 'pvtDropdownActiveValue' : '')}\n >\n {r}\n </div>\n ))}\n </div>\n )}\n </div>\n);\n\nconst DnDCell = ({\n id,\n items,\n classes,\n state,\n valueFilter,\n sorters,\n menuLimit,\n setValuesInFilter,\n addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter,\n isHorizontal,\n}) => {\n const strategy = isHorizontal\n ? horizontalListSortingStrategy\n : verticalListSortingStrategy;\n\n return (\n <td className={classes}>\n <SortableContext id={id} items={items} strategy={strategy}>\n <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}>\n {items.map(x => (\n <SortableAttribute\n key={x}\n id={x}\n attrValues={state.attrValues[x] || {}}\n valueFilter={valueFilter[x] || {}}\n sorter={getSort(sorters, x)}\n menuLimit={menuLimit}\n setValuesInFilter={setValuesInFilter}\n addValuesToFilter={addValuesToFilter}\n moveFilterBoxToTop={moveFilterBoxToTop}\n removeValuesFromFilter={removeValuesFromFilter}\n zIndex={state.zIndices[x] || state.maxZIndex}\n />\n ))}\n </ul>\n </SortableContext>\n </td>\n );\n};\n\n// ─── Extracted Helper: Renderer Dropdown ────────────────────────────────────────\nconst RendererDropdown = ({ rendererName, renderers, isOpen, uiState, setUiState }) => (\n <td className=\"pvtRenderers\">\n <Dropdown\n current={rendererName}\n values={Object.keys(renderers)}\n open={isOpen('renderer')}\n zIndex={isOpen('renderer') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))}\n setValue={v => rendererName._updateProp('rendererName', v)}\n />\n </td>\n);\n\n// ─── Extracted Helper: Aggregator + Sort + Vals Controls ────────────────────────\nconst AggregatorControls = ({\n aggregatorName, aggregators, vals, pivotState,\n hiddenAttributes, hiddenFromAggregators,\n isOpen, uiState, setUiState, actions,\n rowOrder, colOrder, sortIcons, numValsAllowed,\n}) => (\n <>\n <Dropdown\n current={aggregatorName}\n values={Object.keys(aggregators)}\n open={isOpen('aggregators')}\n zIndex={isOpen('aggregators') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))}\n setValue={v => actions.updateProp('aggregatorName', v)}\n />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => actions.updateProp('rowOrder', sortIcons[rowOrder].next)}>\n {sortIcons[rowOrder].rowSymbol}\n </a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => actions.updateProp('colOrder', sortIcons[colOrder].next)}>\n {sortIcons[colOrder].colSymbol}\n </a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown\n key={i}\n current={vals[i]}\n values={Object.keys(pivotState.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))}\n open={isOpen(`val${i}`)}\n zIndex={isOpen(`val${i}`) ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))}\n setValue={value => { const newVals = [...vals]; newVals[i] = value; actions.updateProp('vals', newVals); }}\n />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </>\n);\n\nconst PivotTableUI = props => {\n // ─── Headless Core ───\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n\n // ─── UI State local ───\n const [uiState, setUiState] = useState({\n zIndices: {},\n maxZIndex: 1000,\n openDropdown: false,\n });\n const [activeId, setActiveId] = useState(null);\n\n const moveFilterBoxToTop = useCallback(attribute => {\n setUiState(s => ({\n ...s,\n maxZIndex: s.maxZIndex + 1,\n zIndices: { ...s.zIndices, [attribute]: s.maxZIndex + 1 },\n }));\n }, []);\n\n // ─── Derivados ───\n const {\n rows = [],\n cols = [],\n vals = [],\n aggregatorName = 'Count',\n aggregators = defaultAggregators,\n rendererName = 'Table',\n renderers = TableRenderers,\n valueFilter = {},\n sorters = {},\n menuLimit = 500,\n unusedOrientationCutoff = 85,\n hiddenAttributes = [],\n hiddenFromAggregators = [],\n hiddenFromDragDrop = [],\n pagination = false,\n page = 1,\n pageSize = 20,\n rowOrder = 'key_a_to_z',\n colOrder = 'key_a_to_z',\n size = 'lg',\n columnResizing = false,\n columnWidths = {},\n onColumnWidthChange,\n } = pivotProps;\n\n const unusedAttrs = Object.keys(pivotState.attrValues)\n .filter(e => e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e))\n .sort(sortAs(pivotState.unusedOrder || []));\n\n const unusedLength = unusedAttrs.reduce((r, e) => r + e.length, 0);\n const horizUnused = unusedLength < unusedOrientationCutoff;\n\n const colAttrs = cols.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\n const rowAttrs = rows.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\n\n // ─── DnD ───\n const getZoneOfItem = id => {\n if (rowAttrs.includes(id)) return 'rows';\n if (colAttrs.includes(id)) return 'cols';\n if (unusedAttrs.includes(id)) return 'unused';\n return null;\n };\n\n const getListByZone = zone => {\n if (zone === 'rows') return rowAttrs;\n if (zone === 'cols') return colAttrs;\n if (zone === 'unused') return unusedAttrs;\n return [];\n };\n\n const getUpdaterByZone = zone => {\n if (zone === 'rows') return value => actions.updateProp('rows', value);\n if (zone === 'cols') return value => actions.updateProp('cols', value);\n if (zone === 'unused') return order => actions.setUnusedOrder(order);\n return () => { };\n };\n\n const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 5 } }));\n\n const handleDragStart = ({ active }) => setActiveId(active.id);\n\n const handleDragOver = ({ active, over }) => {\n if (!over) return;\n const activeZone = getZoneOfItem(active.id);\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\n if (!activeZone || !overZone || activeZone === overZone) return;\n const activeList = [...getListByZone(activeZone)];\n const overList = [...getListByZone(overZone)];\n const activeIndex = activeList.indexOf(active.id);\n const overIndex = overList.indexOf(over.id);\n if (activeIndex === -1) return;\n if (overList.includes(active.id)) return;\n activeList.splice(activeIndex, 1);\n const insertAt = overIndex >= 0 ? overIndex : overList.length;\n overList.splice(insertAt, 0, active.id);\n getUpdaterByZone(activeZone)(activeList);\n getUpdaterByZone(overZone)(overList);\n };\n\n const handleDragEnd = ({ active, over }) => {\n setActiveId(null);\n if (!over) return;\n const activeZone = getZoneOfItem(active.id);\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\n if (!activeZone || !overZone) return;\n if (activeZone === overZone) {\n const list = getListByZone(activeZone);\n const oldIndex = list.indexOf(active.id);\n const newIndex = list.indexOf(over.id);\n if (oldIndex !== newIndex) getUpdaterByZone(activeZone)(arrayMove(list, oldIndex, newIndex));\n }\n };\n\n // ─── Controls ───\n const isOpen = dropdown => uiState.openDropdown === dropdown;\n const numValsAllowed = (aggregators[aggregatorName]?.([])?.()?.numInputs) || 0;\n const actualRendererName = (rendererName in renderers) ? rendererName : Object.keys(renderers)[0];\n\n const sortIcons = {\n key_a_to_z: { rowSymbol: '↕', colSymbol: '↔', next: 'value_a_to_z' },\n value_a_to_z: { rowSymbol: '↓', colSymbol: '→', next: 'value_z_to_a' },\n value_z_to_a: { rowSymbol: '↑', colSymbol: '←', next: 'key_a_to_z' },\n };\n\n const combinedState = {\n attrValues: pivotState.attrValues,\n zIndices: uiState.zIndices,\n maxZIndex: uiState.maxZIndex,\n };\n\n const sharedCellProps = {\n state: combinedState,\n valueFilter,\n sorters,\n menuLimit,\n setValuesInFilter: actions.setValuesInFilter,\n addValuesToFilter: actions.addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter: actions.removeValuesFromFilter,\n };\n\n const componentProps = {\n data: pivotState.materializedInput,\n rows, cols, vals,\n aggregatorName, aggregators,\n rendererName, renderers,\n valueFilter, sorters,\n menuLimit, unusedOrientationCutoff,\n hiddenAttributes, hiddenFromAggregators, hiddenFromDragDrop,\n pagination, page, pageSize,\n rowOrder, colOrder,\n derivedAttributes: pivotProps.derivedAttributes,\n cellPipeline: pivotProps.cellPipeline,\n virtualization: pivotProps.virtualization,\n columnResizing, columnWidths, onColumnWidthChange,\n };\n\n const renderFooter = () => {\n const pivotData = new PivotData(componentProps);\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = pivotState.materializedInput.length;\n const totalPages = Math.ceil(totalPivotRows / pageSize);\n return (\n <div className=\"pvtFooter\">\n <div className=\"pvtFooterInfo\">Total registros: {totalRecords} | Filas: {totalPivotRows}</div>\n <div className=\"pvtFooterPagination\">\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => actions.updateProp('page', 1)}>«</button>\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => actions.updateProp('page', page - 1)}>‹</button>\n <span>Página <input type=\"number\" className=\"pvtPageInput\" value={page} min={1} max={totalPages} onChange={e => {\n const val = parseInt(e.target.value, 10);\n if (val > 0 && val <= totalPages) actions.updateProp('page', val);\n }} /> de {totalPages}</span>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => actions.updateProp('page', page + 1)}>›</button>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => actions.updateProp('page', totalPages)}>»</button>\n <select className=\"pvtPageSize\" value={pageSize} onChange={e => {\n actions.updateProp('pageSize', parseInt(e.target.value, 10));\n actions.updateProp('page', 1);\n }}>{[10, 20, 50, 100].map(n => <option key={n} value={n}>{n} / pág</option>)}</select>\n </div>\n </div>\n );\n };\n\n // ─── Shared renderer/aggregator controls ───\n const rendererDropdown = (\n <Dropdown\n current={actualRendererName}\n values={Object.keys(renderers)}\n open={isOpen('renderer')}\n zIndex={isOpen('renderer') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))}\n setValue={v => actions.updateProp('rendererName', v)}\n />\n );\n\n const aggControls = (\n <AggregatorControls\n aggregatorName={aggregatorName}\n aggregators={aggregators}\n vals={vals}\n pivotState={pivotState}\n hiddenAttributes={hiddenAttributes}\n hiddenFromAggregators={hiddenFromAggregators}\n isOpen={isOpen}\n uiState={uiState}\n setUiState={setUiState}\n actions={actions}\n rowOrder={rowOrder}\n colOrder={colOrder}\n sortIcons={sortIcons}\n numValsAllowed={numValsAllowed}\n />\n );\n\n const outputCell = (\n <td className=\"pvtOutput\">\n <PivotTable {...componentProps} />\n {pagination && renderFooter()}\n </td>\n );\n\n return (\n <DndContext sensors={sensors} collisionDetection={closestCorners} onDragStart={handleDragStart} onDragOver={handleDragOver} onDragEnd={handleDragEnd}>\n <table className={`pvtUi pvt-theme-${props.theme || 'default'} pvt-size-${size || 'lg'}`}>\n <tbody onClick={() => setUiState(s => ({ ...s, openDropdown: false }))}>\n {horizUnused ? (\n <>\n <tr>\n <td className=\"pvtRenderers\">{rendererDropdown}</td>\n <DnDCell id=\"unused\" items={unusedAttrs} classes=\"pvtAxisContainer pvtUnused pvtHorizList\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <td className=\"pvtVals\">{aggControls}</td>\n <DnDCell id=\"cols\" items={colAttrs} classes=\"pvtAxisContainer pvtHorizList pvtCols\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <DnDCell id=\"rows\" items={rowAttrs} classes=\"pvtAxisContainer pvtVertList pvtRows\" isHorizontal={false} {...sharedCellProps} />\n {outputCell}\n </tr>\n </>\n ) : (\n <>\n <tr>\n <td className=\"pvtRenderers\">{rendererDropdown}</td>\n <td className=\"pvtVals\">{aggControls}</td>\n <DnDCell id=\"cols\" items={colAttrs} classes=\"pvtAxisContainer pvtHorizList pvtCols\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <DnDCell id=\"unused\" items={unusedAttrs} classes=\"pvtAxisContainer pvtUnused pvtVertList\" isHorizontal={false} {...sharedCellProps} />\n <DnDCell id=\"rows\" items={rowAttrs} classes=\"pvtAxisContainer pvtVertList pvtRows\" isHorizontal={false} {...sharedCellProps} />\n {outputCell}\n </tr>\n </>\n )}\n </tbody>\n </table>\n <DragOverlay>{activeId ? <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}><li><span className=\"pvtAttr\">{activeId}</span></li></ul> : null}</DragOverlay>\n </DndContext>\n );\n};\n\nPivotTableUI.propTypes = Object.assign({}, PivotData.propTypes, {\n onChange: PropTypes.func.isRequired,\n hiddenAttributes: PropTypes.arrayOf(PropTypes.string),\n hiddenFromAggregators: PropTypes.arrayOf(PropTypes.string),\n hiddenFromDragDrop: PropTypes.arrayOf(PropTypes.string),\n unusedOrientationCutoff: PropTypes.number,\n menuLimit: PropTypes.number,\n rendererName: PropTypes.string,\n renderers: PropTypes.objectOf(PropTypes.func),\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n columnResizing: PropTypes.bool,\n columnWidths: PropTypes.object,\n onColumnWidthChange: PropTypes.func,\n});\n\nPivotTableUI.defaultProps = Object.assign({}, PivotData.defaultProps, {\n onChange: () => { },\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n unusedOrientationCutoff: 85,\n menuLimit: 500,\n rendererName: 'Table',\n renderers: TableRenderers,\n columnResizing: false,\n columnWidths: {},\n});\n\nexport default PivotTableUI;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PivotTableUI.js","names":["_typeof","o","Symbol","iterator","constructor","prototype","Object","defineProperty","exports","value","Dropdown","DraggableAttribute","_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_Utilities","_PivotTable","_TableRenderers","_usePivot2","_reactDraggable","_core","_sortable","_utilities","_excluded","e","__esModule","t","WeakMap","r","n","i","f","__proto__","has","get","set","_t","hasOwnProperty","call","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","toPrimitive","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_extends","assign","bind","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","name","test","l","u","next","done","React","forwardRef","_ref","ref","attrValues","valueFilter","sorter","menuLimit","setValuesInFilter","addValuesToFilter","moveFilterBoxToTop","removeValuesFromFilter","zIndex","dragHandleProps","isDragging","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","filterText","setFilterText","nodeRef","useRef","toggleValue","matchesFilter","x","toLowerCase","trim","includes","selectOnly","stopPropagation","y","getFilterBox","showMenu","values","shown","sort","createElement","handle","className","style","display","cursor","onClick","type","placeholder","onChange","target","role","map","key","toggleFilterBox","filtered","opacity","displayName","SortableAttribute","_ref2","id","rest","_useSortable","useSortable","attributes","listeners","setNodeRef","transform","transition","CSS","Transform","_ref3","_ref3$zIndex","_ref3$open","toggle","current","_ref3$values","setValue","DnDCell","_ref4","items","classes","state","sorters","isHorizontal","strategy","horizontalListSortingStrategy","verticalListSortingStrategy","SortableContext","listStyle","padding","margin","getSort","zIndices","maxZIndex","RendererDropdown","_ref5","rendererName","renderers","isOpen","uiState","setUiState","s","openDropdown","v","_updateProp","AggregatorControls","_ref6","aggregatorName","aggregators","vals","pivotState","hiddenAttributes","hiddenFromAggregators","actions","rowOrder","colOrder","sortIcons","numValsAllowed","Fragment","updateProp","rowSymbol","colSymbol","fill","_","concat","newVals","PivotTableUI","props","_aggregators$aggregat","_aggregators$aggregat2","_usePivot","usePivot","pivotProps","_useState5","_useState6","_useState7","_useState8","activeId","setActiveId","useCallback","attribute","_pivotProps$rows","rows","_pivotProps$cols","cols","_pivotProps$vals","_pivotProps$aggregato","_pivotProps$aggregato2","defaultAggregators","_pivotProps$rendererN","_pivotProps$renderers","TableRenderers","_pivotProps$valueFilt","_pivotProps$sorters","_pivotProps$menuLimit","_pivotProps$unusedOri","unusedOrientationCutoff","_pivotProps$hiddenAtt","_pivotProps$hiddenFro","_pivotProps$hiddenFro2","hiddenFromDragDrop","_pivotProps$paginatio","pagination","_pivotProps$page","page","_pivotProps$pageSize","pageSize","_pivotProps$rowOrder","_pivotProps$colOrder","_pivotProps$size","size","_pivotProps$columnRes","columnResizing","_pivotProps$columnWid","columnWidths","onColumnWidthChange","unusedAttrs","sortAs","unusedOrder","unusedLength","reduce","horizUnused","colAttrs","rowAttrs","getZoneOfItem","getListByZone","zone","getUpdaterByZone","order","setUnusedOrder","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","handleDragStart","_ref7","active","handleDragOver","_ref8","_over$data$current$so","_over$data","over","activeZone","overZone","data","sortable","containerId","activeList","overList","activeIndex","overIndex","splice","insertAt","patch","batchUpdate","handleDragEnd","_ref9","_over$data$current$so2","_over$data2","list","oldIndex","newIndex","reordered","arrayMove","dropdown","numInputs","actualRendererName","key_a_to_z","value_a_to_z","value_z_to_a","combinedState","sharedCellProps","componentProps","materializedInput","derivedAttributes","cellPipeline","virtualization","renderFooter","pivotData","PivotData","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","disabled","min","max","val","parseInt","rendererDropdown","aggControls","outputCell","DndContext","collisionDetection","closestCorners","onDragStart","onDragOver","onDragEnd","theme","DragOverlay","propTypes","PropTypes","func","isRequired","arrayOf","string","number","objectOf","oneOf","bool","object","defaultProps","_default"],"sources":["../src/PivotTableUI.jsx"],"sourcesContent":["\"use client\";\n\nimport React, { useState, useRef, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { PivotData, sortAs, getSort, aggregators as defaultAggregators } from './Utilities';\nimport PivotTable from './PivotTable';\nimport TableRenderers from './TableRenderers';\nimport { usePivot } from './hooks/usePivot';\nimport Draggable from 'react-draggable';\n\nimport {\n DndContext,\n DragOverlay,\n closestCorners,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport {\n SortableContext,\n useSortable,\n horizontalListSortingStrategy,\n verticalListSortingStrategy,\n arrayMove,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\n// ─── DraggableAttribute ────────────────────────────────────────────────────────\n\nexport const DraggableAttribute = React.forwardRef(\n (\n {\n name,\n attrValues,\n valueFilter,\n sorter,\n menuLimit,\n setValuesInFilter,\n addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter,\n zIndex,\n dragHandleProps,\n isDragging,\n },\n ref\n ) => {\n const [open, setOpen] = useState(false);\n const [filterText, setFilterText] = useState('');\n const nodeRef = useRef(null);\n\n const toggleValue = value => {\n if (value in valueFilter) {\n removeValuesFromFilter(name, [value]);\n } else {\n addValuesToFilter(name, [value]);\n }\n };\n\n const matchesFilter = x =>\n x.toLowerCase().trim().includes(filterText.toLowerCase().trim());\n\n const selectOnly = (e, value) => {\n e.stopPropagation();\n setValuesInFilter(\n name,\n Object.keys(attrValues).filter(y => y !== value)\n );\n };\n\n const getFilterBox = () => {\n const showMenu = Object.keys(attrValues).length < menuLimit;\n const values = Object.keys(attrValues);\n const shown = values.filter(matchesFilter).sort(sorter);\n\n return (\n <Draggable handle=\".pvtDragHandle\" nodeRef={nodeRef}>\n <div\n ref={nodeRef}\n className=\"pvtFilterBox\"\n style={{ display: 'block', cursor: 'initial', zIndex }}\n onClick={() => moveFilterBoxToTop(name)}\n >\n <a onClick={() => setOpen(false)} className=\"pvtCloseX\">×</a>\n <span className=\"pvtDragHandle\">☰</span>\n <h4>{name}</h4>\n\n {showMenu || <p>(too many values to show)</p>}\n\n {showMenu && (\n <p>\n <input\n type=\"text\"\n placeholder=\"Filter values\"\n className=\"pvtSearch\"\n value={filterText}\n onChange={e => setFilterText(e.target.value)}\n />\n <br />\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n removeValuesFromFilter(\n name,\n Object.keys(attrValues).filter(matchesFilter)\n )\n }\n >\n Select {values.length === shown.length ? 'All' : shown.length}\n </a>{' '}\n <a\n role=\"button\"\n className=\"pvtButton\"\n onClick={() =>\n addValuesToFilter(\n name,\n Object.keys(attrValues).filter(matchesFilter)\n )\n }\n >\n Deselect {values.length === shown.length ? 'All' : shown.length}\n </a>\n </p>\n )}\n\n {showMenu && (\n <div className=\"pvtCheckContainer\">\n {shown.map(x => (\n <p\n key={x}\n onClick={() => toggleValue(x)}\n className={x in valueFilter ? '' : 'selected'}\n >\n <a className=\"pvtOnly\" onClick={e => selectOnly(e, x)}>only</a>\n <a className=\"pvtOnlySpacer\"> </a>\n {x === '' ? <em>null</em> : x}\n </p>\n ))}\n </div>\n )}\n </div>\n </Draggable>\n );\n };\n\n const toggleFilterBox = () => {\n setOpen(o => !o);\n moveFilterBoxToTop(name);\n };\n\n const filtered = Object.keys(valueFilter).length !== 0 ? 'pvtFilteredAttribute' : '';\n\n return (\n <li\n ref={ref}\n data-id={name}\n style={{ opacity: isDragging ? 0.4 : 1 }}\n >\n <span className={'pvtAttr ' + filtered} {...dragHandleProps}>\n {name}\n <span\n className=\"pvtTriangle\"\n onClick={e => { e.stopPropagation(); toggleFilterBox(); }}\n >\n {' '}▾\n </span>\n </span>\n {open ? getFilterBox() : null}\n </li>\n );\n }\n);\nDraggableAttribute.displayName = 'DraggableAttribute';\n\nconst SortableAttribute = ({ id, ...rest }) => {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <DraggableAttribute\n ref={setNodeRef}\n name={id}\n isDragging={isDragging}\n dragHandleProps={{ ...attributes, ...listeners, style }}\n {...rest}\n />\n );\n};\n\nexport const Dropdown = ({ zIndex = 1, open = false, toggle, current, values = [], setValue }) => (\n <div className=\"pvtDropdown\" style={{ zIndex }}>\n <div\n onClick={e => { e.stopPropagation(); toggle(); }}\n className={'pvtDropdownValue pvtDropdownCurrent ' + (open ? 'pvtDropdownCurrentOpen' : '')}\n role=\"button\"\n >\n <div className=\"pvtDropdownIcon\">{open ? '×' : '▾'}</div>\n {current || <span> </span>}\n </div>\n {open && (\n <div className=\"pvtDropdownMenu\">\n {values.map(r => (\n <div\n key={r}\n role=\"button\"\n onClick={e => {\n e.stopPropagation();\n if (current === r) toggle();\n else { setValue(r); toggle(); }\n }}\n className={'pvtDropdownValue ' + (r === current ? 'pvtDropdownActiveValue' : '')}\n >\n {r}\n </div>\n ))}\n </div>\n )}\n </div>\n);\n\nconst DnDCell = ({\n id,\n items,\n classes,\n state,\n valueFilter,\n sorters,\n menuLimit,\n setValuesInFilter,\n addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter,\n isHorizontal,\n}) => {\n const strategy = isHorizontal\n ? horizontalListSortingStrategy\n : verticalListSortingStrategy;\n\n return (\n <td className={classes}>\n <SortableContext id={id} items={items} strategy={strategy}>\n <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}>\n {items.map(x => (\n <SortableAttribute\n key={x}\n id={x}\n attrValues={state.attrValues[x] || {}}\n valueFilter={valueFilter[x] || {}}\n sorter={getSort(sorters, x)}\n menuLimit={menuLimit}\n setValuesInFilter={setValuesInFilter}\n addValuesToFilter={addValuesToFilter}\n moveFilterBoxToTop={moveFilterBoxToTop}\n removeValuesFromFilter={removeValuesFromFilter}\n zIndex={state.zIndices[x] || state.maxZIndex}\n />\n ))}\n </ul>\n </SortableContext>\n </td>\n );\n};\n\n// ─── Extracted Helper: Renderer Dropdown ────────────────────────────────────────\nconst RendererDropdown = ({ rendererName, renderers, isOpen, uiState, setUiState }) => (\n <td className=\"pvtRenderers\">\n <Dropdown\n current={rendererName}\n values={Object.keys(renderers)}\n open={isOpen('renderer')}\n zIndex={isOpen('renderer') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))}\n setValue={v => rendererName._updateProp('rendererName', v)}\n />\n </td>\n);\n\n// ─── Extracted Helper: Aggregator + Sort + Vals Controls ────────────────────────\nconst AggregatorControls = ({\n aggregatorName, aggregators, vals, pivotState,\n hiddenAttributes, hiddenFromAggregators,\n isOpen, uiState, setUiState, actions,\n rowOrder, colOrder, sortIcons, numValsAllowed,\n}) => (\n <>\n <Dropdown\n current={aggregatorName}\n values={Object.keys(aggregators)}\n open={isOpen('aggregators')}\n zIndex={isOpen('aggregators') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))}\n setValue={v => actions.updateProp('aggregatorName', v)}\n />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => actions.updateProp('rowOrder', sortIcons[rowOrder].next)}>\n {sortIcons[rowOrder].rowSymbol}\n </a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => actions.updateProp('colOrder', sortIcons[colOrder].next)}>\n {sortIcons[colOrder].colSymbol}\n </a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown\n key={i}\n current={vals[i]}\n values={Object.keys(pivotState.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))}\n open={isOpen(`val${i}`)}\n zIndex={isOpen(`val${i}`) ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))}\n setValue={value => { const newVals = [...vals]; newVals[i] = value; actions.updateProp('vals', newVals); }}\n />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </>\n);\n\nconst PivotTableUI = props => {\n // ─── Headless Core ───\n const { props: pivotProps, state: pivotState, actions } = usePivot(props);\n\n // ─── UI State local ───\n const [uiState, setUiState] = useState({\n zIndices: {},\n maxZIndex: 1000,\n openDropdown: false,\n });\n const [activeId, setActiveId] = useState(null);\n\n const moveFilterBoxToTop = useCallback(attribute => {\n setUiState(s => ({\n ...s,\n maxZIndex: s.maxZIndex + 1,\n zIndices: { ...s.zIndices, [attribute]: s.maxZIndex + 1 },\n }));\n }, []);\n\n // ─── Derivados ───\n const {\n rows = [],\n cols = [],\n vals = [],\n aggregatorName = 'Count',\n aggregators = defaultAggregators,\n rendererName = 'Table',\n renderers = TableRenderers,\n valueFilter = {},\n sorters = {},\n menuLimit = 500,\n unusedOrientationCutoff = 85,\n hiddenAttributes = [],\n hiddenFromAggregators = [],\n hiddenFromDragDrop = [],\n pagination = false,\n page = 1,\n pageSize = 20,\n rowOrder = 'key_a_to_z',\n colOrder = 'key_a_to_z',\n size = 'lg',\n columnResizing = false,\n columnWidths = {},\n onColumnWidthChange,\n } = pivotProps;\n\n const unusedAttrs = Object.keys(pivotState.attrValues)\n .filter(e => e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e))\n .sort(sortAs(pivotState.unusedOrder || []));\n\n const unusedLength = unusedAttrs.reduce((r, e) => r + e.length, 0);\n const horizUnused = unusedLength < unusedOrientationCutoff;\n\n const colAttrs = cols.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\n const rowAttrs = rows.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\n\n // ─── DnD ───\n const getZoneOfItem = id => {\n if (rowAttrs.includes(id)) return 'rows';\n if (colAttrs.includes(id)) return 'cols';\n if (unusedAttrs.includes(id)) return 'unused';\n return null;\n };\n\n const getListByZone = zone => {\n if (zone === 'rows') return rowAttrs;\n if (zone === 'cols') return colAttrs;\n if (zone === 'unused') return unusedAttrs;\n return [];\n };\n\n const getUpdaterByZone = zone => {\n if (zone === 'rows') return value => actions.updateProp('rows', value);\n if (zone === 'cols') return value => actions.updateProp('cols', value);\n if (zone === 'unused') return order => actions.setUnusedOrder(order);\n return () => { };\n };\n\n const sensors = useSensors(useSensor(PointerSensor, { activationConstraint: { distance: 5 } }));\n\n const handleDragStart = ({ active }) => setActiveId(active.id);\n\n const handleDragOver = ({ active, over }) => {\n if (!over) return;\n const activeZone = getZoneOfItem(active.id);\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\n if (!activeZone || !overZone || activeZone === overZone) return;\n const activeList = [...getListByZone(activeZone)];\n const overList = [...getListByZone(overZone)];\n const activeIndex = activeList.indexOf(active.id);\n const overIndex = overList.indexOf(over.id);\n if (activeIndex === -1) return;\n if (overList.includes(active.id)) return;\n activeList.splice(activeIndex, 1);\n const insertAt = overIndex >= 0 ? overIndex : overList.length;\n overList.splice(insertAt, 0, active.id);\n\n // ── Construir el patch atómico para evitar múltiples re-renders ──\n // Problema: dos llamadas separadas (updateProp + updateProp) disparaban dos\n // notificaciones de estado consecutivas, causando el React error #185\n // (Maximum update depth exceeded). batchUpdate aplica ambos cambios en uno.\n const patch = {};\n if (activeZone === 'rows') patch.rows = activeList;\n else if (activeZone === 'cols') patch.cols = activeList;\n else if (activeZone === 'unused') patch.unusedOrder = activeList;\n if (overZone === 'rows') patch.rows = overList;\n else if (overZone === 'cols') patch.cols = overList;\n else if (overZone === 'unused') patch.unusedOrder = overList;\n actions.batchUpdate(patch);\n };\n\n const handleDragEnd = ({ active, over }) => {\n setActiveId(null);\n if (!over) return;\n const activeZone = getZoneOfItem(active.id);\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\n if (!activeZone || !overZone) return;\n if (activeZone === overZone) {\n const list = getListByZone(activeZone);\n const oldIndex = list.indexOf(active.id);\n const newIndex = list.indexOf(over.id);\n if (oldIndex !== newIndex) {\n const reordered = arrayMove(list, oldIndex, newIndex);\n const patch = {};\n if (activeZone === 'rows') patch.rows = reordered;\n else if (activeZone === 'cols') patch.cols = reordered;\n else if (activeZone === 'unused') patch.unusedOrder = reordered;\n actions.batchUpdate(patch);\n }\n }\n };\n\n // ─── Controls ───\n const isOpen = dropdown => uiState.openDropdown === dropdown;\n const numValsAllowed = (aggregators[aggregatorName]?.([])?.()?.numInputs) || 0;\n const actualRendererName = (rendererName in renderers) ? rendererName : Object.keys(renderers)[0];\n\n const sortIcons = {\n key_a_to_z: { rowSymbol: '↕', colSymbol: '↔', next: 'value_a_to_z' },\n value_a_to_z: { rowSymbol: '↓', colSymbol: '→', next: 'value_z_to_a' },\n value_z_to_a: { rowSymbol: '↑', colSymbol: '←', next: 'key_a_to_z' },\n };\n\n const combinedState = {\n attrValues: pivotState.attrValues,\n zIndices: uiState.zIndices,\n maxZIndex: uiState.maxZIndex,\n };\n\n const sharedCellProps = {\n state: combinedState,\n valueFilter,\n sorters,\n menuLimit,\n setValuesInFilter: actions.setValuesInFilter,\n addValuesToFilter: actions.addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter: actions.removeValuesFromFilter,\n };\n\n const componentProps = {\n data: pivotState.materializedInput,\n rows, cols, vals,\n aggregatorName, aggregators,\n rendererName, renderers,\n valueFilter, sorters,\n menuLimit, unusedOrientationCutoff,\n hiddenAttributes, hiddenFromAggregators, hiddenFromDragDrop,\n pagination, page, pageSize,\n rowOrder, colOrder,\n derivedAttributes: pivotProps.derivedAttributes,\n cellPipeline: pivotProps.cellPipeline,\n virtualization: pivotProps.virtualization,\n columnResizing, columnWidths, onColumnWidthChange,\n };\n\n const renderFooter = () => {\n const pivotData = new PivotData(componentProps);\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = pivotState.materializedInput.length;\n const totalPages = Math.ceil(totalPivotRows / pageSize);\n return (\n <div className=\"pvtFooter\">\n <div className=\"pvtFooterInfo\">Total registros: {totalRecords} | Filas: {totalPivotRows}</div>\n <div className=\"pvtFooterPagination\">\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => actions.updateProp('page', 1)}>«</button>\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => actions.updateProp('page', page - 1)}>‹</button>\n <span>Página <input type=\"number\" className=\"pvtPageInput\" value={page} min={1} max={totalPages} onChange={e => {\n const val = parseInt(e.target.value, 10);\n if (val > 0 && val <= totalPages) actions.updateProp('page', val);\n }} /> de {totalPages}</span>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => actions.updateProp('page', page + 1)}>›</button>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => actions.updateProp('page', totalPages)}>»</button>\n <select className=\"pvtPageSize\" value={pageSize} onChange={e => {\n actions.updateProp('pageSize', parseInt(e.target.value, 10));\n actions.updateProp('page', 1);\n }}>{[10, 20, 50, 100].map(n => <option key={n} value={n}>{n} / pág</option>)}</select>\n </div>\n </div>\n );\n };\n\n // ─── Shared renderer/aggregator controls ───\n const rendererDropdown = (\n <Dropdown\n current={actualRendererName}\n values={Object.keys(renderers)}\n open={isOpen('renderer')}\n zIndex={isOpen('renderer') ? uiState.maxZIndex + 1 : 1}\n toggle={() => setUiState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))}\n setValue={v => actions.updateProp('rendererName', v)}\n />\n );\n\n const aggControls = (\n <AggregatorControls\n aggregatorName={aggregatorName}\n aggregators={aggregators}\n vals={vals}\n pivotState={pivotState}\n hiddenAttributes={hiddenAttributes}\n hiddenFromAggregators={hiddenFromAggregators}\n isOpen={isOpen}\n uiState={uiState}\n setUiState={setUiState}\n actions={actions}\n rowOrder={rowOrder}\n colOrder={colOrder}\n sortIcons={sortIcons}\n numValsAllowed={numValsAllowed}\n />\n );\n\n const outputCell = (\n <td className=\"pvtOutput\">\n <PivotTable {...componentProps} />\n {pagination && renderFooter()}\n </td>\n );\n\n return (\n <DndContext sensors={sensors} collisionDetection={closestCorners} onDragStart={handleDragStart} onDragOver={handleDragOver} onDragEnd={handleDragEnd}>\n <table className={`pvtUi pvt-theme-${props.theme || 'default'} pvt-size-${size || 'lg'}`}>\n <tbody onClick={() => setUiState(s => ({ ...s, openDropdown: false }))}>\n {horizUnused ? (\n <>\n <tr>\n <td className=\"pvtRenderers\">{rendererDropdown}</td>\n <DnDCell id=\"unused\" items={unusedAttrs} classes=\"pvtAxisContainer pvtUnused pvtHorizList\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <td className=\"pvtVals\">{aggControls}</td>\n <DnDCell id=\"cols\" items={colAttrs} classes=\"pvtAxisContainer pvtHorizList pvtCols\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <DnDCell id=\"rows\" items={rowAttrs} classes=\"pvtAxisContainer pvtVertList pvtRows\" isHorizontal={false} {...sharedCellProps} />\n {outputCell}\n </tr>\n </>\n ) : (\n <>\n <tr>\n <td className=\"pvtRenderers\">{rendererDropdown}</td>\n <td className=\"pvtVals\">{aggControls}</td>\n <DnDCell id=\"cols\" items={colAttrs} classes=\"pvtAxisContainer pvtHorizList pvtCols\" isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <DnDCell id=\"unused\" items={unusedAttrs} classes=\"pvtAxisContainer pvtUnused pvtVertList\" isHorizontal={false} {...sharedCellProps} />\n <DnDCell id=\"rows\" items={rowAttrs} classes=\"pvtAxisContainer pvtVertList pvtRows\" isHorizontal={false} {...sharedCellProps} />\n {outputCell}\n </tr>\n </>\n )}\n </tbody>\n </table>\n <DragOverlay>{activeId ? <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}><li><span className=\"pvtAttr\">{activeId}</span></li></ul> : null}</DragOverlay>\n </DndContext>\n );\n};\n\nPivotTableUI.propTypes = Object.assign({}, PivotData.propTypes, {\n onChange: PropTypes.func.isRequired,\n hiddenAttributes: PropTypes.arrayOf(PropTypes.string),\n hiddenFromAggregators: PropTypes.arrayOf(PropTypes.string),\n hiddenFromDragDrop: PropTypes.arrayOf(PropTypes.string),\n unusedOrientationCutoff: PropTypes.number,\n menuLimit: PropTypes.number,\n rendererName: PropTypes.string,\n renderers: PropTypes.objectOf(PropTypes.func),\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n columnResizing: PropTypes.bool,\n columnWidths: PropTypes.object,\n onColumnWidthChange: PropTypes.func,\n});\n\nPivotTableUI.defaultProps = Object.assign({}, PivotData.defaultProps, {\n onChange: () => { },\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n unusedOrientationCutoff: 85,\n menuLimit: 500,\n rendererName: 'Table',\n renderers: TableRenderers,\n columnResizing: false,\n columnWidths: {},\n});\n\nexport default PivotTableUI;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/core/api/GridApi.js
CHANGED
|
@@ -4,7 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.GridApi = void 0;
|
|
7
|
+
var _excluded = ["unusedOrder"];
|
|
7
8
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
9
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
10
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
8
11
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
9
12
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
13
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -154,6 +157,28 @@ var GridApi = exports.GridApi = /*#__PURE__*/function () {
|
|
|
154
157
|
this._engine._notifyStateChanged();
|
|
155
158
|
}
|
|
156
159
|
|
|
160
|
+
/**
|
|
161
|
+
* Aplica múltiples cambios de dimensión en una única notificación atómica.
|
|
162
|
+
* Evita bucles de re-render al mover campos entre zonas durante el drag & drop.
|
|
163
|
+
* @param {object} patch - Objeto con las claves a actualizar: { rows?, cols?, unusedOrder? }
|
|
164
|
+
*/
|
|
165
|
+
}, {
|
|
166
|
+
key: "batchUpdate",
|
|
167
|
+
value: function batchUpdate(patch) {
|
|
168
|
+
var unusedOrder = patch.unusedOrder,
|
|
169
|
+
configPatch = _objectWithoutProperties(patch, _excluded);
|
|
170
|
+
if (Object.keys(configPatch).length > 0) {
|
|
171
|
+
this._engine.stateManager.updateConfig(configPatch);
|
|
172
|
+
}
|
|
173
|
+
if (unusedOrder !== undefined) {
|
|
174
|
+
this._engine.stateManager.computed.unusedOrder = unusedOrder;
|
|
175
|
+
this._engine.stateManager._snapshotVersion++;
|
|
176
|
+
this._engine.stateManager._snapshot = null;
|
|
177
|
+
}
|
|
178
|
+
this._engine.eventBus.emit('dimensionMoved', configPatch);
|
|
179
|
+
this._engine._notifyStateChanged();
|
|
180
|
+
}
|
|
181
|
+
|
|
157
182
|
// ─── Events ───────────────────────────────────────────────────────────────────
|
|
158
183
|
}, {
|
|
159
184
|
key: "addEventListener",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridApi.js","names":["GridApi","exports","engine","_classCallCheck","_engine","moduleApis","moduleRegistry","collectApis","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","fn","_createClass","value","setRowData","data","stateManager","updateConfig","eventBus","emit","_notifyStateChanged","getRowData","getConfig","getMaterializedData","getComputed","materializedInput","getAttrValues","attrValues","patch","setAggregator","name","vals","aggregatorName","undefined","setRenderer","rendererName","refreshCells","setRows","rows","cols","filter","c","includes","setCols","r","setUnusedOrder","order","computed","unusedOrder","_snapshotVersion","_snapshot","addEventListener","event","callback","on","removeEventListener","off","processData","rowModel","process","getRowModel","getPivotData","getRowCount","getGrandTotal","destroy"],"sources":["../../../src/core/api/GridApi.js"],"sourcesContent":["/**\n * GridApi — API pública para controlar la grilla.\n * Los módulos inyectan métodos adicionales via ModuleRegistry.collectApis().\n */\nexport class GridApi {\n constructor(engine) {\n this._engine = engine;\n\n // Inyectar APIs de módulos dinámicamente\n const moduleApis = engine.moduleRegistry.collectApis();\n for (const [key, fn] of Object.entries(moduleApis)) {\n if (!(key in this)) {\n this[key] = fn;\n }\n }\n }\n\n // ─── Data ─────────────────────────────────────────────────────────────────────\n setRowData(data) {\n this._engine.stateManager.updateConfig({ data });\n this._engine.eventBus.emit('dataChanged', { data });\n this._engine._notifyStateChanged();\n }\n\n getRowData() {\n return this._engine.stateManager.getConfig().data;\n }\n\n getMaterializedData() {\n return this._engine.stateManager.getComputed().materializedInput;\n }\n\n getAttrValues() {\n return this._engine.stateManager.getComputed().attrValues;\n }\n\n // ─── Config ───────────────────────────────────────────────────────────────────\n updateConfig(patch) {\n this._engine.stateManager.updateConfig(patch);\n this._engine._notifyStateChanged();\n }\n\n getConfig() {\n return this._engine.stateManager.getConfig();\n }\n\n // ─── Convenience Setters ──────────────────────────────────────────────────────\n setAggregator(name, vals) {\n const patch = { aggregatorName: name };\n if (vals !== undefined) patch.vals = vals;\n this._engine.stateManager.updateConfig(patch);\n this._engine.eventBus.emit('aggregatorChanged', { name, vals });\n this._engine._notifyStateChanged();\n }\n\n setRenderer(name) {\n this._engine.stateManager.updateConfig({ rendererName: name });\n this._engine.eventBus.emit('rendererChanged', { name });\n this._engine._notifyStateChanged();\n }\n\n // ─── Refresh ──────────────────────────────────────────────────────────────────\n refreshCells() {\n this._engine._notifyStateChanged();\n }\n\n // ─── Dimension Management ─────────────────────────────────────────────────────\n setRows(rows) {\n const cols = this._engine.stateManager.getConfig().cols.filter(c => !rows.includes(c));\n this._engine.stateManager.updateConfig({ rows, cols });\n this._engine.eventBus.emit('dimensionMoved', { rows, cols });\n this._engine._notifyStateChanged();\n }\n\n setCols(cols) {\n const rows = this._engine.stateManager.getConfig().rows.filter(r => !cols.includes(r));\n this._engine.stateManager.updateConfig({ cols, rows });\n this._engine.eventBus.emit('dimensionMoved', { rows, cols });\n this._engine._notifyStateChanged();\n }\n\n setUnusedOrder(order) {\n this._engine.stateManager.computed.unusedOrder = order;\n this._engine.stateManager._snapshotVersion++;\n this._engine.stateManager._snapshot = null;\n this._engine._notifyStateChanged();\n }\n\n // ─── Events ───────────────────────────────────────────────────────────────────\n addEventListener(event, callback) {\n return this._engine.eventBus.on(event, callback);\n }\n\n removeEventListener(event, callback) {\n this._engine.eventBus.off(event, callback);\n }\n\n // ─── Row Model ───────────────────────────────────────────────────────────────\n /**\n * Ejecutar el pipeline completo y obtener el resultado procesado.\n * Útil para obtener pivotData, rowKeys, colKeys, totales.\n */\n processData() {\n return this._engine.rowModel.process();\n }\n\n getRowModel() {\n return this._engine.rowModel;\n }\n\n getPivotData() {\n return this._engine.rowModel.getPivotData();\n }\n\n getRowCount() {\n return this._engine.rowModel.getRowCount();\n }\n\n getGrandTotal() {\n return this._engine.rowModel.getGrandTotal();\n }\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────────\n destroy() {\n this._engine.destroy();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAHA,IAIaA,OAAO,GAAAC,OAAA,CAAAD,OAAA;EAChB,SAAAA,QAAYE,MAAM,EAAE;IAAAC,eAAA,OAAAH,OAAA;IAChB,IAAI,CAACI,OAAO,GAAGF,MAAM;;IAErB;IACA,IAAMG,UAAU,GAAGH,MAAM,CAACI,cAAc,CAACC,WAAW,CAAC,CAAC;IACtD,SAAAC,EAAA,MAAAC,eAAA,GAAwBC,MAAM,CAACC,OAAO,CAACN,UAAU,CAAC,EAAAG,EAAA,GAAAC,eAAA,CAAAG,MAAA,EAAAJ,EAAA,IAAE;MAA/C,IAAAK,kBAAA,GAAAC,cAAA,CAAAL,eAAA,CAAAD,EAAA;QAAOO,GAAG,GAAAF,kBAAA;QAAEG,EAAE,GAAAH,kBAAA;MACf,IAAI,EAAEE,GAAG,IAAI,IAAI,CAAC,EAAE;QAChB,IAAI,CAACA,GAAG,CAAC,GAAGC,EAAE;MAClB;IACJ;EACJ;;EAEA;EAAA,OAAAC,YAAA,CAAAjB,OAAA;IAAAe,GAAA;IAAAG,KAAA,EACA,SAAAC,UAAUA,CAACC,IAAI,EAAE;MACb,IAAI,CAAChB,OAAO,CAACiB,YAAY,CAACC,YAAY,CAAC;QAAEF,IAAI,EAAJA;MAAK,CAAC,CAAC;MAChD,IAAI,CAAChB,OAAO,CAACmB,QAAQ,CAACC,IAAI,CAAC,aAAa,EAAE;QAAEJ,IAAI,EAAJA;MAAK,CAAC,CAAC;MACnD,IAAI,CAAChB,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;EAAC;IAAAV,GAAA;IAAAG,KAAA,EAED,SAAAQ,UAAUA,CAAA,EAAG;MACT,OAAO,IAAI,CAACtB,OAAO,CAACiB,YAAY,CAACM,SAAS,CAAC,CAAC,CAACP,IAAI;IACrD;EAAC;IAAAL,GAAA;IAAAG,KAAA,EAED,SAAAU,mBAAmBA,CAAA,EAAG;MAClB,OAAO,IAAI,CAACxB,OAAO,CAACiB,YAAY,CAACQ,WAAW,CAAC,CAAC,CAACC,iBAAiB;IACpE;EAAC;IAAAf,GAAA;IAAAG,KAAA,EAED,SAAAa,aAAaA,CAAA,EAAG;MACZ,OAAO,IAAI,CAAC3B,OAAO,CAACiB,YAAY,CAACQ,WAAW,CAAC,CAAC,CAACG,UAAU;IAC7D;;IAEA;EAAA;IAAAjB,GAAA;IAAAG,KAAA,EACA,SAAAI,YAAYA,CAACW,KAAK,EAAE;MAChB,IAAI,CAAC7B,OAAO,CAACiB,YAAY,CAACC,YAAY,CAACW,KAAK,CAAC;MAC7C,IAAI,CAAC7B,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;EAAC;IAAAV,GAAA;IAAAG,KAAA,EAED,SAAAS,SAASA,CAAA,EAAG;MACR,OAAO,IAAI,CAACvB,OAAO,CAACiB,YAAY,CAACM,SAAS,CAAC,CAAC;IAChD;;IAEA;EAAA;IAAAZ,GAAA;IAAAG,KAAA,EACA,SAAAgB,aAAaA,CAACC,IAAI,EAAEC,IAAI,EAAE;MACtB,IAAMH,KAAK,GAAG;QAAEI,cAAc,EAAEF;MAAK,CAAC;MACtC,IAAIC,IAAI,KAAKE,SAAS,EAAEL,KAAK,CAACG,IAAI,GAAGA,IAAI;MACzC,IAAI,CAAChC,OAAO,CAACiB,YAAY,CAACC,YAAY,CAACW,KAAK,CAAC;MAC7C,IAAI,CAAC7B,OAAO,CAACmB,QAAQ,CAACC,IAAI,CAAC,mBAAmB,EAAE;QAAEW,IAAI,EAAJA,IAAI;QAAEC,IAAI,EAAJA;MAAK,CAAC,CAAC;MAC/D,IAAI,CAAChC,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;EAAC;IAAAV,GAAA;IAAAG,KAAA,EAED,SAAAqB,WAAWA,CAACJ,IAAI,EAAE;MACd,IAAI,CAAC/B,OAAO,CAACiB,YAAY,CAACC,YAAY,CAAC;QAAEkB,YAAY,EAAEL;MAAK,CAAC,CAAC;MAC9D,IAAI,CAAC/B,OAAO,CAACmB,QAAQ,CAACC,IAAI,CAAC,iBAAiB,EAAE;QAAEW,IAAI,EAAJA;MAAK,CAAC,CAAC;MACvD,IAAI,CAAC/B,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;;IAEA;EAAA;IAAAV,GAAA;IAAAG,KAAA,EACA,SAAAuB,YAAYA,CAAA,EAAG;MACX,IAAI,CAACrC,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;;IAEA;EAAA;IAAAV,GAAA;IAAAG,KAAA,EACA,SAAAwB,OAAOA,CAACC,IAAI,EAAE;MACV,IAAMC,IAAI,GAAG,IAAI,CAACxC,OAAO,CAACiB,YAAY,CAACM,SAAS,CAAC,CAAC,CAACiB,IAAI,CAACC,MAAM,CAAC,UAAAC,CAAC;QAAA,OAAI,CAACH,IAAI,CAACI,QAAQ,CAACD,CAAC,CAAC;MAAA,EAAC;MACtF,IAAI,CAAC1C,OAAO,CAACiB,YAAY,CAACC,YAAY,CAAC;QAAEqB,IAAI,EAAJA,IAAI;QAAEC,IAAI,EAAJA;MAAK,CAAC,CAAC;MACtD,IAAI,CAACxC,OAAO,CAACmB,QAAQ,CAACC,IAAI,CAAC,gBAAgB,EAAE;QAAEmB,IAAI,EAAJA,IAAI;QAAEC,IAAI,EAAJA;MAAK,CAAC,CAAC;MAC5D,IAAI,CAACxC,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;EAAC;IAAAV,GAAA;IAAAG,KAAA,EAED,SAAA8B,OAAOA,CAACJ,IAAI,EAAE;MACV,IAAMD,IAAI,GAAG,IAAI,CAACvC,OAAO,CAACiB,YAAY,CAACM,SAAS,CAAC,CAAC,CAACgB,IAAI,CAACE,MAAM,CAAC,UAAAI,CAAC;QAAA,OAAI,CAACL,IAAI,CAACG,QAAQ,CAACE,CAAC,CAAC;MAAA,EAAC;MACtF,IAAI,CAAC7C,OAAO,CAACiB,YAAY,CAACC,YAAY,CAAC;QAAEsB,IAAI,EAAJA,IAAI;QAAED,IAAI,EAAJA;MAAK,CAAC,CAAC;MACtD,IAAI,CAACvC,OAAO,CAACmB,QAAQ,CAACC,IAAI,CAAC,gBAAgB,EAAE;QAAEmB,IAAI,EAAJA,IAAI;QAAEC,IAAI,EAAJA;MAAK,CAAC,CAAC;MAC5D,IAAI,CAACxC,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;EAAC;IAAAV,GAAA;IAAAG,KAAA,EAED,SAAAgC,cAAcA,CAACC,KAAK,EAAE;MAClB,IAAI,CAAC/C,OAAO,CAACiB,YAAY,CAAC+B,QAAQ,CAACC,WAAW,GAAGF,KAAK;MACtD,IAAI,CAAC/C,OAAO,CAACiB,YAAY,CAACiC,gBAAgB,EAAE;MAC5C,IAAI,CAAClD,OAAO,CAACiB,YAAY,CAACkC,SAAS,GAAG,IAAI;MAC1C,IAAI,CAACnD,OAAO,CAACqB,mBAAmB,CAAC,CAAC;IACtC;;IAEA;EAAA;IAAAV,GAAA;IAAAG,KAAA,EACA,SAAAsC,gBAAgBA,CAACC,KAAK,EAAEC,QAAQ,EAAE;MAC9B,OAAO,IAAI,CAACtD,OAAO,CAACmB,QAAQ,CAACoC,EAAE,CAACF,KAAK,EAAEC,QAAQ,CAAC;IACpD;EAAC;IAAA3C,GAAA;IAAAG,KAAA,EAED,SAAA0C,mBAAmBA,CAACH,KAAK,EAAEC,QAAQ,EAAE;MACjC,IAAI,CAACtD,OAAO,CAACmB,QAAQ,CAACsC,GAAG,CAACJ,KAAK,EAAEC,QAAQ,CAAC;IAC9C;;IAEA;IACA;AACJ;AACA;AACA;EAHI;IAAA3C,GAAA;IAAAG,KAAA,EAIA,SAAA4C,WAAWA,CAAA,EAAG;MACV,OAAO,IAAI,CAAC1D,OAAO,CAAC2D,QAAQ,CAACC,OAAO,CAAC,CAAC;IAC1C;EAAC;IAAAjD,GAAA;IAAAG,KAAA,EAED,SAAA+C,WAAWA,CAAA,EAAG;MACV,OAAO,IAAI,CAAC7D,OAAO,CAAC2D,QAAQ;IAChC;EAAC;IAAAhD,GAAA;IAAAG,KAAA,EAED,SAAAgD,YAAYA,CAAA,EAAG;MACX,OAAO,IAAI,CAAC9D,OAAO,CAAC2D,QAAQ,CAACG,YAAY,CAAC,CAAC;IAC/C;EAAC;IAAAnD,GAAA;IAAAG,KAAA,EAED,SAAAiD,WAAWA,CAAA,EAAG;MACV,OAAO,IAAI,CAAC/D,OAAO,CAAC2D,QAAQ,CAACI,WAAW,CAAC,CAAC;IAC9C;EAAC;IAAApD,GAAA;IAAAG,KAAA,EAED,SAAAkD,aAAaA,CAAA,EAAG;MACZ,OAAO,IAAI,CAAChE,OAAO,CAAC2D,QAAQ,CAACK,aAAa,CAAC,CAAC;IAChD;;IAEA;EAAA;IAAArD,GAAA;IAAAG,KAAA,EACA,SAAAmD,OAAOA,CAAA,EAAG;MACN,IAAI,CAACjE,OAAO,CAACiE,OAAO,CAAC,CAAC;IAC1B;EAAC;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"GridApi.js","names":["GridApi","exports","engine","_classCallCheck","_engine","moduleApis","moduleRegistry","collectApis","_i","_Object$entries","Object","entries","length","_Object$entries$_i","_slicedToArray","key","fn","_createClass","value","setRowData","data","stateManager","updateConfig","eventBus","emit","_notifyStateChanged","getRowData","getConfig","getMaterializedData","getComputed","materializedInput","getAttrValues","attrValues","patch","setAggregator","name","vals","aggregatorName","undefined","setRenderer","rendererName","refreshCells","setRows","rows","cols","filter","c","includes","setCols","r","setUnusedOrder","order","computed","unusedOrder","_snapshotVersion","_snapshot","batchUpdate","configPatch","_objectWithoutProperties","_excluded","keys","addEventListener","event","callback","on","removeEventListener","off","processData","rowModel","process","getRowModel","getPivotData","getRowCount","getGrandTotal","destroy"],"sources":["../../../src/core/api/GridApi.js"],"sourcesContent":["/**\n * GridApi — API pública para controlar la grilla.\n * Los módulos inyectan métodos adicionales via ModuleRegistry.collectApis().\n */\nexport class GridApi {\n constructor(engine) {\n this._engine = engine;\n\n // Inyectar APIs de módulos dinámicamente\n const moduleApis = engine.moduleRegistry.collectApis();\n for (const [key, fn] of Object.entries(moduleApis)) {\n if (!(key in this)) {\n this[key] = fn;\n }\n }\n }\n\n // ─── Data ─────────────────────────────────────────────────────────────────────\n setRowData(data) {\n this._engine.stateManager.updateConfig({ data });\n this._engine.eventBus.emit('dataChanged', { data });\n this._engine._notifyStateChanged();\n }\n\n getRowData() {\n return this._engine.stateManager.getConfig().data;\n }\n\n getMaterializedData() {\n return this._engine.stateManager.getComputed().materializedInput;\n }\n\n getAttrValues() {\n return this._engine.stateManager.getComputed().attrValues;\n }\n\n // ─── Config ───────────────────────────────────────────────────────────────────\n updateConfig(patch) {\n this._engine.stateManager.updateConfig(patch);\n this._engine._notifyStateChanged();\n }\n\n getConfig() {\n return this._engine.stateManager.getConfig();\n }\n\n // ─── Convenience Setters ──────────────────────────────────────────────────────\n setAggregator(name, vals) {\n const patch = { aggregatorName: name };\n if (vals !== undefined) patch.vals = vals;\n this._engine.stateManager.updateConfig(patch);\n this._engine.eventBus.emit('aggregatorChanged', { name, vals });\n this._engine._notifyStateChanged();\n }\n\n setRenderer(name) {\n this._engine.stateManager.updateConfig({ rendererName: name });\n this._engine.eventBus.emit('rendererChanged', { name });\n this._engine._notifyStateChanged();\n }\n\n // ─── Refresh ──────────────────────────────────────────────────────────────────\n refreshCells() {\n this._engine._notifyStateChanged();\n }\n\n // ─── Dimension Management ─────────────────────────────────────────────────────\n setRows(rows) {\n const cols = this._engine.stateManager.getConfig().cols.filter(c => !rows.includes(c));\n this._engine.stateManager.updateConfig({ rows, cols });\n this._engine.eventBus.emit('dimensionMoved', { rows, cols });\n this._engine._notifyStateChanged();\n }\n\n setCols(cols) {\n const rows = this._engine.stateManager.getConfig().rows.filter(r => !cols.includes(r));\n this._engine.stateManager.updateConfig({ cols, rows });\n this._engine.eventBus.emit('dimensionMoved', { rows, cols });\n this._engine._notifyStateChanged();\n }\n\n setUnusedOrder(order) {\n this._engine.stateManager.computed.unusedOrder = order;\n this._engine.stateManager._snapshotVersion++;\n this._engine.stateManager._snapshot = null;\n this._engine._notifyStateChanged();\n }\n\n /**\n * Aplica múltiples cambios de dimensión en una única notificación atómica.\n * Evita bucles de re-render al mover campos entre zonas durante el drag & drop.\n * @param {object} patch - Objeto con las claves a actualizar: { rows?, cols?, unusedOrder? }\n */\n batchUpdate(patch) {\n const { unusedOrder, ...configPatch } = patch;\n if (Object.keys(configPatch).length > 0) {\n this._engine.stateManager.updateConfig(configPatch);\n }\n if (unusedOrder !== undefined) {\n this._engine.stateManager.computed.unusedOrder = unusedOrder;\n this._engine.stateManager._snapshotVersion++;\n this._engine.stateManager._snapshot = null;\n }\n this._engine.eventBus.emit('dimensionMoved', configPatch);\n this._engine._notifyStateChanged();\n }\n\n // ─── Events ───────────────────────────────────────────────────────────────────\n addEventListener(event, callback) {\n return this._engine.eventBus.on(event, callback);\n }\n\n removeEventListener(event, callback) {\n this._engine.eventBus.off(event, callback);\n }\n\n // ─── Row Model ───────────────────────────────────────────────────────────────\n /**\n * Ejecutar el pipeline completo y obtener el resultado procesado.\n * Útil para obtener pivotData, rowKeys, colKeys, totales.\n */\n processData() {\n return this._engine.rowModel.process();\n }\n\n getRowModel() {\n return this._engine.rowModel;\n }\n\n getPivotData() {\n return this._engine.rowModel.getPivotData();\n }\n\n getRowCount() {\n return this._engine.rowModel.getRowCount();\n }\n\n getGrandTotal() {\n return this._engine.rowModel.getGrandTotal();\n }\n\n // ─── Lifecycle ────────────────────────────────────────────────────────────────\n destroy() {\n this._engine.destroy();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/hooks/usePivot.js
CHANGED
|
@@ -22,14 +22,24 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
22
22
|
*/
|
|
23
23
|
function usePivot(initialProps) {
|
|
24
24
|
var engineRef = (0, _react.useRef)(null);
|
|
25
|
+
// Guard: evita que el useEffect re-sincronice props cuando el cambio
|
|
26
|
+
// se originó internamente (ej: drag & drop), previniendo el bucle infinito.
|
|
27
|
+
var _internalUpdateRef = (0, _react.useRef)(false);
|
|
25
28
|
if (!engineRef.current) {
|
|
26
29
|
engineRef.current = new _PivotEngine.PivotEngine(_objectSpread(_objectSpread({}, initialProps), {}, {
|
|
27
30
|
modules: [_FilterModule.FilterModule, _PaginationModule.PaginationModule, _SortModule.SortModule]
|
|
28
31
|
}));
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
// Sincronizar props externas clave
|
|
34
|
+
// Sincronizar props externas clave.
|
|
35
|
+
// El guard _internalUpdateRef evita el bucle: cuando el drag & drop actualiza
|
|
36
|
+
// rows/cols internamente y el usuario llama onChange → las props cambian →
|
|
37
|
+
// este effect no debe re-sincronizar porque el engine ya tiene el estado correcto.
|
|
32
38
|
(0, _react.useEffect)(function () {
|
|
39
|
+
if (_internalUpdateRef.current) {
|
|
40
|
+
_internalUpdateRef.current = false;
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
33
43
|
var sanitized = {};
|
|
34
44
|
var allKeys = Object.keys(initialProps);
|
|
35
45
|
for (var _i = 0, _allKeys = allKeys; _i < _allKeys.length; _i++) {
|
|
@@ -61,6 +71,7 @@ function usePivot(initialProps) {
|
|
|
61
71
|
return engineRef.current.gridApi.updateConfig(newProps);
|
|
62
72
|
},
|
|
63
73
|
updateProp: function updateProp(key, value) {
|
|
74
|
+
_internalUpdateRef.current = true;
|
|
64
75
|
if (key === 'rows') {
|
|
65
76
|
engineRef.current.gridApi.setRows(value);
|
|
66
77
|
} else if (key === 'cols') {
|
|
@@ -69,6 +80,12 @@ function usePivot(initialProps) {
|
|
|
69
80
|
engineRef.current.gridApi.updateConfig(_defineProperty({}, key, value));
|
|
70
81
|
}
|
|
71
82
|
},
|
|
83
|
+
// batchUpdate: actualiza rows, cols y/o unusedOrder en una única notificación
|
|
84
|
+
// para evitar bucles de re-render durante el drag & drop entre zonas.
|
|
85
|
+
batchUpdate: function batchUpdate(patch) {
|
|
86
|
+
_internalUpdateRef.current = true;
|
|
87
|
+
engineRef.current.gridApi.batchUpdate(patch);
|
|
88
|
+
},
|
|
72
89
|
toggleFilter: function toggleFilter(attr, value) {
|
|
73
90
|
return engineRef.current.gridApi.toggleFilter(attr, value);
|
|
74
91
|
},
|
|
@@ -82,7 +99,8 @@ function usePivot(initialProps) {
|
|
|
82
99
|
return engineRef.current.gridApi.removeValuesFromFilter(attr, values);
|
|
83
100
|
},
|
|
84
101
|
setUnusedOrder: function setUnusedOrder(order) {
|
|
85
|
-
|
|
102
|
+
_internalUpdateRef.current = true;
|
|
103
|
+
engineRef.current.gridApi.setUnusedOrder(order);
|
|
86
104
|
}
|
|
87
105
|
},
|
|
88
106
|
// Nuevo: exponer gridApi y columnApi
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePivot.js","names":["_react","require","_PivotEngine","_FilterModule","_PaginationModule","_SortModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","usePivot","initialProps","engineRef","useRef","current","PivotEngine","modules","FilterModule","PaginationModule","SortModule","useEffect","sanitized","allKeys","_i","_allKeys","key","undefined","stateManager","updateConfig","_notifyStateChanged","data","rows","cols","rendererName","aggregatorName","page","pageSize","snapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","getSnapshot","props","state","actions","setProps","newProps","gridApi","updateProp","setRows","setCols","toggleFilter","attr","setValuesInFilter","values","setFilter","addValuesToFilter","removeValuesFromFilter","setUnusedOrder","order","columnApi","core"],"sources":["../../src/hooks/usePivot.js"],"sourcesContent":["import { useRef, useSyncExternalStore, useCallback, useEffect } from 'react';\nimport { PivotEngine } from '../core/PivotEngine';\nimport { FilterModule } from '../modules/FilterModule';\nimport { PaginationModule } from '../modules/PaginationModule';\nimport { SortModule } from '../modules/SortModule';\n\n/**\n * usePivot — Hook de backward compatibility.\n * Internamente delega al nuevo PivotEngine con módulos por defecto.\n * Mantiene la API original: { props, state, actions }\n */\nexport function usePivot(initialProps) {\n const engineRef = useRef(null);\n\n if (!engineRef.current) {\n engineRef.current = new PivotEngine({\n ...initialProps,\n modules: [FilterModule, PaginationModule, SortModule],\n });\n }\n\n // Sincronizar props externas clave\n useEffect(() => {\n const sanitized = {};\n const allKeys = Object.keys(initialProps);\n for (const key of allKeys) {\n if (initialProps[key] !== undefined) {\n sanitized[key] = initialProps[key];\n }\n }\n engineRef.current.stateManager.updateConfig(sanitized);\n engineRef.current._notifyStateChanged();\n }, [\n initialProps.data,\n initialProps.rows,\n initialProps.cols,\n initialProps.rendererName,\n initialProps.aggregatorName,\n initialProps.page,\n initialProps.pageSize,\n ]);\n\n // Suscribirse a cambios del engine\n const snapshot = useSyncExternalStore(\n useCallback((onStoreChange) => engineRef.current.subscribe(onStoreChange), []),\n useCallback(() => engineRef.current.getSnapshot(), []), // getSnapshot\n useCallback(() => engineRef.current.getSnapshot(), []) // getServerSnapshot\n );\n\n return {\n props: snapshot.props,\n state: snapshot.state,\n actions: {\n setProps: (newProps) => engineRef.current.gridApi.updateConfig(newProps),\n updateProp: (key, value) => {\n if (key === 'rows') {\n engineRef.current.gridApi.setRows(value);\n } else if (key === 'cols') {\n engineRef.current.gridApi.setCols(value);\n } else {\n engineRef.current.gridApi.updateConfig({ [key]: value });\n }\n },\n toggleFilter: (attr, value) => engineRef.current.gridApi.toggleFilter(attr, value),\n setValuesInFilter: (attr, values) => engineRef.current.gridApi.setFilter(attr, values),\n addValuesToFilter: (attr, values) => engineRef.current.gridApi.addValuesToFilter(attr, values),\n removeValuesFromFilter: (attr, values) => engineRef.current.gridApi.removeValuesFromFilter(attr, values),\n setUnusedOrder: (order) => engineRef.current.gridApi.setUnusedOrder(order),\n },\n // Nuevo: exponer gridApi y columnApi\n gridApi: engineRef.current.gridApi,\n columnApi: engineRef.current.columnApi,\n core: engineRef.current, // Backward compat\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAmD,SAAAK,QAAAC,CAAA,sCAAAD,OAAA,wBAAAE,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAF,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAC,MAAA,IAAAD,CAAA,CAAAG,WAAA,KAAAF,MAAA,IAAAD,CAAA,KAAAC,MAAA,CAAAG,SAAA,qBAAAJ,CAAA,KAAAD,OAAA,CAAAC,CAAA;AAAA,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAX,CAAA,GAAAS,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAP,CAAA,GAAAA,CAAA,CAAAY,MAAA,WAAAL,CAAA,WAAAE,MAAA,CAAAI,wBAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAR,CAAA,YAAAQ,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAY,OAAA,WAAAb,CAAA,IAAAc,eAAA,CAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAa,yBAAA,GAAAb,MAAA,CAAAc,gBAAA,CAAAjB,CAAA,EAAAG,MAAA,CAAAa,yBAAA,CAAAd,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAY,OAAA,WAAAb,CAAA,IAAAE,MAAA,CAAAe,cAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAI,wBAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAe,gBAAAf,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAkB,cAAA,CAAAlB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAe,cAAA,CAAAlB,CAAA,EAAAC,CAAA,IAAAmB,KAAA,EAAAlB,CAAA,EAAAM,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAtB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAmB,eAAAjB,CAAA,QAAAqB,CAAA,GAAAC,YAAA,CAAAtB,CAAA,gCAAAT,OAAA,CAAA8B,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAtB,CAAA,EAAAD,CAAA,oBAAAR,OAAA,CAAAS,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAP,MAAA,CAAA8B,WAAA,kBAAAzB,CAAA,QAAAuB,CAAA,GAAAvB,CAAA,CAAA0B,IAAA,CAAAxB,CAAA,EAAAD,CAAA,gCAAAR,OAAA,CAAA8B,CAAA,UAAAA,CAAA,YAAAI,SAAA,yEAAA1B,CAAA,GAAA2B,MAAA,GAAAC,MAAA,EAAA3B,CAAA;AAEnD;AACA;AACA;AACA;AACA;AACO,SAAS4B,QAAQA,CAACC,YAAY,EAAE;EACrC,IAAMC,SAAS,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAE9B,IAAI,CAACD,SAAS,CAACE,OAAO,EAAE;IACtBF,SAAS,CAACE,OAAO,GAAG,IAAIC,wBAAW,CAAAxB,aAAA,CAAAA,aAAA,KAC9BoB,YAAY;MACfK,OAAO,EAAE,CAACC,0BAAY,EAAEC,kCAAgB,EAAEC,sBAAU;IAAC,EACtD,CAAC;EACJ;;EAEA;EACA,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,IAAMC,OAAO,GAAGvC,MAAM,CAACC,IAAI,CAAC2B,YAAY,CAAC;IACzC,SAAAY,EAAA,MAAAC,QAAA,GAAkBF,OAAO,EAAAC,EAAA,GAAAC,QAAA,CAAA/B,MAAA,EAAA8B,EAAA,IAAE;MAAtB,IAAME,GAAG,GAAAD,QAAA,CAAAD,EAAA;MACZ,IAAIZ,YAAY,CAACc,GAAG,CAAC,KAAKC,SAAS,EAAE;QACnCL,SAAS,CAACI,GAAG,CAAC,GAAGd,YAAY,CAACc,GAAG,CAAC;MACpC;IACF;IACAb,SAAS,CAACE,OAAO,CAACa,YAAY,CAACC,YAAY,CAACP,SAAS,CAAC;IACtDT,SAAS,CAACE,OAAO,CAACe,mBAAmB,CAAC,CAAC;EACzC,CAAC,EAAE,CACDlB,YAAY,CAACmB,IAAI,EACjBnB,YAAY,CAACoB,IAAI,EACjBpB,YAAY,CAACqB,IAAI,EACjBrB,YAAY,CAACsB,YAAY,EACzBtB,YAAY,CAACuB,cAAc,EAC3BvB,YAAY,CAACwB,IAAI,EACjBxB,YAAY,CAACyB,QAAQ,CACtB,CAAC;;EAEF;EACA,IAAMC,QAAQ,GAAG,IAAAC,2BAAoB,EACnC,IAAAC,kBAAW,EAAC,UAACC,aAAa;IAAA,OAAK5B,SAAS,CAACE,OAAO,CAAC2B,SAAS,CAACD,aAAa,CAAC;EAAA,GAAE,EAAE,CAAC,EAC9E,IAAAD,kBAAW,EAAC;IAAA,OAAM3B,SAAS,CAACE,OAAO,CAAC4B,WAAW,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC;EAAE;EACxD,IAAAH,kBAAW,EAAC;IAAA,OAAM3B,SAAS,CAACE,OAAO,CAAC4B,WAAW,CAAC,CAAC;EAAA,GAAE,EAAE,CAAC,CAAE;EAC1D,CAAC;EAED,OAAO;IACLC,KAAK,EAAEN,QAAQ,CAACM,KAAK;IACrBC,KAAK,EAAEP,QAAQ,CAACO,KAAK;IACrBC,OAAO,EAAE;MACPC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,QAAQ;QAAA,OAAKnC,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACpB,YAAY,CAACmB,QAAQ,CAAC;MAAA;MACxEE,UAAU,EAAE,SAAZA,UAAUA,CAAGxB,GAAG,EAAEzB,KAAK,EAAK;QAC1B,IAAIyB,GAAG,KAAK,MAAM,EAAE;UAClBb,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACE,OAAO,CAAClD,KAAK,CAAC;QAC1C,CAAC,MAAM,IAAIyB,GAAG,KAAK,MAAM,EAAE;UACzBb,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACG,OAAO,CAACnD,KAAK,CAAC;QAC1C,CAAC,MAAM;UACLY,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACpB,YAAY,CAAAjC,eAAA,KAAI8B,GAAG,EAAGzB,KAAK,CAAE,CAAC;QAC1D;MACF,CAAC;MACDoD,YAAY,EAAE,SAAdA,YAAYA,CAAGC,IAAI,EAAErD,KAAK;QAAA,OAAKY,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACI,YAAY,CAACC,IAAI,EAAErD,KAAK,CAAC;MAAA;MAClFsD,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGD,IAAI,EAAEE,MAAM;QAAA,OAAK3C,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACQ,SAAS,CAACH,IAAI,EAAEE,MAAM,CAAC;MAAA;MACtFE,iBAAiB,EAAE,SAAnBA,iBAAiBA,CAAGJ,IAAI,EAAEE,MAAM;QAAA,OAAK3C,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACS,iBAAiB,CAACJ,IAAI,EAAEE,MAAM,CAAC;MAAA;MAC9FG,sBAAsB,EAAE,SAAxBA,sBAAsBA,CAAGL,IAAI,EAAEE,MAAM;QAAA,OAAK3C,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACU,sBAAsB,CAACL,IAAI,EAAEE,MAAM,CAAC;MAAA;MACxGI,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,KAAK;QAAA,OAAKhD,SAAS,CAACE,OAAO,CAACkC,OAAO,CAACW,cAAc,CAACC,KAAK,CAAC;MAAA;IAC5E,CAAC;IACD;IACAZ,OAAO,EAAEpC,SAAS,CAACE,OAAO,CAACkC,OAAO;IAClCa,SAAS,EAAEjD,SAAS,CAACE,OAAO,CAAC+C,SAAS;IACtCC,IAAI,EAAElD,SAAS,CAACE,OAAO,CAAE;EAC3B,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"usePivot.js","names":["_react","require","_PivotEngine","_FilterModule","_PaginationModule","_SortModule","_typeof","o","Symbol","iterator","constructor","prototype","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","toPrimitive","call","TypeError","String","Number","usePivot","initialProps","engineRef","useRef","_internalUpdateRef","current","PivotEngine","modules","FilterModule","PaginationModule","SortModule","useEffect","sanitized","allKeys","_i","_allKeys","key","undefined","stateManager","updateConfig","_notifyStateChanged","data","rows","cols","rendererName","aggregatorName","page","pageSize","snapshot","useSyncExternalStore","useCallback","onStoreChange","subscribe","getSnapshot","props","state","actions","setProps","newProps","gridApi","updateProp","setRows","setCols","batchUpdate","patch","toggleFilter","attr","setValuesInFilter","values","setFilter","addValuesToFilter","removeValuesFromFilter","setUnusedOrder","order","columnApi","core"],"sources":["../../src/hooks/usePivot.js"],"sourcesContent":["import { useRef, useSyncExternalStore, useCallback, useEffect } from 'react';\nimport { PivotEngine } from '../core/PivotEngine';\nimport { FilterModule } from '../modules/FilterModule';\nimport { PaginationModule } from '../modules/PaginationModule';\nimport { SortModule } from '../modules/SortModule';\n\n/**\n * usePivot — Hook de backward compatibility.\n * Internamente delega al nuevo PivotEngine con módulos por defecto.\n * Mantiene la API original: { props, state, actions }\n */\nexport function usePivot(initialProps) {\n const engineRef = useRef(null);\n // Guard: evita que el useEffect re-sincronice props cuando el cambio\n // se originó internamente (ej: drag & drop), previniendo el bucle infinito.\n const _internalUpdateRef = useRef(false);\n\n if (!engineRef.current) {\n engineRef.current = new PivotEngine({\n ...initialProps,\n modules: [FilterModule, PaginationModule, SortModule],\n });\n }\n\n // Sincronizar props externas clave.\n // El guard _internalUpdateRef evita el bucle: cuando el drag & drop actualiza\n // rows/cols internamente y el usuario llama onChange → las props cambian →\n // este effect no debe re-sincronizar porque el engine ya tiene el estado correcto.\n useEffect(() => {\n if (_internalUpdateRef.current) {\n _internalUpdateRef.current = false;\n return;\n }\n const sanitized = {};\n const allKeys = Object.keys(initialProps);\n for (const key of allKeys) {\n if (initialProps[key] !== undefined) {\n sanitized[key] = initialProps[key];\n }\n }\n engineRef.current.stateManager.updateConfig(sanitized);\n engineRef.current._notifyStateChanged();\n }, [\n initialProps.data,\n initialProps.rows,\n initialProps.cols,\n initialProps.rendererName,\n initialProps.aggregatorName,\n initialProps.page,\n initialProps.pageSize,\n ]);\n\n // Suscribirse a cambios del engine\n const snapshot = useSyncExternalStore(\n useCallback((onStoreChange) => engineRef.current.subscribe(onStoreChange), []),\n useCallback(() => engineRef.current.getSnapshot(), []), // getSnapshot\n useCallback(() => engineRef.current.getSnapshot(), []) // getServerSnapshot\n );\n\n return {\n props: snapshot.props,\n state: snapshot.state,\n actions: {\n setProps: (newProps) => engineRef.current.gridApi.updateConfig(newProps),\n updateProp: (key, value) => {\n _internalUpdateRef.current = true;\n if (key === 'rows') {\n engineRef.current.gridApi.setRows(value);\n } else if (key === 'cols') {\n engineRef.current.gridApi.setCols(value);\n } else {\n engineRef.current.gridApi.updateConfig({ [key]: value });\n }\n },\n // batchUpdate: actualiza rows, cols y/o unusedOrder en una única notificación\n // para evitar bucles de re-render durante el drag & drop entre zonas.\n batchUpdate: (patch) => {\n _internalUpdateRef.current = true;\n engineRef.current.gridApi.batchUpdate(patch);\n },\n toggleFilter: (attr, value) => engineRef.current.gridApi.toggleFilter(attr, value),\n setValuesInFilter: (attr, values) => engineRef.current.gridApi.setFilter(attr, values),\n addValuesToFilter: (attr, values) => engineRef.current.gridApi.addValuesToFilter(attr, values),\n removeValuesFromFilter: (attr, values) => engineRef.current.gridApi.removeValuesFromFilter(attr, values),\n setUnusedOrder: (order) => {\n _internalUpdateRef.current = true;\n engineRef.current.gridApi.setUnusedOrder(order);\n },\n },\n // Nuevo: exponer gridApi y columnApi\n gridApi: engineRef.current.gridApi,\n columnApi: engineRef.current.columnApi,\n core: engineRef.current, // Backward compat\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-pivottable-plus",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
|
|
5
5
|
"main": "dist/PivotTableUI.js",
|
|
6
6
|
"module": "dist/PivotTableUI.js",
|
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"default": "./dist/PivotTableUI.js"
|
|
12
12
|
},
|
|
13
|
+
"./react_pivottable_plus.css": "./react_pivottable_plus.css",
|
|
14
|
+
"./pivottable.css": "./react_pivottable_plus.css",
|
|
15
|
+
"./react-pivottable-plus.css": "./react_pivottable_plus.css",
|
|
16
|
+
"./styles.css": "./react_pivottable_plus.css",
|
|
17
|
+
"./dist/pivottable.css": "./react_pivottable_plus.css",
|
|
18
|
+
"./grouping.css": "./grouping.css",
|
|
13
19
|
"./PivotTable": "./dist/PivotTable.js",
|
|
14
20
|
"./Utilities": "./dist/Utilities.js",
|
|
15
21
|
"./TableRenderers": "./dist/TableRenderers.js",
|
|
@@ -20,13 +26,12 @@
|
|
|
20
26
|
"./core/*": "./dist/core/*.js",
|
|
21
27
|
"./modules/*": "./dist/modules/*.js",
|
|
22
28
|
"./react/*": "./dist/react/*.js",
|
|
23
|
-
"./pivottable.css": "./pivottable.css",
|
|
24
|
-
"./grouping.css": "./grouping.css",
|
|
25
29
|
"./package.json": "./package.json"
|
|
26
30
|
},
|
|
31
|
+
"style": "./react_pivottable_plus.css",
|
|
27
32
|
"files": [
|
|
28
33
|
"dist/",
|
|
29
|
-
"
|
|
34
|
+
"react_pivottable_plus.css",
|
|
30
35
|
"grouping.css"
|
|
31
36
|
],
|
|
32
37
|
"scripts": {
|
|
@@ -38,8 +43,8 @@
|
|
|
38
43
|
"test:prettier:fix": "prettier --write \"src/*.js*\"",
|
|
39
44
|
"test:jest": "jest",
|
|
40
45
|
"test": "npm run test:eslint && npm run test:prettier && npm run test:jest",
|
|
41
|
-
"clean": "shx rm -rf dist __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js*
|
|
42
|
-
"build": "npm run clean && shx mkdir -p dist && shx cp src/
|
|
46
|
+
"clean": "shx rm -rf dist __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js* react_pivottable_plus.css grouping.css renderers/ hooks/",
|
|
47
|
+
"build": "npm run clean && shx mkdir -p dist && shx cp src/react_pivottable_plus.css . && shx cp src/grouping.css . && babel src --out-dir=dist --source-maps --presets=@babel/preset-env,@babel/preset-react",
|
|
43
48
|
"build:examples": "vite build",
|
|
44
49
|
"doPublish": "npm run build && npm publish",
|
|
45
50
|
"postpublish": "npm run clean",
|
|
@@ -113,4 +118,4 @@
|
|
|
113
118
|
"tailwindcss": "^4.0.0",
|
|
114
119
|
"vite": "^5.1.4"
|
|
115
120
|
}
|
|
116
|
-
}
|
|
121
|
+
}
|
|
File without changes
|