react-pivottable-plus 1.0.14 → 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 +131 -211
- package/dist/PivotTableUI.js.map +1 -1
- package/dist/TableRenderers.js +160 -29
- 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 +13 -12
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,170 +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,
|
|
321
|
-
_props$size = props.size,
|
|
322
|
-
size = _props$size === void 0 ? 'lg' : _props$size;
|
|
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) ─────────────────────────
|
|
323
284
|
var _useState5 = (0, _react.useState)({
|
|
324
|
-
unusedOrder: [],
|
|
325
285
|
zIndices: {},
|
|
326
286
|
maxZIndex: 1000,
|
|
327
|
-
openDropdown: false
|
|
328
|
-
attrValues: {},
|
|
329
|
-
materializedInput: [],
|
|
330
|
-
data: null
|
|
287
|
+
openDropdown: false
|
|
331
288
|
}),
|
|
332
289
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
333
|
-
|
|
334
|
-
|
|
290
|
+
uiState = _useState6[0],
|
|
291
|
+
setUiState = _useState6[1];
|
|
335
292
|
var _useState7 = (0, _react.useState)(null),
|
|
336
293
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
337
294
|
activeId = _useState8[0],
|
|
338
295
|
setActiveId = _useState8[1];
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
var newState = {
|
|
342
|
-
data: data,
|
|
343
|
-
attrValues: {},
|
|
344
|
-
materializedInput: []
|
|
345
|
-
};
|
|
346
|
-
var recordsProcessed = 0;
|
|
347
|
-
_Utilities.PivotData.forEachRecord(data, derivedAttributes, function (record) {
|
|
348
|
-
newState.materializedInput.push(record);
|
|
349
|
-
for (var _i = 0, _Object$keys = Object.keys(record); _i < _Object$keys.length; _i++) {
|
|
350
|
-
var attr = _Object$keys[_i];
|
|
351
|
-
if (!(attr in newState.attrValues)) {
|
|
352
|
-
newState.attrValues[attr] = {};
|
|
353
|
-
if (recordsProcessed > 0) newState.attrValues[attr]["null"] = recordsProcessed;
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
for (var _attr in newState.attrValues) {
|
|
357
|
-
var value = _attr in record ? record[_attr] : 'null';
|
|
358
|
-
if (!(value in newState.attrValues[_attr])) newState.attrValues[_attr][value] = 0;
|
|
359
|
-
newState.attrValues[_attr][value]++;
|
|
360
|
-
}
|
|
361
|
-
recordsProcessed++;
|
|
362
|
-
});
|
|
363
|
-
setState(function (s) {
|
|
364
|
-
return _objectSpread(_objectSpread({}, s), newState);
|
|
365
|
-
});
|
|
366
|
-
}, [data, derivedAttributes, state.data]);
|
|
367
|
-
var sendPropUpdate = (0, _react.useCallback)(function (command) {
|
|
368
|
-
var newProps = (0, _immutabilityHelper["default"])(props, command);
|
|
369
|
-
if (onChange) onChange(newProps);
|
|
370
|
-
}, [props, onChange]);
|
|
371
|
-
var handleDuplicates = function handleDuplicates(newAttrs, existingAttrs) {
|
|
372
|
-
if (!newAttrs || !existingAttrs) return existingAttrs || [];
|
|
373
|
-
var dups = newAttrs.filter(function (item) {
|
|
374
|
-
return existingAttrs.includes(item);
|
|
375
|
-
});
|
|
376
|
-
return dups.length > 0 ? existingAttrs.filter(function (item) {
|
|
377
|
-
return !dups.includes(item);
|
|
378
|
-
}) : existingAttrs;
|
|
379
|
-
};
|
|
380
|
-
var propUpdater = (0, _react.useCallback)(function (key) {
|
|
381
|
-
return function (value) {
|
|
382
|
-
var updateObj = _defineProperty({}, key, {
|
|
383
|
-
$set: value
|
|
384
|
-
});
|
|
385
|
-
if (key === 'rows') {
|
|
386
|
-
var updatedCols = handleDuplicates(value, cols);
|
|
387
|
-
if (updatedCols.length !== cols.length) updateObj.cols = {
|
|
388
|
-
$set: updatedCols
|
|
389
|
-
};
|
|
390
|
-
} else if (key === 'cols') {
|
|
391
|
-
var updatedRows = handleDuplicates(value, rows);
|
|
392
|
-
if (updatedRows.length !== rows.length) updateObj.rows = {
|
|
393
|
-
$set: updatedRows
|
|
394
|
-
};
|
|
395
|
-
}
|
|
396
|
-
sendPropUpdate(updateObj);
|
|
397
|
-
};
|
|
398
|
-
}, [cols, rows, sendPropUpdate]);
|
|
399
|
-
var setValuesInFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
400
|
-
sendPropUpdate({
|
|
401
|
-
valueFilter: _defineProperty({}, attribute, {
|
|
402
|
-
$set: values.reduce(function (r, v) {
|
|
403
|
-
r[v] = true;
|
|
404
|
-
return r;
|
|
405
|
-
}, {})
|
|
406
|
-
})
|
|
407
|
-
});
|
|
408
|
-
}, [sendPropUpdate]);
|
|
409
|
-
var addValuesToFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
410
|
-
if (attribute in valueFilter) {
|
|
411
|
-
sendPropUpdate({
|
|
412
|
-
valueFilter: _defineProperty({}, attribute, values.reduce(function (r, v) {
|
|
413
|
-
r[v] = {
|
|
414
|
-
$set: true
|
|
415
|
-
};
|
|
416
|
-
return r;
|
|
417
|
-
}, {}))
|
|
418
|
-
});
|
|
419
|
-
} else {
|
|
420
|
-
setValuesInFilter(attribute, values);
|
|
421
|
-
}
|
|
422
|
-
}, [sendPropUpdate, valueFilter, setValuesInFilter]);
|
|
423
|
-
var removeValuesFromFilter = (0, _react.useCallback)(function (attribute, values) {
|
|
424
|
-
sendPropUpdate({
|
|
425
|
-
valueFilter: _defineProperty({}, attribute, {
|
|
426
|
-
$unset: values
|
|
427
|
-
})
|
|
428
|
-
});
|
|
429
|
-
}, [sendPropUpdate]);
|
|
296
|
+
|
|
297
|
+
// ─── Helpers de UI local ──────────────────────────────────────────────────────
|
|
430
298
|
var moveFilterBoxToTop = (0, _react.useCallback)(function (attribute) {
|
|
431
|
-
|
|
299
|
+
setUiState(function (s) {
|
|
432
300
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
433
301
|
maxZIndex: s.maxZIndex + 1,
|
|
434
302
|
zIndices: _objectSpread(_objectSpread({}, s.zIndices), {}, _defineProperty({}, attribute, s.maxZIndex + 1))
|
|
435
303
|
});
|
|
436
304
|
});
|
|
437
305
|
}, []);
|
|
438
|
-
|
|
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) {
|
|
439
349
|
return e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e);
|
|
440
|
-
}).sort((0, _Utilities.sortAs)(
|
|
350
|
+
}).sort((0, _Utilities.sortAs)(pivotState.unusedOrder || []));
|
|
441
351
|
var unusedLength = unusedAttrs.reduce(function (r, e) {
|
|
442
352
|
return r + e.length;
|
|
443
353
|
}, 0);
|
|
@@ -448,6 +358,8 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
448
358
|
var rowAttrs = rows.filter(function (e) {
|
|
449
359
|
return e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e);
|
|
450
360
|
});
|
|
361
|
+
|
|
362
|
+
// ─── DnD Zones ────────────────────────────────────────────────────────────────
|
|
451
363
|
var getZoneOfItem = function getZoneOfItem(id) {
|
|
452
364
|
if (rowAttrs.includes(id)) return 'rows';
|
|
453
365
|
if (colAttrs.includes(id)) return 'cols';
|
|
@@ -461,14 +373,14 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
461
373
|
return [];
|
|
462
374
|
};
|
|
463
375
|
var getUpdaterByZone = function getUpdaterByZone(zone) {
|
|
464
|
-
if (zone === 'rows') return
|
|
465
|
-
|
|
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
|
+
};
|
|
466
382
|
if (zone === 'unused') return function (order) {
|
|
467
|
-
return
|
|
468
|
-
return _objectSpread(_objectSpread({}, s), {}, {
|
|
469
|
-
unusedOrder: order
|
|
470
|
-
});
|
|
471
|
-
});
|
|
383
|
+
return actions.setUnusedOrder(order);
|
|
472
384
|
};
|
|
473
385
|
return function () {};
|
|
474
386
|
};
|
|
@@ -517,8 +429,10 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
517
429
|
if (oldIndex !== newIndex) getUpdaterByZone(activeZone)((0, _sortable.arrayMove)(list, oldIndex, newIndex));
|
|
518
430
|
}
|
|
519
431
|
};
|
|
432
|
+
|
|
433
|
+
// ─── Dropdowns y controles ────────────────────────────────────────────────────
|
|
520
434
|
var isOpen = function isOpen(dropdown) {
|
|
521
|
-
return
|
|
435
|
+
return uiState.openDropdown === dropdown;
|
|
522
436
|
};
|
|
523
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;
|
|
524
438
|
var actualRendererName = rendererName in renderers ? rendererName : Object.keys(renderers)[0];
|
|
@@ -539,19 +453,25 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
539
453
|
next: 'key_a_to_z'
|
|
540
454
|
}
|
|
541
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
|
+
};
|
|
542
463
|
var sharedCellProps = {
|
|
543
|
-
state:
|
|
464
|
+
state: combinedState,
|
|
544
465
|
valueFilter: valueFilter,
|
|
545
466
|
sorters: sorters,
|
|
546
467
|
menuLimit: menuLimit,
|
|
547
|
-
setValuesInFilter: setValuesInFilter,
|
|
548
|
-
addValuesToFilter: addValuesToFilter,
|
|
468
|
+
setValuesInFilter: actions.setValuesInFilter,
|
|
469
|
+
addValuesToFilter: actions.addValuesToFilter,
|
|
549
470
|
moveFilterBoxToTop: moveFilterBoxToTop,
|
|
550
|
-
removeValuesFromFilter: removeValuesFromFilter
|
|
471
|
+
removeValuesFromFilter: actions.removeValuesFromFilter
|
|
551
472
|
};
|
|
552
473
|
var componentProps = {
|
|
553
|
-
data:
|
|
554
|
-
onChange: onChange,
|
|
474
|
+
data: pivotState.materializedInput,
|
|
555
475
|
rows: rows,
|
|
556
476
|
cols: cols,
|
|
557
477
|
vals: vals,
|
|
@@ -571,12 +491,14 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
571
491
|
pageSize: pageSize,
|
|
572
492
|
rowOrder: rowOrder,
|
|
573
493
|
colOrder: colOrder,
|
|
574
|
-
derivedAttributes: derivedAttributes
|
|
494
|
+
derivedAttributes: pivotProps.derivedAttributes,
|
|
495
|
+
cellPipeline: pivotProps.cellPipeline,
|
|
496
|
+
virtualization: pivotProps.virtualization
|
|
575
497
|
};
|
|
576
498
|
var renderFooter = function renderFooter() {
|
|
577
499
|
var pivotData = new _Utilities.PivotData(componentProps);
|
|
578
500
|
var totalPivotRows = pivotData.getRowKeys().length;
|
|
579
|
-
var totalRecords =
|
|
501
|
+
var totalRecords = pivotState.materializedInput.length;
|
|
580
502
|
var totalPages = Math.ceil(totalPivotRows / pageSize);
|
|
581
503
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
582
504
|
className: "pvtFooter"
|
|
@@ -588,13 +510,13 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
588
510
|
className: "pvtButton",
|
|
589
511
|
disabled: page <= 1,
|
|
590
512
|
onClick: function onClick() {
|
|
591
|
-
return
|
|
513
|
+
return actions.updateProp('page', 1);
|
|
592
514
|
}
|
|
593
515
|
}, "\xAB"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
594
516
|
className: "pvtButton",
|
|
595
517
|
disabled: page <= 1,
|
|
596
518
|
onClick: function onClick() {
|
|
597
|
-
return
|
|
519
|
+
return actions.updateProp('page', page - 1);
|
|
598
520
|
}
|
|
599
521
|
}, "\u2039"), /*#__PURE__*/_react["default"].createElement("span", null, "P\xE1gina ", /*#__PURE__*/_react["default"].createElement("input", {
|
|
600
522
|
type: "number",
|
|
@@ -604,32 +526,26 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
604
526
|
max: totalPages,
|
|
605
527
|
onChange: function onChange(e) {
|
|
606
528
|
var val = parseInt(e.target.value, 10);
|
|
607
|
-
if (val > 0 && val <= totalPages)
|
|
529
|
+
if (val > 0 && val <= totalPages) actions.updateProp('page', val);
|
|
608
530
|
}
|
|
609
531
|
}), " de ", totalPages), /*#__PURE__*/_react["default"].createElement("button", {
|
|
610
532
|
className: "pvtButton",
|
|
611
533
|
disabled: page >= totalPages,
|
|
612
534
|
onClick: function onClick() {
|
|
613
|
-
return
|
|
535
|
+
return actions.updateProp('page', page + 1);
|
|
614
536
|
}
|
|
615
537
|
}, "\u203A"), /*#__PURE__*/_react["default"].createElement("button", {
|
|
616
538
|
className: "pvtButton",
|
|
617
539
|
disabled: page >= totalPages,
|
|
618
540
|
onClick: function onClick() {
|
|
619
|
-
return
|
|
541
|
+
return actions.updateProp('page', totalPages);
|
|
620
542
|
}
|
|
621
543
|
}, "\xBB"), /*#__PURE__*/_react["default"].createElement("select", {
|
|
622
544
|
className: "pvtPageSize",
|
|
623
545
|
value: pageSize,
|
|
624
546
|
onChange: function onChange(e) {
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
$set: parseInt(e.target.value, 10)
|
|
628
|
-
},
|
|
629
|
-
page: {
|
|
630
|
-
$set: 1
|
|
631
|
-
}
|
|
632
|
-
});
|
|
547
|
+
actions.updateProp('pageSize', parseInt(e.target.value, 10));
|
|
548
|
+
actions.updateProp('page', 1);
|
|
633
549
|
}
|
|
634
550
|
}, [10, 20, 50, 100].map(function (n) {
|
|
635
551
|
return /*#__PURE__*/_react["default"].createElement("option", {
|
|
@@ -645,10 +561,10 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
645
561
|
onDragOver: handleDragOver,
|
|
646
562
|
onDragEnd: handleDragEnd
|
|
647
563
|
}, /*#__PURE__*/_react["default"].createElement("table", {
|
|
648
|
-
className: "pvtUi
|
|
564
|
+
className: "pvtUi pvt-theme-".concat(props.theme || 'default', " pvt-size-").concat(size || 'lg')
|
|
649
565
|
}, /*#__PURE__*/_react["default"].createElement("tbody", {
|
|
650
566
|
onClick: function onClick() {
|
|
651
|
-
return
|
|
567
|
+
return setUiState(function (s) {
|
|
652
568
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
653
569
|
openDropdown: false
|
|
654
570
|
});
|
|
@@ -660,15 +576,17 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
660
576
|
current: actualRendererName,
|
|
661
577
|
values: Object.keys(renderers),
|
|
662
578
|
open: isOpen('renderer'),
|
|
663
|
-
zIndex: isOpen('renderer') ?
|
|
579
|
+
zIndex: isOpen('renderer') ? uiState.maxZIndex + 1 : 1,
|
|
664
580
|
toggle: function toggle() {
|
|
665
|
-
return
|
|
581
|
+
return setUiState(function (s) {
|
|
666
582
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
667
583
|
openDropdown: isOpen('renderer') ? false : 'renderer'
|
|
668
584
|
});
|
|
669
585
|
});
|
|
670
586
|
},
|
|
671
|
-
setValue:
|
|
587
|
+
setValue: function setValue(v) {
|
|
588
|
+
return actions.updateProp('rendererName', v);
|
|
589
|
+
}
|
|
672
590
|
})), /*#__PURE__*/_react["default"].createElement(DnDCell, _extends({
|
|
673
591
|
id: "unused",
|
|
674
592
|
items: unusedAttrs,
|
|
@@ -680,49 +598,49 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
680
598
|
current: aggregatorName,
|
|
681
599
|
values: Object.keys(aggregators),
|
|
682
600
|
open: isOpen('aggregators'),
|
|
683
|
-
zIndex: isOpen('aggregators') ?
|
|
601
|
+
zIndex: isOpen('aggregators') ? uiState.maxZIndex + 1 : 1,
|
|
684
602
|
toggle: function toggle() {
|
|
685
|
-
return
|
|
603
|
+
return setUiState(function (s) {
|
|
686
604
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
687
605
|
openDropdown: isOpen('aggregators') ? false : 'aggregators'
|
|
688
606
|
});
|
|
689
607
|
});
|
|
690
608
|
},
|
|
691
|
-
setValue:
|
|
609
|
+
setValue: function setValue(v) {
|
|
610
|
+
return actions.updateProp('aggregatorName', v);
|
|
611
|
+
}
|
|
692
612
|
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
693
613
|
role: "button",
|
|
694
614
|
className: "pvtRowOrder",
|
|
695
615
|
onClick: function onClick() {
|
|
696
|
-
return
|
|
616
|
+
return actions.updateProp('rowOrder', sortIcons[rowOrder].next);
|
|
697
617
|
}
|
|
698
618
|
}, sortIcons[rowOrder].rowSymbol), /*#__PURE__*/_react["default"].createElement("a", {
|
|
699
619
|
role: "button",
|
|
700
620
|
className: "pvtColOrder",
|
|
701
621
|
onClick: function onClick() {
|
|
702
|
-
return
|
|
622
|
+
return actions.updateProp('colOrder', sortIcons[colOrder].next);
|
|
703
623
|
}
|
|
704
624
|
}, sortIcons[colOrder].colSymbol), numValsAllowed > 0 && /*#__PURE__*/_react["default"].createElement("br", null), new Array(numValsAllowed).fill(null).map(function (_, i) {
|
|
705
625
|
return [/*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
706
626
|
key: i,
|
|
707
627
|
current: vals[i],
|
|
708
|
-
values: Object.keys(
|
|
628
|
+
values: Object.keys(pivotState.attrValues).filter(function (e) {
|
|
709
629
|
return !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e);
|
|
710
630
|
}),
|
|
711
631
|
open: isOpen("val".concat(i)),
|
|
712
|
-
zIndex: isOpen("val".concat(i)) ?
|
|
632
|
+
zIndex: isOpen("val".concat(i)) ? uiState.maxZIndex + 1 : 1,
|
|
713
633
|
toggle: function toggle() {
|
|
714
|
-
return
|
|
634
|
+
return setUiState(function (s) {
|
|
715
635
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
716
636
|
openDropdown: isOpen("val".concat(i)) ? false : "val".concat(i)
|
|
717
637
|
});
|
|
718
638
|
});
|
|
719
639
|
},
|
|
720
640
|
setValue: function setValue(value) {
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
}
|
|
725
|
-
});
|
|
641
|
+
var newVals = _toConsumableArray(vals);
|
|
642
|
+
newVals[i] = value;
|
|
643
|
+
actions.updateProp('vals', newVals);
|
|
726
644
|
}
|
|
727
645
|
}), i + 1 !== numValsAllowed ? /*#__PURE__*/_react["default"].createElement("br", {
|
|
728
646
|
key: "br".concat(i)
|
|
@@ -745,64 +663,66 @@ var PivotTableUI = function PivotTableUI(props) {
|
|
|
745
663
|
current: actualRendererName,
|
|
746
664
|
values: Object.keys(renderers),
|
|
747
665
|
open: isOpen('renderer'),
|
|
748
|
-
zIndex: isOpen('renderer') ?
|
|
666
|
+
zIndex: isOpen('renderer') ? uiState.maxZIndex + 1 : 1,
|
|
749
667
|
toggle: function toggle() {
|
|
750
|
-
return
|
|
668
|
+
return setUiState(function (s) {
|
|
751
669
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
752
670
|
openDropdown: isOpen('renderer') ? false : 'renderer'
|
|
753
671
|
});
|
|
754
672
|
});
|
|
755
673
|
},
|
|
756
|
-
setValue:
|
|
674
|
+
setValue: function setValue(v) {
|
|
675
|
+
return actions.updateProp('rendererName', v);
|
|
676
|
+
}
|
|
757
677
|
})), /*#__PURE__*/_react["default"].createElement("td", {
|
|
758
678
|
className: "pvtVals"
|
|
759
679
|
}, /*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
760
680
|
current: aggregatorName,
|
|
761
681
|
values: Object.keys(aggregators),
|
|
762
682
|
open: isOpen('aggregators'),
|
|
763
|
-
zIndex: isOpen('aggregators') ?
|
|
683
|
+
zIndex: isOpen('aggregators') ? uiState.maxZIndex + 1 : 1,
|
|
764
684
|
toggle: function toggle() {
|
|
765
|
-
return
|
|
685
|
+
return setUiState(function (s) {
|
|
766
686
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
767
687
|
openDropdown: isOpen('aggregators') ? false : 'aggregators'
|
|
768
688
|
});
|
|
769
689
|
});
|
|
770
690
|
},
|
|
771
|
-
setValue:
|
|
691
|
+
setValue: function setValue(v) {
|
|
692
|
+
return actions.updateProp('aggregatorName', v);
|
|
693
|
+
}
|
|
772
694
|
}), /*#__PURE__*/_react["default"].createElement("a", {
|
|
773
695
|
role: "button",
|
|
774
696
|
className: "pvtRowOrder",
|
|
775
697
|
onClick: function onClick() {
|
|
776
|
-
return
|
|
698
|
+
return actions.updateProp('rowOrder', sortIcons[rowOrder].next);
|
|
777
699
|
}
|
|
778
700
|
}, sortIcons[rowOrder].rowSymbol), /*#__PURE__*/_react["default"].createElement("a", {
|
|
779
701
|
role: "button",
|
|
780
702
|
className: "pvtColOrder",
|
|
781
703
|
onClick: function onClick() {
|
|
782
|
-
return
|
|
704
|
+
return actions.updateProp('colOrder', sortIcons[colOrder].next);
|
|
783
705
|
}
|
|
784
706
|
}, sortIcons[colOrder].colSymbol), numValsAllowed > 0 && /*#__PURE__*/_react["default"].createElement("br", null), new Array(numValsAllowed).fill(null).map(function (_, i) {
|
|
785
707
|
return [/*#__PURE__*/_react["default"].createElement(Dropdown, {
|
|
786
708
|
key: i,
|
|
787
709
|
current: vals[i],
|
|
788
|
-
values: Object.keys(
|
|
710
|
+
values: Object.keys(pivotState.attrValues).filter(function (e) {
|
|
789
711
|
return !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e);
|
|
790
712
|
}),
|
|
791
713
|
open: isOpen("val".concat(i)),
|
|
792
|
-
zIndex: isOpen("val".concat(i)) ?
|
|
714
|
+
zIndex: isOpen("val".concat(i)) ? uiState.maxZIndex + 1 : 1,
|
|
793
715
|
toggle: function toggle() {
|
|
794
|
-
return
|
|
716
|
+
return setUiState(function (s) {
|
|
795
717
|
return _objectSpread(_objectSpread({}, s), {}, {
|
|
796
718
|
openDropdown: isOpen("val".concat(i)) ? false : "val".concat(i)
|
|
797
719
|
});
|
|
798
720
|
});
|
|
799
721
|
},
|
|
800
722
|
setValue: function setValue(value) {
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
}
|
|
805
|
-
});
|
|
723
|
+
var newVals = _toConsumableArray(vals);
|
|
724
|
+
newVals[i] = value;
|
|
725
|
+
actions.updateProp('vals', newVals);
|
|
806
726
|
}
|
|
807
727
|
}), i + 1 !== numValsAllowed ? /*#__PURE__*/_react["default"].createElement("br", {
|
|
808
728
|
key: "br".concat(i)
|