react-pivottable-plus 1.0.0 → 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/LICENSE +21 -21
- package/PivotTable.js.map +1 -1
- package/PivotTableUI.js +261 -191
- package/PivotTableUI.js.map +1 -1
- package/PlotlyRenderers.js.map +1 -1
- package/README.md +93 -94
- package/TableRenderers.js.map +1 -1
- package/Utilities.js +19 -13
- package/Utilities.js.map +1 -1
- package/grouping.css +111 -111
- package/hooks/usePivot.js +20 -15
- package/hooks/usePivot.js.map +1 -1
- package/package.json +105 -102
- package/pivottable.css +441 -441
- package/renderers/RadixUI.js.map +1 -1
- package/renderers/ShadcnDashboardUI.js.map +1 -1
- package/renderers/TailwindUI.js.map +1 -1
package/PivotTableUI.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTableUI.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_immutabilityHelper","_Utilities","_PivotTable","_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","_aggregators$aggregat3","_aggregators$aggregat4","_useState5","unusedOrder","openDropdown","materializedInput","data","_useState6","setState","_useState7","_useState8","activeId","setActiveId","rows","cols","aggregatorName","aggregators","vals","rendererName","renderers","unusedOrientationCutoff","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","page","pageSize","rowOrder","colOrder","derivedAttributes","onChangeRef","useEffect","newState","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","handleDuplicates","newAttrs","existingAttrs","dups","item","sendPropUpdate","useCallback","command","_onChangeRef$current","newProps","update","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","updateActiveZone","updateOverZone","handleDragEnd","_ref7","_over$data$current$so2","_over$data2","list","oldIndex","newIndex","arrayMove","isOpen","dropdown","numValsAllowed","numInputs","aggregatorCellOutlet","outlet","actualRendererName","sortIcons","key_a_to_z","rowSymbol","colSymbol","value_a_to_z","value_z_to_a","sharedCellProps","rendererCell","aggregatorCell","fill","_","concat","$splice","unusedAttrsCell","colAttrsCell","rowAttrsCell","renderFooter","pivotData","totalPivotRows","getRowKeys","totalRecords","totalPages","Math","ceil","disabled","min","max","val","parseInt","_onChangeRef$current2","newSize","outputCell","DndContext","collisionDetection","closestCorners","onDragStart","onDragOver","onDragEnd","Fragment","DragOverlay","propTypes","PropTypes","func","isRequired","arrayOf","string","number","defaultProps","_default"],"sources":["src/PivotTableUI.jsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport update from 'immutability-helper';\r\nimport { PivotData, sortAs, getSort } from './Utilities';\r\nimport PivotTable from './PivotTable';\r\nimport Draggable from 'react-draggable';\r\n\r\nimport {\r\n DndContext,\r\n DragOverlay,\r\n closestCorners,\r\n PointerSensor,\r\n useSensor,\r\n useSensors,\r\n} from '@dnd-kit/core';\r\nimport {\r\n SortableContext,\r\n useSortable,\r\n horizontalListSortingStrategy,\r\n verticalListSortingStrategy,\r\n arrayMove,\r\n} from '@dnd-kit/sortable';\r\nimport { CSS } from '@dnd-kit/utilities';\r\n\r\n// ─── DraggableAttribute ────────────────────────────────────────────────────────\r\n\r\nexport const DraggableAttribute = React.forwardRef(\r\n (\r\n {\r\n name,\r\n attrValues,\r\n valueFilter,\r\n sorter,\r\n menuLimit,\r\n setValuesInFilter,\r\n addValuesToFilter,\r\n moveFilterBoxToTop,\r\n removeValuesFromFilter,\r\n zIndex,\r\n // dnd-kit drag props pasados desde SortableAttribute\r\n dragHandleProps,\r\n isDragging,\r\n },\r\n ref\r\n ) => {\r\n const [open, setOpen] = useState(false);\r\n const [filterText, setFilterText] = useState('');\r\n const nodeRef = useRef(null);\r\n\r\n const toggleValue = value => {\r\n if (value in valueFilter) {\r\n removeValuesFromFilter(name, [value]);\r\n } else {\r\n addValuesToFilter(name, [value]);\r\n }\r\n };\r\n\r\n const matchesFilter = x =>\r\n x.toLowerCase().trim().includes(filterText.toLowerCase().trim());\r\n\r\n const selectOnly = (e, value) => {\r\n e.stopPropagation();\r\n setValuesInFilter(\r\n name,\r\n Object.keys(attrValues).filter(y => y !== value)\r\n );\r\n };\r\n\r\n const getFilterBox = () => {\r\n const showMenu = Object.keys(attrValues).length < menuLimit;\r\n const values = Object.keys(attrValues);\r\n const shown = values.filter(matchesFilter).sort(sorter);\r\n\r\n return (\r\n <Draggable handle=\".pvtDragHandle\" nodeRef={nodeRef}>\r\n <div\r\n ref={nodeRef}\r\n className=\"pvtFilterBox\"\r\n style={{ display: 'block', cursor: 'initial', zIndex }}\r\n onClick={() => moveFilterBoxToTop(name)}\r\n >\r\n <a onClick={() => setOpen(false)} className=\"pvtCloseX\">×</a>\r\n <span className=\"pvtDragHandle\">☰</span>\r\n <h4>{name}</h4>\r\n\r\n {showMenu || <p>(too many values to show)</p>}\r\n\r\n {showMenu && (\r\n <p>\r\n <input\r\n type=\"text\"\r\n placeholder=\"Filter values\"\r\n className=\"pvtSearch\"\r\n value={filterText}\r\n onChange={e => setFilterText(e.target.value)}\r\n />\r\n <br />\r\n <a\r\n role=\"button\"\r\n className=\"pvtButton\"\r\n onClick={() =>\r\n removeValuesFromFilter(\r\n name,\r\n Object.keys(attrValues).filter(matchesFilter)\r\n )\r\n }\r\n >\r\n Select {values.length === shown.length ? 'All' : shown.length}\r\n </a>{' '}\r\n <a\r\n role=\"button\"\r\n className=\"pvtButton\"\r\n onClick={() =>\r\n addValuesToFilter(\r\n name,\r\n Object.keys(attrValues).filter(matchesFilter)\r\n )\r\n }\r\n >\r\n Deselect {values.length === shown.length ? 'All' : shown.length}\r\n </a>\r\n </p>\r\n )}\r\n\r\n {showMenu && (\r\n <div className=\"pvtCheckContainer\">\r\n {shown.map(x => (\r\n <p\r\n key={x}\r\n onClick={() => toggleValue(x)}\r\n className={x in valueFilter ? '' : 'selected'}\r\n >\r\n <a className=\"pvtOnly\" onClick={e => selectOnly(e, x)}>only</a>\r\n <a className=\"pvtOnlySpacer\"> </a>\r\n {x === '' ? <em>null</em> : x}\r\n </p>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </Draggable>\r\n );\r\n };\r\n\r\n const toggleFilterBox = () => {\r\n setOpen(o => !o);\r\n moveFilterBoxToTop(name);\r\n };\r\n\r\n const filtered = Object.keys(valueFilter).length !== 0 ? 'pvtFilteredAttribute' : '';\r\n\r\n return (\r\n <li\r\n ref={ref}\r\n data-id={name}\r\n style={{ opacity: isDragging ? 0.4 : 1 }}\r\n >\r\n <span className={'pvtAttr ' + filtered} {...dragHandleProps}>\r\n {name}\r\n <span\r\n className=\"pvtTriangle\"\r\n onClick={e => { e.stopPropagation(); toggleFilterBox(); }}\r\n >\r\n {' '}▾\r\n </span>\r\n </span>\r\n {open ? getFilterBox() : null}\r\n </li>\r\n );\r\n }\r\n);\r\nDraggableAttribute.displayName = 'DraggableAttribute';\r\n\r\n// ─── SortableAttribute: wrapper que conecta dnd-kit con DraggableAttribute ────\r\n\r\nconst SortableAttribute = ({ id, ...rest }) => {\r\n const {\r\n attributes,\r\n listeners,\r\n setNodeRef,\r\n transform,\r\n transition,\r\n isDragging,\r\n } = useSortable({ id });\r\n\r\n const style = {\r\n transform: CSS.Transform.toString(transform),\r\n transition,\r\n };\r\n\r\n return (\r\n <DraggableAttribute\r\n ref={setNodeRef}\r\n name={id}\r\n isDragging={isDragging}\r\n dragHandleProps={{ ...attributes, ...listeners, style }}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\n// ─── Dropdown ─────────────────────────────────────────────────────────────────\r\n\r\nexport const Dropdown = ({ zIndex = 1, open = false, toggle, current, values = [], setValue }) => (\r\n <div className=\"pvtDropdown\" style={{ zIndex }}>\r\n <div\r\n onClick={e => { e.stopPropagation(); toggle(); }}\r\n className={'pvtDropdownValue pvtDropdownCurrent ' + (open ? 'pvtDropdownCurrentOpen' : '')}\r\n role=\"button\"\r\n >\r\n <div className=\"pvtDropdownIcon\">{open ? '×' : '▾'}</div>\r\n {current || <span> </span>}\r\n </div>\r\n {open && (\r\n <div className=\"pvtDropdownMenu\">\r\n {values.map(r => (\r\n <div\r\n key={r}\r\n role=\"button\"\r\n onClick={e => {\r\n e.stopPropagation();\r\n if (current === r) toggle();\r\n else { setValue(r); toggle(); }\r\n }}\r\n className={'pvtDropdownValue ' + (r === current ? 'pvtDropdownActiveValue' : '')}\r\n >\r\n {r}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n);\r\n\r\n// ─── DnDCell: lista sortable con dnd-kit ──────────────────────────────────────\r\n\r\nconst DnDCell = ({\r\n id, // identificador único de esta zona (ej: 'rows', 'cols', 'unused')\r\n items,\r\n classes,\r\n state,\r\n valueFilter,\r\n sorters,\r\n menuLimit,\r\n setValuesInFilter,\r\n addValuesToFilter,\r\n moveFilterBoxToTop,\r\n removeValuesFromFilter,\r\n isHorizontal,\r\n}) => {\r\n const strategy = isHorizontal\r\n ? horizontalListSortingStrategy\r\n : verticalListSortingStrategy;\r\n\r\n return (\r\n <td className={classes}>\r\n <SortableContext id={id} items={items} strategy={strategy}>\r\n <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}>\r\n {items.map(x => (\r\n <SortableAttribute\r\n key={x}\r\n id={x}\r\n attrValues={state.attrValues[x] || {}}\r\n valueFilter={valueFilter[x] || {}}\r\n sorter={getSort(sorters, x)}\r\n menuLimit={menuLimit}\r\n setValuesInFilter={setValuesInFilter}\r\n addValuesToFilter={addValuesToFilter}\r\n moveFilterBoxToTop={moveFilterBoxToTop}\r\n removeValuesFromFilter={removeValuesFromFilter}\r\n zIndex={state.zIndices[x] || state.maxZIndex}\r\n />\r\n ))}\r\n </ul>\r\n </SortableContext>\r\n </td>\r\n );\r\n};\r\n\r\n// ─── PivotTableUI ─────────────────────────────────────────────────────────────\r\n\r\nconst PivotTableUI = props => {\r\n const [state, setState] = useState({\r\n unusedOrder: [],\r\n zIndices: {},\r\n maxZIndex: 1000,\r\n openDropdown: false,\r\n attrValues: {},\r\n materializedInput: [],\r\n data: null,\r\n });\r\n\r\n // activeId: el atributo que se está arrastrando\r\n const [activeId, setActiveId] = useState(null);\r\n\r\n const {\r\n data,\r\n onChange,\r\n rows,\r\n cols,\r\n aggregatorName,\r\n aggregators,\r\n vals,\r\n rendererName,\r\n renderers,\r\n valueFilter,\r\n sorters,\r\n menuLimit,\r\n unusedOrientationCutoff,\r\n hiddenAttributes,\r\n hiddenFromAggregators,\r\n hiddenFromDragDrop,\r\n pagination,\r\n page,\r\n pageSize,\r\n rowOrder,\r\n colOrder,\r\n derivedAttributes,\r\n } = props;\r\n\r\n const onChangeRef = useRef(onChange);\r\n useEffect(() => { onChangeRef.current = onChange; }, [onChange]);\r\n\r\n // ── Materializar datos ───────────────────────────────────────────────────────\r\n useEffect(() => {\r\n if (state.data === data) return;\r\n const newState = { data, attrValues: {}, materializedInput: [] };\r\n let recordsProcessed = 0;\r\n PivotData.forEachRecord(data, derivedAttributes, record => {\r\n newState.materializedInput.push(record);\r\n for (const attr of Object.keys(record)) {\r\n if (!(attr in newState.attrValues)) {\r\n newState.attrValues[attr] = {};\r\n if (recordsProcessed > 0) newState.attrValues[attr].null = recordsProcessed;\r\n }\r\n }\r\n for (const attr in newState.attrValues) {\r\n const value = attr in record ? record[attr] : 'null';\r\n if (!(value in newState.attrValues[attr])) newState.attrValues[attr][value] = 0;\r\n newState.attrValues[attr][value]++;\r\n }\r\n recordsProcessed++;\r\n });\r\n setState(s => ({ ...s, ...newState }));\r\n }, [data, derivedAttributes, state.data]);\r\n\r\n // ── Helpers ──────────────────────────────────────────────────────────────────\r\n const handleDuplicates = (newAttrs, existingAttrs) => {\r\n if (!newAttrs || !existingAttrs) return existingAttrs || [];\r\n const dups = newAttrs.filter(item => existingAttrs.includes(item));\r\n return dups.length > 0 ? existingAttrs.filter(item => !dups.includes(item)) : existingAttrs;\r\n };\r\n\r\n const sendPropUpdate = useCallback(command => {\r\n const newProps = update(props, command);\r\n onChangeRef.current?.(newProps);\r\n }, [props]);\r\n\r\n const propUpdater = useCallback(key => value => {\r\n const updateObj = { [key]: { $set: value } };\r\n if (key === 'rows') {\r\n const updatedCols = handleDuplicates(value, cols);\r\n if (updatedCols.length !== cols.length) updateObj.cols = { $set: updatedCols };\r\n } else if (key === 'cols') {\r\n const updatedRows = handleDuplicates(value, rows);\r\n if (updatedRows.length !== rows.length) updateObj.rows = { $set: updatedRows };\r\n }\r\n sendPropUpdate(updateObj);\r\n }, [cols, rows, sendPropUpdate]);\r\n\r\n const setValuesInFilter = useCallback((attribute, values) => {\r\n sendPropUpdate({\r\n valueFilter: {\r\n [attribute]: { $set: values.reduce((r, v) => { r[v] = true; return r; }, {}) },\r\n },\r\n });\r\n }, [sendPropUpdate]);\r\n\r\n const addValuesToFilter = useCallback((attribute, values) => {\r\n if (attribute in valueFilter) {\r\n sendPropUpdate({\r\n valueFilter: {\r\n [attribute]: values.reduce((r, v) => { r[v] = { $set: true }; return r; }, {}),\r\n },\r\n });\r\n } else {\r\n setValuesInFilter(attribute, values);\r\n }\r\n }, [sendPropUpdate, valueFilter, setValuesInFilter]);\r\n\r\n const removeValuesFromFilter = useCallback((attribute, values) => {\r\n sendPropUpdate({ valueFilter: { [attribute]: { $unset: values } } });\r\n }, [sendPropUpdate]);\r\n\r\n const moveFilterBoxToTop = useCallback(attribute => {\r\n setState(s => ({\r\n ...s,\r\n maxZIndex: s.maxZIndex + 1,\r\n zIndices: { ...s.zIndices, [attribute]: s.maxZIndex + 1 },\r\n }));\r\n }, []);\r\n\r\n // ── Listas de atributos ──────────────────────────────────────────────────────\r\n const unusedAttrs = Object.keys(state.attrValues)\r\n .filter(e => e && e.trim() !== '' && !rows.includes(e) && !cols.includes(e) && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e))\r\n .sort(sortAs(state.unusedOrder));\r\n\r\n const unusedLength = unusedAttrs.reduce((r, e) => r + e.length, 0);\r\n const horizUnused = unusedLength < unusedOrientationCutoff;\r\n\r\n const colAttrs = cols.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\r\n const rowAttrs = rows.filter(e => e && e.trim() !== '' && !hiddenAttributes.includes(e) && !hiddenFromDragDrop.includes(e));\r\n\r\n // ── Mapa de zona → lista actual ──────────────────────────────────────────────\r\n // Para saber a qué lista pertenece cada atributo durante el drag\r\n const getZoneOfItem = id => {\r\n if (rowAttrs.includes(id)) return 'rows';\r\n if (colAttrs.includes(id)) return 'cols';\r\n if (unusedAttrs.includes(id)) return 'unused';\r\n return null;\r\n };\r\n\r\n const getListByZone = zone => {\r\n if (zone === 'rows') return rowAttrs;\r\n if (zone === 'cols') return colAttrs;\r\n if (zone === 'unused') return unusedAttrs;\r\n return [];\r\n };\r\n\r\n const getUpdaterByZone = zone => {\r\n if (zone === 'rows') return propUpdater('rows');\r\n if (zone === 'cols') return propUpdater('cols');\r\n if (zone === 'unused') return order => setState(s => ({ ...s, unusedOrder: order }));\r\n return () => { };\r\n };\r\n\r\n // ── Sensores dnd-kit ─────────────────────────────────────────────────────────\r\n const sensors = useSensors(\r\n useSensor(PointerSensor, { activationConstraint: { distance: 5 } })\r\n );\r\n\r\n // ── Handlers de dnd-kit ──────────────────────────────────────────────────────\r\n const handleDragStart = ({ active }) => {\r\n setActiveId(active.id);\r\n };\r\n\r\n const handleDragOver = ({ active, over }) => {\r\n if (!over) return;\r\n\r\n const activeZone = getZoneOfItem(active.id);\r\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\r\n\r\n // Guardia 1: Ambos deben tener zona y ser distintas\r\n if (!activeZone || !overZone || activeZone === overZone) return;\r\n\r\n // Mover entre zonas en tiempo real (mientras se arrastra)\r\n const activeList = [...getListByZone(activeZone)];\r\n const overList = [...getListByZone(overZone)];\r\n\r\n const activeIndex = activeList.indexOf(active.id);\r\n const overIndex = overList.indexOf(over.id);\r\n\r\n // Guardia 2: El item debe existir en la lista de origen (evita splice -1)\r\n if (activeIndex === -1) return;\r\n\r\n // Guardia 3: Evitar duplicados en la lista de destino\r\n if (overList.includes(active.id)) return;\r\n\r\n activeList.splice(activeIndex, 1);\r\n const insertAt = overIndex >= 0 ? overIndex : overList.length;\r\n overList.splice(insertAt, 0, active.id);\r\n\r\n // Actualizar ambas listas\r\n const updateActiveZone = getUpdaterByZone(activeZone);\r\n const updateOverZone = getUpdaterByZone(overZone);\r\n\r\n updateActiveZone(activeList);\r\n updateOverZone(overList);\r\n };\r\n\r\n const handleDragEnd = ({ active, over }) => {\r\n setActiveId(null);\r\n if (!over) return;\r\n\r\n const activeZone = getZoneOfItem(active.id);\r\n const overZone = over.data?.current?.sortable?.containerId ?? getZoneOfItem(over.id);\r\n\r\n if (!activeZone || !overZone) return;\r\n\r\n if (activeZone === overZone) {\r\n // Reordenamiento dentro de la misma zona\r\n const list = getListByZone(activeZone);\r\n const oldIndex = list.indexOf(active.id);\r\n const newIndex = list.indexOf(over.id);\r\n if (oldIndex !== newIndex) {\r\n getUpdaterByZone(activeZone)(arrayMove(list, oldIndex, newIndex));\r\n }\r\n }\r\n // Si activeZone !== overZone, ya fue manejado en handleDragOver\r\n };\r\n\r\n // ── UI ───────────────────────────────────────────────────────────────────────\r\n const isOpen = dropdown => state.openDropdown === dropdown;\r\n const numValsAllowed = aggregators[aggregatorName]?.([])?.()?.numInputs || 0;\r\n const aggregatorCellOutlet = aggregators[aggregatorName]?.([])?.()?.outlet;\r\n const actualRendererName = rendererName in renderers ? rendererName : Object.keys(renderers)[0];\r\n\r\n const sortIcons = {\r\n key_a_to_z: { rowSymbol: '↕', colSymbol: '↔', next: 'value_a_to_z' },\r\n value_a_to_z: { rowSymbol: '↓', colSymbol: '→', next: 'value_z_to_a' },\r\n value_z_to_a: { rowSymbol: '↑', colSymbol: '←', next: 'key_a_to_z' },\r\n };\r\n\r\n const sharedCellProps = {\r\n state,\r\n valueFilter,\r\n sorters,\r\n menuLimit,\r\n setValuesInFilter,\r\n addValuesToFilter,\r\n moveFilterBoxToTop,\r\n removeValuesFromFilter,\r\n };\r\n\r\n const rendererCell = (\r\n <td className=\"pvtRenderers\">\r\n <Dropdown\r\n current={actualRendererName}\r\n values={Object.keys(renderers)}\r\n open={isOpen('renderer')}\r\n zIndex={isOpen('renderer') ? state.maxZIndex + 1 : 1}\r\n toggle={() => setState(s => ({ ...s, openDropdown: isOpen('renderer') ? false : 'renderer' }))}\r\n setValue={propUpdater('rendererName')}\r\n />\r\n </td>\r\n );\r\n\r\n const aggregatorCell = (\r\n <td className=\"pvtVals\">\r\n <Dropdown\r\n current={aggregatorName}\r\n values={Object.keys(aggregators)}\r\n open={isOpen('aggregators')}\r\n zIndex={isOpen('aggregators') ? state.maxZIndex + 1 : 1}\r\n toggle={() => setState(s => ({ ...s, openDropdown: isOpen('aggregators') ? false : 'aggregators' }))}\r\n setValue={propUpdater('aggregatorName')}\r\n />\r\n <a role=\"button\" className=\"pvtRowOrder\" onClick={() => propUpdater('rowOrder')(sortIcons[rowOrder].next)}>\r\n {sortIcons[rowOrder].rowSymbol}\r\n </a>\r\n <a role=\"button\" className=\"pvtColOrder\" onClick={() => propUpdater('colOrder')(sortIcons[colOrder].next)}>\r\n {sortIcons[colOrder].colSymbol}\r\n </a>\r\n {numValsAllowed > 0 && <br />}\r\n {new Array(numValsAllowed).fill(null).map((_, i) => [\r\n <Dropdown\r\n key={i}\r\n current={vals[i]}\r\n values={Object.keys(state.attrValues).filter(\r\n e => !hiddenAttributes.includes(e) && !hiddenFromAggregators.includes(e)\r\n )}\r\n open={isOpen(`val${i}`)}\r\n zIndex={isOpen(`val${i}`) ? state.maxZIndex + 1 : 1}\r\n toggle={() => setState(s => ({ ...s, openDropdown: isOpen(`val${i}`) ? false : `val${i}` }))}\r\n setValue={value => sendPropUpdate({ vals: { $splice: [[i, 1, value]] } })}\r\n />,\r\n i + 1 !== numValsAllowed ? <br key={`br${i}`} /> : null,\r\n ])}\r\n {aggregatorCellOutlet && aggregatorCellOutlet(data)}\r\n </td>\r\n );\r\n\r\n const unusedAttrsCell = (\r\n <DnDCell\r\n id=\"unused\"\r\n items={unusedAttrs}\r\n classes={`pvtAxisContainer pvtUnused ${horizUnused ? 'pvtHorizList' : 'pvtVertList'}`}\r\n isHorizontal={horizUnused}\r\n {...sharedCellProps}\r\n />\r\n );\r\n\r\n const colAttrsCell = (\r\n <DnDCell\r\n id=\"cols\"\r\n items={colAttrs}\r\n classes=\"pvtAxisContainer pvtHorizList pvtCols\"\r\n isHorizontal\r\n {...sharedCellProps}\r\n />\r\n );\r\n\r\n const rowAttrsCell = (\r\n <DnDCell\r\n id=\"rows\"\r\n items={rowAttrs}\r\n classes=\"pvtAxisContainer pvtVertList pvtRows\"\r\n isHorizontal={false}\r\n {...sharedCellProps}\r\n />\r\n );\r\n\r\n // Footer de paginación\r\n const renderFooter = () => {\r\n const pivotData = new PivotData({ ...props, data: state.materializedInput });\r\n const totalPivotRows = pivotData.getRowKeys().length;\r\n const totalRecords = state.materializedInput.length;\r\n const totalPages = Math.ceil(totalPivotRows / pageSize);\r\n\r\n return (\r\n <div className=\"pvtFooter\">\r\n <div className=\"pvtFooterInfo\">\r\n Total registros: {totalRecords} | Filas: {totalPivotRows}\r\n </div>\r\n <div className=\"pvtFooterPagination\">\r\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => propUpdater('page')(1)}>«</button>\r\n <button className=\"pvtButton\" disabled={page <= 1} onClick={() => propUpdater('page')(page - 1)}>‹</button>\r\n <span>\r\n Página{' '}\r\n <input\r\n type=\"number\"\r\n className=\"pvtPageInput\"\r\n value={page}\r\n min={1}\r\n max={totalPages}\r\n onChange={e => {\r\n const val = parseInt(e.target.value, 10);\r\n if (val > 0 && val <= totalPages) propUpdater('page')(val);\r\n }}\r\n />{' '}\r\n de {totalPages}\r\n </span>\r\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(page + 1)}>›</button>\r\n <button className=\"pvtButton\" disabled={page >= totalPages} onClick={() => propUpdater('page')(totalPages)}>»</button>\r\n <select\r\n className=\"pvtPageSize\"\r\n value={pageSize}\r\n onChange={e => {\r\n const newSize = parseInt(e.target.value, 10);\r\n onChangeRef.current?.(update(props, { pageSize: { $set: newSize }, page: { $set: 1 } }));\r\n }}\r\n >\r\n {[10, 20, 50, 100].map(n => (\r\n <option key={n} value={n}>{n} / pág</option>\r\n ))}\r\n </select>\r\n </div>\r\n </div>\r\n );\r\n };\r\n\r\n const outputCell = (\r\n <td className=\"pvtOutput\">\r\n <PivotTable {...update(props, { data: { $set: state.materializedInput } })} />\r\n {pagination && renderFooter()}\r\n </td>\r\n );\r\n\r\n return (\r\n <DndContext\r\n sensors={sensors}\r\n collisionDetection={closestCorners}\r\n onDragStart={handleDragStart}\r\n onDragOver={handleDragOver}\r\n onDragEnd={handleDragEnd}\r\n >\r\n <table className=\"pvtUi\">\r\n <tbody onClick={() => setState(s => ({ ...s, openDropdown: false }))}>\r\n {horizUnused ? (\r\n <>\r\n <tr>{rendererCell}{unusedAttrsCell}</tr>\r\n <tr>{aggregatorCell}{colAttrsCell}</tr>\r\n <tr>{rowAttrsCell}{outputCell}</tr>\r\n </>\r\n ) : (\r\n <>\r\n <tr>{rendererCell}{aggregatorCell}{colAttrsCell}</tr>\r\n <tr>{unusedAttrsCell}{rowAttrsCell}{outputCell}</tr>\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n\r\n {/* Overlay: muestra el atributo mientras se arrastra */}\r\n <DragOverlay>\r\n {activeId ? (\r\n <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}>\r\n <li>\r\n <span className=\"pvtAttr\">{activeId}</span>\r\n </li>\r\n </ul>\r\n ) : null}\r\n </DragOverlay>\r\n </DndContext>\r\n );\r\n};\r\n\r\nPivotTableUI.propTypes = {\r\n onChange: PropTypes.func.isRequired,\r\n hiddenAttributes: PropTypes.arrayOf(PropTypes.string),\r\n hiddenFromAggregators: PropTypes.arrayOf(PropTypes.string),\r\n hiddenFromDragDrop: PropTypes.arrayOf(PropTypes.string),\r\n unusedOrientationCutoff: PropTypes.number,\r\n menuLimit: PropTypes.number,\r\n};\r\n\r\nPivotTableUI.defaultProps = {\r\n hiddenAttributes: [],\r\n hiddenFromAggregators: [],\r\n hiddenFromDragDrop: [],\r\n unusedOrientationCutoff: 85,\r\n menuLimit: 500,\r\n};\r\n\r\nexport default PivotTableUI;"],"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\"> </a>\n {x === '' ? <em>null</em> : x}\n </p>\n ))}\n </div>\n )}\n </div>\n </Draggable>\n );\n };\n\n const toggleFilterBox = () => {\n setOpen(o => !o);\n moveFilterBoxToTop(name);\n };\n\n const filtered = Object.keys(valueFilter).length !== 0 ? 'pvtFilteredAttribute' : '';\n\n return (\n <li\n ref={ref}\n data-id={name}\n style={{ opacity: isDragging ? 0.4 : 1 }}\n >\n <span className={'pvtAttr ' + filtered} {...dragHandleProps}>\n {name}\n <span\n className=\"pvtTriangle\"\n onClick={e => { e.stopPropagation(); toggleFilterBox(); }}\n >\n {' '}▾\n </span>\n </span>\n {open ? getFilterBox() : null}\n </li>\n );\n }\n);\nDraggableAttribute.displayName = 'DraggableAttribute';\n\nconst SortableAttribute = ({ id, ...rest }) => {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging,\n } = useSortable({ id });\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n };\n\n return (\n <DraggableAttribute\n ref={setNodeRef}\n name={id}\n isDragging={isDragging}\n dragHandleProps={{ ...attributes, ...listeners, style }}\n {...rest}\n />\n );\n};\n\nexport const Dropdown = ({ zIndex = 1, open = false, toggle, current, values = [], setValue }) => (\n <div className=\"pvtDropdown\" style={{ zIndex }}>\n <div\n onClick={e => { e.stopPropagation(); toggle(); }}\n className={'pvtDropdownValue pvtDropdownCurrent ' + (open ? 'pvtDropdownCurrentOpen' : '')}\n role=\"button\"\n >\n <div className=\"pvtDropdownIcon\">{open ? '×' : '▾'}</div>\n {current || <span> </span>}\n </div>\n {open && (\n <div className=\"pvtDropdownMenu\">\n {values.map(r => (\n <div\n key={r}\n role=\"button\"\n onClick={e => {\n e.stopPropagation();\n if (current === r) toggle();\n else { setValue(r); toggle(); }\n }}\n className={'pvtDropdownValue ' + (r === current ? 'pvtDropdownActiveValue' : '')}\n >\n {r}\n </div>\n ))}\n </div>\n )}\n </div>\n);\n\nconst DnDCell = ({\n id,\n items,\n classes,\n state,\n valueFilter,\n sorters,\n menuLimit,\n setValuesInFilter,\n addValuesToFilter,\n moveFilterBoxToTop,\n removeValuesFromFilter,\n isHorizontal,\n}) => {\n const strategy = isHorizontal\n ? horizontalListSortingStrategy\n : verticalListSortingStrategy;\n\n return (\n <td className={classes}>\n <SortableContext id={id} items={items} strategy={strategy}>\n <ul style={{ listStyle: 'none', padding: 0, margin: 0 }}>\n {items.map(x => (\n <SortableAttribute\n key={x}\n id={x}\n attrValues={state.attrValues[x] || {}}\n valueFilter={valueFilter[x] || {}}\n sorter={getSort(sorters, x)}\n menuLimit={menuLimit}\n setValuesInFilter={setValuesInFilter}\n addValuesToFilter={addValuesToFilter}\n moveFilterBoxToTop={moveFilterBoxToTop}\n removeValuesFromFilter={removeValuesFromFilter}\n zIndex={state.zIndices[x] || state.maxZIndex}\n />\n ))}\n </ul>\n </SortableContext>\n </td>\n );\n};\n\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/PlotlyRenderers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlotlyRenderers.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","makeRenderer","PlotlyComponent","traceOptions","arguments","undefined","layoutOptions","transpose","Renderer","_React$PureComponent","render","pivotData","PivotData","props","rowKeys","getRowKeys","colKeys","getColKeys","traceKeys","push","datumKeys","fullAggName","aggregatorName","numInputs","aggregators","concat","vals","join","data","map","traceKey","values","labels","_iterator","_step","datumKey","val","parseFloat","getAggregator","isFinite","err","trace","type","x","y","assign","titleText","hAxisTitle","rows","cols","groupByTitle","layout","title","hovermode","width","window","innerWidth","height","innerHeight","columns","Math","ceil","sqrt","grid","forEach","d","domain","row","floor","column","showlegend","xaxis","automargin","yaxis","createElement","plotlyOptions","config","plotlyConfig","onUpdate","onRendererUpdate","React","PureComponent","defaultProps","propTypes","PropTypes","object","func","makeScatterRenderer","_React$PureComponent2","text","mode","rowKey","colKey","v","createPlotlyRenderers","barmode","orientation","stackgroup","scalegroup","hoverinfo","textinfo","module","exports","default"],"sources":["src/PlotlyRenderers.jsx"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {PivotData} from './Utilities';\r\n\r\n/* eslint-disable react/prop-types */\r\n// eslint can't see inherited propTypes!\r\n\r\nfunction makeRenderer(\r\n PlotlyComponent,\r\n traceOptions = {},\r\n layoutOptions = {},\r\n transpose = false\r\n) {\r\n class Renderer extends React.PureComponent {\r\n render() {\r\n const pivotData = new PivotData(this.props);\r\n const rowKeys = pivotData.getRowKeys();\r\n const colKeys = pivotData.getColKeys();\r\n const traceKeys = transpose ? colKeys : rowKeys;\r\n if (traceKeys.length === 0) {\r\n traceKeys.push([]);\r\n }\r\n const datumKeys = transpose ? rowKeys : colKeys;\r\n if (datumKeys.length === 0) {\r\n datumKeys.push([]);\r\n }\r\n\r\n let fullAggName = this.props.aggregatorName;\r\n const numInputs =\r\n this.props.aggregators[fullAggName]([])().numInputs || 0;\r\n if (numInputs !== 0) {\r\n fullAggName += ` of ${this.props.vals.slice(0, numInputs).join(', ')}`;\r\n }\r\n\r\n const data = traceKeys.map(traceKey => {\r\n const values = [];\r\n const labels = [];\r\n for (const datumKey of datumKeys) {\r\n const val = parseFloat(\r\n pivotData\r\n .getAggregator(\r\n transpose ? datumKey : traceKey,\r\n transpose ? traceKey : datumKey\r\n )\r\n .value()\r\n );\r\n values.push(isFinite(val) ? val : null);\r\n labels.push(datumKey.join('-') || ' ');\r\n }\r\n const trace = {name: traceKey.join('-') || fullAggName};\r\n if (traceOptions.type === 'pie') {\r\n trace.values = values;\r\n trace.labels = labels.length > 1 ? labels : [fullAggName];\r\n } else {\r\n trace.x = transpose ? values : labels;\r\n trace.y = transpose ? labels : values;\r\n }\r\n return Object.assign(trace, traceOptions);\r\n });\r\n\r\n let titleText = fullAggName;\r\n const hAxisTitle = transpose\r\n ? this.props.rows.join('-')\r\n : this.props.cols.join('-');\r\n const groupByTitle = transpose\r\n ? this.props.cols.join('-')\r\n : this.props.rows.join('-');\r\n if (hAxisTitle !== '') {\r\n titleText += ` vs ${hAxisTitle}`;\r\n }\r\n if (groupByTitle !== '') {\r\n titleText += ` by ${groupByTitle}`;\r\n }\r\n\r\n const layout = {\r\n title: titleText,\r\n hovermode: 'closest',\r\n /* eslint-disable no-magic-numbers */\r\n width: window.innerWidth / 1.5,\r\n height: window.innerHeight / 1.4 - 50,\r\n /* eslint-enable no-magic-numbers */\r\n };\r\n\r\n if (traceOptions.type === 'pie') {\r\n const columns = Math.ceil(Math.sqrt(data.length));\r\n const rows = Math.ceil(data.length / columns);\r\n layout.grid = {columns, rows};\r\n data.forEach((d, i) => {\r\n d.domain = {\r\n row: Math.floor(i / columns),\r\n column: i - columns * Math.floor(i / columns),\r\n };\r\n if (data.length > 1) {\r\n d.title = d.name;\r\n }\r\n });\r\n if (data[0].labels.length === 1) {\r\n layout.showlegend = false;\r\n }\r\n } else {\r\n layout.xaxis = {\r\n title: transpose ? fullAggName : null,\r\n automargin: true,\r\n };\r\n layout.yaxis = {\r\n title: transpose ? null : fullAggName,\r\n automargin: true,\r\n };\r\n }\r\n\r\n return (\r\n <PlotlyComponent\r\n data={data}\r\n layout={Object.assign(\r\n layout,\r\n layoutOptions,\r\n this.props.plotlyOptions\r\n )}\r\n config={this.props.plotlyConfig}\r\n onUpdate={this.props.onRendererUpdate}\r\n />\r\n );\r\n }\r\n }\r\n\r\n Renderer.defaultProps = Object.assign({}, PivotData.defaultProps, {\r\n plotlyOptions: {},\r\n plotlyConfig: {},\r\n });\r\n Renderer.propTypes = Object.assign({}, PivotData.propTypes, {\r\n plotlyOptions: PropTypes.object,\r\n plotlyConfig: PropTypes.object,\r\n onRendererUpdate: PropTypes.func,\r\n });\r\n\r\n return Renderer;\r\n}\r\n\r\nfunction makeScatterRenderer(PlotlyComponent) {\r\n class Renderer extends React.PureComponent {\r\n render() {\r\n const pivotData = new PivotData(this.props);\r\n const rowKeys = pivotData.getRowKeys();\r\n const colKeys = pivotData.getColKeys();\r\n if (rowKeys.length === 0) {\r\n rowKeys.push([]);\r\n }\r\n if (colKeys.length === 0) {\r\n colKeys.push([]);\r\n }\r\n\r\n const data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'};\r\n\r\n rowKeys.map(rowKey => {\r\n colKeys.map(colKey => {\r\n const v = pivotData.getAggregator(rowKey, colKey).value();\r\n if (v !== null) {\r\n data.x.push(colKey.join('-'));\r\n data.y.push(rowKey.join('-'));\r\n data.text.push(v);\r\n }\r\n });\r\n });\r\n\r\n const layout = {\r\n title: this.props.rows.join('-') + ' vs ' + this.props.cols.join('-'),\r\n hovermode: 'closest',\r\n /* eslint-disable no-magic-numbers */\r\n xaxis: {title: this.props.cols.join('-'), automargin: true},\r\n yaxis: {title: this.props.rows.join('-'), automargin: true},\r\n width: window.innerWidth / 1.5,\r\n height: window.innerHeight / 1.4 - 50,\r\n /* eslint-enable no-magic-numbers */\r\n };\r\n\r\n return (\r\n <PlotlyComponent\r\n data={[data]}\r\n layout={Object.assign(layout, this.props.plotlyOptions)}\r\n config={this.props.plotlyConfig}\r\n onUpdate={this.props.onRendererUpdate}\r\n />\r\n );\r\n }\r\n }\r\n\r\n Renderer.defaultProps = Object.assign({}, PivotData.defaultProps, {\r\n plotlyOptions: {},\r\n plotlyConfig: {},\r\n });\r\n Renderer.propTypes = Object.assign({}, PivotData.propTypes, {\r\n plotlyOptions: PropTypes.object,\r\n plotlyConfig: PropTypes.object,\r\n onRendererUpdate: PropTypes.func,\r\n });\r\n\r\n return Renderer;\r\n}\r\n\r\nexport default function createPlotlyRenderers(PlotlyComponent) {\r\n return {\r\n 'Grouped Column Chart': makeRenderer(\r\n PlotlyComponent,\r\n {type: 'bar'},\r\n {barmode: 'group'}\r\n ),\r\n 'Stacked Column Chart': makeRenderer(\r\n PlotlyComponent,\r\n {type: 'bar'},\r\n {barmode: 'relative'}\r\n ),\r\n 'Grouped Bar Chart': makeRenderer(\r\n PlotlyComponent,\r\n {type: 'bar', orientation: 'h'},\r\n {barmode: 'group'},\r\n true\r\n ),\r\n 'Stacked Bar Chart': makeRenderer(\r\n PlotlyComponent,\r\n {type: 'bar', orientation: 'h'},\r\n {barmode: 'relative'},\r\n true\r\n ),\r\n 'Line Chart': makeRenderer(PlotlyComponent),\r\n 'Dot Chart': makeRenderer(PlotlyComponent, {mode: 'markers'}, {}, true),\r\n 'Area Chart': makeRenderer(PlotlyComponent, {stackgroup: 1}),\r\n 'Scatter Chart': makeScatterRenderer(PlotlyComponent),\r\n 'Multiple Pie Chart': makeRenderer(\r\n PlotlyComponent,\r\n {type: 'pie', scalegroup: 1, hoverinfo: 'label+value', textinfo: 'none'},\r\n {},\r\n true\r\n ),\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PlotlyRenderers.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","makeRenderer","PlotlyComponent","traceOptions","arguments","undefined","layoutOptions","transpose","Renderer","_React$PureComponent","render","pivotData","PivotData","props","rowKeys","getRowKeys","colKeys","getColKeys","traceKeys","push","datumKeys","fullAggName","aggregatorName","numInputs","aggregators","concat","vals","join","data","map","traceKey","values","labels","_iterator","_step","datumKey","val","parseFloat","getAggregator","isFinite","err","trace","type","x","y","assign","titleText","hAxisTitle","rows","cols","groupByTitle","layout","title","hovermode","width","window","innerWidth","height","innerHeight","columns","Math","ceil","sqrt","grid","forEach","d","domain","row","floor","column","showlegend","xaxis","automargin","yaxis","createElement","plotlyOptions","config","plotlyConfig","onUpdate","onRendererUpdate","React","PureComponent","defaultProps","propTypes","PropTypes","object","func","makeScatterRenderer","_React$PureComponent2","text","mode","rowKey","colKey","v","createPlotlyRenderers","barmode","orientation","stackgroup","scalegroup","hoverinfo","textinfo","module","exports","default"],"sources":["src/PlotlyRenderers.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {PivotData} from './Utilities';\n\n/* eslint-disable react/prop-types */\n// eslint can't see inherited propTypes!\n\nfunction makeRenderer(\n PlotlyComponent,\n traceOptions = {},\n layoutOptions = {},\n transpose = false\n) {\n class Renderer extends React.PureComponent {\n render() {\n const pivotData = new PivotData(this.props);\n const rowKeys = pivotData.getRowKeys();\n const colKeys = pivotData.getColKeys();\n const traceKeys = transpose ? colKeys : rowKeys;\n if (traceKeys.length === 0) {\n traceKeys.push([]);\n }\n const datumKeys = transpose ? rowKeys : colKeys;\n if (datumKeys.length === 0) {\n datumKeys.push([]);\n }\n\n let fullAggName = this.props.aggregatorName;\n const numInputs =\n this.props.aggregators[fullAggName]([])().numInputs || 0;\n if (numInputs !== 0) {\n fullAggName += ` of ${this.props.vals.slice(0, numInputs).join(', ')}`;\n }\n\n const data = traceKeys.map(traceKey => {\n const values = [];\n const labels = [];\n for (const datumKey of datumKeys) {\n const val = parseFloat(\n pivotData\n .getAggregator(\n transpose ? datumKey : traceKey,\n transpose ? traceKey : datumKey\n )\n .value()\n );\n values.push(isFinite(val) ? val : null);\n labels.push(datumKey.join('-') || ' ');\n }\n const trace = {name: traceKey.join('-') || fullAggName};\n if (traceOptions.type === 'pie') {\n trace.values = values;\n trace.labels = labels.length > 1 ? labels : [fullAggName];\n } else {\n trace.x = transpose ? values : labels;\n trace.y = transpose ? labels : values;\n }\n return Object.assign(trace, traceOptions);\n });\n\n let titleText = fullAggName;\n const hAxisTitle = transpose\n ? this.props.rows.join('-')\n : this.props.cols.join('-');\n const groupByTitle = transpose\n ? this.props.cols.join('-')\n : this.props.rows.join('-');\n if (hAxisTitle !== '') {\n titleText += ` vs ${hAxisTitle}`;\n }\n if (groupByTitle !== '') {\n titleText += ` by ${groupByTitle}`;\n }\n\n const layout = {\n title: titleText,\n hovermode: 'closest',\n /* eslint-disable no-magic-numbers */\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50,\n /* eslint-enable no-magic-numbers */\n };\n\n if (traceOptions.type === 'pie') {\n const columns = Math.ceil(Math.sqrt(data.length));\n const rows = Math.ceil(data.length / columns);\n layout.grid = {columns, rows};\n data.forEach((d, i) => {\n d.domain = {\n row: Math.floor(i / columns),\n column: i - columns * Math.floor(i / columns),\n };\n if (data.length > 1) {\n d.title = d.name;\n }\n });\n if (data[0].labels.length === 1) {\n layout.showlegend = false;\n }\n } else {\n layout.xaxis = {\n title: transpose ? fullAggName : null,\n automargin: true,\n };\n layout.yaxis = {\n title: transpose ? null : fullAggName,\n automargin: true,\n };\n }\n\n return (\n <PlotlyComponent\n data={data}\n layout={Object.assign(\n layout,\n layoutOptions,\n this.props.plotlyOptions\n )}\n config={this.props.plotlyConfig}\n onUpdate={this.props.onRendererUpdate}\n />\n );\n }\n }\n\n Renderer.defaultProps = Object.assign({}, PivotData.defaultProps, {\n plotlyOptions: {},\n plotlyConfig: {},\n });\n Renderer.propTypes = Object.assign({}, PivotData.propTypes, {\n plotlyOptions: PropTypes.object,\n plotlyConfig: PropTypes.object,\n onRendererUpdate: PropTypes.func,\n });\n\n return Renderer;\n}\n\nfunction makeScatterRenderer(PlotlyComponent) {\n class Renderer 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 data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'};\n\n rowKeys.map(rowKey => {\n colKeys.map(colKey => {\n const v = pivotData.getAggregator(rowKey, colKey).value();\n if (v !== null) {\n data.x.push(colKey.join('-'));\n data.y.push(rowKey.join('-'));\n data.text.push(v);\n }\n });\n });\n\n const layout = {\n title: this.props.rows.join('-') + ' vs ' + this.props.cols.join('-'),\n hovermode: 'closest',\n /* eslint-disable no-magic-numbers */\n xaxis: {title: this.props.cols.join('-'), automargin: true},\n yaxis: {title: this.props.rows.join('-'), automargin: true},\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50,\n /* eslint-enable no-magic-numbers */\n };\n\n return (\n <PlotlyComponent\n data={[data]}\n layout={Object.assign(layout, this.props.plotlyOptions)}\n config={this.props.plotlyConfig}\n onUpdate={this.props.onRendererUpdate}\n />\n );\n }\n }\n\n Renderer.defaultProps = Object.assign({}, PivotData.defaultProps, {\n plotlyOptions: {},\n plotlyConfig: {},\n });\n Renderer.propTypes = Object.assign({}, PivotData.propTypes, {\n plotlyOptions: PropTypes.object,\n plotlyConfig: PropTypes.object,\n onRendererUpdate: PropTypes.func,\n });\n\n return Renderer;\n}\n\nexport default function createPlotlyRenderers(PlotlyComponent) {\n return {\n 'Grouped Column Chart': makeRenderer(\n PlotlyComponent,\n {type: 'bar'},\n {barmode: 'group'}\n ),\n 'Stacked Column Chart': makeRenderer(\n PlotlyComponent,\n {type: 'bar'},\n {barmode: 'relative'}\n ),\n 'Grouped Bar Chart': makeRenderer(\n PlotlyComponent,\n {type: 'bar', orientation: 'h'},\n {barmode: 'group'},\n true\n ),\n 'Stacked Bar Chart': makeRenderer(\n PlotlyComponent,\n {type: 'bar', orientation: 'h'},\n {barmode: 'relative'},\n true\n ),\n 'Line Chart': makeRenderer(PlotlyComponent),\n 'Dot Chart': makeRenderer(PlotlyComponent, {mode: 'markers'}, {}, true),\n 'Area Chart': makeRenderer(PlotlyComponent, {stackgroup: 1}),\n 'Scatter Chart': makeScatterRenderer(PlotlyComponent),\n 'Multiple Pie Chart': makeRenderer(\n PlotlyComponent,\n {type: 'pie', scalegroup: 1, hoverinfo: 'label+value', textinfo: 'none'},\n {},\n true\n ),\n };\n}\n"],"mappings":"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","ignoreList":[]}
|