react-pivottable-plus 1.0.13 → 1.0.16
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/dist/PivotTableUI.js +133 -210
- package/dist/PivotTableUI.js.map +1 -1
- package/dist/TableRenderers.js +193 -28
- package/dist/TableRenderers.js.map +1 -1
- package/dist/core/CellPipeline.js +167 -0
- package/dist/core/CellPipeline.js.map +1 -0
- package/dist/core/ColumnEngine.js +299 -0
- package/dist/core/ColumnEngine.js.map +1 -0
- package/dist/core/EventBus.js +109 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/ModuleRegistry.js +140 -0
- package/dist/core/ModuleRegistry.js.map +1 -0
- package/dist/core/PivotCore.js +254 -0
- package/dist/core/PivotCore.js.map +1 -0
- package/dist/core/PivotEngine.js +151 -0
- package/dist/core/PivotEngine.js.map +1 -0
- package/dist/core/StateManager.js +142 -0
- package/dist/core/StateManager.js.map +1 -0
- package/dist/core/VirtualScroller.js +138 -0
- package/dist/core/VirtualScroller.js.map +1 -0
- package/dist/core/api/ColumnApi.js +162 -0
- package/dist/core/api/ColumnApi.js.map +1 -0
- package/dist/core/api/GridApi.js +208 -0
- package/dist/core/api/GridApi.js.map +1 -0
- package/dist/core/index.js +89 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/rowModels/ClientSideRowModel.js +177 -0
- package/dist/core/rowModels/ClientSideRowModel.js.map +1 -0
- package/dist/core/rowModels/index.js +13 -0
- package/dist/core/rowModels/index.js.map +1 -0
- package/dist/hooks/usePivot.js +63 -155
- package/dist/hooks/usePivot.js.map +1 -1
- package/dist/modules/FilterModule.js +156 -0
- package/dist/modules/FilterModule.js.map +1 -0
- package/dist/modules/PaginationModule.js +115 -0
- package/dist/modules/PaginationModule.js.map +1 -0
- package/dist/modules/SortModule.js +88 -0
- package/dist/modules/SortModule.js.map +1 -0
- package/dist/modules/ThemeModule.js +83 -0
- package/dist/modules/ThemeModule.js.map +1 -0
- package/dist/modules/VirtualizationModule.js +89 -0
- package/dist/modules/VirtualizationModule.js.map +1 -0
- package/dist/modules/index.js +41 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/usePivotGrid.js +116 -0
- package/dist/react/usePivotGrid.js.map +1 -0
- package/dist/renderers/RadixUI.js +1 -1
- package/dist/renderers/RadixUI.js.map +1 -1
- package/dist/renderers/ShadcnDashboardUI.js +1 -1
- package/dist/renderers/ShadcnDashboardUI.js.map +1 -1
- package/dist/renderers/TailwindUI.js +1 -1
- package/dist/renderers/TailwindUI.js.map +1 -1
- package/package.json +4 -2
- package/pivottable.css +56 -0
package/dist/PivotTableUI.js
CHANGED
|
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = exports.Dropdown = exports.DraggableAttribute = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
-
var _immutabilityHelper = _interopRequireDefault(require("immutability-helper"));
|
|
11
10
|
var _Utilities = require("./Utilities");
|
|
12
11
|
var _PivotTable = _interopRequireDefault(require("./PivotTable"));
|
|
13
12
|
var _TableRenderers = _interopRequireDefault(require("./TableRenderers"));
|
|
13
|
+
var _usePivot2 = require("./hooks/usePivot");
|
|
14
14
|
var _reactDraggable = _interopRequireDefault(require("react-draggable"));
|
|
15
15
|
var _core = require("@dnd-kit/core");
|
|
16
16
|
var _sortable = require("@dnd-kit/sortable");
|
|
@@ -274,168 +274,80 @@ var DnDCell = function DnDCell(_ref4) {
|
|
|
274
274
|
};
|
|
275
275
|
var PivotTableUI = function PivotTableUI(props) {
|
|
276
276
|
var _aggregators$aggregat, _aggregators$aggregat2;
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
cols = _props$cols === void 0 ? [] : _props$cols,
|
|
285
|
-
_props$vals = props.vals,
|
|
286
|
-
vals = _props$vals === void 0 ? [] : _props$vals,
|
|
287
|
-
_props$aggregatorName = props.aggregatorName,
|
|
288
|
-
aggregatorName = _props$aggregatorName === void 0 ? 'Count' : _props$aggregatorName,
|
|
289
|
-
_props$aggregators = props.aggregators,
|
|
290
|
-
aggregators = _props$aggregators === void 0 ? _Utilities.aggregators : _props$aggregators,
|
|
291
|
-
_props$rendererName = props.rendererName,
|
|
292
|
-
rendererName = _props$rendererName === void 0 ? 'Table' : _props$rendererName,
|
|
293
|
-
_props$renderers = props.renderers,
|
|
294
|
-
renderers = _props$renderers === void 0 ? _TableRenderers["default"] : _props$renderers,
|
|
295
|
-
_props$valueFilter = props.valueFilter,
|
|
296
|
-
valueFilter = _props$valueFilter === void 0 ? {} : _props$valueFilter,
|
|
297
|
-
_props$sorters = props.sorters,
|
|
298
|
-
sorters = _props$sorters === void 0 ? {} : _props$sorters,
|
|
299
|
-
_props$menuLimit = props.menuLimit,
|
|
300
|
-
menuLimit = _props$menuLimit === void 0 ? 500 : _props$menuLimit,
|
|
301
|
-
_props$unusedOrientat = props.unusedOrientationCutoff,
|
|
302
|
-
unusedOrientationCutoff = _props$unusedOrientat === void 0 ? 85 : _props$unusedOrientat,
|
|
303
|
-
_props$hiddenAttribut = props.hiddenAttributes,
|
|
304
|
-
hiddenAttributes = _props$hiddenAttribut === void 0 ? [] : _props$hiddenAttribut,
|
|
305
|
-
_props$hiddenFromAggr = props.hiddenFromAggregators,
|
|
306
|
-
hiddenFromAggregators = _props$hiddenFromAggr === void 0 ? [] : _props$hiddenFromAggr,
|
|
307
|
-
_props$hiddenFromDrag = props.hiddenFromDragDrop,
|
|
308
|
-
hiddenFromDragDrop = _props$hiddenFromDrag === void 0 ? [] : _props$hiddenFromDrag,
|
|
309
|
-
_props$pagination = props.pagination,
|
|
310
|
-
pagination = _props$pagination === void 0 ? false : _props$pagination,
|
|
311
|
-
_props$page = props.page,
|
|
312
|
-
page = _props$page === void 0 ? 1 : _props$page,
|
|
313
|
-
_props$pageSize = props.pageSize,
|
|
314
|
-
pageSize = _props$pageSize === void 0 ? 20 : _props$pageSize,
|
|
315
|
-
_props$rowOrder = props.rowOrder,
|
|
316
|
-
rowOrder = _props$rowOrder === void 0 ? 'key_a_to_z' : _props$rowOrder,
|
|
317
|
-
_props$colOrder = props.colOrder,
|
|
318
|
-
colOrder = _props$colOrder === void 0 ? 'key_a_to_z' : _props$colOrder,
|
|
319
|
-
_props$derivedAttribu = props.derivedAttributes,
|
|
320
|
-
derivedAttributes = _props$derivedAttribu === void 0 ? {} : _props$derivedAttribu;
|
|
277
|
+
// ─── Headless Core: toda la lógica de datos y props fluye a través del Core ───
|
|
278
|
+
var _usePivot = (0, _usePivot2.usePivot)(props),
|
|
279
|
+
pivotProps = _usePivot.props,
|
|
280
|
+
pivotState = _usePivot.state,
|
|
281
|
+
actions = _usePivot.actions;
|
|
282
|
+
|
|
283
|
+
// ─── Estado local solo para UI (no pertenece al Core) ─────────────────────────
|
|
321
284
|
var _useState5 = (0, _react.useState)({
|
|
322
|
-
unusedOrder: [],
|
|
323
285
|
zIndices: {},
|
|
324
286
|
maxZIndex: 1000,
|
|
325
|
-
openDropdown: false
|
|
326
|
-
attrValues: {},
|
|
327
|
-
materializedInput: [],
|
|
328
|
-
data: null
|
|
287
|
+
openDropdown: false
|
|
329
288
|
}),
|
|
330
289
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
331
|
-
|
|
332
|
-
|
|
290
|
+
uiState = _useState6[0],
|
|
291
|
+
setUiState = _useState6[1];
|
|
333
292
|
var _useState7 = (0, _react.useState)(null),
|
|
334
293
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
335
294
|
activeId = _useState8[0],
|
|
336
295
|
setActiveId = _useState8[1];
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
var newState = {
|
|
340
|
-
data: data,
|
|
341
|
-
attrValues: {},
|
|
342
|
-
materializedInput: []
|
|
343
|
-
};
|
|
344
|
-
var recordsProcessed = 0;
|
|
345
|
-
_Utilities.PivotData.forEachRecord(data, derivedAttributes, function (record) {
|
|
346
|
-
newState.materializedInput.push(record);
|
|
347
|
-
for (var _i = 0, _Object$keys = Object.keys(record); _i < _Object$keys.length; _i++) {
|
|
348
|
-
var attr = _Object$keys[_i];
|
|
349
|
-
if (!(attr in newState.attrValues)) {
|
|
350
|
-
newState.attrValues[attr] = {};
|
|
351
|
-
if (recordsProcessed > 0) newState.attrValues[attr]["null"] = recordsProcessed;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
for (var _attr in newState.attrValues) {
|
|
355
|
-
var value = _attr in record ? record[_attr] : 'null';
|
|
356
|
-
if (!(value in newState.attrValues[_attr])) newState.attrValues[_attr][value] = 0;
|
|
357
|
-
newState.attrValues[_attr][value]++;
|
|
358
|
-
}
|
|
359
|
-
recordsProcessed++;
|
|
360
|
-
});
|
|
361
|
-
setState(function (s) {
|
|
362
|
-
return _objectSpread(_objectSpread({}, s), newState);
|
|
363
|
-
});
|
|
364
|
-
}, [data, derivedAttributes, state.data]);
|
|
365
|
-
var sendPropUpdate = (0, _react.useCallback)(function (command) {
|
|
366
|
-
var newProps = (0, _immutabilityHelper["default"])(props, command);
|
|
367
|
-
if (onChange) onChange(newProps);
|
|
368
|
-
}, [props, onChange]);
|
|
369
|
-
var handleDuplicates = function handleDuplicates(newAttrs, existingAttrs) {
|
|
370
|
-
if (!newAttrs || !existingAttrs) return existingAttrs || [];
|
|
371
|
-
var dups = newAttrs.filter(function (item) {
|
|
372
|
-
return existingAttrs.includes(item);
|
|
373
|
-
});
|
|
374
|
-
return dups.length > 0 ? existingAttrs.filter(function (item) {
|
|
375
|
-
return !dups.includes(item);
|
|
376
|
-
}) : existingAttrs;
|
|
377
|
-
};
|
|
378
|
-
var propUpdater = (0, _react.useCallback)(function (key) {
|
|
379
|
-
return function (value) {
|
|
380
|
-
var updateObj = _defineProperty({}, key, {
|
|
381
|
-
$set: value
|
|
382
|
-
});
|
|
383
|
-
if (key === 'rows') {
|
|
384
|
-
var updatedCols = handleDuplicates(value, cols);
|
|
385
|
-
if (updatedCols.length !== cols.length) updateObj.cols = {
|
|
386
|
-
$set: updatedCols
|
|
387
|
-
};
|
|
388
|
-
} else if (key === 'cols') {
|
|
389
|
-
var updatedRows = handleDuplicates(value, rows);
|
|
390
|
-
if (updatedRows.length !== rows.length) updateObj.rows = {
|
|
391
|
-
$set: updatedRows
|
|
392
|
-
};
|
|
393
|
-
}
|
|
394
|
-
sendPropUpdate(updateObj);
|
|
395
|
-
};
|
|
396
|
-
}, [cols, rows, sendPropUpdate]);
|
|
397
|
-
var setValuesInFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
398
|
-
sendPropUpdate({
|
|
399
|
-
valueFilter: _defineProperty({}, attribute, {
|
|
400
|
-
$set: values.reduce(function (r, v) {
|
|
401
|
-
r[v] = true;
|
|
402
|
-
return r;
|
|
403
|
-
}, {})
|
|
404
|
-
})
|
|
405
|
-
});
|
|
406
|
-
}, [sendPropUpdate]);
|
|
407
|
-
var addValuesToFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
408
|
-
if (attribute in valueFilter) {
|
|
409
|
-
sendPropUpdate({
|
|
410
|
-
valueFilter: _defineProperty({}, attribute, values.reduce(function (r, v) {
|
|
411
|
-
r[v] = {
|
|
412
|
-
$set: true
|
|
413
|
-
};
|
|
414
|
-
return r;
|
|
415
|
-
}, {}))
|
|
416
|
-
});
|
|
417
|
-
} else {
|
|
418
|
-
setValuesInFilter(attribute, values);
|
|
419
|
-
}
|
|
420
|
-
}, [sendPropUpdate, valueFilter, setValuesInFilter]);
|
|
421
|
-
var removeValuesFromFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
422
|
-
sendPropUpdate({
|
|
423
|
-
valueFilter: _defineProperty({}, attribute, {
|
|
424
|
-
$unset: values
|
|
425
|
-
})
|
|
426
|
-
});
|
|
427
|
-
}, [sendPropUpdate]);
|
|
296
|
+
|
|
297
|
+
// ─── Helpers de UI local ──────────────────────────────────────────────────────
|
|
428
298
|
var moveFilterBoxToTop = (0, _react.useCallback)(function (attribute) {
|
|
429
|
-
|
|
299
|
+
setUiState(function (s) {
|
|
430
300
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
431
301
|
maxZIndex: s.maxZIndex + 1,
|
|
432
302
|
zIndices: _objectSpread(_objectSpread({}, s.zIndices), {}, _defineProperty({}, attribute, s.maxZIndex + 1))
|
|
433
303
|
});
|
|
434
304
|
});
|
|
435
305
|
}, []);
|
|
436
|
-
|
|
306
|
+
|
|
307
|
+
// ─── Derivados desde el Core ──────────────────────────────────────────────────
|
|
308
|
+
var _pivotProps$rows = pivotProps.rows,
|
|
309
|
+
rows = _pivotProps$rows === void 0 ? [] : _pivotProps$rows,
|
|
310
|
+
_pivotProps$cols = pivotProps.cols,
|
|
311
|
+
cols = _pivotProps$cols === void 0 ? [] : _pivotProps$cols,
|
|
312
|
+
_pivotProps$vals = pivotProps.vals,
|
|
313
|
+
vals = _pivotProps$vals === void 0 ? [] : _pivotProps$vals,
|
|
314
|
+
_pivotProps$aggregato = pivotProps.aggregatorName,
|
|
315
|
+
aggregatorName = _pivotProps$aggregato === void 0 ? 'Count' : _pivotProps$aggregato,
|
|
316
|
+
_pivotProps$aggregato2 = pivotProps.aggregators,
|
|
317
|
+
aggregators = _pivotProps$aggregato2 === void 0 ? _Utilities.aggregators : _pivotProps$aggregato2,
|
|
318
|
+
_pivotProps$rendererN = pivotProps.rendererName,
|
|
319
|
+
rendererName = _pivotProps$rendererN === void 0 ? 'Table' : _pivotProps$rendererN,
|
|
320
|
+
_pivotProps$renderers = pivotProps.renderers,
|
|
321
|
+
renderers = _pivotProps$renderers === void 0 ? _TableRenderers["default"] : _pivotProps$renderers,
|
|
322
|
+
_pivotProps$valueFilt = pivotProps.valueFilter,
|
|
323
|
+
valueFilter = _pivotProps$valueFilt === void 0 ? {} : _pivotProps$valueFilt,
|
|
324
|
+
_pivotProps$sorters = pivotProps.sorters,
|
|
325
|
+
sorters = _pivotProps$sorters === void 0 ? {} : _pivotProps$sorters,
|
|
326
|
+
_pivotProps$menuLimit = pivotProps.menuLimit,
|
|
327
|
+
menuLimit = _pivotProps$menuLimit === void 0 ? 500 : _pivotProps$menuLimit,
|
|
328
|
+
_pivotProps$unusedOri = pivotProps.unusedOrientationCutoff,
|
|
329
|
+
unusedOrientationCutoff = _pivotProps$unusedOri === void 0 ? 85 : _pivotProps$unusedOri,
|
|
330
|
+
_pivotProps$hiddenAtt = pivotProps.hiddenAttributes,
|
|
331
|
+
hiddenAttributes = _pivotProps$hiddenAtt === void 0 ? [] : _pivotProps$hiddenAtt,
|
|
332
|
+
_pivotProps$hiddenFro = pivotProps.hiddenFromAggregators,
|
|
333
|
+
hiddenFromAggregators = _pivotProps$hiddenFro === void 0 ? [] : _pivotProps$hiddenFro,
|
|
334
|
+
_pivotProps$hiddenFro2 = pivotProps.hiddenFromDragDrop,
|
|
335
|
+
hiddenFromDragDrop = _pivotProps$hiddenFro2 === void 0 ? [] : _pivotProps$hiddenFro2,
|
|
336
|
+
_pivotProps$paginatio = pivotProps.pagination,
|
|
337
|
+
pagination = _pivotProps$paginatio === void 0 ? false : _pivotProps$paginatio,
|
|
338
|
+
_pivotProps$page = pivotProps.page,
|
|
339
|
+
page = _pivotProps$page === void 0 ? 1 : _pivotProps$page,
|
|
340
|
+
_pivotProps$pageSize = pivotProps.pageSize,
|
|
341
|
+
pageSize = _pivotProps$pageSize === void 0 ? 20 : _pivotProps$pageSize,
|
|
342
|
+
_pivotProps$rowOrder = pivotProps.rowOrder,
|
|
343
|
+
rowOrder = _pivotProps$rowOrder === void 0 ? 'key_a_to_z' : _pivotProps$rowOrder,
|
|
344
|
+
_pivotProps$colOrder = pivotProps.colOrder,
|
|
345
|
+
colOrder = _pivotProps$colOrder === void 0 ? 'key_a_to_z' : _pivotProps$colOrder,
|
|
346
|
+
_pivotProps$size = pivotProps.size,
|
|
347
|
+
size = _pivotProps$size === void 0 ? 'lg' : _pivotProps$size;
|
|
348
|
+
var unusedAttrs = Object.keys(pivotState.attrValues).filter(function (e) {
|
|
437
349
|
return e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e);
|
|
438
|
-
}).sort((0, _Utilities.sortAs)(
|
|
350
|
+
}).sort((0, _Utilities.sortAs)(pivotState.unusedOrder || []));
|
|
439
351
|
var unusedLength = unusedAttrs.reduce(function (r, e) {
|
|
440
352
|
return r + e.length;
|
|
441
353
|
}, 0);
|
|
@@ -446,6 +358,8 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
446
358
|
var rowAttrs = rows.filter(function (e) {
|
|
447
359
|
return e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e);
|
|
448
360
|
});
|
|
361
|
+
|
|
362
|
+
// ─── DnD Zones ────────────────────────────────────────────────────────────────
|
|
449
363
|
var getZoneOfItem = function getZoneOfItem(id) {
|
|
450
364
|
if (rowAttrs.includes(id)) return 'rows';
|
|
451
365
|
if (colAttrs.includes(id)) return 'cols';
|
|
@@ -459,14 +373,14 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
459
373
|
return [];
|
|
460
374
|
};
|
|
461
375
|
var getUpdaterByZone = function getUpdaterByZone(zone) {
|
|
462
|
-
if (zone === 'rows') return
|
|
463
|
-
|
|
376
|
+
if (zone === 'rows') return function (value) {
|
|
377
|
+
return actions.updateProp('rows', value);
|
|
378
|
+
};
|
|
379
|
+
if (zone === 'cols') return function (value) {
|
|
380
|
+
return actions.updateProp('cols', value);
|
|
381
|
+
};
|
|
464
382
|
if (zone === 'unused') return function (order) {
|
|
465
|
-
return
|
|
466
|
-
return _objectSpread(_objectSpread({}, s), {}, {
|
|
467
|
-
unusedOrder: order
|
|
468
|
-
});
|
|
469
|
-
});
|
|
383
|
+
return actions.setUnusedOrder(order);
|
|
470
384
|
};
|
|
471
385
|
return function () {};
|
|
472
386
|
};
|
|
@@ -515,8 +429,10 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
515
429
|
if (oldIndex !== newIndex) getUpdaterByZone(activeZone)((0, _sortable.arrayMove)(list, oldIndex, newIndex));
|
|
516
430
|
}
|
|
517
431
|
};
|
|
432
|
+
|
|
433
|
+
// ─── Dropdowns y controles ────────────────────────────────────────────────────
|
|
518
434
|
var isOpen = function isOpen(dropdown) {
|
|
519
|
-
return
|
|
435
|
+
return uiState.openDropdown === dropdown;
|
|
520
436
|
};
|
|
521
437
|
var numValsAllowed = ((_aggregators$aggregat = aggregators[aggregatorName]) === null || _aggregators$aggregat === void 0 || (_aggregators$aggregat2 = _aggregators$aggregat.call(aggregators, [])) === null || _aggregators$aggregat2 === void 0 || (_aggregators$aggregat2 = _aggregators$aggregat2()) === null || _aggregators$aggregat2 === void 0 ? void 0 : _aggregators$aggregat2.numInputs) || 0;
|
|
522
438
|
var actualRendererName = rendererName in renderers ? rendererName : Object.keys(renderers)[0];
|
|
@@ -537,19 +453,25 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
537
453
|
next: 'key_a_to_z'
|
|
538
454
|
}
|
|
539
455
|
};
|
|
456
|
+
|
|
457
|
+
// Estado combinado para DnDCell (necesita zIndices del UI local + attrValues del Core)
|
|
458
|
+
var combinedState = {
|
|
459
|
+
attrValues: pivotState.attrValues,
|
|
460
|
+
zIndices: uiState.zIndices,
|
|
461
|
+
maxZIndex: uiState.maxZIndex
|
|
462
|
+
};
|
|
540
463
|
var sharedCellProps = {
|
|
541
|
-
state:
|
|
464
|
+
state: combinedState,
|
|
542
465
|
valueFilter: valueFilter,
|
|
543
466
|
sorters: sorters,
|
|
544
467
|
menuLimit: menuLimit,
|
|
545
|
-
setValuesInFilter: setValuesInFilter,
|
|
546
|
-
addValuesToFilter: addValuesToFilter,
|
|
468
|
+
setValuesInFilter: actions.setValuesInFilter,
|
|
469
|
+
addValuesToFilter: actions.addValuesToFilter,
|
|
547
470
|
moveFilterBoxToTop: moveFilterBoxToTop,
|
|
548
|
-
removeValuesFromFilter: removeValuesFromFilter
|
|
471
|
+
removeValuesFromFilter: actions.removeValuesFromFilter
|
|
549
472
|
};
|
|
550
473
|
var componentProps = {
|
|
551
|
-
data:
|
|
552
|
-
onChange: onChange,
|
|
474
|
+
data: pivotState.materializedInput,
|
|
553
475
|
rows: rows,
|
|
554
476
|
cols: cols,
|
|
555
477
|
vals: vals,
|
|
@@ -569,12 +491,14 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
569
491
|
pageSize: pageSize,
|
|
570
492
|
rowOrder: rowOrder,
|
|
571
493
|
colOrder: colOrder,
|
|
572
|
-
derivedAttributes: derivedAttributes
|
|
494
|
+
derivedAttributes: pivotProps.derivedAttributes,
|
|
495
|
+
cellPipeline: pivotProps.cellPipeline,
|
|
496
|
+
virtualization: pivotProps.virtualization
|
|
573
497
|
};
|
|
574
498
|
var renderFooter = function renderFooter() {
|
|
575
499
|
var pivotData = new _Utilities.PivotData(componentProps);
|
|
576
500
|
var totalPivotRows = pivotData.getRowKeys().length;
|
|
577
|
-
var totalRecords =
|
|
501
|
+
var totalRecords = pivotState.materializedInput.length;
|
|
578
502
|
var totalPages = Math.ceil(totalPivotRows / pageSize);
|
|
579
503
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
580
504
|
className: "pvtFooter"
|
|
@@ -586,13 +510,13 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
586
510
|
className: "pvtButton",
|
|
587
511
|
disabled: page <= 1,
|
|
588
512
|
onClick: function onClick() {
|
|
589
|
-
return
|
|
513
|
+
return actions.updateProp('page', 1);
|
|
590
514
|
}
|
|
591
515
|
}, "\xAB"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
592
516
|
className: "pvtButton",
|
|
593
517
|
disabled: page <= 1,
|
|
594
518
|
onClick: function onClick() {
|
|
595
|
-
return
|
|
519
|
+
return actions.updateProp('page', page - 1);
|
|
596
520
|
}
|
|
597
521
|
}, "\u2039"), /*#__PURE__*/_react["default"].createElement("span", null, "P\xE1gina ", /*#__PURE__*/_react["default"].createElement("input", {
|
|
598
522
|
type: "number",
|
|
@@ -602,32 +526,26 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
602
526
|
max: totalPages,
|
|
603
527
|
onChange: function onChange(e) {
|
|
604
528
|
var val = parseInt(e.target.value, 10);
|
|
605
|
-
if (val > 0 && val <= totalPages)
|
|
529
|
+
if (val > 0 && val <= totalPages) actions.updateProp('page', val);
|
|
606
530
|
}
|
|
607
531
|
}), " de ", totalPages), /*#__PURE__*/_react["default"].createElement("button", {
|
|
608
532
|
className: "pvtButton",
|
|
609
533
|
disabled: page >= totalPages,
|
|
610
534
|
onClick: function onClick() {
|
|
611
|
-
return
|
|
535
|
+
return actions.updateProp('page', page + 1);
|
|
612
536
|
}
|
|
613
537
|
}, "\u203A"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
614
538
|
className: "pvtButton",
|
|
615
539
|
disabled: page >= totalPages,
|
|
616
540
|
onClick: function onClick() {
|
|
617
|
-
return
|
|
541
|
+
return actions.updateProp('page', totalPages);
|
|
618
542
|
}
|
|
619
543
|
}, "\xBB"), /*#__PURE__*/_react["default"].createElement("select", {
|
|
620
544
|
className: "pvtPageSize",
|
|
621
545
|
value: pageSize,
|
|
622
546
|
onChange: function onChange(e) {
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
$set: parseInt(e.target.value, 10)
|
|
626
|
-
},
|
|
627
|
-
page: {
|
|
628
|
-
$set: 1
|
|
629
|
-
}
|
|
630
|
-
});
|
|
547
|
+
actions.updateProp('pageSize', parseInt(e.target.value, 10));
|
|
548
|
+
actions.updateProp('page', 1);
|
|
631
549
|
}
|
|
632
550
|
}, [10, 20, 50, 100].map(function (n) {
|
|
633
551
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
@@ -643,10 +561,10 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
643
561
|
onDragOver: handleDragOver,
|
|
644
562
|
onDragEnd: handleDragEnd
|
|
645
563
|
}, /*#__PURE__*/_react["default"].createElement("table", {
|
|
646
|
-
className: "pvtUi"
|
|
564
|
+
className: "pvtUi pvt-theme-".concat(props.theme || 'default', " pvt-size-").concat(size || 'lg')
|
|
647
565
|
}, /*#__PURE__*/_react["default"].createElement("tbody", {
|
|
648
566
|
onClick: function onClick() {
|
|
649
|
-
return
|
|
567
|
+
return setUiState(function (s) {
|
|
650
568
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
651
569
|
openDropdown: false
|
|
652
570
|
});
|
|
@@ -658,15 +576,17 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
658
576
|
current: actualRendererName,
|
|
659
577
|
values: Object.keys(renderers),
|
|
660
578
|
open: isOpen('renderer'),
|
|
661
|
-
zIndex: isOpen('renderer') ?
|
|
579
|
+
zIndex: isOpen('renderer') ? uiState.maxZIndex + 1 : 1,
|
|
662
580
|
toggle: function toggle() {
|
|
663
|
-
return
|
|
581
|
+
return setUiState(function (s) {
|
|
664
582
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
665
583
|
openDropdown: isOpen('renderer') ? false : 'renderer'
|
|
666
584
|
});
|
|
667
585
|
});
|
|
668
586
|
},
|
|
669
|
-
setValue:
|
|
587
|
+
setValue: function setValue(v) {
|
|
588
|
+
return actions.updateProp('rendererName', v);
|
|
589
|
+
}
|
|
670
590
|
})), /*#__PURE__*/_react["default"].createElement(DnDCell, _extends({
|
|
671
591
|
id: "unused",
|
|
672
592
|
items: unusedAttrs,
|
|
@@ -678,49 +598,49 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
678
598
|
current: aggregatorName,
|
|
679
599
|
values: Object.keys(aggregators),
|
|
680
600
|
open: isOpen('aggregators'),
|
|
681
|
-
zIndex: isOpen('aggregators') ?
|
|
601
|
+
zIndex: isOpen('aggregators') ? uiState.maxZIndex + 1 : 1,
|
|
682
602
|
toggle: function toggle() {
|
|
683
|
-
return
|
|
603
|
+
return setUiState(function (s) {
|
|
684
604
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
685
605
|
openDropdown: isOpen('aggregators') ? false : 'aggregators'
|
|
686
606
|
});
|
|
687
607
|
});
|
|
688
608
|
},
|
|
689
|
-
setValue:
|
|
609
|
+
setValue: function setValue(v) {
|
|
610
|
+
return actions.updateProp('aggregatorName', v);
|
|
611
|
+
}
|
|
690
612
|
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
691
613
|
role: "button",
|
|
692
614
|
className: "pvtRowOrder",
|
|
693
615
|
onClick: function onClick() {
|
|
694
|
-
return
|
|
616
|
+
return actions.updateProp('rowOrder', sortIcons[rowOrder].next);
|
|
695
617
|
}
|
|
696
618
|
}, sortIcons[rowOrder].rowSymbol), /*#__PURE__*/_react["default"].createElement("a", {
|
|
697
619
|
role: "button",
|
|
698
620
|
className: "pvtColOrder",
|
|
699
621
|
onClick: function onClick() {
|
|
700
|
-
return
|
|
622
|
+
return actions.updateProp('colOrder', sortIcons[colOrder].next);
|
|
701
623
|
}
|
|
702
624
|
}, sortIcons[colOrder].colSymbol), numValsAllowed > 0 && /*#__PURE__*/_react["default"].createElement("br", null), new Array(numValsAllowed).fill(null).map(function (_, i) {
|
|
703
625
|
return [/*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
704
626
|
key: i,
|
|
705
627
|
current: vals[i],
|
|
706
|
-
values: Object.keys(
|
|
628
|
+
values: Object.keys(pivotState.attrValues).filter(function (e) {
|
|
707
629
|
return !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e);
|
|
708
630
|
}),
|
|
709
631
|
open: isOpen("val".concat(i)),
|
|
710
|
-
zIndex: isOpen("val".concat(i)) ?
|
|
632
|
+
zIndex: isOpen("val".concat(i)) ? uiState.maxZIndex + 1 : 1,
|
|
711
633
|
toggle: function toggle() {
|
|
712
|
-
return
|
|
634
|
+
return setUiState(function (s) {
|
|
713
635
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
714
636
|
openDropdown: isOpen("val".concat(i)) ? false : "val".concat(i)
|
|
715
637
|
});
|
|
716
638
|
});
|
|
717
639
|
},
|
|
718
640
|
setValue: function setValue(value) {
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
}
|
|
723
|
-
});
|
|
641
|
+
var newVals = _toConsumableArray(vals);
|
|
642
|
+
newVals[i] = value;
|
|
643
|
+
actions.updateProp('vals', newVals);
|
|
724
644
|
}
|
|
725
645
|
}), i + 1 !== numValsAllowed ? /*#__PURE__*/_react["default"].createElement("br", {
|
|
726
646
|
key: "br".concat(i)
|
|
@@ -743,64 +663,66 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
743
663
|
current: actualRendererName,
|
|
744
664
|
values: Object.keys(renderers),
|
|
745
665
|
open: isOpen('renderer'),
|
|
746
|
-
zIndex: isOpen('renderer') ?
|
|
666
|
+
zIndex: isOpen('renderer') ? uiState.maxZIndex + 1 : 1,
|
|
747
667
|
toggle: function toggle() {
|
|
748
|
-
return
|
|
668
|
+
return setUiState(function (s) {
|
|
749
669
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
750
670
|
openDropdown: isOpen('renderer') ? false : 'renderer'
|
|
751
671
|
});
|
|
752
672
|
});
|
|
753
673
|
},
|
|
754
|
-
setValue:
|
|
674
|
+
setValue: function setValue(v) {
|
|
675
|
+
return actions.updateProp('rendererName', v);
|
|
676
|
+
}
|
|
755
677
|
})), /*#__PURE__*/_react["default"].createElement("td", {
|
|
756
678
|
className: "pvtVals"
|
|
757
679
|
}, /*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
758
680
|
current: aggregatorName,
|
|
759
681
|
values: Object.keys(aggregators),
|
|
760
682
|
open: isOpen('aggregators'),
|
|
761
|
-
zIndex: isOpen('aggregators') ?
|
|
683
|
+
zIndex: isOpen('aggregators') ? uiState.maxZIndex + 1 : 1,
|
|
762
684
|
toggle: function toggle() {
|
|
763
|
-
return
|
|
685
|
+
return setUiState(function (s) {
|
|
764
686
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
765
687
|
openDropdown: isOpen('aggregators') ? false : 'aggregators'
|
|
766
688
|
});
|
|
767
689
|
});
|
|
768
690
|
},
|
|
769
|
-
setValue:
|
|
691
|
+
setValue: function setValue(v) {
|
|
692
|
+
return actions.updateProp('aggregatorName', v);
|
|
693
|
+
}
|
|
770
694
|
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
771
695
|
role: "button",
|
|
772
696
|
className: "pvtRowOrder",
|
|
773
697
|
onClick: function onClick() {
|
|
774
|
-
return
|
|
698
|
+
return actions.updateProp('rowOrder', sortIcons[rowOrder].next);
|
|
775
699
|
}
|
|
776
700
|
}, sortIcons[rowOrder].rowSymbol), /*#__PURE__*/_react["default"].createElement("a", {
|
|
777
701
|
role: "button",
|
|
778
702
|
className: "pvtColOrder",
|
|
779
703
|
onClick: function onClick() {
|
|
780
|
-
return
|
|
704
|
+
return actions.updateProp('colOrder', sortIcons[colOrder].next);
|
|
781
705
|
}
|
|
782
706
|
}, sortIcons[colOrder].colSymbol), numValsAllowed > 0 && /*#__PURE__*/_react["default"].createElement("br", null), new Array(numValsAllowed).fill(null).map(function (_, i) {
|
|
783
707
|
return [/*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
784
708
|
key: i,
|
|
785
709
|
current: vals[i],
|
|
786
|
-
values: Object.keys(
|
|
710
|
+
values: Object.keys(pivotState.attrValues).filter(function (e) {
|
|
787
711
|
return !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e);
|
|
788
712
|
}),
|
|
789
713
|
open: isOpen("val".concat(i)),
|
|
790
|
-
zIndex: isOpen("val".concat(i)) ?
|
|
714
|
+
zIndex: isOpen("val".concat(i)) ? uiState.maxZIndex + 1 : 1,
|
|
791
715
|
toggle: function toggle() {
|
|
792
|
-
return
|
|
716
|
+
return setUiState(function (s) {
|
|
793
717
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
794
718
|
openDropdown: isOpen("val".concat(i)) ? false : "val".concat(i)
|
|
795
719
|
});
|
|
796
720
|
});
|
|
797
721
|
},
|
|
798
722
|
setValue: function setValue(value) {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
}
|
|
803
|
-
});
|
|
723
|
+
var newVals = _toConsumableArray(vals);
|
|
724
|
+
newVals[i] = value;
|
|
725
|
+
actions.updateProp('vals', newVals);
|
|
804
726
|
}
|
|
805
727
|
}), i + 1 !== numValsAllowed ? /*#__PURE__*/_react["default"].createElement("br", {
|
|
806
728
|
key: "br".concat(i)
|
|
@@ -840,7 +762,8 @@ PivotTableUI.propTypes = Object.assign({}, _Utilities.PivotData.propTypes, {
|
|
|
840
762
|
unusedOrientationCutoff: _propTypes["default"].number,
|
|
841
763
|
menuLimit: _propTypes["default"].number,
|
|
842
764
|
rendererName: _propTypes["default"].string,
|
|
843
|
-
renderers: _propTypes["default"].objectOf(_propTypes["default"].func)
|
|
765
|
+
renderers: _propTypes["default"].objectOf(_propTypes["default"].func),
|
|
766
|
+
size: _propTypes["default"].oneOf(['sm', 'md', 'lg'])
|
|
844
767
|
});
|
|
845
768
|
PivotTableUI.defaultProps = Object.assign({}, _Utilities.PivotData.defaultProps, {
|
|
846
769
|
onChange: function onChange() {},
|