react-pivottable-plus 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/PivotTableUI.js CHANGED
@@ -547,10 +547,32 @@ var PivotTableUI = function PivotTableUI(props) {
547
547
  moveFilterBoxToTop: moveFilterBoxToTop,
548
548
  removeValuesFromFilter: removeValuesFromFilter
549
549
  };
550
+ var componentProps = {
551
+ data: state.materializedInput,
552
+ onChange: onChange,
553
+ rows: rows,
554
+ cols: cols,
555
+ vals: vals,
556
+ aggregatorName: aggregatorName,
557
+ aggregators: aggregators,
558
+ rendererName: rendererName,
559
+ renderers: renderers,
560
+ valueFilter: valueFilter,
561
+ sorters: sorters,
562
+ menuLimit: menuLimit,
563
+ unusedOrientationCutoff: unusedOrientationCutoff,
564
+ hiddenAttributes: hiddenAttributes,
565
+ hiddenFromAggregators: hiddenFromAggregators,
566
+ hiddenFromDragDrop: hiddenFromDragDrop,
567
+ pagination: pagination,
568
+ page: page,
569
+ pageSize: pageSize,
570
+ rowOrder: rowOrder,
571
+ colOrder: colOrder,
572
+ derivedAttributes: derivedAttributes
573
+ };
550
574
  var renderFooter = function renderFooter() {
551
- var pivotData = new _Utilities.PivotData(_objectSpread(_objectSpread({}, props), {}, {
552
- data: state.materializedInput
553
- }));
575
+ var pivotData = new _Utilities.PivotData(componentProps);
554
576
  var totalPivotRows = pivotData.getRowKeys().length;
555
577
  var totalRecords = state.materializedInput.length;
556
578
  var totalPages = Math.ceil(totalPivotRows / pageSize);
@@ -715,11 +737,7 @@ var PivotTableUI = function PivotTableUI(props) {
715
737
  isHorizontal: false
716
738
  }, sharedCellProps)), /*#__PURE__*/_react["default"].createElement("td", {
717
739
  className: "pvtOutput"
718
- }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], (0, _immutabilityHelper["default"])(props, {
719
- data: {
720
- $set: state.materializedInput
721
- }
722
- })), pagination && renderFooter()))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
740
+ }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], componentProps), pagination && renderFooter()))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
723
741
  className: "pvtRenderers"
724
742
  }, /*#__PURE__*/_react["default"].createElement(Dropdown, {
725
743
  current: actualRendererName,
@@ -804,11 +822,7 @@ var PivotTableUI = function PivotTableUI(props) {
804
822
  isHorizontal: false
805
823
  }, sharedCellProps)), /*#__PURE__*/_react["default"].createElement("td", {
806
824
  className: "pvtOutput"
807
- }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], (0, _immutabilityHelper["default"])(props, {
808
- data: {
809
- $set: state.materializedInput
810
- }
811
- })), pagination && renderFooter()))))), /*#__PURE__*/_react["default"].createElement(_core.DragOverlay, null, activeId ? /*#__PURE__*/_react["default"].createElement("ul", {
825
+ }, /*#__PURE__*/_react["default"].createElement(_PivotTable["default"], componentProps), pagination && renderFooter()))))), /*#__PURE__*/_react["default"].createElement(_core.DragOverlay, null, activeId ? /*#__PURE__*/_react["default"].createElement("ul", {
812
826
  style: {
813
827
  listStyle: 'none',
814
828
  padding: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"PivotTableUI.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_immutabilityHelper","_Utilities","_PivotTable","_TableRenderers","_reactDraggable","_core","_sortable","_utilities","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_extends","assign","bind","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","l","u","next","done","DraggableAttribute","exports","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","Dropdown","_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","PivotTableUI","props","_aggregators$aggregat","_aggregators$aggregat2","_props$data","data","_props$onChange","_props$rows","rows","_props$cols","cols","_props$vals","vals","_props$aggregatorName","aggregatorName","_props$aggregators","aggregators","defaultAggregators","_props$rendererName","rendererName","_props$renderers","renderers","TableRenderers","_props$valueFilter","_props$sorters","_props$menuLimit","_props$unusedOrientat","unusedOrientationCutoff","_props$hiddenAttribut","hiddenAttributes","_props$hiddenFromAggr","hiddenFromAggregators","_props$hiddenFromDrag","hiddenFromDragDrop","_props$pagination","pagination","_props$page","page","_props$pageSize","pageSize","_props$rowOrder","rowOrder","_props$colOrder","colOrder","_props$derivedAttribu","derivedAttributes","_useState5","unusedOrder","openDropdown","materializedInput","_useState6","setState","_useState7","_useState8","activeId","setActiveId","useEffect","newState","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","sendPropUpdate","useCallback","command","newProps","update","handleDuplicates","newAttrs","existingAttrs","dups","item","propUpdater","updateObj","$set","updatedCols","updatedRows","attribute","reduce","v","$unset","unusedAttrs","sortAs","unusedLength","horizUnused","colAttrs","rowAttrs","getZoneOfItem","getListByZone","zone","getUpdaterByZone","order","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","handleDragStart","_ref5","active","handleDragOver","_ref6","_over$data$current$so","_over$data","over","activeZone","overZone","sortable","containerId","activeList","overList","activeIndex","overIndex","splice","insertAt","handleDragEnd","_ref7","_over$data$current$so2","_over$data2","list","oldIndex","newIndex","arrayMove","isOpen","dropdown","numValsAllowed","numInputs","actualRendererName","sortIcons","key_a_to_z","rowSymbol","colSymbol","value_a_to_z","value_z_to_a","sharedCellProps","renderFooter","pivotData","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","disabled","min","max","val","parseInt","DndContext","collisionDetection","closestCorners","onDragStart","onDragOver","onDragEnd","Fragment","fill","_","concat","$splice","DragOverlay","propTypes","PropTypes","func","isRequired","arrayOf","string","number","objectOf","defaultProps","_default"],"sources":["src/PivotTableUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport update from 'immutability-helper';\nimport { PivotData, sortAs, getSort, aggregators as defaultAggregators } from './Utilities';\nimport PivotTable from './PivotTable';\nimport TableRenderers from './TableRenderers';\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\">&nbsp;</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>&nbsp;</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\nconst PivotTableUI = props => {\n const {\n data = [],\n onChange = () => {},\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 derivedAttributes = {},\n } = props;\n\n const [state, setState] = useState({\n unusedOrder: [],\n zIndices: {},\n maxZIndex: 1000,\n openDropdown: false,\n attrValues: {},\n materializedInput: [],\n data: null,\n });\n\n const [activeId, setActiveId] = useState(null);\n\n useEffect(() => {\n if (state.data === data) return;\n const newState = { data, attrValues: {}, materializedInput: [] };\n let recordsProcessed = 0;\n PivotData.forEachRecord(data, derivedAttributes, record => {\n newState.materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in newState.attrValues)) {\n newState.attrValues[attr] = {};\n if (recordsProcessed > 0) newState.attrValues[attr].null = recordsProcessed;\n }\n }\n for (const attr in newState.attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in newState.attrValues[attr])) newState.attrValues[attr][value] = 0;\n newState.attrValues[attr][value]++;\n }\n recordsProcessed++;\n });\n setState(s => ({ ...s, ...newState }));\n }, [data, derivedAttributes, state.data]);\n\n const sendPropUpdate = useCallback(command => {\n const newProps = update(props, command);\n if (onChange) onChange(newProps);\n }, [props, onChange]);\n\n const handleDuplicates = (newAttrs, existingAttrs) => {\n if (!newAttrs || !existingAttrs) return existingAttrs || [];\n const dups = newAttrs.filter(item => existingAttrs.includes(item));\n return dups.length > 0 ? existingAttrs.filter(item => !dups.includes(item)) : existingAttrs;\n };\n\n const propUpdater = useCallback(key => value => {\n const updateObj = { [key]: { $set: value } };\n if (key === 'rows') {\n const updatedCols = handleDuplicates(value, cols);\n if (updatedCols.length !== cols.length) updateObj.cols = { $set: updatedCols };\n } else if (key === 'cols') {\n const updatedRows = handleDuplicates(value, rows);\n if (updatedRows.length !== rows.length) updateObj.rows = { $set: updatedRows };\n }\n sendPropUpdate(updateObj);\n }, [cols, rows, sendPropUpdate]);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n sendPropUpdate({\n valueFilter: {\n [attribute]: { $set: values.reduce((r, v) => { r[v] = true; return r; }, {}) },\n },\n });\n }, [sendPropUpdate]);\n\n const addValuesToFilter = useCallback((attribute, values) => {\n if (attribute in valueFilter) {\n sendPropUpdate({\n valueFilter: {\n [attribute]: values.reduce((r, v) => { r[v] = { $set: true }; return r; }, {}),\n },\n });\n } else {\n setValuesInFilter(attribute, values);\n }\n }, [sendPropUpdate, valueFilter, setValuesInFilter]);\n\n const removeValuesFromFilter = useCallback((attribute, values) => {\n sendPropUpdate({ valueFilter: { [attribute]: { $unset: values } } });\n }, [sendPropUpdate]);\n\n const moveFilterBoxToTop = useCallback(attribute => {\n setState(s => ({\n ...s,\n maxZIndex: s.maxZIndex + 1,\n zIndices: { ...s.zIndices, [attribute]: s.maxZIndex + 1 },\n }));\n }, []);\n\n const unusedAttrs = Object.keys(state.attrValues)\n .filter(e => e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e))\n .sort(sortAs(state.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 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 propUpdater('rows');\n if (zone === 'cols') return propUpdater('cols');\n if (zone === 'unused') return order => setState(s => ({ ...s, unusedOrder: 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 const isOpen = dropdown => state.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 sharedCellProps = {\n state, valueFilter, sorters, menuLimit, setValuesInFilter, addValuesToFilter, moveFilterBoxToTop, removeValuesFromFilter,\n };\n\n const renderFooter = () => {\n const pivotData = new PivotData({ ...props, data: state.materializedInput });\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = state.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={() => propUpdater('page')(1)}>«</button>\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => propUpdater('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) propUpdater('page')(val);\n }} /> de {totalPages}</span>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(page + 1)}>›</button>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(totalPages)}>»</button>\n <select className=\"pvtPageSize\" value={pageSize} onChange={e => {\n sendPropUpdate({ pageSize: { $set: parseInt(e.target.value, 10) }, page: { $set: 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 return (\n <DndContext sensors={sensors} collisionDetection={closestCorners} onDragStart={handleDragStart} onDragOver={handleDragOver} onDragEnd={handleDragEnd}>\n <table className=\"pvtUi\">\n <tbody onClick={() => setState(s => ({ ...s, openDropdown: false }))}>\n {horizUnused ? (\n <>\n <tr>\n <td className=\"pvtRenderers\">\n <Dropdown current={actualRendererName} values={Object.keys(renderers)} open={isOpen('renderer')} zIndex={isOpen('renderer') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))} setValue={propUpdater('rendererName')} />\n </td>\n <DnDCell id=\"unused\" items={unusedAttrs} classes={`pvtAxisContainer pvtUnused pvtHorizList`} isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <td className=\"pvtVals\">\n <Dropdown current={aggregatorName} values={Object.keys(aggregators)} open={isOpen('aggregators')} zIndex={isOpen('aggregators') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))} setValue={propUpdater('aggregatorName')} />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => propUpdater('rowOrder')(sortIcons[rowOrder].next)}>{sortIcons[rowOrder].rowSymbol}</a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => propUpdater('colOrder')(sortIcons[colOrder].next)}>{sortIcons[colOrder].colSymbol}</a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown key={i} current={vals[i]} values={Object.keys(state.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))} open={isOpen(`val${i}`)} zIndex={isOpen(`val${i}`) ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))} setValue={value => sendPropUpdate({ vals: { $splice: [[i, 1, value]] } })} />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </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 <td className=\"pvtOutput\">\n <PivotTable {...update(props, { data: { $set: state.materializedInput } })} />\n {pagination && renderFooter()}\n </td>\n </tr>\n </>\n ) : (\n <>\n <tr>\n <td className=\"pvtRenderers\">\n <Dropdown current={actualRendererName} values={Object.keys(renderers)} open={isOpen('renderer')} zIndex={isOpen('renderer') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))} setValue={propUpdater('rendererName')} />\n </td>\n <td className=\"pvtVals\">\n <Dropdown current={aggregatorName} values={Object.keys(aggregators)} open={isOpen('aggregators')} zIndex={isOpen('aggregators') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))} setValue={propUpdater('aggregatorName')} />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => propUpdater('rowOrder')(sortIcons[rowOrder].next)}>{sortIcons[rowOrder].rowSymbol}</a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => propUpdater('colOrder')(sortIcons[colOrder].next)}>{sortIcons[colOrder].colSymbol}</a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown key={i} current={vals[i]} values={Object.keys(state.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))} open={isOpen(`val${i}`)} zIndex={isOpen(`val${i}`) ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))} setValue={value => sendPropUpdate({ vals: { $splice: [[i, 1, value]] } })} />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </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 <td className=\"pvtOutput\">\n <PivotTable {...update(props, { data: { $set: state.materializedInput } })} />\n {pagination && renderFooter()}\n </td>\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});\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});\n\nexport default PivotTableUI;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PivotTableUI.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_immutabilityHelper","_Utilities","_PivotTable","_TableRenderers","_reactDraggable","_core","_sortable","_utilities","_excluded","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","indexOf","propertyIsEnumerable","_extends","assign","bind","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","l","u","next","done","DraggableAttribute","exports","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","Dropdown","_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","PivotTableUI","props","_aggregators$aggregat","_aggregators$aggregat2","_props$data","data","_props$onChange","_props$rows","rows","_props$cols","cols","_props$vals","vals","_props$aggregatorName","aggregatorName","_props$aggregators","aggregators","defaultAggregators","_props$rendererName","rendererName","_props$renderers","renderers","TableRenderers","_props$valueFilter","_props$sorters","_props$menuLimit","_props$unusedOrientat","unusedOrientationCutoff","_props$hiddenAttribut","hiddenAttributes","_props$hiddenFromAggr","hiddenFromAggregators","_props$hiddenFromDrag","hiddenFromDragDrop","_props$pagination","pagination","_props$page","page","_props$pageSize","pageSize","_props$rowOrder","rowOrder","_props$colOrder","colOrder","_props$derivedAttribu","derivedAttributes","_useState5","unusedOrder","openDropdown","materializedInput","_useState6","setState","_useState7","_useState8","activeId","setActiveId","useEffect","newState","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","sendPropUpdate","useCallback","command","newProps","update","handleDuplicates","newAttrs","existingAttrs","dups","item","propUpdater","updateObj","$set","updatedCols","updatedRows","attribute","reduce","v","$unset","unusedAttrs","sortAs","unusedLength","horizUnused","colAttrs","rowAttrs","getZoneOfItem","getListByZone","zone","getUpdaterByZone","order","sensors","useSensors","useSensor","PointerSensor","activationConstraint","distance","handleDragStart","_ref5","active","handleDragOver","_ref6","_over$data$current$so","_over$data","over","activeZone","overZone","sortable","containerId","activeList","overList","activeIndex","overIndex","splice","insertAt","handleDragEnd","_ref7","_over$data$current$so2","_over$data2","list","oldIndex","newIndex","arrayMove","isOpen","dropdown","numValsAllowed","numInputs","actualRendererName","sortIcons","key_a_to_z","rowSymbol","colSymbol","value_a_to_z","value_z_to_a","sharedCellProps","componentProps","renderFooter","pivotData","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","disabled","min","max","val","parseInt","DndContext","collisionDetection","closestCorners","onDragStart","onDragOver","onDragEnd","Fragment","fill","_","concat","$splice","DragOverlay","propTypes","PropTypes","func","isRequired","arrayOf","string","number","objectOf","defaultProps","_default"],"sources":["src/PivotTableUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport update from 'immutability-helper';\nimport { PivotData, sortAs, getSort, aggregators as defaultAggregators } from './Utilities';\nimport PivotTable from './PivotTable';\nimport TableRenderers from './TableRenderers';\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\">&nbsp;</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>&nbsp;</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\nconst PivotTableUI = props => {\n const {\n data = [],\n onChange = () => {},\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 derivedAttributes = {},\n } = props;\n\n const [state, setState] = useState({\n unusedOrder: [],\n zIndices: {},\n maxZIndex: 1000,\n openDropdown: false,\n attrValues: {},\n materializedInput: [],\n data: null,\n });\n\n const [activeId, setActiveId] = useState(null);\n\n useEffect(() => {\n if (state.data === data) return;\n const newState = { data, attrValues: {}, materializedInput: [] };\n let recordsProcessed = 0;\n PivotData.forEachRecord(data, derivedAttributes, record => {\n newState.materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in newState.attrValues)) {\n newState.attrValues[attr] = {};\n if (recordsProcessed > 0) newState.attrValues[attr].null = recordsProcessed;\n }\n }\n for (const attr in newState.attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in newState.attrValues[attr])) newState.attrValues[attr][value] = 0;\n newState.attrValues[attr][value]++;\n }\n recordsProcessed++;\n });\n setState(s => ({ ...s, ...newState }));\n }, [data, derivedAttributes, state.data]);\n\n const sendPropUpdate = useCallback(command => {\n const newProps = update(props, command);\n if (onChange) onChange(newProps);\n }, [props, onChange]);\n\n const handleDuplicates = (newAttrs, existingAttrs) => {\n if (!newAttrs || !existingAttrs) return existingAttrs || [];\n const dups = newAttrs.filter(item => existingAttrs.includes(item));\n return dups.length > 0 ? existingAttrs.filter(item => !dups.includes(item)) : existingAttrs;\n };\n\n const propUpdater = useCallback(key => value => {\n const updateObj = { [key]: { $set: value } };\n if (key === 'rows') {\n const updatedCols = handleDuplicates(value, cols);\n if (updatedCols.length !== cols.length) updateObj.cols = { $set: updatedCols };\n } else if (key === 'cols') {\n const updatedRows = handleDuplicates(value, rows);\n if (updatedRows.length !== rows.length) updateObj.rows = { $set: updatedRows };\n }\n sendPropUpdate(updateObj);\n }, [cols, rows, sendPropUpdate]);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n sendPropUpdate({\n valueFilter: {\n [attribute]: { $set: values.reduce((r, v) => { r[v] = true; return r; }, {}) },\n },\n });\n }, [sendPropUpdate]);\n\n const addValuesToFilter = useCallback((attribute, values) => {\n if (attribute in valueFilter) {\n sendPropUpdate({\n valueFilter: {\n [attribute]: values.reduce((r, v) => { r[v] = { $set: true }; return r; }, {}),\n },\n });\n } else {\n setValuesInFilter(attribute, values);\n }\n }, [sendPropUpdate, valueFilter, setValuesInFilter]);\n\n const removeValuesFromFilter = useCallback((attribute, values) => {\n sendPropUpdate({ valueFilter: { [attribute]: { $unset: values } } });\n }, [sendPropUpdate]);\n\n const moveFilterBoxToTop = useCallback(attribute => {\n setState(s => ({\n ...s,\n maxZIndex: s.maxZIndex + 1,\n zIndices: { ...s.zIndices, [attribute]: s.maxZIndex + 1 },\n }));\n }, []);\n\n const unusedAttrs = Object.keys(state.attrValues)\n .filter(e => e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e))\n .sort(sortAs(state.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 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 propUpdater('rows');\n if (zone === 'cols') return propUpdater('cols');\n if (zone === 'unused') return order => setState(s => ({ ...s, unusedOrder: 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 const isOpen = dropdown => state.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 sharedCellProps = {\n state, valueFilter, sorters, menuLimit, setValuesInFilter, addValuesToFilter, moveFilterBoxToTop, removeValuesFromFilter,\n };\n\n const componentProps = {\n data: state.materializedInput,\n onChange,\n rows,\n cols,\n vals,\n aggregatorName,\n aggregators,\n rendererName,\n renderers,\n valueFilter,\n sorters,\n menuLimit,\n unusedOrientationCutoff,\n hiddenAttributes,\n hiddenFromAggregators,\n hiddenFromDragDrop,\n pagination,\n page,\n pageSize,\n rowOrder,\n colOrder,\n derivedAttributes,\n };\n\n const renderFooter = () => {\n const pivotData = new PivotData(componentProps);\n const totalPivotRows = pivotData.getRowKeys().length;\n const totalRecords = state.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={() => propUpdater('page')(1)}>«</button>\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => propUpdater('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) propUpdater('page')(val);\n }} /> de {totalPages}</span>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(page + 1)}>›</button>\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(totalPages)}>»</button>\n <select className=\"pvtPageSize\" value={pageSize} onChange={e => {\n sendPropUpdate({ pageSize: { $set: parseInt(e.target.value, 10) }, page: { $set: 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 return (\n <DndContext sensors={sensors} collisionDetection={closestCorners} onDragStart={handleDragStart} onDragOver={handleDragOver} onDragEnd={handleDragEnd}>\n <table className=\"pvtUi\">\n <tbody onClick={() => setState(s => ({ ...s, openDropdown: false }))}>\n {horizUnused ? (\n <>\n <tr>\n <td className=\"pvtRenderers\">\n <Dropdown current={actualRendererName} values={Object.keys(renderers)} open={isOpen('renderer')} zIndex={isOpen('renderer') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))} setValue={propUpdater('rendererName')} />\n </td>\n <DnDCell id=\"unused\" items={unusedAttrs} classes={`pvtAxisContainer pvtUnused pvtHorizList`} isHorizontal={true} {...sharedCellProps} />\n </tr>\n <tr>\n <td className=\"pvtVals\">\n <Dropdown current={aggregatorName} values={Object.keys(aggregators)} open={isOpen('aggregators')} zIndex={isOpen('aggregators') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))} setValue={propUpdater('aggregatorName')} />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => propUpdater('rowOrder')(sortIcons[rowOrder].next)}>{sortIcons[rowOrder].rowSymbol}</a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => propUpdater('colOrder')(sortIcons[colOrder].next)}>{sortIcons[colOrder].colSymbol}</a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown key={i} current={vals[i]} values={Object.keys(state.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))} open={isOpen(`val${i}`)} zIndex={isOpen(`val${i}`) ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))} setValue={value => sendPropUpdate({ vals: { $splice: [[i, 1, value]] } })} />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </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 <td className=\"pvtOutput\">\n <PivotTable {...componentProps} />\n {pagination && renderFooter()}\n </td>\n </tr>\n </>\n ) : (\n <>\n <tr>\n <td className=\"pvtRenderers\">\n <Dropdown current={actualRendererName} values={Object.keys(renderers)} open={isOpen('renderer')} zIndex={isOpen('renderer') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))} setValue={propUpdater('rendererName')} />\n </td>\n <td className=\"pvtVals\">\n <Dropdown current={aggregatorName} values={Object.keys(aggregators)} open={isOpen('aggregators')} zIndex={isOpen('aggregators') ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))} setValue={propUpdater('aggregatorName')} />\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => propUpdater('rowOrder')(sortIcons[rowOrder].next)}>{sortIcons[rowOrder].rowSymbol}</a>\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => propUpdater('colOrder')(sortIcons[colOrder].next)}>{sortIcons[colOrder].colSymbol}</a>\n {numValsAllowed > 0 && <br />}\n {new Array(numValsAllowed).fill(null).map((_, i) => [\n <Dropdown key={i} current={vals[i]} values={Object.keys(state.attrValues).filter(e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e))} open={isOpen(`val${i}`)} zIndex={isOpen(`val${i}`) ? state.maxZIndex + 1 : 1} toggle={() => setState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))} setValue={value => sendPropUpdate({ vals: { $splice: [[i, 1, value]] } })} />,\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\n ])}\n </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 <td className=\"pvtOutput\">\n <PivotTable {...componentProps} />\n {pagination && renderFooter()}\n </td>\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});\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});\n\nexport default PivotTableUI;\n"],"mappings":"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","ignoreList":[]}
package/Utilities.js CHANGED
@@ -571,7 +571,13 @@ var PivotData = exports.PivotData = /*#__PURE__*/function () {
571
571
  var _this = this;
572
572
  var inputProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
573
573
  _classCallCheck(this, PivotData);
574
- this.props = Object.assign({}, PivotData.defaultProps, inputProps);
574
+ var sanitizedProps = Object.keys(inputProps).reduce(function (acc, key) {
575
+ if (inputProps[key] !== undefined) {
576
+ acc[key] = inputProps[key];
577
+ }
578
+ return acc;
579
+ }, {});
580
+ this.props = Object.assign({}, PivotData.defaultProps, sanitizedProps);
575
581
  _propTypes["default"].checkPropTypes(PivotData.propTypes, this.props, 'prop', 'PivotData');
576
582
  this.aggregator = this.props.aggregators[this.props.aggregatorName](this.props.vals);
577
583
  this.tree = {};
package/Utilities.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","names":["_propTypes","_interopRequireDefault","require","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","u","f","next","done","push","value","addSeparators","nStr","thousandsSep","decimalSep","x","split","x1","x2","rgx","replace","concat","numberFormat","exports","opts_in","defaults","digitsAfterDecimal","scaler","prefix","suffix","opts","assign","isNaN","isFinite","result","toFixed","rx","rd","rz","naturalSort","as","bs","nas","nbs","b","match","a1","shift","b1","sortAs","order","mapping","l_mapping","toLowerCase","getSort","sorters","attr","sort","usFmt","usFmtInt","usFmtPct","aggregatorTemplates","count","formatter","arguments","undefined","format","uniques","fn","_ref","_ref2","uniq","record","includes","numInputs","sum","_ref3","_ref4","parseFloat","extremes","mode","_ref5","_ref6","data","val","sorter","Math","quantile","q","_ref7","_ref8","vals","floor","ceil","runningStat","ddof","_ref9","_ref0","m","s","m_new","sqrt","Error","sumOverSum","_ref1","_ref10","num","denom","sumNum","sumDenom","fractionOf","wrapped","type","_len","_key","rowKey","colKey","selector","total","row","col","inner","apply","getAggregator","countUnique","listUnique","join","max","min","first","last","median","average","stdev","aggregators","tpl","Count","Sum","Average","Median","Minimum","Maximum","First","Last","locales","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","mthNamesEn","dayNamesEn","zeroPad","number","substr","derivers","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","flatKey","attrVals","fromCharCode","PivotData","_this","inputProps","props","defaultProps","PropTypes","checkPropTypes","propTypes","aggregator","aggregatorName","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","derivedAttributes","filter","processRecord","k","valueFilter","forEachMatchingRecord","criteria","callback","_this2","v","arrSort","attrs","_this3","sortersArr","_i","_Array$from","_i2","_Object$keys","keys","comparison","sortKeys","_this4","c","rowOrder","rows","colOrder","cols","getColKeys","getRowKeys","_i3","_Array$from2","_i4","_Array$from3","flatRowKey","flatColKey","agg","forEachTotal","forEach","forEachCell","_this5","input","addRecord","getOwnPropertyNames","derived","_i5","_Object$keys2","compactRecord","_i6","_Object$keys3","j","result1","_i7","_Array$from4","pagination","pageSize","page","oneOfType","array","object","func","isRequired","string","arrayOf","objectOf","bool","oneOf"],"sources":["src/Utilities.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\n/*\n * decaffeinate suggestions:\n * DS101: Remove unnecessary use of Array.from\n * DS102: Remove unnecessary code created because of implicit returns\n * DS104: Avoid inline assignments\n * DS201: Simplify complex destructure assignments\n * DS203: Remove `|| {}` from converted for-own loops\n * DS205: Consider reworking code to avoid use of IIFEs\n * DS207: Consider shorter variations of null checks\n * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md\n */\n\nconst addSeparators = function(nStr, thousandsSep, decimalSep) {\n const x = String(nStr).split('.');\n let x1 = x[0];\n const x2 = x.length > 1 ? decimalSep + x[1] : '';\n const rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, `$1${thousandsSep}$2`);\n }\n return x1 + x2;\n};\n\nconst numberFormat = function(opts_in) {\n const defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: ',',\n decimalSep: '.',\n prefix: '',\n suffix: '',\n };\n const opts = Object.assign({}, defaults, opts_in);\n return function(x) {\n if (isNaN(x) || !isFinite(x)) {\n return '';\n }\n const result = addSeparators(\n (opts.scaler * x).toFixed(opts.digitsAfterDecimal),\n opts.thousandsSep,\n opts.decimalSep\n );\n return `${opts.prefix}${result}${opts.suffix}`;\n };\n};\n\nconst rx = /(\\d+)|(\\D+)/g;\nconst rd = /\\d/;\nconst rz = /^0/;\nconst naturalSort = (as, bs) => {\n // nulls first\n if (bs !== null && as === null) {\n return -1;\n }\n if (as !== null && bs === null) {\n return 1;\n }\n\n // then raw NaNs\n if (typeof as === 'number' && isNaN(as)) {\n return -1;\n }\n if (typeof bs === 'number' && isNaN(bs)) {\n return 1;\n }\n\n // numbers and numbery strings group together\n const nas = Number(as);\n const nbs = Number(bs);\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n\n // within that, true numbers before numbery strings\n if (typeof as === 'number' && typeof bs !== 'number') {\n return -1;\n }\n if (typeof bs === 'number' && typeof as !== 'number') {\n return 1;\n }\n if (typeof as === 'number' && typeof bs === 'number') {\n return 0;\n }\n\n // 'Infinity' is a textual number, so less than 'A'\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n\n // finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n let a = String(as);\n let b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!rd.test(a) || !rd.test(b)) {\n return a > b ? 1 : -1;\n }\n\n // special treatment for strings containing digits\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n const a1 = a.shift();\n const b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, '.0') - b1.replace(rz, '.0');\n }\n return a1 > b1 ? 1 : -1;\n }\n }\n return a.length - b.length;\n};\n\nconst sortAs = function(order) {\n const mapping = {};\n\n // sort lowercased keys similarly\n const l_mapping = {};\n for (const i in order) {\n const x = order[i];\n mapping[x] = i;\n if (typeof x === 'string') {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if (a in mapping && b in mapping) {\n return mapping[a] - mapping[b];\n } else if (a in mapping) {\n return -1;\n } else if (b in mapping) {\n return 1;\n } else if (a in l_mapping && b in l_mapping) {\n return l_mapping[a] - l_mapping[b];\n } else if (a in l_mapping) {\n return -1;\n } else if (b in l_mapping) {\n return 1;\n }\n return naturalSort(a, b);\n };\n};\n\nconst getSort = function(sorters, attr) {\n if (sorters) {\n if (typeof sorters === 'function') {\n const sort = sorters(attr);\n if (typeof sort === 'function') {\n return sort;\n }\n } else if (attr in sorters) {\n return sorters[attr];\n }\n }\n return naturalSort;\n};\n\n// aggregator templates default to US number formatting but this is overrideable\nconst usFmt = numberFormat();\nconst usFmtInt = numberFormat({digitsAfterDecimal: 0});\nconst usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: '%',\n});\n\nconst aggregatorTemplates = {\n count(formatter = usFmtInt) {\n return () =>\n function() {\n return {\n count: 0,\n push() {\n this.count++;\n },\n value() {\n return this.count;\n },\n format: formatter,\n };\n };\n },\n\n uniques(fn, formatter = usFmtInt) {\n return function([attr]) {\n return function() {\n return {\n uniq: [],\n push(record) {\n if (!Array.from(this.uniq).includes(record[attr])) {\n this.uniq.push(record[attr]);\n }\n },\n value() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n sum(formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n sum: 0,\n push(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n this.sum += parseFloat(record[attr]);\n }\n },\n value() {\n return this.sum;\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n extremes(mode, formatter = usFmt) {\n return function([attr]) {\n return function(data) {\n return {\n val: null,\n sorter: getSort(\n typeof data !== 'undefined' ? data.sorters : null,\n attr\n ),\n push(record) {\n let x = record[attr];\n if (['min', 'max'].includes(mode)) {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, this.val !== null ? this.val : x);\n }\n }\n if (\n mode === 'first' &&\n this.sorter(x, this.val !== null ? this.val : x) <= 0\n ) {\n this.val = x;\n }\n if (\n mode === 'last' &&\n this.sorter(x, this.val !== null ? this.val : x) >= 0\n ) {\n this.val = x;\n }\n },\n value() {\n return this.val;\n },\n format(x) {\n if (isNaN(x)) {\n return x;\n }\n return formatter(x);\n },\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n quantile(q, formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n vals: [],\n push(record) {\n const x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n this.vals.push(x);\n }\n },\n value() {\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort((a, b) => a - b);\n const i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n runningStat(mode = 'mean', ddof = 1, formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push(record) {\n const x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n this.m = x;\n }\n const m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n this.m = m_new;\n },\n value() {\n if (mode === 'mean') {\n if (this.n === 0) {\n return 0 / 0;\n }\n return this.m;\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case 'var':\n return this.s / (this.n - ddof);\n case 'stdev':\n return Math.sqrt(this.s / (this.n - ddof));\n default:\n throw new Error('unknown mode for runningStat');\n }\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n sumOverSum(formatter = usFmt) {\n return function([num, denom]) {\n return function() {\n return {\n sumNum: 0,\n sumDenom: 0,\n push(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n this.sumDenom += parseFloat(record[denom]);\n }\n },\n value() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs:\n typeof num !== 'undefined' && typeof denom !== 'undefined' ? 0 : 2,\n };\n };\n };\n },\n\n fractionOf(wrapped, type = 'total', formatter = usFmtPct) {\n return (...x) =>\n function(data, rowKey, colKey) {\n return {\n selector: {total: [[], []], row: [rowKey, []], col: [[], colKey]}[\n type\n ],\n inner: wrapped(...Array.from(x || []))(data, rowKey, colKey),\n push(record) {\n this.inner.push(record);\n },\n format: formatter,\n value() {\n return (\n this.inner.value() /\n data\n .getAggregator(...Array.from(this.selector || []))\n .inner.value()\n );\n },\n numInputs: wrapped(...Array.from(x || []))().numInputs,\n };\n };\n },\n};\n\naggregatorTemplates.countUnique = f =>\n aggregatorTemplates.uniques(x => x.length, f);\naggregatorTemplates.listUnique = s =>\n aggregatorTemplates.uniques(\n x => x.join(s),\n x => x\n );\naggregatorTemplates.max = f => aggregatorTemplates.extremes('max', f);\naggregatorTemplates.min = f => aggregatorTemplates.extremes('min', f);\naggregatorTemplates.first = f => aggregatorTemplates.extremes('first', f);\naggregatorTemplates.last = f => aggregatorTemplates.extremes('last', f);\naggregatorTemplates.median = f => aggregatorTemplates.quantile(0.5, f);\naggregatorTemplates.average = f =>\n aggregatorTemplates.runningStat('mean', 1, f);\naggregatorTemplates.var = (ddof, f) =>\n aggregatorTemplates.runningStat('var', ddof, f);\naggregatorTemplates.stdev = (ddof, f) =>\n aggregatorTemplates.runningStat('stdev', ddof, f);\n\n// default aggregators & renderers use US naming and number formatting\nconst aggregators = (tpl => ({\n Count: tpl.count(usFmtInt),\n 'Count Unique Values': tpl.countUnique(usFmtInt),\n 'List Unique Values': tpl.listUnique(', '),\n Sum: tpl.sum(usFmt),\n 'Integer Sum': tpl.sum(usFmtInt),\n Average: tpl.average(usFmt),\n Median: tpl.median(usFmt),\n 'Sample Variance': tpl.var(1, usFmt),\n 'Sample Standard Deviation': tpl.stdev(1, usFmt),\n Minimum: tpl.min(usFmt),\n Maximum: tpl.max(usFmt),\n First: tpl.first(usFmt),\n Last: tpl.last(usFmt),\n 'Sum over Sum': tpl.sumOverSum(usFmt),\n 'Sum as Fraction of Total': tpl.fractionOf(tpl.sum(), 'total', usFmtPct),\n 'Sum as Fraction of Rows': tpl.fractionOf(tpl.sum(), 'row', usFmtPct),\n 'Sum as Fraction of Columns': tpl.fractionOf(tpl.sum(), 'col', usFmtPct),\n 'Count as Fraction of Total': tpl.fractionOf(tpl.count(), 'total', usFmtPct),\n 'Count as Fraction of Rows': tpl.fractionOf(tpl.count(), 'row', usFmtPct),\n 'Count as Fraction of Columns': tpl.fractionOf(tpl.count(), 'col', usFmtPct),\n}))(aggregatorTemplates);\n\nconst locales = {\n en: {\n aggregators,\n localeStrings: {\n renderError: 'An error occurred rendering the PivotTable results.',\n computeError: 'An error occurred computing the PivotTable results.',\n uiRenderError: 'An error occurred rendering the PivotTable UI.',\n selectAll: 'Select All',\n selectNone: 'Select None',\n tooMany: '(too many to list)',\n filterResults: 'Filter values',\n apply: 'Apply',\n cancel: 'Cancel',\n totals: 'Totals',\n vs: 'vs',\n by: 'by',\n },\n },\n};\n\n// dateFormat deriver l10n requires month and day names to be passed in directly\nconst mthNamesEn = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\nconst dayNamesEn = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst zeroPad = number => `0${number}`.substr(-2, 2); // eslint-disable-line no-magic-numbers\n\nconst derivers = {\n bin(col, binWidth) {\n return record => record[col] - (record[col] % binWidth);\n },\n dateFormat(\n col,\n formatString,\n utcOutput = false,\n mthNames = mthNamesEn,\n dayNames = dayNamesEn\n ) {\n const utc = utcOutput ? 'UTC' : '';\n return function(record) {\n const date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return '';\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case 'y':\n return date[`get${utc}FullYear`]();\n case 'm':\n return zeroPad(date[`get${utc}Month`]() + 1);\n case 'n':\n return mthNames[date[`get${utc}Month`]()];\n case 'd':\n return zeroPad(date[`get${utc}Date`]());\n case 'w':\n return dayNames[date[`get${utc}Day`]()];\n case 'x':\n return date[`get${utc}Day`]();\n case 'H':\n return zeroPad(date[`get${utc}Hours`]());\n case 'M':\n return zeroPad(date[`get${utc}Minutes`]());\n case 'S':\n return zeroPad(date[`get${utc}Seconds`]());\n default:\n return `%${p}`;\n }\n });\n };\n },\n};\n\n// Given an array of attribute values, convert to a key that\n// can be used in objects.\nconst flatKey = attrVals => attrVals.join(String.fromCharCode(0));\n\n/*\nData Model class\n*/\n\nclass PivotData {\n constructor(inputProps = {}) {\n this.props = Object.assign({}, PivotData.defaultProps, inputProps);\n PropTypes.checkPropTypes(\n PivotData.propTypes,\n this.props,\n 'prop',\n 'PivotData'\n );\n\n this.aggregator = this.props.aggregators[this.props.aggregatorName](\n this.props.vals\n );\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n\n PivotData.forEachRecord(\n this.props.data,\n this.props.derivedAttributes,\n record => {\n if (this.filter(record)) {\n this.processRecord(record);\n }\n }\n );\n }\n\n filter(record) {\n for (const k in this.props.valueFilter) {\n if (record[k] in this.props.valueFilter[k]) {\n return false;\n }\n }\n return true;\n }\n\n forEachMatchingRecord(criteria, callback) {\n return PivotData.forEachRecord(\n this.props.data,\n this.props.derivedAttributes,\n record => {\n if (!this.filter(record)) {\n return;\n }\n for (const k in criteria) {\n const v = criteria[k];\n if (v !== (k in record ? record[k] : 'null')) {\n return;\n }\n }\n callback(record);\n }\n );\n }\n\n arrSort(attrs) {\n let a;\n const sortersArr = (() => {\n const result = [];\n for (a of Array.from(attrs)) {\n result.push(getSort(this.props.sorters, a));\n }\n return result;\n })();\n return function(a, b) {\n for (const i of Object.keys(sortersArr || {})) {\n const sorter = sortersArr[i];\n const comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n }\n\n sortKeys() {\n if (!this.sorted) {\n this.sorted = true;\n const v = (r, c) => this.getAggregator(r, c).value();\n switch (this.props.rowOrder) {\n case 'value_a_to_z':\n this.rowKeys.sort((a, b) => naturalSort(v(a, []), v(b, [])));\n break;\n case 'value_z_to_a':\n this.rowKeys.sort((a, b) => -naturalSort(v(a, []), v(b, [])));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.props.rows));\n }\n switch (this.props.colOrder) {\n case 'value_a_to_z':\n this.colKeys.sort((a, b) => naturalSort(v([], a), v([], b)));\n break;\n case 'value_z_to_a':\n this.colKeys.sort((a, b) => -naturalSort(v([], a), v([], b)));\n break;\n default:\n this.colKeys.sort(this.arrSort(this.props.cols));\n }\n }\n }\n\n getColKeys() {\n this.sortKeys();\n return this.colKeys;\n }\n\n getRowKeys() {\n this.sortKeys();\n return this.rowKeys;\n }\n\n processRecord(record) {\n // this code is called in a tight loop\n const colKey = [];\n const rowKey = [];\n for (const x of Array.from(this.props.cols)) {\n colKey.push(x in record ? record[x] : 'null');\n }\n for (const x of Array.from(this.props.rows)) {\n rowKey.push(x in record ? record[x] : 'null');\n }\n const flatRowKey = rowKey.join(String.fromCharCode(0));\n const flatColKey = colKey.join(String.fromCharCode(0));\n\n this.allTotal.push(record);\n\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(\n this,\n rowKey,\n colKey\n );\n }\n this.tree[flatRowKey][flatColKey].push(record);\n }\n }\n\n getAggregator(rowKey, colKey) {\n let agg;\n const flatRowKey = rowKey.join(String.fromCharCode(0));\n const flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return (\n agg || {\n value() {\n return null;\n },\n format() {\n return '';\n },\n }\n );\n }\n\n forEachTotal(callback) {\n // Process row totals\n this.getRowKeys().forEach((rowKey, i) => {\n callback([rowKey, null], i);\n });\n\n // Process column totals\n this.getColKeys().forEach((colKey, i) => {\n callback([null, colKey], i);\n });\n }\n\n forEachCell(callback) {\n this.getRowKeys().forEach(rowKey => {\n this.getColKeys().forEach(colKey => {\n const agg = this.getAggregator(rowKey, colKey);\n const value = agg.value();\n callback(value, rowKey, colKey);\n });\n });\n }\n}\n\n// can handle arrays or jQuery selections of tables\nPivotData.forEachRecord = function(input, derivedAttributes, f) {\n let addRecord, record;\n if (Object.getOwnPropertyNames(derivedAttributes).length === 0) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n for (const k in derivedAttributes) {\n const derived = derivedAttributes[k](record);\n if (derived !== null) {\n record[k] = derived;\n }\n }\n return f(record);\n };\n }\n\n // if it's a function, have it call us back\n if (typeof input === 'function') {\n return input(addRecord);\n } else if (Array.isArray(input)) {\n if (Array.isArray(input[0])) {\n // array of arrays\n return (() => {\n const result = [];\n for (const i of Object.keys(input || {})) {\n const compactRecord = input[i];\n if (i > 0) {\n record = {};\n for (const j of Object.keys(input[0] || {})) {\n const k = input[0][j];\n record[k] = compactRecord[j];\n }\n result.push(addRecord(record));\n }\n }\n return result;\n })();\n }\n\n // array of objects\n return (() => {\n const result1 = [];\n for (record of Array.from(input)) {\n result1.push(addRecord(record));\n }\n return result1;\n })();\n }\n throw new Error('unknown input format');\n};\n\nPivotData.defaultProps = {\n aggregators: aggregators,\n cols: [],\n rows: [],\n vals: [],\n aggregatorName: 'Count',\n sorters: {},\n valueFilter: {},\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n derivedAttributes: {},\n pagination: false,\n pageSize: 20,\n page: 1,\n};\n\nPivotData.propTypes = {\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func])\n .isRequired,\n aggregatorName: PropTypes.string,\n cols: PropTypes.arrayOf(PropTypes.string),\n rows: PropTypes.arrayOf(PropTypes.string),\n vals: PropTypes.arrayOf(PropTypes.string),\n valueFilter: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\n sorters: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.objectOf(PropTypes.func),\n ]),\n derivedAttributes: PropTypes.objectOf(PropTypes.func),\n rowOrder: PropTypes.oneOf(['key_a_to_z', 'value_a_to_z', 'value_z_to_a']),\n colOrder: PropTypes.oneOf(['key_a_to_z', 'value_a_to_z', 'value_z_to_a']),\n pagination: PropTypes.bool,\n pageSize: PropTypes.number,\n page: PropTypes.number,\n};\n\nexport {\n aggregatorTemplates,\n aggregators,\n derivers,\n locales,\n naturalSort,\n numberFormat,\n getSort,\n sortAs,\n flatKey,\n PivotData,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Utilities.js","names":["_propTypes","_interopRequireDefault","require","e","__esModule","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","String","Number","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","slice","constructor","name","test","l","u","f","next","done","push","value","addSeparators","nStr","thousandsSep","decimalSep","x","split","x1","x2","rgx","replace","concat","numberFormat","exports","opts_in","defaults","digitsAfterDecimal","scaler","prefix","suffix","opts","assign","isNaN","isFinite","result","toFixed","rx","rd","rz","naturalSort","as","bs","nas","nbs","b","match","a1","shift","b1","sortAs","order","mapping","l_mapping","toLowerCase","getSort","sorters","attr","sort","usFmt","usFmtInt","usFmtPct","aggregatorTemplates","count","formatter","arguments","undefined","format","uniques","fn","_ref","_ref2","uniq","record","includes","numInputs","sum","_ref3","_ref4","parseFloat","extremes","mode","_ref5","_ref6","data","val","sorter","Math","quantile","q","_ref7","_ref8","vals","floor","ceil","runningStat","ddof","_ref9","_ref0","m","s","m_new","sqrt","Error","sumOverSum","_ref1","_ref10","num","denom","sumNum","sumDenom","fractionOf","wrapped","type","_len","_key","rowKey","colKey","selector","total","row","col","inner","apply","getAggregator","countUnique","listUnique","join","max","min","first","last","median","average","stdev","aggregators","tpl","Count","Sum","Average","Median","Minimum","Maximum","First","Last","locales","en","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","cancel","totals","vs","by","mthNamesEn","dayNamesEn","zeroPad","number","substr","derivers","bin","binWidth","dateFormat","formatString","utcOutput","mthNames","dayNames","utc","date","Date","parse","p","flatKey","attrVals","fromCharCode","PivotData","_this","inputProps","sanitizedProps","keys","reduce","acc","props","defaultProps","PropTypes","checkPropTypes","propTypes","aggregator","aggregatorName","tree","rowKeys","colKeys","rowTotals","colTotals","allTotal","sorted","forEachRecord","derivedAttributes","filter","processRecord","k","valueFilter","forEachMatchingRecord","criteria","callback","_this2","v","arrSort","attrs","_this3","sortersArr","_i","_Array$from","_i2","_Object$keys","comparison","sortKeys","_this4","c","rowOrder","rows","colOrder","cols","getColKeys","getRowKeys","_i3","_Array$from2","_i4","_Array$from3","flatRowKey","flatColKey","agg","forEachTotal","forEach","forEachCell","_this5","input","addRecord","getOwnPropertyNames","derived","_i5","_Object$keys2","compactRecord","_i6","_Object$keys3","j","result1","_i7","_Array$from4","pagination","pageSize","page","oneOfType","array","object","func","isRequired","string","arrayOf","objectOf","bool","oneOf"],"sources":["src/Utilities.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\n/*\n * decaffeinate suggestions:\n * DS101: Remove unnecessary use of Array.from\n * DS102: Remove unnecessary code created because of implicit returns\n * DS104: Avoid inline assignments\n * DS201: Simplify complex destructure assignments\n * DS203: Remove `|| {}` from converted for-own loops\n * DS205: Consider reworking code to avoid use of IIFEs\n * DS207: Consider shorter variations of null checks\n * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md\n */\n\nconst addSeparators = function(nStr, thousandsSep, decimalSep) {\n const x = String(nStr).split('.');\n let x1 = x[0];\n const x2 = x.length > 1 ? decimalSep + x[1] : '';\n const rgx = /(\\d+)(\\d{3})/;\n while (rgx.test(x1)) {\n x1 = x1.replace(rgx, `$1${thousandsSep}$2`);\n }\n return x1 + x2;\n};\n\nconst numberFormat = function(opts_in) {\n const defaults = {\n digitsAfterDecimal: 2,\n scaler: 1,\n thousandsSep: ',',\n decimalSep: '.',\n prefix: '',\n suffix: '',\n };\n const opts = Object.assign({}, defaults, opts_in);\n return function(x) {\n if (isNaN(x) || !isFinite(x)) {\n return '';\n }\n const result = addSeparators(\n (opts.scaler * x).toFixed(opts.digitsAfterDecimal),\n opts.thousandsSep,\n opts.decimalSep\n );\n return `${opts.prefix}${result}${opts.suffix}`;\n };\n};\n\nconst rx = /(\\d+)|(\\D+)/g;\nconst rd = /\\d/;\nconst rz = /^0/;\nconst naturalSort = (as, bs) => {\n // nulls first\n if (bs !== null && as === null) {\n return -1;\n }\n if (as !== null && bs === null) {\n return 1;\n }\n\n // then raw NaNs\n if (typeof as === 'number' && isNaN(as)) {\n return -1;\n }\n if (typeof bs === 'number' && isNaN(bs)) {\n return 1;\n }\n\n // numbers and numbery strings group together\n const nas = Number(as);\n const nbs = Number(bs);\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n\n // within that, true numbers before numbery strings\n if (typeof as === 'number' && typeof bs !== 'number') {\n return -1;\n }\n if (typeof bs === 'number' && typeof as !== 'number') {\n return 1;\n }\n if (typeof as === 'number' && typeof bs === 'number') {\n return 0;\n }\n\n // 'Infinity' is a textual number, so less than 'A'\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n\n // finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n let a = String(as);\n let b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!rd.test(a) || !rd.test(b)) {\n return a > b ? 1 : -1;\n }\n\n // special treatment for strings containing digits\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n const a1 = a.shift();\n const b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return a1.replace(rz, '.0') - b1.replace(rz, '.0');\n }\n return a1 > b1 ? 1 : -1;\n }\n }\n return a.length - b.length;\n};\n\nconst sortAs = function(order) {\n const mapping = {};\n\n // sort lowercased keys similarly\n const l_mapping = {};\n for (const i in order) {\n const x = order[i];\n mapping[x] = i;\n if (typeof x === 'string') {\n l_mapping[x.toLowerCase()] = i;\n }\n }\n return function(a, b) {\n if (a in mapping && b in mapping) {\n return mapping[a] - mapping[b];\n } else if (a in mapping) {\n return -1;\n } else if (b in mapping) {\n return 1;\n } else if (a in l_mapping && b in l_mapping) {\n return l_mapping[a] - l_mapping[b];\n } else if (a in l_mapping) {\n return -1;\n } else if (b in l_mapping) {\n return 1;\n }\n return naturalSort(a, b);\n };\n};\n\nconst getSort = function(sorters, attr) {\n if (sorters) {\n if (typeof sorters === 'function') {\n const sort = sorters(attr);\n if (typeof sort === 'function') {\n return sort;\n }\n } else if (attr in sorters) {\n return sorters[attr];\n }\n }\n return naturalSort;\n};\n\n// aggregator templates default to US number formatting but this is overrideable\nconst usFmt = numberFormat();\nconst usFmtInt = numberFormat({digitsAfterDecimal: 0});\nconst usFmtPct = numberFormat({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: '%',\n});\n\nconst aggregatorTemplates = {\n count(formatter = usFmtInt) {\n return () =>\n function() {\n return {\n count: 0,\n push() {\n this.count++;\n },\n value() {\n return this.count;\n },\n format: formatter,\n };\n };\n },\n\n uniques(fn, formatter = usFmtInt) {\n return function([attr]) {\n return function() {\n return {\n uniq: [],\n push(record) {\n if (!Array.from(this.uniq).includes(record[attr])) {\n this.uniq.push(record[attr]);\n }\n },\n value() {\n return fn(this.uniq);\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n sum(formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n sum: 0,\n push(record) {\n if (!isNaN(parseFloat(record[attr]))) {\n this.sum += parseFloat(record[attr]);\n }\n },\n value() {\n return this.sum;\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n extremes(mode, formatter = usFmt) {\n return function([attr]) {\n return function(data) {\n return {\n val: null,\n sorter: getSort(\n typeof data !== 'undefined' ? data.sorters : null,\n attr\n ),\n push(record) {\n let x = record[attr];\n if (['min', 'max'].includes(mode)) {\n x = parseFloat(x);\n if (!isNaN(x)) {\n this.val = Math[mode](x, this.val !== null ? this.val : x);\n }\n }\n if (\n mode === 'first' &&\n this.sorter(x, this.val !== null ? this.val : x) <= 0\n ) {\n this.val = x;\n }\n if (\n mode === 'last' &&\n this.sorter(x, this.val !== null ? this.val : x) >= 0\n ) {\n this.val = x;\n }\n },\n value() {\n return this.val;\n },\n format(x) {\n if (isNaN(x)) {\n return x;\n }\n return formatter(x);\n },\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n quantile(q, formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n vals: [],\n push(record) {\n const x = parseFloat(record[attr]);\n if (!isNaN(x)) {\n this.vals.push(x);\n }\n },\n value() {\n if (this.vals.length === 0) {\n return null;\n }\n this.vals.sort((a, b) => a - b);\n const i = (this.vals.length - 1) * q;\n return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n runningStat(mode = 'mean', ddof = 1, formatter = usFmt) {\n return function([attr]) {\n return function() {\n return {\n n: 0.0,\n m: 0.0,\n s: 0.0,\n push(record) {\n const x = parseFloat(record[attr]);\n if (isNaN(x)) {\n return;\n }\n this.n += 1.0;\n if (this.n === 1.0) {\n this.m = x;\n }\n const m_new = this.m + (x - this.m) / this.n;\n this.s = this.s + (x - this.m) * (x - m_new);\n this.m = m_new;\n },\n value() {\n if (mode === 'mean') {\n if (this.n === 0) {\n return 0 / 0;\n }\n return this.m;\n }\n if (this.n <= ddof) {\n return 0;\n }\n switch (mode) {\n case 'var':\n return this.s / (this.n - ddof);\n case 'stdev':\n return Math.sqrt(this.s / (this.n - ddof));\n default:\n throw new Error('unknown mode for runningStat');\n }\n },\n format: formatter,\n numInputs: typeof attr !== 'undefined' ? 0 : 1,\n };\n };\n };\n },\n\n sumOverSum(formatter = usFmt) {\n return function([num, denom]) {\n return function() {\n return {\n sumNum: 0,\n sumDenom: 0,\n push(record) {\n if (!isNaN(parseFloat(record[num]))) {\n this.sumNum += parseFloat(record[num]);\n }\n if (!isNaN(parseFloat(record[denom]))) {\n this.sumDenom += parseFloat(record[denom]);\n }\n },\n value() {\n return this.sumNum / this.sumDenom;\n },\n format: formatter,\n numInputs:\n typeof num !== 'undefined' && typeof denom !== 'undefined' ? 0 : 2,\n };\n };\n };\n },\n\n fractionOf(wrapped, type = 'total', formatter = usFmtPct) {\n return (...x) =>\n function(data, rowKey, colKey) {\n return {\n selector: {total: [[], []], row: [rowKey, []], col: [[], colKey]}[\n type\n ],\n inner: wrapped(...Array.from(x || []))(data, rowKey, colKey),\n push(record) {\n this.inner.push(record);\n },\n format: formatter,\n value() {\n return (\n this.inner.value() /\n data\n .getAggregator(...Array.from(this.selector || []))\n .inner.value()\n );\n },\n numInputs: wrapped(...Array.from(x || []))().numInputs,\n };\n };\n },\n};\n\naggregatorTemplates.countUnique = f =>\n aggregatorTemplates.uniques(x => x.length, f);\naggregatorTemplates.listUnique = s =>\n aggregatorTemplates.uniques(\n x => x.join(s),\n x => x\n );\naggregatorTemplates.max = f => aggregatorTemplates.extremes('max', f);\naggregatorTemplates.min = f => aggregatorTemplates.extremes('min', f);\naggregatorTemplates.first = f => aggregatorTemplates.extremes('first', f);\naggregatorTemplates.last = f => aggregatorTemplates.extremes('last', f);\naggregatorTemplates.median = f => aggregatorTemplates.quantile(0.5, f);\naggregatorTemplates.average = f =>\n aggregatorTemplates.runningStat('mean', 1, f);\naggregatorTemplates.var = (ddof, f) =>\n aggregatorTemplates.runningStat('var', ddof, f);\naggregatorTemplates.stdev = (ddof, f) =>\n aggregatorTemplates.runningStat('stdev', ddof, f);\n\n// default aggregators & renderers use US naming and number formatting\nconst aggregators = (tpl => ({\n Count: tpl.count(usFmtInt),\n 'Count Unique Values': tpl.countUnique(usFmtInt),\n 'List Unique Values': tpl.listUnique(', '),\n Sum: tpl.sum(usFmt),\n 'Integer Sum': tpl.sum(usFmtInt),\n Average: tpl.average(usFmt),\n Median: tpl.median(usFmt),\n 'Sample Variance': tpl.var(1, usFmt),\n 'Sample Standard Deviation': tpl.stdev(1, usFmt),\n Minimum: tpl.min(usFmt),\n Maximum: tpl.max(usFmt),\n First: tpl.first(usFmt),\n Last: tpl.last(usFmt),\n 'Sum over Sum': tpl.sumOverSum(usFmt),\n 'Sum as Fraction of Total': tpl.fractionOf(tpl.sum(), 'total', usFmtPct),\n 'Sum as Fraction of Rows': tpl.fractionOf(tpl.sum(), 'row', usFmtPct),\n 'Sum as Fraction of Columns': tpl.fractionOf(tpl.sum(), 'col', usFmtPct),\n 'Count as Fraction of Total': tpl.fractionOf(tpl.count(), 'total', usFmtPct),\n 'Count as Fraction of Rows': tpl.fractionOf(tpl.count(), 'row', usFmtPct),\n 'Count as Fraction of Columns': tpl.fractionOf(tpl.count(), 'col', usFmtPct),\n}))(aggregatorTemplates);\n\nconst locales = {\n en: {\n aggregators,\n localeStrings: {\n renderError: 'An error occurred rendering the PivotTable results.',\n computeError: 'An error occurred computing the PivotTable results.',\n uiRenderError: 'An error occurred rendering the PivotTable UI.',\n selectAll: 'Select All',\n selectNone: 'Select None',\n tooMany: '(too many to list)',\n filterResults: 'Filter values',\n apply: 'Apply',\n cancel: 'Cancel',\n totals: 'Totals',\n vs: 'vs',\n by: 'by',\n },\n },\n};\n\n// dateFormat deriver l10n requires month and day names to be passed in directly\nconst mthNamesEn = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec',\n];\nconst dayNamesEn = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nconst zeroPad = number => `0${number}`.substr(-2, 2); // eslint-disable-line no-magic-numbers\n\nconst derivers = {\n bin(col, binWidth) {\n return record => record[col] - (record[col] % binWidth);\n },\n dateFormat(\n col,\n formatString,\n utcOutput = false,\n mthNames = mthNamesEn,\n dayNames = dayNamesEn\n ) {\n const utc = utcOutput ? 'UTC' : '';\n return function(record) {\n const date = new Date(Date.parse(record[col]));\n if (isNaN(date)) {\n return '';\n }\n return formatString.replace(/%(.)/g, function(m, p) {\n switch (p) {\n case 'y':\n return date[`get${utc}FullYear`]();\n case 'm':\n return zeroPad(date[`get${utc}Month`]() + 1);\n case 'n':\n return mthNames[date[`get${utc}Month`]()];\n case 'd':\n return zeroPad(date[`get${utc}Date`]());\n case 'w':\n return dayNames[date[`get${utc}Day`]()];\n case 'x':\n return date[`get${utc}Day`]();\n case 'H':\n return zeroPad(date[`get${utc}Hours`]());\n case 'M':\n return zeroPad(date[`get${utc}Minutes`]());\n case 'S':\n return zeroPad(date[`get${utc}Seconds`]());\n default:\n return `%${p}`;\n }\n });\n };\n },\n};\n\n// Given an array of attribute values, convert to a key that\n// can be used in objects.\nconst flatKey = attrVals => attrVals.join(String.fromCharCode(0));\n\n/*\nData Model class\n*/\n\nclass PivotData {\n constructor(inputProps = {}) {\n const sanitizedProps = Object.keys(inputProps).reduce((acc, key) => {\n if (inputProps[key] !== undefined) {\n acc[key] = inputProps[key];\n }\n return acc;\n }, {});\n this.props = Object.assign({}, PivotData.defaultProps, sanitizedProps);\n PropTypes.checkPropTypes(\n PivotData.propTypes,\n this.props,\n 'prop',\n 'PivotData'\n );\n\n this.aggregator = this.props.aggregators[this.props.aggregatorName](\n this.props.vals\n );\n this.tree = {};\n this.rowKeys = [];\n this.colKeys = [];\n this.rowTotals = {};\n this.colTotals = {};\n this.allTotal = this.aggregator(this, [], []);\n this.sorted = false;\n\n PivotData.forEachRecord(\n this.props.data,\n this.props.derivedAttributes,\n record => {\n if (this.filter(record)) {\n this.processRecord(record);\n }\n }\n );\n }\n\n filter(record) {\n for (const k in this.props.valueFilter) {\n if (record[k] in this.props.valueFilter[k]) {\n return false;\n }\n }\n return true;\n }\n\n forEachMatchingRecord(criteria, callback) {\n return PivotData.forEachRecord(\n this.props.data,\n this.props.derivedAttributes,\n record => {\n if (!this.filter(record)) {\n return;\n }\n for (const k in criteria) {\n const v = criteria[k];\n if (v !== (k in record ? record[k] : 'null')) {\n return;\n }\n }\n callback(record);\n }\n );\n }\n\n arrSort(attrs) {\n let a;\n const sortersArr = (() => {\n const result = [];\n for (a of Array.from(attrs)) {\n result.push(getSort(this.props.sorters, a));\n }\n return result;\n })();\n return function(a, b) {\n for (const i of Object.keys(sortersArr || {})) {\n const sorter = sortersArr[i];\n const comparison = sorter(a[i], b[i]);\n if (comparison !== 0) {\n return comparison;\n }\n }\n return 0;\n };\n }\n\n sortKeys() {\n if (!this.sorted) {\n this.sorted = true;\n const v = (r, c) => this.getAggregator(r, c).value();\n switch (this.props.rowOrder) {\n case 'value_a_to_z':\n this.rowKeys.sort((a, b) => naturalSort(v(a, []), v(b, [])));\n break;\n case 'value_z_to_a':\n this.rowKeys.sort((a, b) => -naturalSort(v(a, []), v(b, [])));\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.props.rows));\n }\n switch (this.props.colOrder) {\n case 'value_a_to_z':\n this.colKeys.sort((a, b) => naturalSort(v([], a), v([], b)));\n break;\n case 'value_z_to_a':\n this.colKeys.sort((a, b) => -naturalSort(v([], a), v([], b)));\n break;\n default:\n this.colKeys.sort(this.arrSort(this.props.cols));\n }\n }\n }\n\n getColKeys() {\n this.sortKeys();\n return this.colKeys;\n }\n\n getRowKeys() {\n this.sortKeys();\n return this.rowKeys;\n }\n\n processRecord(record) {\n // this code is called in a tight loop\n const colKey = [];\n const rowKey = [];\n for (const x of Array.from(this.props.cols)) {\n colKey.push(x in record ? record[x] : 'null');\n }\n for (const x of Array.from(this.props.rows)) {\n rowKey.push(x in record ? record[x] : 'null');\n }\n const flatRowKey = rowKey.join(String.fromCharCode(0));\n const flatColKey = colKey.join(String.fromCharCode(0));\n\n this.allTotal.push(record);\n\n if (rowKey.length !== 0) {\n if (!this.rowTotals[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);\n }\n this.rowTotals[flatRowKey].push(record);\n }\n\n if (colKey.length !== 0) {\n if (!this.colTotals[flatColKey]) {\n this.colKeys.push(colKey);\n this.colTotals[flatColKey] = this.aggregator(this, [], colKey);\n }\n this.colTotals[flatColKey].push(record);\n }\n\n if (colKey.length !== 0 && rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (!this.tree[flatRowKey][flatColKey]) {\n this.tree[flatRowKey][flatColKey] = this.aggregator(\n this,\n rowKey,\n colKey\n );\n }\n this.tree[flatRowKey][flatColKey].push(record);\n }\n }\n\n getAggregator(rowKey, colKey) {\n let agg;\n const flatRowKey = rowKey.join(String.fromCharCode(0));\n const flatColKey = colKey.join(String.fromCharCode(0));\n if (rowKey.length === 0 && colKey.length === 0) {\n agg = this.allTotal;\n } else if (rowKey.length === 0) {\n agg = this.colTotals[flatColKey];\n } else if (colKey.length === 0) {\n agg = this.rowTotals[flatRowKey];\n } else {\n agg = this.tree[flatRowKey][flatColKey];\n }\n return (\n agg || {\n value() {\n return null;\n },\n format() {\n return '';\n },\n }\n );\n }\n\n forEachTotal(callback) {\n // Process row totals\n this.getRowKeys().forEach((rowKey, i) => {\n callback([rowKey, null], i);\n });\n\n // Process column totals\n this.getColKeys().forEach((colKey, i) => {\n callback([null, colKey], i);\n });\n }\n\n forEachCell(callback) {\n this.getRowKeys().forEach(rowKey => {\n this.getColKeys().forEach(colKey => {\n const agg = this.getAggregator(rowKey, colKey);\n const value = agg.value();\n callback(value, rowKey, colKey);\n });\n });\n }\n}\n\n// can handle arrays or jQuery selections of tables\nPivotData.forEachRecord = function(input, derivedAttributes, f) {\n let addRecord, record;\n if (Object.getOwnPropertyNames(derivedAttributes).length === 0) {\n addRecord = f;\n } else {\n addRecord = function(record) {\n for (const k in derivedAttributes) {\n const derived = derivedAttributes[k](record);\n if (derived !== null) {\n record[k] = derived;\n }\n }\n return f(record);\n };\n }\n\n // if it's a function, have it call us back\n if (typeof input === 'function') {\n return input(addRecord);\n } else if (Array.isArray(input)) {\n if (Array.isArray(input[0])) {\n // array of arrays\n return (() => {\n const result = [];\n for (const i of Object.keys(input || {})) {\n const compactRecord = input[i];\n if (i > 0) {\n record = {};\n for (const j of Object.keys(input[0] || {})) {\n const k = input[0][j];\n record[k] = compactRecord[j];\n }\n result.push(addRecord(record));\n }\n }\n return result;\n })();\n }\n\n // array of objects\n return (() => {\n const result1 = [];\n for (record of Array.from(input)) {\n result1.push(addRecord(record));\n }\n return result1;\n })();\n }\n throw new Error('unknown input format');\n};\n\nPivotData.defaultProps = {\n aggregators: aggregators,\n cols: [],\n rows: [],\n vals: [],\n aggregatorName: 'Count',\n sorters: {},\n valueFilter: {},\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n derivedAttributes: {},\n pagination: false,\n pageSize: 20,\n page: 1,\n};\n\nPivotData.propTypes = {\n data: PropTypes.oneOfType([PropTypes.array, PropTypes.object, PropTypes.func])\n .isRequired,\n aggregatorName: PropTypes.string,\n cols: PropTypes.arrayOf(PropTypes.string),\n rows: PropTypes.arrayOf(PropTypes.string),\n vals: PropTypes.arrayOf(PropTypes.string),\n valueFilter: PropTypes.objectOf(PropTypes.objectOf(PropTypes.bool)),\n sorters: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.objectOf(PropTypes.func),\n ]),\n derivedAttributes: PropTypes.objectOf(PropTypes.func),\n rowOrder: PropTypes.oneOf(['key_a_to_z', 'value_a_to_z', 'value_z_to_a']),\n colOrder: PropTypes.oneOf(['key_a_to_z', 'value_a_to_z', 'value_z_to_a']),\n pagination: PropTypes.bool,\n pageSize: PropTypes.number,\n page: PropTypes.number,\n};\n\nexport {\n aggregatorTemplates,\n aggregators,\n derivers,\n locales,\n naturalSort,\n numberFormat,\n getSort,\n sortAs,\n flatKey,\n PivotData,\n};\n"],"mappings":"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","ignoreList":[]}
package/hooks/usePivot.js CHANGED
@@ -19,6 +19,13 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
19
19
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
20
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
21
  function usePivot(initialProps) {
22
+ var sanitizedInitialProps = Object.keys(initialProps).reduce(function (acc, key) {
23
+ if (initialProps[key] !== undefined) {
24
+ acc[key] = initialProps[key];
25
+ }
26
+ return acc;
27
+ }, {});
28
+
22
29
  // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos
23
30
  var initialPropsRef = (0, _react.useRef)(initialProps);
24
31
  (0, _react.useEffect)(function () {
@@ -42,7 +49,7 @@ function usePivot(initialProps) {
42
49
  pagination: false,
43
50
  pageSize: 20,
44
51
  page: 1
45
- }, initialProps)),
52
+ }, sanitizedInitialProps)),
46
53
  _useState2 = _slicedToArray(_useState, 2),
47
54
  props = _useState2[0],
48
55
  setProps = _useState2[1];
@@ -57,8 +64,14 @@ function usePivot(initialProps) {
57
64
 
58
65
  // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta
59
66
  (0, _react.useEffect)(function () {
67
+ var sanitizedSync = Object.keys(initialProps).reduce(function (acc, key) {
68
+ if (initialProps[key] !== undefined) {
69
+ acc[key] = initialProps[key];
70
+ }
71
+ return acc;
72
+ }, {});
60
73
  setProps(function (prev) {
61
- return _objectSpread(_objectSpread({}, prev), initialProps);
74
+ return _objectSpread(_objectSpread({}, prev), sanitizedSync);
62
75
  });
63
76
  }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);
64
77
 
@@ -1 +1 @@
1
- {"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","key","finalValue","v","trim","newProps","c","includes","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","reduce","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { PivotData } from '../Utilities';\n\nexport function usePivot(initialProps) {\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\n const initialPropsRef = useRef(initialProps);\n useEffect(() => {\n initialPropsRef.current = initialProps;\n }, [initialProps]);\n\n const [props, setProps] = useState({\n data: [],\n rows: [],\n cols: [],\n vals: [],\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n aggregatorName: 'Count',\n rendererName: 'Table',\n valueFilter: {},\n sorters: {},\n derivedAttributes: {},\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n pagination: false,\n pageSize: 20,\n page: 1,\n ...initialProps\n });\n\n const [state, setState] = useState({\n attrValues: {},\n materializedInput: [],\n unusedOrder: []\n });\n\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\n useEffect(() => {\n setProps(prev => ({ ...prev, ...initialProps }));\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\n\n // Materializar la entrada\n useEffect(() => {\n const materializedInput = [];\n const attrValues = {};\n let recordsProcessed = 0;\n\n PivotData.forEachRecord(\n props.data,\n props.derivedAttributes,\n function(record) {\n materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in attrValues)) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr].null = recordsProcessed;\n }\n }\n }\n for (const attr in attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in attrValues[attr])) {\n attrValues[attr][value] = 0;\n }\n attrValues[attr][value]++;\n }\n recordsProcessed++;\n }\n );\n\n setState(s => ({ ...s, attrValues, materializedInput }));\n }, [props.data, props.derivedAttributes]);\n\n const updateProp = useCallback((key, value) => {\n setProps(prev => {\n let finalValue = value;\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\n finalValue = value.filter(v => v && v.trim() !== '');\n }\n\n const newProps = { ...prev, [key]: finalValue };\n \n if (key === 'rows') {\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\n } else if (key === 'cols') {\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\n }\n\n if (initialPropsRef.current.onChange) {\n initialPropsRef.current.onChange(newProps);\n }\n\n return newProps;\n });\n }, []);\n\n const toggleFilter = useCallback((attribute, value) => {\n setProps(prev => {\n const filter = { ...prev.valueFilter[attribute] };\n if (value in filter) {\n delete filter[value];\n } else {\n filter[value] = true;\n }\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\n const newProps = { ...prev, valueFilter: newValueFilter };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n setProps(prev => {\n const newFilter = values.reduce((r, v) => {\n r[v] = true;\n return r;\n }, {});\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n return {\n props,\n state,\n actions: {\n setProps,\n updateProp,\n toggleFilter,\n setValuesInFilter,\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","sanitizedInitialProps","reduce","acc","key","undefined","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","sanitizedSync","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","finalValue","v","trim","newProps","c","includes","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { PivotData } from '../Utilities';\n\nexport function usePivot(initialProps) {\n const sanitizedInitialProps = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\n const initialPropsRef = useRef(initialProps);\n useEffect(() => {\n initialPropsRef.current = initialProps;\n }, [initialProps]);\n\n const [props, setProps] = useState({\n data: [],\n rows: [],\n cols: [],\n vals: [],\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n aggregatorName: 'Count',\n rendererName: 'Table',\n valueFilter: {},\n sorters: {},\n derivedAttributes: {},\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n pagination: false,\n pageSize: 20,\n page: 1,\n ...sanitizedInitialProps\n });\n\n const [state, setState] = useState({\n attrValues: {},\n materializedInput: [],\n unusedOrder: []\n });\n\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\n useEffect(() => {\n const sanitizedSync = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n setProps(prev => ({ ...prev, ...sanitizedSync }));\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\n\n // Materializar la entrada\n useEffect(() => {\n const materializedInput = [];\n const attrValues = {};\n let recordsProcessed = 0;\n\n PivotData.forEachRecord(\n props.data,\n props.derivedAttributes,\n function(record) {\n materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in attrValues)) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr].null = recordsProcessed;\n }\n }\n }\n for (const attr in attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in attrValues[attr])) {\n attrValues[attr][value] = 0;\n }\n attrValues[attr][value]++;\n }\n recordsProcessed++;\n }\n );\n\n setState(s => ({ ...s, attrValues, materializedInput }));\n }, [props.data, props.derivedAttributes]);\n\n const updateProp = useCallback((key, value) => {\n setProps(prev => {\n let finalValue = value;\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\n finalValue = value.filter(v => v && v.trim() !== '');\n }\n\n const newProps = { ...prev, [key]: finalValue };\n \n if (key === 'rows') {\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\n } else if (key === 'cols') {\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\n }\n\n if (initialPropsRef.current.onChange) {\n initialPropsRef.current.onChange(newProps);\n }\n\n return newProps;\n });\n }, []);\n\n const toggleFilter = useCallback((attribute, value) => {\n setProps(prev => {\n const filter = { ...prev.valueFilter[attribute] };\n if (value in filter) {\n delete filter[value];\n } else {\n filter[value] = true;\n }\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\n const newProps = { ...prev, valueFilter: newValueFilter };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n setProps(prev => {\n const newFilter = values.reduce((r, v) => {\n r[v] = true;\n return r;\n }, {});\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n return {\n props,\n state,\n actions: {\n setProps,\n updateProp,\n toggleFilter,\n setValuesInFilter,\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\n }\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.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
6
6
  "main": "PivotTableUI.js",