react-pivottable-plus 1.0.14 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/PivotTableUI.js +147 -213
- package/dist/PivotTableUI.js.map +1 -1
- package/dist/TableRenderers.js +273 -49
- package/dist/TableRenderers.js.map +1 -1
- package/dist/core/CellPipeline.js +167 -0
- package/dist/core/CellPipeline.js.map +1 -0
- package/dist/core/ColumnEngine.js +299 -0
- package/dist/core/ColumnEngine.js.map +1 -0
- package/dist/core/EventBus.js +109 -0
- package/dist/core/EventBus.js.map +1 -0
- package/dist/core/ModuleRegistry.js +140 -0
- package/dist/core/ModuleRegistry.js.map +1 -0
- package/dist/core/PivotCore.js +254 -0
- package/dist/core/PivotCore.js.map +1 -0
- package/dist/core/PivotEngine.js +151 -0
- package/dist/core/PivotEngine.js.map +1 -0
- package/dist/core/StateManager.js +142 -0
- package/dist/core/StateManager.js.map +1 -0
- package/dist/core/VirtualScroller.js +138 -0
- package/dist/core/VirtualScroller.js.map +1 -0
- package/dist/core/api/ColumnApi.js +162 -0
- package/dist/core/api/ColumnApi.js.map +1 -0
- package/dist/core/api/GridApi.js +208 -0
- package/dist/core/api/GridApi.js.map +1 -0
- package/dist/core/index.js +89 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/rowModels/ClientSideRowModel.js +177 -0
- package/dist/core/rowModels/ClientSideRowModel.js.map +1 -0
- package/dist/core/rowModels/index.js +13 -0
- package/dist/core/rowModels/index.js.map +1 -0
- package/dist/hooks/useColumnResize.js +112 -0
- package/dist/hooks/useColumnResize.js.map +1 -0
- package/dist/hooks/usePivot.js +68 -155
- package/dist/hooks/usePivot.js.map +1 -1
- package/dist/modules/FilterModule.js +156 -0
- package/dist/modules/FilterModule.js.map +1 -0
- package/dist/modules/PaginationModule.js +115 -0
- package/dist/modules/PaginationModule.js.map +1 -0
- package/dist/modules/SortModule.js +88 -0
- package/dist/modules/SortModule.js.map +1 -0
- package/dist/modules/ThemeModule.js +83 -0
- package/dist/modules/ThemeModule.js.map +1 -0
- package/dist/modules/VirtualizationModule.js +89 -0
- package/dist/modules/VirtualizationModule.js.map +1 -0
- package/dist/modules/index.js +41 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/react/index.js +13 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/usePivotGrid.js +116 -0
- package/dist/react/usePivotGrid.js.map +1 -0
- package/dist/renderers/RadixUI.js +1 -1
- package/dist/renderers/RadixUI.js.map +1 -1
- package/dist/renderers/ShadcnDashboardUI.js +1 -1
- package/dist/renderers/ShadcnDashboardUI.js.map +1 -1
- package/dist/renderers/TailwindUI.js +1 -1
- package/dist/renderers/TailwindUI.js.map +1 -1
- package/package.json +8 -5
- package/pivottable.css +69 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRenderers.js","names":["_react","_interopRequireDefault","require","_propTypes","_Utilities","e","__esModule","_createForOfIteratorHelper","r","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_classCallCheck","_defineProperties","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","apply","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","bind","__proto__","_inherits","create","_setPrototypeOf","spanSize","arr","j","no_loop","arguments","undefined","x","asc","end","noDraw","len","asc1","end1","stop","redColorScaleGenerator","values","min","Math","max","nonRed","round","backgroundColor","concat","flatKey","join","fromCharCode","has","set","every","add","forEach","remove","toggle","makeRenderer","opts","TableRenderer","_React$PureComponent","render","_this","pivotData","PivotData","props","id","colAttrs","cols","rowAttrs","rows","rowKeys","getRowKeys","colKeys","getColKeys","grandTotalAggregator","getAggregator","grouping","compactRows","specialCase","rowGroupBefore","folded","state","Set","isFolded","keys","map","fold","setState","_iterator","_step","_loop","filter","colKey","startsWith","rowKey","err","totalRows","startOffset","pagination","start","page","pageSize","showRowNumbers","valueCellColors","rowTotalColors","colTotalColors","heatmapMode","colorScaleGenerator","tableColorScaleGenerator","rowTotalValues","colTotalValues","allValues","c","push","colorScale","v","rowColorScales","rowValues","colColorScales","colValues","getClickHandler","tableOptions","clickCallback","filters","_i","_Object$keys","attr","_i2","_Object$keys2","rbClass","cbClass","colGroupBefore","clickClass","pred","closed","createElement","className","clickable","levelKeys","rowSpan","colSpan","onClick","_","totalAggregator","rowGap","rowTotalValue","txt","style","paddingLeft","aggregator","colGap","val","isNumeric","format","padIdx","totalVal","React","PureComponent","defaultProps","propTypes","PropTypes","func","object","bool","TSVExportRenderer","_React$PureComponent2","headerRow","aggregatorName","result","row","unshift","width","window","innerWidth","height","innerHeight","readOnly","_default","exports","Table"],"sources":["../src/TableRenderers.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PivotData } from './Utilities';\n\n// helper function for setting row/col-span in pivotTableRenderer\nconst spanSize = function (arr, i, j, no_loop = false) {\n let x;\n if (i !== 0) {\n let asc, end;\n let noDraw = true;\n for (\n x = 0, end = j, asc = end >= 0;\n asc ? x <= end : x >= end;\n asc ? x++ : x--\n ) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n let len = 0;\n while (i + len < arr.length) {\n let asc1, end1;\n let stop = false;\n for (\n x = no_loop ? j : 0, end1 = j, asc1 = end1 >= 0;\n asc1 ? x <= end1 : x >= end1;\n asc1 ? x++ : x--\n ) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n};\n\nfunction redColorScaleGenerator(values) {\n const min = Math.min.apply(Math, values);\n const max = Math.max.apply(Math, values);\n return x => {\n // eslint-disable-next-line no-magic-numbers\n const nonRed = 255 - Math.round((255 * (x - min)) / (max - min));\n return { backgroundColor: `rgb(255,${nonRed},${nonRed})` };\n };\n}\n\nconst flatKey = arr => arr.join(String.fromCharCode(0));\nconst has = (set, arr) => arr.every(set.has, set);\nconst add = (set, arr) => (arr.forEach(set.add, set) || set);\nconst remove = (set, arr) => (arr.forEach(set.delete, set) || set);\nconst toggle = (set, arr) => (has(set, arr) ? remove : add)(set, arr);\n\nfunction makeRenderer(opts = {}) {\n class TableRenderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const id = pivotData.props.id;\n const colAttrs = pivotData.props.cols;\n const rowAttrs = pivotData.props.rows;\n let rowKeys = pivotData.getRowKeys(true);\n let colKeys = pivotData.getColKeys(true);\n const grandTotalAggregator = pivotData.getAggregator([], []);\n\n const grouping = pivotData.props.grouping;\n const compactRows = grouping && this.props.compactRows;\n // speacial case for spanSize counting (no_loop)\n const specialCase = grouping && !this.props.rowGroupBefore;\n const folded = (this.state || {}).folded || new Set();\n const isFolded = keys => has(folded, keys.map(flatKey));\n const fold = keys => this.setState({ folded: toggle(new Set(folded), keys.map(flatKey)) });\n\n if (grouping) {\n for (const key of folded) {\n colKeys = colKeys.filter(colKey => !flatKey(colKey).startsWith(key + String.fromCharCode(0)));\n rowKeys = rowKeys.filter(rowKey => !flatKey(rowKey).startsWith(key + String.fromCharCode(0)));\n }\n }\n\n const totalRows = rowKeys.length;\n let startOffset = 0;\n if (this.props.pagination) {\n const start = (this.props.page - 1) * this.props.pageSize;\n startOffset = start;\n const end = start + this.props.pageSize;\n rowKeys = rowKeys.slice(start, end);\n }\n const showRowNumbers = this.props.showRowNumbers !== false;\n\n let valueCellColors = () => { };\n let rowTotalColors = () => { };\n let colTotalColors = () => { };\n if (opts.heatmapMode) {\n const colorScaleGenerator = this.props.tableColorScaleGenerator;\n const rowTotalValues = colKeys.map(x =>\n pivotData.getAggregator([], x).value()\n );\n rowTotalColors = colorScaleGenerator(rowTotalValues);\n const colTotalValues = rowKeys.map(x =>\n pivotData.getAggregator(x, []).value()\n );\n colTotalColors = colorScaleGenerator(colTotalValues);\n\n if (opts.heatmapMode === 'full') {\n const allValues = [];\n rowKeys.map(r =>\n colKeys.map(c =>\n allValues.push(pivotData.getAggregator(r, c).value())\n )\n );\n const colorScale = colorScaleGenerator(allValues);\n valueCellColors = (r, c, v) => colorScale(v);\n } else if (opts.heatmapMode === 'row') {\n const rowColorScales = {};\n rowKeys.map(r => {\n const rowValues = colKeys.map(x =>\n pivotData.getAggregator(r, x).value()\n );\n rowColorScales[r] = colorScaleGenerator(rowValues);\n });\n valueCellColors = (r, c, v) => rowColorScales[r](v);\n } else if (opts.heatmapMode === 'col') {\n const colColorScales = {};\n colKeys.map(c => {\n const colValues = rowKeys.map(x =>\n pivotData.getAggregator(x, c).value()\n );\n colColorScales[c] = colorScaleGenerator(colValues);\n });\n valueCellColors = (r, c, v) => colColorScales[c](v);\n }\n }\n\n const getClickHandler =\n this.props.tableOptions && this.props.tableOptions.clickCallback\n ? (value, rowValues, colValues) => {\n const filters = {};\n for (const i of Object.keys(colAttrs || {})) {\n const attr = colAttrs[i];\n if (colValues[i] !== null) {\n filters[attr] = colValues[i];\n }\n }\n for (const i of Object.keys(rowAttrs || {})) {\n const attr = rowAttrs[i];\n if (rowValues[i] !== null) {\n filters[attr] = rowValues[i];\n }\n }\n return e =>\n this.props.tableOptions.clickCallback(\n e,\n value,\n filters,\n pivotData\n );\n }\n : null;\n\n const rbClass = grouping ? this.props.rowGroupBefore ? \"rowGroupBefore\" : \"rowGroupAfter\" : \"\";\n const cbClass = grouping ? this.props.colGroupBefore ? \"colGroupBefore\" : \"colGroupAfter\" : \"\";\n const clickClass = (pred, closed) => pred ? \" pvtClickable\" + (closed ? \" closed\" : \"\") : \"\";\n return (\n <table id={id} className={`pvtTable ${rbClass} ${cbClass}`}>\n <thead>\n {colAttrs.map(function (c, j) {\n const clickable = grouping && colAttrs.length > j + 1;\n const levelKeys = colKeys.filter(x => x.length === j + 1);\n return (\n <tr key={`colAttr${j}`}>\n {showRowNumbers && j === 0 && (\n <th className=\"pvtRowNumber pvtAxisLabel\" rowSpan={colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)}>#</th>\n )}\n {j === 0 && rowAttrs.length !== 0 && (\n <th colSpan={rowAttrs.length} rowSpan={colAttrs.length} />\n )}\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable ? _ => fold(levelKeys) : null}\n >{c}</th>\n {colKeys.map(function (colKey, i) {\n const x = spanSize(colKeys, i, j);\n if (x === -1) {\n return null;\n }\n return (\n <th\n className={\"pvtColLabel\" + clickClass(clickable && colKey[j], isFolded([colKey.slice(0, j + 1)]))}\n key={`colKey-${i}-${j}-${colKey[j]}`}\n colSpan={x}\n rowSpan={\n j === colAttrs.length - 1 && rowAttrs.length !== 0\n ? 2\n : 1\n }\n onClick={clickable && colKey[j] ? _ => fold([colKey.slice(0, j + 1)]) : null}\n >\n {colKey[j]}\n </th>\n );\n })}\n\n {j === 0 && (\n <th\n className=\"pvtTotalLabel\"\n rowSpan={\n colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)\n }\n >\n Totals\n </th>\n )}\n </tr>\n );\n })}\n\n {rowAttrs.length !== 0 && (\n <tr>\n {showRowNumbers && colAttrs.length === 0 && (\n <th className=\"pvtRowNumber pvtAxisLabel\" rowSpan=\"1\">#</th>\n )}\n {rowAttrs.map(function (r, i) {\n const clickable = grouping && rowAttrs.length > i + 1;\n const levelKeys = rowKeys.filter(x => x.length === i + 1);\n return (\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable ? _ => fold(levelKeys) : null}\n key={`rowAttr${i}`}>\n {r}\n </th>\n );\n })}\n <th className=\"pvtTotalLabel\">\n {colAttrs.length === 0 ? 'Totals' : null}\n </th>\n </tr>\n )}\n </thead>\n\n <tbody>\n {rowKeys.map(function (rowKey, i) {\n const totalAggregator = pivotData.getAggregator(rowKey, []);\n const rowGap = rowAttrs.length - rowKey.length;\n const rowTotalValue = totalAggregator.value();\n return (\n <tr key={`rowKeyRow${i}`}\n className={(rowGap ? \"pvtLevel\" + rowGap : \"pvtData\") + \" pvtRow-data\"}>\n {showRowNumbers && (\n <th className=\"pvtRowNumber\">{startOffset + i + 1}</th>\n )}\n {rowKey.map(function (txt, j) {\n if (compactRows && j < rowKey.length - 1) {\n return null;\n }\n const clickable = grouping && rowAttrs.length > j + 1;\n const x = compactRows ? 1 : spanSize(rowKeys, i, j, specialCase);\n if (x === -1) {\n return null;\n }\n return (\n <th\n key={`rowKeyLabel-${i}-${j}-${txt}`}\n className={\"pvtRowLabel\" + clickClass(clickable && rowKey[j], isFolded([rowKey.slice(0, j + 1)]))}\n rowSpan={x}\n colSpan={\n compactRows ?\n rowAttrs.length + 1 :\n j === rowAttrs.length - 1 && colAttrs.length !== 0\n ? 2\n : 1\n }\n style={{ paddingLeft: compactRows ? `calc(var(--pvt-row-padding, 5px) + ${j} * var(--pvt-row-indent, 20px))` : null }}\n onClick={clickable && rowKey[j] ? _ => fold([rowKey.slice(0, j + 1)]) : null}\n >\n {txt}\n </th>\n );\n })}\n {!compactRows && rowGap\n ? <th className=\"pvtRowLabel\" colSpan={rowGap + 1}>{\"Total (\" + rowKey[rowKey.length - 1] + \")\"}</th>\n : null\n }\n {colKeys.map(function (colKey, j) {\n const aggregator = pivotData.getAggregator(rowKey, colKey);\n const colGap = colAttrs.length - colKey.length;\n const val = aggregator.value();\n const isNumeric = typeof val === 'number';\n return (\n <td\n className={\"pvtVal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\n key={`pvtVal${i}-${j}`}\n onClick={\n getClickHandler &&\n getClickHandler(val, rowKey, colKey)\n }\n style={valueCellColors(\n rowKey,\n colKey,\n val\n )}\n >\n {aggregator.format(val)}\n </td>\n );\n })}\n <td\n className={\"pvtTotal\" + (typeof rowTotalValue === 'number' ? \" pvtVal-numeric\" : \"\")}\n onClick={\n getClickHandler &&\n getClickHandler(rowTotalValue, rowKey, [null])\n }\n style={colTotalColors(rowTotalValue)}\n >\n {totalAggregator.format(rowTotalValue)}\n </td>\n </tr>\n );\n })}\n\n {showRowNumbers && this.props.pagination && rowKeys.length < this.props.pageSize && (\n Array.from({ length: this.props.pageSize - rowKeys.length }).map((_, padIdx) => (\n <tr key={`padRow${padIdx}`} className=\"pvtRow-data pvtEmptyRow\">\n <th className=\"pvtRowNumber\">{startOffset + rowKeys.length + padIdx + 1}</th>\n <th className=\"pvtRowLabel\" colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}></th>\n {colKeys.map((colKey, j) => <td key={`padVal${padIdx}-${j}`} className=\"pvtVal pvtEmptyCell\"></td>)}\n <td className=\"pvtTotal pvtEmptyCell\"></td>\n </tr>\n ))\n )}\n\n <tr className=\"pvtTotalRow\">\n {showRowNumbers && <th className=\"pvtTotalLabel\"></th>}\n <th\n className=\"pvtTotalLabel\"\n colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}\n >\n Totals\n </th>\n\n {colKeys.map(function (colKey, i) {\n const totalAggregator = pivotData.getAggregator([], colKey);\n const colGap = colAttrs.length - colKey.length;\n const totalVal = totalAggregator.value();\n const isNumeric = typeof totalVal === 'number';\n return (\n <td\n className={\"pvtTotal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\n key={`total${i}`}\n onClick={\n getClickHandler &&\n getClickHandler(totalVal, [null], colKey)\n }\n style={rowTotalColors(totalVal)}\n >\n {totalAggregator.format(totalVal)}\n </td>\n );\n })}\n\n <td\n onClick={\n getClickHandler &&\n getClickHandler(grandTotalAggregator.value(), [null], [null])\n }\n className={\"pvtGrandTotal\" + (typeof grandTotalAggregator.value() === 'number' ? \" pvtVal-numeric\" : \"\")}\n >\n {grandTotalAggregator.format(grandTotalAggregator.value())}\n </td>\n </tr>\n </tbody>\n </table>\n );\n }\n }\n\n TableRenderer.defaultProps = PivotData.defaultProps;\n TableRenderer.propTypes = PivotData.propTypes;\n TableRenderer.defaultProps.tableColorScaleGenerator = redColorScaleGenerator;\n TableRenderer.defaultProps.tableOptions = {};\n TableRenderer.propTypes.tableColorScaleGenerator = PropTypes.func;\n TableRenderer.propTypes.tableOptions = PropTypes.object;\n TableRenderer.defaultProps.compactRows = true;\n TableRenderer.propTypes.compactRows = PropTypes.bool;\n TableRenderer.defaultProps.showRowNumbers = true;\n TableRenderer.propTypes.showRowNumbers = PropTypes.bool;\n return TableRenderer;\n}\n\nclass TSVExportRenderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const rowKeys = pivotData.getRowKeys();\n const colKeys = pivotData.getColKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n\n const headerRow = pivotData.props.rows.map(r => r);\n if (colKeys.length === 1 && colKeys[0].length === 0) {\n headerRow.push(this.props.aggregatorName);\n } else {\n colKeys.map(c => headerRow.push(c.join('-')));\n }\n\n const result = rowKeys.map(r => {\n const row = r.map(x => x);\n colKeys.map(c => {\n const v = pivotData.getAggregator(r, c).value();\n row.push(v ? v : '');\n });\n return row;\n });\n\n result.unshift(headerRow);\n\n return (\n <textarea\n value={result.map(r => r.join('\\t')).join('\\n')}\n style={{ width: window.innerWidth / 2, height: window.innerHeight / 2 }}\n readOnly={true}\n />\n );\n }\n}\n\nTSVExportRenderer.defaultProps = PivotData.defaultProps;\nTSVExportRenderer.propTypes = PivotData.propTypes;\n\nexport default {\n Table: makeRenderer(),\n 'Table Heatmap': makeRenderer({ heatmapMode: 'full' }),\n 'Table Col Heatmap': makeRenderer({ heatmapMode: 'col' }),\n 'Table Row Heatmap': makeRenderer({ heatmapMode: 'row' }),\n 'Exportable TSV': TSVExportRenderer,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TableRenderers.js","names":["_react","_interopRequireDefault","require","_propTypes","_Utilities","_CellPipeline","_VirtualScroller","_useColumnResize2","e","__esModule","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","_createForOfIteratorHelper","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","_n","F","s","done","f","TypeError","a","u","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","_classCallCheck","_defineProperties","key","_createClass","prototype","i","_toPrimitive","_typeof","toPrimitive","String","Number","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","Boolean","valueOf","setPrototypeOf","getPrototypeOf","__proto__","_inherits","create","_setPrototypeOf","spanSize","arr","j","no_loop","undefined","x","asc","end","noDraw","len","asc1","end1","stop","redColorScaleGenerator","values","min","Math","max","nonRed","round","backgroundColor","concat","flatKey","join","fromCharCode","has","set","every","add","remove","toggle","makeRenderer","opts","TableRendererInner","_React$PureComponent","render","_this","pivotData","PivotData","props","id","colAttrs","cols","rowAttrs","rows","rowKeys","getRowKeys","colKeys","getColKeys","grandTotalAggregator","getAggregator","pipeline","cellPipeline","CellPipeline","virtConfig","virtualization","scroller","VirtualScroller","enabled","rowHeight","colWidth","overscanRows","overscanCols","containerHeight","containerWidth","threshold","grouping","compactRows","specialCase","rowGroupBefore","folded","state","Set","isFolded","map","fold","setState","_iterator","_step","_loop","colKey","startsWith","rowKey","err","allColKeys","allRowKeys","totalRows","startOffset","pagination","start","page","pageSize","shouldVirt","shouldVirtualize","scrollTop","scrollLeft","visibleRowKeys","rowTopPad","rowBottomPad","virtualRowStartOffset","rowRange","getVisibleRowRange","startIndex","endIndex","topPadding","bottomPadding","visibleColKeys","colLeftPad","colRightPad","colRange","getVisibleColRange","leftPadding","rightPadding","showRowNumbers","isVirtualized","valueCellColors","rowTotalColors","colTotalColors","heatmapMode","colorScaleGenerator","tableColorScaleGenerator","rowTotalValues","colTotalValues","allValues","c","colorScale","v","rowColorScales","rowValues","colColorScales","colValues","getClickHandler","tableOptions","clickCallback","filters","_i","_Object$keys","attr","_i2","_Object$keys2","rbClass","cbClass","colGroupBefore","clickClass","pred","closed","handleScroll","currentTarget","resizeWidths","_resizeWidths","onStartResize","_onStartResize","buildColgroup","createElement","style","width","minWidth","_","label","w","tableContent","className","clickable","levelKeys","rowSpan","colSpan","onClick","isLastHeaderRow","colLabel","onPointerDown","height","localI","globalI","totalAggregator","rowGap","rowTotalResult","processTotal","aggregator","type","txt","paddingLeft","colGap","cellResult","process","isNumeric","mergedStyle","rendered","padIdx","totalVal","format","maxHeight","maxWidth","overflow","position","onScroll","React","PureComponent","defaultProps","propTypes","PropTypes","func","object","bool","TableRenderer","resizing","columnResizing","_useColumnResize","useColumnResize","initialWidths","columnWidths","onWidthChange","onColumnWidthChange","widths","startResize","TSVExportRenderer","_React$PureComponent2","headerRow","aggregatorName","result","row","unshift","window","innerWidth","innerHeight","readOnly","_default","exports","Table"],"sources":["../src/TableRenderers.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PivotData } from './Utilities';\nimport { CellPipeline } from './core/CellPipeline';\nimport { VirtualScroller } from './core/VirtualScroller';\nimport { useColumnResize } from './hooks/useColumnResize';\n\n// helper function for setting row/col-span in pivotTableRenderer\nconst spanSize = function (arr, i, j, no_loop = false) {\n let x;\n if (i !== 0) {\n let asc, end;\n let noDraw = true;\n for (\n x = 0, end = j, asc = end >= 0;\n asc ? x <= end : x >= end;\n asc ? x++ : x--\n ) {\n if (arr[i - 1][x] !== arr[i][x]) {\n noDraw = false;\n }\n }\n if (noDraw) {\n return -1;\n }\n }\n let len = 0;\n while (i + len < arr.length) {\n let asc1, end1;\n let stop = false;\n for (\n x = no_loop ? j : 0, end1 = j, asc1 = end1 >= 0;\n asc1 ? x <= end1 : x >= end1;\n asc1 ? x++ : x--\n ) {\n if (arr[i][x] !== arr[i + len][x]) {\n stop = true;\n }\n }\n if (stop) {\n break;\n }\n len++;\n }\n return len;\n};\n\nfunction redColorScaleGenerator(values) {\n const min = Math.min.apply(Math, values);\n const max = Math.max.apply(Math, values);\n return x => {\n // eslint-disable-next-line no-magic-numbers\n const nonRed = 255 - Math.round((255 * (x - min)) / (max - min));\n return { backgroundColor: `rgb(255,${nonRed},${nonRed})` };\n };\n}\n\nconst flatKey = arr => arr.join(String.fromCharCode(0));\nconst has = (set, arr) => arr.every(set.has, set);\nconst add = (set, arr) => (arr.forEach(set.add, set) || set);\nconst remove = (set, arr) => (arr.forEach(set.delete, set) || set);\nconst toggle = (set, arr) => (has(set, arr) ? remove : add)(set, arr);\n\nfunction makeRenderer(opts = {}) {\n // ─── Inner class (toda la lógica de render) ──────────────────────\n class TableRendererInner extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const id = pivotData.props.id;\n const colAttrs = pivotData.props.cols;\n const rowAttrs = pivotData.props.rows;\n let rowKeys = pivotData.getRowKeys(true);\n let colKeys = pivotData.getColKeys(true);\n const grandTotalAggregator = pivotData.getAggregator([], []);\n\n // ─── Cell Pipeline ────────────────────────────────────────────────\n const pipeline = this.props.cellPipeline\n ? new CellPipeline(this.props.cellPipeline)\n : CellPipeline.default();\n\n // ─── Virtualización ───────────────────────────────────────────────\n const virtConfig = this.props.virtualization || {};\n const scroller = new VirtualScroller({\n enabled: virtConfig.enabled !== undefined ? virtConfig.enabled : false,\n rowHeight: virtConfig.rowHeight || 32,\n colWidth: virtConfig.colWidth || 100,\n overscanRows: virtConfig.overscanRows || 5,\n overscanCols: virtConfig.overscanCols || 3,\n containerHeight: virtConfig.containerHeight || 400,\n containerWidth: virtConfig.containerWidth || 800,\n threshold: virtConfig.threshold || 100,\n });\n\n const grouping = pivotData.props.grouping;\n const compactRows = grouping && this.props.compactRows;\n // speacial case for spanSize counting (no_loop)\n const specialCase = grouping && !this.props.rowGroupBefore;\n const folded = (this.state || {}).folded || new Set();\n const isFolded = keys => has(folded, keys.map(flatKey));\n const fold = keys => this.setState({ folded: toggle(new Set(folded), keys.map(flatKey)) });\n\n if (grouping) {\n for (const key of folded) {\n colKeys = colKeys.filter(colKey => !flatKey(colKey).startsWith(key + String.fromCharCode(0)));\n rowKeys = rowKeys.filter(rowKey => !flatKey(rowKey).startsWith(key + String.fromCharCode(0)));\n }\n }\n\n // Guardar todos los colKeys para totales (SIEMPRE calcula sobre todo)\n const allColKeys = colKeys;\n const allRowKeys = rowKeys;\n\n const totalRows = rowKeys.length;\n let startOffset = 0;\n if (this.props.pagination) {\n const start = (this.props.page - 1) * this.props.pageSize;\n startOffset = start;\n const end = start + this.props.pageSize;\n rowKeys = rowKeys.slice(start, end);\n }\n\n // Aplicar virtualización bidireccional\n const shouldVirt = scroller.shouldVirtualize(rowKeys.length, colKeys.length);\n const scrollTop = (this.state || {}).scrollTop || 0;\n const scrollLeft = (this.state || {}).scrollLeft || 0;\n\n let visibleRowKeys = rowKeys;\n let rowTopPad = 0;\n let rowBottomPad = 0;\n let virtualRowStartOffset = 0;\n\n if (shouldVirt.rows) {\n const rowRange = scroller.getVisibleRowRange(scrollTop, rowKeys.length);\n visibleRowKeys = rowKeys.slice(rowRange.startIndex, rowRange.endIndex + 1);\n rowTopPad = rowRange.topPadding;\n rowBottomPad = rowRange.bottomPadding;\n virtualRowStartOffset = rowRange.startIndex;\n }\n\n let visibleColKeys = colKeys;\n let colLeftPad = 0;\n let colRightPad = 0;\n\n if (shouldVirt.cols) {\n const colRange = scroller.getVisibleColRange(scrollLeft, colKeys.length);\n visibleColKeys = colKeys.slice(colRange.startIndex, colRange.endIndex + 1);\n colLeftPad = colRange.leftPadding;\n colRightPad = colRange.rightPadding;\n }\n\n const showRowNumbers = this.props.showRowNumbers !== false;\n const isVirtualized = shouldVirt.rows || shouldVirt.cols;\n\n let valueCellColors = () => { };\n let rowTotalColors = () => { };\n let colTotalColors = () => { };\n if (opts.heatmapMode) {\n const colorScaleGenerator = this.props.tableColorScaleGenerator;\n const rowTotalValues = colKeys.map(x =>\n pivotData.getAggregator([], x).value()\n );\n rowTotalColors = colorScaleGenerator(rowTotalValues);\n const colTotalValues = rowKeys.map(x =>\n pivotData.getAggregator(x, []).value()\n );\n colTotalColors = colorScaleGenerator(colTotalValues);\n\n if (opts.heatmapMode === 'full') {\n const allValues = [];\n rowKeys.map(r =>\n colKeys.map(c =>\n allValues.push(pivotData.getAggregator(r, c).value())\n )\n );\n const colorScale = colorScaleGenerator(allValues);\n valueCellColors = (r, c, v) => colorScale(v);\n } else if (opts.heatmapMode === 'row') {\n const rowColorScales = {};\n rowKeys.map(r => {\n const rowValues = colKeys.map(x =>\n pivotData.getAggregator(r, x).value()\n );\n rowColorScales[r] = colorScaleGenerator(rowValues);\n });\n valueCellColors = (r, c, v) => rowColorScales[r](v);\n } else if (opts.heatmapMode === 'col') {\n const colColorScales = {};\n colKeys.map(c => {\n const colValues = rowKeys.map(x =>\n pivotData.getAggregator(x, c).value()\n );\n colColorScales[c] = colorScaleGenerator(colValues);\n });\n valueCellColors = (r, c, v) => colColorScales[c](v);\n }\n }\n\n const getClickHandler =\n this.props.tableOptions && this.props.tableOptions.clickCallback\n ? (value, rowValues, colValues) => {\n const filters = {};\n for (const i of Object.keys(colAttrs || {})) {\n const attr = colAttrs[i];\n if (colValues[i] !== null) {\n filters[attr] = colValues[i];\n }\n }\n for (const i of Object.keys(rowAttrs || {})) {\n const attr = rowAttrs[i];\n if (rowValues[i] !== null) {\n filters[attr] = rowValues[i];\n }\n }\n return e =>\n this.props.tableOptions.clickCallback(\n e,\n value,\n filters,\n pivotData\n );\n }\n : null;\n\n const rbClass = grouping ? this.props.rowGroupBefore ? \"rowGroupBefore\" : \"rowGroupAfter\" : \"\";\n const cbClass = grouping ? this.props.colGroupBefore ? \"colGroupBefore\" : \"colGroupAfter\" : \"\";\n const clickClass = (pred, closed) => pred ? \" pvtClickable\" + (closed ? \" closed\" : \"\") : \"\";\n // ─── Render de la tabla ────────────────────────────────────────────\n const handleScroll = isVirtualized ? (e) => {\n this.setState({\n scrollTop: e.currentTarget.scrollTop,\n scrollLeft: e.currentTarget.scrollLeft,\n });\n } : null;\n\n // ─── Column widths (resize) ────────────────────────────────\n const resizeWidths = this.props._resizeWidths || {};\n const onStartResize = this.props._onStartResize || null;\n\n // Construir colgroup con anchos de todas las columnas de datos\n const buildColgroup = () => {\n const cols = [];\n // Col para row numbers\n if (showRowNumbers) cols.push(<col key=\"col-rownum\" style={{ width: '40px', minWidth: '40px' }} />);\n // Cols para rowAttrs\n rowAttrs.forEach((_, i) => cols.push(<col key={`col-rowattr-${i}`} />));\n // Col padding virtual izquierdo\n if (shouldVirt.cols && colLeftPad > 0) cols.push(<col key=\"col-virt-left\" style={{ width: colLeftPad }} />);\n // Cols para cada columna de datos\n visibleColKeys.forEach((colKey) => {\n const label = colKey.join('\\u0000');\n const w = resizeWidths[label];\n cols.push(<col key={`col-data-${label}`} style={w ? { width: w, minWidth: w } : undefined} />);\n });\n // Col padding virtual derecho\n if (shouldVirt.cols && colRightPad > 0) cols.push(<col key=\"col-virt-right\" style={{ width: colRightPad }} />);\n // Col para totales\n cols.push(<col key=\"col-totals\" />);\n return <colgroup>{cols}</colgroup>;\n };\n\n const tableContent = (\n <table id={id} className={`pvtTable ${rbClass} ${cbClass}${onStartResize ? ' pvtResizable' : ''}`}>\n {buildColgroup()}\n <thead>\n {colAttrs.map(function (c, j) {\n const clickable = grouping && colAttrs.length > j + 1;\n const levelKeys = allColKeys.filter(x => x.length === j + 1);\n return (\n <tr key={`colAttr${j}`}>\n {showRowNumbers && j === 0 && (\n <th className=\"pvtRowNumber pvtAxisLabel\" rowSpan={colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)}>#</th>\n )}\n {j === 0 && rowAttrs.length !== 0 && (\n <th colSpan={rowAttrs.length} rowSpan={colAttrs.length} />\n )}\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable ? _ => fold(levelKeys) : null}\n >{c}</th>\n {shouldVirt.cols && colLeftPad > 0 && j === 0 && (\n <th key=\"col-pad-left\" style={{ minWidth: colLeftPad }} />\n )}\n {visibleColKeys.map(function (colKey, i) {\n const x = spanSize(visibleColKeys, i, j);\n if (x === -1) {\n return null;\n }\n // Usar el colKey completo como clave de resize solo en la última fila de headers\n const isLastHeaderRow = j === colAttrs.length - 1;\n const colLabel = colKey.join('\\u0000');\n return (\n <th\n className={\"pvtColLabel\" + clickClass(clickable && colKey[j], isFolded([colKey.slice(0, j + 1)]))}\n key={`colKey-${i}-${j}-${colKey[j]}`}\n colSpan={x}\n rowSpan={\n isLastHeaderRow && rowAttrs.length !== 0\n ? 2\n : 1\n }\n onClick={clickable && colKey[j] ? _ => fold([colKey.slice(0, j + 1)]) : null}\n >\n {colKey[j]}\n {onStartResize && isLastHeaderRow && (\n <span\n className=\"pvtResizeHandle\"\n onPointerDown={e => onStartResize(colLabel, e)}\n />\n )}\n </th>\n );\n })}\n {shouldVirt.cols && colRightPad > 0 && j === 0 && (\n <th key=\"col-pad-right\" style={{ minWidth: colRightPad }} />\n )}\n\n {j === 0 && (\n <th\n className=\"pvtTotalLabel\"\n rowSpan={\n colAttrs.length + (rowAttrs.length === 0 ? 0 : 1)\n }\n >\n Totals\n </th>\n )}\n </tr>\n );\n })}\n\n {rowAttrs.length !== 0 && (\n <tr>\n {showRowNumbers && colAttrs.length === 0 && (\n <th className=\"pvtRowNumber pvtAxisLabel\" rowSpan=\"1\">#</th>\n )}\n {rowAttrs.map(function (r, i) {\n const clickable = grouping && rowAttrs.length > i + 1;\n const levelKeys = allRowKeys.filter(x => x.length === i + 1);\n return (\n <th className={\"pvtAxisLabel\" + clickClass(clickable, isFolded(levelKeys))}\n onClick={clickable ? _ => fold(levelKeys) : null}\n key={`rowAttr${i}`}>\n {r}\n </th>\n );\n })}\n <th className=\"pvtTotalLabel\">\n {colAttrs.length === 0 ? 'Totals' : null}\n </th>\n </tr>\n )}\n </thead>\n\n <tbody>\n {/* Spacer top para virtualización de filas */}\n {shouldVirt.rows && rowTopPad > 0 && (\n <tr key=\"virt-top-spacer\" style={{ height: rowTopPad }}>\n <td colSpan={999} />\n </tr>\n )}\n\n {visibleRowKeys.map(function (rowKey, localI) {\n const globalI = shouldVirt.rows ? virtualRowStartOffset + localI : localI;\n const totalAggregator = pivotData.getAggregator(rowKey, []);\n const rowGap = rowAttrs.length - rowKey.length;\n const rowTotalResult = pipeline.processTotal({ aggregator: totalAggregator, rowKey, type: 'row' });\n return (\n <tr key={`rowKeyRow${globalI}`}\n className={(rowGap ? \"pvtLevel\" + rowGap : \"pvtData\") + \" pvtRow-data\"}\n style={shouldVirt.rows ? { height: scroller.rowHeight } : undefined}>\n {showRowNumbers && (\n <th className=\"pvtRowNumber\">{startOffset + globalI + 1}</th>\n )}\n {rowKey.map(function (txt, j) {\n if (compactRows && j < rowKey.length - 1) {\n return null;\n }\n const clickable = grouping && rowAttrs.length > j + 1;\n const x = compactRows ? 1 : spanSize(visibleRowKeys, localI, j, specialCase);\n if (x === -1) {\n return null;\n }\n return (\n <th\n key={`rowKeyLabel-${globalI}-${j}-${txt}`}\n className={\"pvtRowLabel\" + clickClass(clickable && rowKey[j], isFolded([rowKey.slice(0, j + 1)]))}\n rowSpan={x}\n colSpan={\n compactRows ?\n rowAttrs.length + 1 :\n j === rowAttrs.length - 1 && colAttrs.length !== 0\n ? 2\n : 1\n }\n style={{ paddingLeft: compactRows ? `calc(var(--pvt-row-padding, 5px) + ${j} * var(--pvt-row-indent, 20px))` : null }}\n onClick={clickable && rowKey[j] ? _ => fold([rowKey.slice(0, j + 1)]) : null}\n >\n {txt}\n </th>\n );\n })}\n {!compactRows && rowGap\n ? <th className=\"pvtRowLabel\" colSpan={rowGap + 1}>{\"Total (\" + rowKey[rowKey.length - 1] + \")\"}</th>\n : null\n }\n {/* Spacer left para virtualización de columnas */}\n {shouldVirt.cols && colLeftPad > 0 && (\n <td key=\"col-pad-left\" style={{ minWidth: colLeftPad }} />\n )}\n {visibleColKeys.map(function (colKey, j) {\n const aggregator = pivotData.getAggregator(rowKey, colKey);\n const colGap = colAttrs.length - colKey.length;\n const cellResult = pipeline.process({ aggregator, rowKey, colKey, pivotData });\n const isNumeric = typeof cellResult.value === 'number';\n const mergedStyle = {\n ...valueCellColors(rowKey, colKey, cellResult.value),\n ...(cellResult.style || {}),\n };\n return (\n <td\n className={\"pvtVal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\") + (cellResult.className ? \" \" + cellResult.className : \"\")}\n key={`pvtVal${globalI}-${j}`}\n onClick={\n getClickHandler &&\n getClickHandler(cellResult.value, rowKey, colKey)\n }\n style={Object.keys(mergedStyle).length > 0 ? mergedStyle : undefined}\n >\n {cellResult.rendered}\n </td>\n );\n })}\n {/* Spacer right para virtualización de columnas */}\n {shouldVirt.cols && colRightPad > 0 && (\n <td key=\"col-pad-right\" style={{ minWidth: colRightPad }} />\n )}\n <td\n className={\"pvtTotal\" + (typeof rowTotalResult.value === 'number' ? \" pvtVal-numeric\" : \"\")}\n onClick={\n getClickHandler &&\n getClickHandler(rowTotalResult.value, rowKey, [null])\n }\n style={colTotalColors(rowTotalResult.value) || rowTotalResult.style}\n >\n {rowTotalResult.rendered}\n </td>\n </tr>\n );\n })}\n\n {/* Spacer bottom para virtualización de filas */}\n {shouldVirt.rows && rowBottomPad > 0 && (\n <tr key=\"virt-bottom-spacer\" style={{ height: rowBottomPad }}>\n <td colSpan={999} />\n </tr>\n )}\n\n {showRowNumbers && this.props.pagination && visibleRowKeys.length < this.props.pageSize && !shouldVirt.rows && (\n Array.from({ length: this.props.pageSize - visibleRowKeys.length }).map((_, padIdx) => (\n <tr key={`padRow${padIdx}`} className=\"pvtRow-data pvtEmptyRow\">\n <th className=\"pvtRowNumber\">{startOffset + visibleRowKeys.length + padIdx + 1}</th>\n <th className=\"pvtRowLabel\" colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}></th>\n {visibleColKeys.map((colKey, j) => <td key={`padVal${padIdx}-${j}`} className=\"pvtVal pvtEmptyCell\"></td>)}\n <td className=\"pvtTotal pvtEmptyCell\"></td>\n </tr>\n ))\n )}\n\n {/* Totals row — siempre calcula sobre TODOS los datos */}\n <tr className=\"pvtTotalRow\">\n {showRowNumbers && <th className=\"pvtTotalLabel\"></th>}\n <th\n className=\"pvtTotalLabel\"\n colSpan={rowAttrs.length + (colAttrs.length === 0 ? 0 : 1)}\n >\n Totals\n </th>\n\n {shouldVirt.cols && colLeftPad > 0 && (\n <td key=\"total-col-pad-left\" style={{ minWidth: colLeftPad }} />\n )}\n {visibleColKeys.map(function (colKey, i) {\n const totalAggregator = pivotData.getAggregator([], colKey);\n const colGap = colAttrs.length - colKey.length;\n const totalVal = totalAggregator.value();\n const isNumeric = typeof totalVal === 'number';\n return (\n <td\n className={\"pvtTotal\" + (colGap ? \" pvtLevel\" + colGap : \"\") + (isNumeric ? \" pvtVal-numeric\" : \"\")}\n key={`total${i}`}\n onClick={\n getClickHandler &&\n getClickHandler(totalVal, [null], colKey)\n }\n style={rowTotalColors(totalVal)}\n >\n {totalAggregator.format(totalVal)}\n </td>\n );\n })}\n {shouldVirt.cols && colRightPad > 0 && (\n <td key=\"total-col-pad-right\" style={{ minWidth: colRightPad }} />\n )}\n\n <td\n onClick={\n getClickHandler &&\n getClickHandler(grandTotalAggregator.value(), [null], [null])\n }\n className={\"pvtGrandTotal\" + (typeof grandTotalAggregator.value() === 'number' ? \" pvtVal-numeric\" : \"\")}\n >\n {grandTotalAggregator.format(grandTotalAggregator.value())}\n </td>\n </tr>\n </tbody>\n </table>\n );\n\n // Wrappear en container con scroll si virtualización está activa\n if (isVirtualized) {\n return (\n <div\n className=\"pvtVirtualContainer\"\n style={{\n maxHeight: scroller.containerHeight,\n maxWidth: scroller.containerWidth,\n overflow: 'auto',\n position: 'relative',\n }}\n onScroll={handleScroll}\n >\n {tableContent}\n </div>\n );\n }\n\n return tableContent;\n }\n }\n\n TableRendererInner.defaultProps = PivotData.defaultProps;\n TableRendererInner.propTypes = PivotData.propTypes;\n TableRendererInner.defaultProps.tableColorScaleGenerator = redColorScaleGenerator;\n TableRendererInner.defaultProps.tableOptions = {};\n TableRendererInner.propTypes.tableColorScaleGenerator = PropTypes.func;\n TableRendererInner.propTypes.tableOptions = PropTypes.object;\n TableRendererInner.defaultProps.compactRows = true;\n TableRendererInner.propTypes.compactRows = PropTypes.bool;\n TableRendererInner.defaultProps.showRowNumbers = true;\n TableRendererInner.propTypes.showRowNumbers = PropTypes.bool;\n // Resize props (pasadas internamente desde el wrapper)\n TableRendererInner.propTypes._resizeWidths = PropTypes.object;\n TableRendererInner.propTypes._onStartResize = PropTypes.func;\n\n // ─── Wrapper funcional para poder usar hooks ─────────────────────\n function TableRenderer(props) {\n const resizing = props.columnResizing === true;\n const { widths, startResize } = useColumnResize({\n initialWidths: props.columnWidths || {},\n minWidth: 50,\n onWidthChange: props.onColumnWidthChange,\n });\n return (\n <TableRendererInner\n {...props}\n _resizeWidths={resizing ? widths : {}}\n _onStartResize={resizing ? startResize : null}\n />\n );\n }\n\n TableRenderer.defaultProps = { ...TableRendererInner.defaultProps, columnResizing: false, columnWidths: {} };\n TableRenderer.propTypes = {\n ...TableRendererInner.propTypes,\n columnResizing: PropTypes.bool,\n columnWidths: PropTypes.object,\n onColumnWidthChange: PropTypes.func,\n };\n\n return TableRenderer;\n}\n\nclass TSVExportRenderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const rowKeys = pivotData.getRowKeys();\n const colKeys = pivotData.getColKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n\n const headerRow = pivotData.props.rows.map(r => r);\n if (colKeys.length === 1 && colKeys[0].length === 0) {\n headerRow.push(this.props.aggregatorName);\n } else {\n colKeys.map(c => headerRow.push(c.join('-')));\n }\n\n const result = rowKeys.map(r => {\n const row = r.map(x => x);\n colKeys.map(c => {\n const v = pivotData.getAggregator(r, c).value();\n row.push(v ? v : '');\n });\n return row;\n });\n\n result.unshift(headerRow);\n\n return (\n <textarea\n value={result.map(r => r.join('\\t')).join('\\n')}\n style={{ width: window.innerWidth / 2, height: window.innerHeight / 2 }}\n readOnly={true}\n />\n );\n }\n}\n\nTSVExportRenderer.defaultProps = PivotData.defaultProps;\nTSVExportRenderer.propTypes = PivotData.propTypes;\n\nexport default {\n Table: makeRenderer(),\n 'Table Heatmap': makeRenderer({ heatmapMode: 'full' }),\n 'Table Col Heatmap': makeRenderer({ heatmapMode: 'col' }),\n 'Table Row Heatmap': makeRenderer({ heatmapMode: 'row' }),\n 'Exportable TSV': TSVExportRenderer,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CellPipeline = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
11
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
12
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
+
/**
|
|
14
|
+
* CellPipeline — Pipeline de renderizado de celdas.
|
|
15
|
+
*
|
|
16
|
+
* Cada celda pasa por: valueGetter → valueFormatter → cellRenderer → cellStyle
|
|
17
|
+
*
|
|
18
|
+
* Uso:
|
|
19
|
+
* const pipeline = new CellPipeline({
|
|
20
|
+
* valueFormatter: ({ value }) => `$${value.toFixed(2)}`,
|
|
21
|
+
* cellStyle: ({ value }) => value < 0 ? { color: 'red' } : null,
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const result = pipeline.process({ aggregator, rowKey, colKey, pivotData });
|
|
25
|
+
* // → { value, formattedValue, rendered, style, className }
|
|
26
|
+
*/
|
|
27
|
+
var CellPipeline = exports.CellPipeline = /*#__PURE__*/function () {
|
|
28
|
+
function CellPipeline() {
|
|
29
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
30
|
+
_classCallCheck(this, CellPipeline);
|
|
31
|
+
this.valueGetter = config.valueGetter || CellPipeline.defaultValueGetter;
|
|
32
|
+
this.valueFormatter = config.valueFormatter || CellPipeline.defaultValueFormatter;
|
|
33
|
+
this.cellRenderer = config.cellRenderer || null;
|
|
34
|
+
this.cellStyle = config.cellStyle || null;
|
|
35
|
+
this.cellClass = config.cellClass || null;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Procesar una celda a través del pipeline completo.
|
|
40
|
+
* @param {Object} params
|
|
41
|
+
* @param {Object} params.aggregator - El aggregator de PivotData
|
|
42
|
+
* @param {Array} params.rowKey - Clave de la fila
|
|
43
|
+
* @param {Array} params.colKey - Clave de la columna
|
|
44
|
+
* @param {Object} [params.pivotData] - Instancia de PivotData (opcional)
|
|
45
|
+
* @returns {{ value, formattedValue, rendered, style, className }}
|
|
46
|
+
*/
|
|
47
|
+
return _createClass(CellPipeline, [{
|
|
48
|
+
key: "process",
|
|
49
|
+
value: function process(params) {
|
|
50
|
+
var aggregator = params.aggregator,
|
|
51
|
+
rowKey = params.rowKey,
|
|
52
|
+
colKey = params.colKey,
|
|
53
|
+
pivotData = params.pivotData;
|
|
54
|
+
|
|
55
|
+
// 1. Value Getter
|
|
56
|
+
var value = this.valueGetter({
|
|
57
|
+
aggregator: aggregator,
|
|
58
|
+
rowKey: rowKey,
|
|
59
|
+
colKey: colKey,
|
|
60
|
+
pivotData: pivotData
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// 2. Value Formatter
|
|
64
|
+
var formattedValue = this.valueFormatter({
|
|
65
|
+
value: value,
|
|
66
|
+
aggregator: aggregator,
|
|
67
|
+
rowKey: rowKey,
|
|
68
|
+
colKey: colKey,
|
|
69
|
+
pivotData: pivotData
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// 3. Cell Renderer (optional — if not set, use formattedValue)
|
|
73
|
+
var rendered = this.cellRenderer ? this.cellRenderer({
|
|
74
|
+
value: value,
|
|
75
|
+
formattedValue: formattedValue,
|
|
76
|
+
aggregator: aggregator,
|
|
77
|
+
rowKey: rowKey,
|
|
78
|
+
colKey: colKey,
|
|
79
|
+
pivotData: pivotData
|
|
80
|
+
}) : formattedValue;
|
|
81
|
+
|
|
82
|
+
// 4. Cell Style (optional)
|
|
83
|
+
var style = this.cellStyle ? this.cellStyle({
|
|
84
|
+
value: value,
|
|
85
|
+
formattedValue: formattedValue,
|
|
86
|
+
rowKey: rowKey,
|
|
87
|
+
colKey: colKey,
|
|
88
|
+
pivotData: pivotData
|
|
89
|
+
}) : null;
|
|
90
|
+
|
|
91
|
+
// 5. Cell Class (optional)
|
|
92
|
+
var className = this.cellClass ? this.cellClass({
|
|
93
|
+
value: value,
|
|
94
|
+
formattedValue: formattedValue,
|
|
95
|
+
rowKey: rowKey,
|
|
96
|
+
colKey: colKey,
|
|
97
|
+
pivotData: pivotData
|
|
98
|
+
}) : null;
|
|
99
|
+
return {
|
|
100
|
+
value: value,
|
|
101
|
+
formattedValue: formattedValue,
|
|
102
|
+
rendered: rendered,
|
|
103
|
+
style: style,
|
|
104
|
+
className: className
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Procesar una celda de total (fila o columna).
|
|
110
|
+
*/
|
|
111
|
+
}, {
|
|
112
|
+
key: "processTotal",
|
|
113
|
+
value: function processTotal(params) {
|
|
114
|
+
var aggregator = params.aggregator,
|
|
115
|
+
_params$rowKey = params.rowKey,
|
|
116
|
+
rowKey = _params$rowKey === void 0 ? [] : _params$rowKey,
|
|
117
|
+
_params$colKey = params.colKey,
|
|
118
|
+
colKey = _params$colKey === void 0 ? [] : _params$colKey,
|
|
119
|
+
pivotData = params.pivotData,
|
|
120
|
+
_params$type = params.type,
|
|
121
|
+
type = _params$type === void 0 ? 'row' : _params$type;
|
|
122
|
+
var value = aggregator.value();
|
|
123
|
+
var formattedValue = aggregator.format(value);
|
|
124
|
+
var style = this.cellStyle ? this.cellStyle({
|
|
125
|
+
value: value,
|
|
126
|
+
formattedValue: formattedValue,
|
|
127
|
+
rowKey: rowKey,
|
|
128
|
+
colKey: colKey,
|
|
129
|
+
pivotData: pivotData,
|
|
130
|
+
isTotal: true,
|
|
131
|
+
totalType: type
|
|
132
|
+
}) : null;
|
|
133
|
+
return {
|
|
134
|
+
value: value,
|
|
135
|
+
formattedValue: formattedValue,
|
|
136
|
+
rendered: formattedValue,
|
|
137
|
+
style: style,
|
|
138
|
+
className: null
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// ─── Defaults ─────────────────────────────────────────────────────────────────
|
|
143
|
+
}], [{
|
|
144
|
+
key: "defaultValueGetter",
|
|
145
|
+
value: function defaultValueGetter(_ref) {
|
|
146
|
+
var aggregator = _ref.aggregator;
|
|
147
|
+
return aggregator.value();
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "defaultValueFormatter",
|
|
151
|
+
value: function defaultValueFormatter(_ref2) {
|
|
152
|
+
var value = _ref2.value,
|
|
153
|
+
aggregator = _ref2.aggregator;
|
|
154
|
+
return aggregator.format(value);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Crear un pipeline con defaults (backward compatible, no cambia nada).
|
|
159
|
+
*/
|
|
160
|
+
}, {
|
|
161
|
+
key: "default",
|
|
162
|
+
value: function _default() {
|
|
163
|
+
return new CellPipeline();
|
|
164
|
+
}
|
|
165
|
+
}]);
|
|
166
|
+
}();
|
|
167
|
+
//# sourceMappingURL=CellPipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CellPipeline.js","names":["CellPipeline","exports","config","arguments","length","undefined","_classCallCheck","valueGetter","defaultValueGetter","valueFormatter","defaultValueFormatter","cellRenderer","cellStyle","cellClass","_createClass","key","value","process","params","aggregator","rowKey","colKey","pivotData","formattedValue","rendered","style","className","processTotal","_params$rowKey","_params$colKey","_params$type","type","format","isTotal","totalType","_ref","_ref2","default"],"sources":["../../src/core/CellPipeline.js"],"sourcesContent":["/**\n * CellPipeline — Pipeline de renderizado de celdas.\n *\n * Cada celda pasa por: valueGetter → valueFormatter → cellRenderer → cellStyle\n *\n * Uso:\n * const pipeline = new CellPipeline({\n * valueFormatter: ({ value }) => `$${value.toFixed(2)}`,\n * cellStyle: ({ value }) => value < 0 ? { color: 'red' } : null,\n * });\n *\n * const result = pipeline.process({ aggregator, rowKey, colKey, pivotData });\n * // → { value, formattedValue, rendered, style, className }\n */\nexport class CellPipeline {\n constructor(config = {}) {\n this.valueGetter = config.valueGetter || CellPipeline.defaultValueGetter;\n this.valueFormatter = config.valueFormatter || CellPipeline.defaultValueFormatter;\n this.cellRenderer = config.cellRenderer || null;\n this.cellStyle = config.cellStyle || null;\n this.cellClass = config.cellClass || null;\n }\n\n /**\n * Procesar una celda a través del pipeline completo.\n * @param {Object} params\n * @param {Object} params.aggregator - El aggregator de PivotData\n * @param {Array} params.rowKey - Clave de la fila\n * @param {Array} params.colKey - Clave de la columna\n * @param {Object} [params.pivotData] - Instancia de PivotData (opcional)\n * @returns {{ value, formattedValue, rendered, style, className }}\n */\n process(params) {\n const { aggregator, rowKey, colKey, pivotData } = params;\n\n // 1. Value Getter\n const value = this.valueGetter({ aggregator, rowKey, colKey, pivotData });\n\n // 2. Value Formatter\n const formattedValue = this.valueFormatter({\n value,\n aggregator,\n rowKey,\n colKey,\n pivotData,\n });\n\n // 3. Cell Renderer (optional — if not set, use formattedValue)\n const rendered = this.cellRenderer\n ? this.cellRenderer({\n value,\n formattedValue,\n aggregator,\n rowKey,\n colKey,\n pivotData,\n })\n : formattedValue;\n\n // 4. Cell Style (optional)\n const style = this.cellStyle\n ? this.cellStyle({ value, formattedValue, rowKey, colKey, pivotData })\n : null;\n\n // 5. Cell Class (optional)\n const className = this.cellClass\n ? this.cellClass({ value, formattedValue, rowKey, colKey, pivotData })\n : null;\n\n return { value, formattedValue, rendered, style, className };\n }\n\n /**\n * Procesar una celda de total (fila o columna).\n */\n processTotal(params) {\n const { aggregator, rowKey = [], colKey = [], pivotData, type = 'row' } = params;\n const value = aggregator.value();\n const formattedValue = aggregator.format(value);\n\n const style = this.cellStyle\n ? this.cellStyle({ value, formattedValue, rowKey, colKey, pivotData, isTotal: true, totalType: type })\n : null;\n\n return { value, formattedValue, rendered: formattedValue, style, className: null };\n }\n\n // ─── Defaults ─────────────────────────────────────────────────────────────────\n\n static defaultValueGetter({ aggregator }) {\n return aggregator.value();\n }\n\n static defaultValueFormatter({ value, aggregator }) {\n return aggregator.format(value);\n }\n\n /**\n * Crear un pipeline con defaults (backward compatible, no cambia nada).\n */\n static default() {\n return new CellPipeline();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|