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.
@@ -1 +1 @@
1
- {"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","key","finalValue","v","trim","newProps","c","includes","setTimeout","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","reduce","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\r\nimport { PivotData } from '../Utilities';\r\n\r\nexport function usePivot(initialProps) {\r\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\r\n const initialPropsRef = useRef(initialProps);\r\n useEffect(() => {\r\n initialPropsRef.current = initialProps;\r\n }, [initialProps]);\r\n\r\n const [props, setProps] = useState({\r\n data: [],\r\n rows: [],\r\n cols: [],\r\n vals: [],\r\n rowOrder: 'key_a_to_z',\r\n colOrder: 'key_a_to_z',\r\n aggregatorName: 'Count',\r\n rendererName: 'Table',\r\n valueFilter: {},\r\n sorters: {},\r\n derivedAttributes: {},\r\n hiddenAttributes: [],\r\n hiddenFromAggregators: [],\r\n hiddenFromDragDrop: [],\r\n pagination: false,\r\n pageSize: 20,\r\n page: 1,\r\n ...initialProps\r\n });\r\n\r\n const [state, setState] = useState({\r\n attrValues: {},\r\n materializedInput: [],\r\n unusedOrder: []\r\n });\r\n\r\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\r\n useEffect(() => {\r\n setProps(prev => ({ ...prev, ...initialProps }));\r\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\r\n\r\n // Materializar la entrada\r\n useEffect(() => {\r\n const materializedInput = [];\r\n const attrValues = {};\r\n let recordsProcessed = 0;\r\n\r\n PivotData.forEachRecord(\r\n props.data,\r\n props.derivedAttributes,\r\n function(record) {\r\n materializedInput.push(record);\r\n for (const attr of Object.keys(record)) {\r\n if (!(attr in attrValues)) {\r\n attrValues[attr] = {};\r\n if (recordsProcessed > 0) {\r\n attrValues[attr].null = recordsProcessed;\r\n }\r\n }\r\n }\r\n for (const attr in attrValues) {\r\n const value = attr in record ? record[attr] : 'null';\r\n if (!(value in attrValues[attr])) {\r\n attrValues[attr][value] = 0;\r\n }\r\n attrValues[attr][value]++;\r\n }\r\n recordsProcessed++;\r\n }\r\n );\r\n\r\n setState(s => ({ ...s, attrValues, materializedInput }));\r\n }, [props.data, props.derivedAttributes]);\r\n\r\n const updateProp = useCallback((key, value) => {\r\n setProps(prev => {\r\n let finalValue = value;\r\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\r\n finalValue = value.filter(v => v && v.trim() !== '');\r\n }\r\n\r\n const newProps = { ...prev, [key]: finalValue };\r\n \r\n if (key === 'rows') {\r\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\r\n } else if (key === 'cols') {\r\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\r\n }\r\n\r\n // Programar el onChange en un microtask o después del renderizado para evitar el warning de Gallery\r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) {\r\n initialPropsRef.current.onChange(newProps);\r\n }\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n const toggleFilter = useCallback((attribute, value) => {\r\n setProps(prev => {\r\n const filter = { ...prev.valueFilter[attribute] };\r\n if (value in filter) {\r\n delete filter[value];\r\n } else {\r\n filter[value] = true;\r\n }\r\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\r\n const newProps = { ...prev, valueFilter: newValueFilter };\r\n \r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n const setValuesInFilter = useCallback((attribute, values) => {\r\n setProps(prev => {\r\n const newFilter = values.reduce((r, v) => {\r\n r[v] = true;\r\n return r;\r\n }, {});\r\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\r\n \r\n setTimeout(() => {\r\n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\r\n }, 0);\r\n\r\n return newProps;\r\n });\r\n }, []);\r\n\r\n return {\r\n props,\r\n state,\r\n actions: {\r\n setProps,\r\n updateProp,\r\n toggleFilter,\r\n setValuesInFilter,\r\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\r\n }\r\n };\r\n}\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAyC,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,gCAAAwB,OAAA,CAAAF,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,oBAAAyB,OAAA,CAAAxB,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAyB,MAAA,CAAAC,WAAA,kBAAA5B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA6B,IAAA,CAAA3B,CAAA,EAAAD,CAAA,gCAAAyB,OAAA,CAAAF,CAAA,UAAAA,CAAA,YAAAM,SAAA,yEAAA7B,CAAA,GAAA8B,MAAA,GAAAC,MAAA,EAAA9B,CAAA;AAAA,SAAA+B,eAAAhC,CAAA,EAAAD,CAAA,WAAAkC,eAAA,CAAAjC,CAAA,KAAAkC,qBAAA,CAAAlC,CAAA,EAAAD,CAAA,KAAAoC,2BAAA,CAAAnC,CAAA,EAAAD,CAAA,KAAAqC,gBAAA;AAAA,SAAAA,iBAAA,cAAAP,SAAA;AAAA,SAAAM,4BAAAnC,CAAA,EAAAqC,CAAA,QAAArC,CAAA,2BAAAA,CAAA,SAAAsC,iBAAA,CAAAtC,CAAA,EAAAqC,CAAA,OAAApC,CAAA,MAAAsC,QAAA,CAAAX,IAAA,CAAA5B,CAAA,EAAAwC,KAAA,6BAAAvC,CAAA,IAAAD,CAAA,CAAAyC,WAAA,KAAAxC,CAAA,GAAAD,CAAA,CAAAyC,WAAA,CAAAC,IAAA,aAAAzC,CAAA,cAAAA,CAAA,GAAA0C,KAAA,CAAAC,IAAA,CAAA5C,CAAA,oBAAAC,CAAA,+CAAA4C,IAAA,CAAA5C,CAAA,IAAAqC,iBAAA,CAAAtC,CAAA,EAAAqC,CAAA;AAAA,SAAAC,kBAAAtC,CAAA,EAAAqC,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAArC,CAAA,CAAAa,MAAA,MAAAwB,CAAA,GAAArC,CAAA,CAAAa,MAAA,YAAAd,CAAA,MAAA+C,CAAA,GAAAH,KAAA,CAAAN,CAAA,GAAAtC,CAAA,GAAAsC,CAAA,EAAAtC,CAAA,IAAA+C,CAAA,CAAA/C,CAAA,IAAAC,CAAA,CAAAD,CAAA,UAAA+C,CAAA;AAAA,SAAAZ,sBAAAlC,CAAA,EAAA+C,CAAA,QAAA9C,CAAA,WAAAD,CAAA,gCAAA0B,MAAA,IAAA1B,CAAA,CAAA0B,MAAA,CAAAsB,QAAA,KAAAhD,CAAA,4BAAAC,CAAA,QAAAF,CAAA,EAAA+C,CAAA,EAAAvB,CAAA,EAAA0B,CAAA,EAAAZ,CAAA,OAAAa,CAAA,OAAA7C,CAAA,iBAAAkB,CAAA,IAAAtB,CAAA,GAAAA,CAAA,CAAA2B,IAAA,CAAA5B,CAAA,GAAAmD,IAAA,QAAAJ,CAAA,QAAA7C,MAAA,CAAAD,CAAA,MAAAA,CAAA,UAAAiD,CAAA,uBAAAA,CAAA,IAAAnD,CAAA,GAAAwB,CAAA,CAAAK,IAAA,CAAA3B,CAAA,GAAAmD,IAAA,MAAAf,CAAA,CAAA5B,IAAA,CAAAV,CAAA,CAAAqB,KAAA,GAAAiB,CAAA,CAAAxB,MAAA,KAAAkC,CAAA,GAAAG,CAAA,iBAAAlD,CAAA,IAAAK,CAAA,OAAAyC,CAAA,GAAA9C,CAAA,yBAAAkD,CAAA,YAAAjD,CAAA,eAAAgD,CAAA,GAAAhD,CAAA,cAAAC,MAAA,CAAA+C,CAAA,MAAAA,CAAA,2BAAA5C,CAAA,QAAAyC,CAAA,aAAAT,CAAA;AAAA,SAAAJ,gBAAAjC,CAAA,QAAA2C,KAAA,CAAAU,OAAA,CAAArD,CAAA,UAAAA,CAAA;AAElC,SAASsD,QAAQA,CAACC,YAAY,EAAE;EACrC;EACA,IAAMC,eAAe,GAAG,IAAAC,aAAM,EAACF,YAAY,CAAC;EAC5C,IAAAG,gBAAS,EAAC,YAAM;IACdF,eAAe,CAACG,OAAO,GAAGJ,YAAY;EACxC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,IAAAK,SAAA,GAA0B,IAAAC,eAAQ,EAAAlD,aAAA;MAChCmD,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE,EAAE;MACRC,IAAI,EAAE,EAAE;MACRC,QAAQ,EAAE,YAAY;MACtBC,QAAQ,EAAE,YAAY;MACtBC,cAAc,EAAE,OAAO;MACvBC,YAAY,EAAE,OAAO;MACrBC,WAAW,EAAE,CAAC,CAAC;MACfC,OAAO,EAAE,CAAC,CAAC;MACXC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,gBAAgB,EAAE,EAAE;MACpBC,qBAAqB,EAAE,EAAE;MACzBC,kBAAkB,EAAE,EAAE;MACtBC,UAAU,EAAE,KAAK;MACjBC,QAAQ,EAAE,EAAE;MACZC,IAAI,EAAE;IAAC,GACJvB,YAAY,CAChB,CAAC;IAAAwB,UAAA,GAAA/C,cAAA,CAAA4B,SAAA;IAnBKoB,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EAqBtB,IAAAG,UAAA,GAA0B,IAAArB,eAAQ,EAAC;MACjCsB,UAAU,EAAE,CAAC,CAAC;MACdC,iBAAiB,EAAE,EAAE;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;IAAAC,UAAA,GAAAtD,cAAA,CAAAkD,UAAA;IAJKK,KAAK,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;;EAMtB;EACA,IAAA5B,gBAAS,EAAC,YAAM;IACduB,QAAQ,CAAC,UAAAQ,IAAI;MAAA,OAAA9E,aAAA,CAAAA,aAAA,KAAU8E,IAAI,GAAKlC,YAAY;IAAA,CAAG,CAAC;EAClD,CAAC,EAAE,CAACA,YAAY,CAACO,IAAI,EAAEP,YAAY,CAACQ,IAAI,EAAER,YAAY,CAACS,IAAI,EAAET,YAAY,CAACc,YAAY,EAAEd,YAAY,CAACa,cAAc,EAAEb,YAAY,CAACuB,IAAI,EAAEvB,YAAY,CAACsB,QAAQ,CAAC,CAAC;;EAE/J;EACA,IAAAnB,gBAAS,EAAC,YAAM;IACd,IAAM0B,iBAAiB,GAAG,EAAE;IAC5B,IAAMD,UAAU,GAAG,CAAC,CAAC;IACrB,IAAIO,gBAAgB,GAAG,CAAC;IAExBC,oBAAS,CAACC,aAAa,CACrBZ,KAAK,CAAClB,IAAI,EACVkB,KAAK,CAACR,iBAAiB,EACvB,UAASqB,MAAM,EAAE;MACfT,iBAAiB,CAAC3E,IAAI,CAACoF,MAAM,CAAC;MAC9B,SAAAC,EAAA,MAAAC,YAAA,GAAmB7F,MAAM,CAACC,IAAI,CAAC0F,MAAM,CAAC,EAAAC,EAAA,GAAAC,YAAA,CAAAlF,MAAA,EAAAiF,EAAA,IAAE;QAAnC,IAAME,IAAI,GAAAD,YAAA,CAAAD,EAAA;QACb,IAAI,EAAEE,IAAI,IAAIb,UAAU,CAAC,EAAE;UACzBA,UAAU,CAACa,IAAI,CAAC,GAAG,CAAC,CAAC;UACrB,IAAIN,gBAAgB,GAAG,CAAC,EAAE;YACxBP,UAAU,CAACa,IAAI,CAAC,QAAK,GAAGN,gBAAgB;UAC1C;QACF;MACF;MACA,KAAK,IAAMM,KAAI,IAAIb,UAAU,EAAE;QAC7B,IAAM/D,KAAK,GAAG4E,KAAI,IAAIH,MAAM,GAAGA,MAAM,CAACG,KAAI,CAAC,GAAG,MAAM;QACpD,IAAI,EAAE5E,KAAK,IAAI+D,UAAU,CAACa,KAAI,CAAC,CAAC,EAAE;UAChCb,UAAU,CAACa,KAAI,CAAC,CAAC5E,KAAK,CAAC,GAAG,CAAC;QAC7B;QACA+D,UAAU,CAACa,KAAI,CAAC,CAAC5E,KAAK,CAAC,EAAE;MAC3B;MACAsE,gBAAgB,EAAE;IACpB,CACF,CAAC;IAEDF,QAAQ,CAAC,UAAAS,CAAC;MAAA,OAAAtF,aAAA,CAAAA,aAAA,KAAUsF,CAAC;QAAEd,UAAU,EAAVA,UAAU;QAAEC,iBAAiB,EAAjBA;MAAiB;IAAA,CAAG,CAAC;EAC1D,CAAC,EAAE,CAACJ,KAAK,CAAClB,IAAI,EAAEkB,KAAK,CAACR,iBAAiB,CAAC,CAAC;EAEzC,IAAM0B,UAAU,GAAG,IAAAC,kBAAW,EAAC,UAACC,GAAG,EAAEhF,KAAK,EAAK;IAC7C6D,QAAQ,CAAC,UAAAQ,IAAI,EAAI;MACb,IAAIY,UAAU,GAAGjF,KAAK;MACtB,IAAIuB,KAAK,CAACU,OAAO,CAACjC,KAAK,CAAC,KAAKgF,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,MAAM,CAAC,EAAE;QAC9EC,UAAU,GAAGjF,KAAK,CAACd,MAAM,CAAC,UAAAgG,CAAC;UAAA,OAAIA,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE;QAAA,EAAC;MACxD;MAEA,IAAMC,QAAQ,GAAA7F,aAAA,CAAAA,aAAA,KAAQ8E,IAAI,OAAA1E,eAAA,KAAGqF,GAAG,EAAGC,UAAU,EAAE;MAE/C,IAAID,GAAG,KAAK,MAAM,EAAE;QAChBI,QAAQ,CAACxC,IAAI,GAAGyB,IAAI,CAACzB,IAAI,CAAC1D,MAAM,CAAC,UAAAmG,CAAC;UAAA,OAAI,CAACJ,UAAU,CAACK,QAAQ,CAACD,CAAC,CAAC;QAAA,EAAC;MAClE,CAAC,MAAM,IAAIL,GAAG,KAAK,MAAM,EAAE;QACvBI,QAAQ,CAACzC,IAAI,GAAG0B,IAAI,CAAC1B,IAAI,CAACzD,MAAM,CAAC,UAAAN,CAAC;UAAA,OAAI,CAACqG,UAAU,CAACK,QAAQ,CAAC1G,CAAC,CAAC;QAAA,EAAC;MAClE;;MAEA;MACA2G,UAAU,CAAC,YAAM;QACb,IAAInD,eAAe,CAACG,OAAO,CAACiD,QAAQ,EAAE;UAClCpD,eAAe,CAACG,OAAO,CAACiD,QAAQ,CAACJ,QAAQ,CAAC;QAC9C;MACJ,CAAC,EAAE,CAAC,CAAC;MAEL,OAAOA,QAAQ;IACnB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMK,YAAY,GAAG,IAAAV,kBAAW,EAAC,UAACW,SAAS,EAAE1F,KAAK,EAAK;IACrD6D,QAAQ,CAAC,UAAAQ,IAAI,EAAI;MACb,IAAMnF,MAAM,GAAAK,aAAA,KAAQ8E,IAAI,CAACnB,WAAW,CAACwC,SAAS,CAAC,CAAE;MACjD,IAAI1F,KAAK,IAAId,MAAM,EAAE;QACjB,OAAOA,MAAM,CAACc,KAAK,CAAC;MACxB,CAAC,MAAM;QACHd,MAAM,CAACc,KAAK,CAAC,GAAG,IAAI;MACxB;MACA,IAAM2F,cAAc,GAAApG,aAAA,CAAAA,aAAA,KAAQ8E,IAAI,CAACnB,WAAW,OAAAvD,eAAA,KAAG+F,SAAS,EAAGxG,MAAM,EAAE;MACnE,IAAMkG,QAAQ,GAAA7F,aAAA,CAAAA,aAAA,KAAQ8E,IAAI;QAAEnB,WAAW,EAAEyC;MAAc,EAAE;MAEzDJ,UAAU,CAAC,YAAM;QACb,IAAInD,eAAe,CAACG,OAAO,CAACiD,QAAQ,EAAEpD,eAAe,CAACG,OAAO,CAACiD,QAAQ,CAACJ,QAAQ,CAAC;MACpF,CAAC,EAAE,CAAC,CAAC;MAEL,OAAOA,QAAQ;IACnB,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMQ,iBAAiB,GAAG,IAAAb,kBAAW,EAAC,UAACW,SAAS,EAAEG,MAAM,EAAK;IACzDhC,QAAQ,CAAC,UAAAQ,IAAI,EAAI;MACb,IAAMyB,SAAS,GAAGD,MAAM,CAACE,MAAM,CAAC,UAACnH,CAAC,EAAEsG,CAAC,EAAK;QACtCtG,CAAC,CAACsG,CAAC,CAAC,GAAG,IAAI;QACX,OAAOtG,CAAC;MACZ,CAAC,EAAE,CAAC,CAAC,CAAC;MACN,IAAMwG,QAAQ,GAAA7F,aAAA,CAAAA,aAAA,KAAQ8E,IAAI;QAAEnB,WAAW,EAAA3D,aAAA,CAAAA,aAAA,KAAO8E,IAAI,CAACnB,WAAW,OAAAvD,eAAA,KAAG+F,SAAS,EAAGI,SAAS;MAAE,EAAE;MAE1FP,UAAU,CAAC,YAAM;QACf,IAAInD,eAAe,CAACG,OAAO,CAACiD,QAAQ,EAAEpD,eAAe,CAACG,OAAO,CAACiD,QAAQ,CAACJ,QAAQ,CAAC;MAClF,CAAC,EAAE,CAAC,CAAC;MAEL,OAAOA,QAAQ;IACnB,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO;IACLxB,KAAK,EAALA,KAAK;IACLO,KAAK,EAALA,KAAK;IACL6B,OAAO,EAAE;MACLnC,QAAQ,EAARA,QAAQ;MACRiB,UAAU,EAAVA,UAAU;MACVW,YAAY,EAAZA,YAAY;MACZG,iBAAiB,EAAjBA,iBAAiB;MACjBK,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,KAAK;QAAA,OAAK9B,QAAQ,CAAC,UAAAS,CAAC;UAAA,OAAAtF,aAAA,CAAAA,aAAA,KAAUsF,CAAC;YAAEZ,WAAW,EAAEiC;UAAK;QAAA,CAAG,CAAC;MAAA;IAC5E;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"usePivot.js","names":["_react","require","_Utilities","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","_typeof","Symbol","toPrimitive","call","TypeError","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","n","l","iterator","u","f","next","done","isArray","usePivot","initialProps","sanitizedInitialProps","reduce","acc","key","undefined","initialPropsRef","useRef","useEffect","current","_useState","useState","data","rows","cols","vals","rowOrder","colOrder","aggregatorName","rendererName","valueFilter","sorters","derivedAttributes","hiddenAttributes","hiddenFromAggregators","hiddenFromDragDrop","pagination","pageSize","page","_useState2","props","setProps","_useState3","attrValues","materializedInput","unusedOrder","_useState4","state","setState","sanitizedSync","prev","recordsProcessed","PivotData","forEachRecord","record","_i","_Object$keys","attr","s","updateProp","useCallback","finalValue","v","trim","newProps","c","includes","onChange","toggleFilter","attribute","newValueFilter","setValuesInFilter","values","newFilter","actions","setUnusedOrder","order"],"sources":["../src/hooks/usePivot.js"],"sourcesContent":["import { useState, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { PivotData } from '../Utilities';\n\nexport function usePivot(initialProps) {\n const sanitizedInitialProps = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n\n // Mantener una referencia a las props iniciales para evitar cierres de ámbito (closures) obsoletos\n const initialPropsRef = useRef(initialProps);\n useEffect(() => {\n initialPropsRef.current = initialProps;\n }, [initialProps]);\n\n const [props, setProps] = useState({\n data: [],\n rows: [],\n cols: [],\n vals: [],\n rowOrder: 'key_a_to_z',\n colOrder: 'key_a_to_z',\n aggregatorName: 'Count',\n rendererName: 'Table',\n valueFilter: {},\n sorters: {},\n derivedAttributes: {},\n hiddenAttributes: [],\n hiddenFromAggregators: [],\n hiddenFromDragDrop: [],\n pagination: false,\n pageSize: 20,\n page: 1,\n ...sanitizedInitialProps\n });\n\n const [state, setState] = useState({\n attrValues: {},\n materializedInput: [],\n unusedOrder: []\n });\n\n // Sincronizar props internas cuando cambian las externas, pero sin disparar onChange de vuelta\n useEffect(() => {\n const sanitizedSync = Object.keys(initialProps).reduce((acc, key) => {\n if (initialProps[key] !== undefined) {\n acc[key] = initialProps[key];\n }\n return acc;\n }, {});\n setProps(prev => ({ ...prev, ...sanitizedSync }));\n }, [initialProps.data, initialProps.rows, initialProps.cols, initialProps.rendererName, initialProps.aggregatorName, initialProps.page, initialProps.pageSize]);\n\n // Materializar la entrada\n useEffect(() => {\n const materializedInput = [];\n const attrValues = {};\n let recordsProcessed = 0;\n\n PivotData.forEachRecord(\n props.data,\n props.derivedAttributes,\n function(record) {\n materializedInput.push(record);\n for (const attr of Object.keys(record)) {\n if (!(attr in attrValues)) {\n attrValues[attr] = {};\n if (recordsProcessed > 0) {\n attrValues[attr].null = recordsProcessed;\n }\n }\n }\n for (const attr in attrValues) {\n const value = attr in record ? record[attr] : 'null';\n if (!(value in attrValues[attr])) {\n attrValues[attr][value] = 0;\n }\n attrValues[attr][value]++;\n }\n recordsProcessed++;\n }\n );\n\n setState(s => ({ ...s, attrValues, materializedInput }));\n }, [props.data, props.derivedAttributes]);\n\n const updateProp = useCallback((key, value) => {\n setProps(prev => {\n let finalValue = value;\n if (Array.isArray(value) && (key === 'rows' || key === 'cols' || key === 'vals')) {\n finalValue = value.filter(v => v && v.trim() !== '');\n }\n\n const newProps = { ...prev, [key]: finalValue };\n \n if (key === 'rows') {\n newProps.cols = prev.cols.filter(c => !finalValue.includes(c));\n } else if (key === 'cols') {\n newProps.rows = prev.rows.filter(r => !finalValue.includes(r));\n }\n\n if (initialPropsRef.current.onChange) {\n initialPropsRef.current.onChange(newProps);\n }\n\n return newProps;\n });\n }, []);\n\n const toggleFilter = useCallback((attribute, value) => {\n setProps(prev => {\n const filter = { ...prev.valueFilter[attribute] };\n if (value in filter) {\n delete filter[value];\n } else {\n filter[value] = true;\n }\n const newValueFilter = { ...prev.valueFilter, [attribute]: filter };\n const newProps = { ...prev, valueFilter: newValueFilter };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n const setValuesInFilter = useCallback((attribute, values) => {\n setProps(prev => {\n const newFilter = values.reduce((r, v) => {\n r[v] = true;\n return r;\n }, {});\n const newProps = { ...prev, valueFilter: { ...prev.valueFilter, [attribute]: newFilter } };\n \n if (initialPropsRef.current.onChange) initialPropsRef.current.onChange(newProps);\n\n return newProps;\n });\n }, []);\n\n return {\n props,\n state,\n actions: {\n setProps,\n updateProp,\n toggleFilter,\n setValuesInFilter,\n setUnusedOrder: (order) => setState(s => ({ ...s, unusedOrder: order }))\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,102 +1,105 @@
1
- {
2
- "name": "react-pivottable-plus",
3
- "version": "1.0.0",
4
- "type": "module",
5
- "description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
6
- "main": "PivotTableUI.js",
7
- "files": [
8
- "PivotTable.js",
9
- "PivotTableUI.js",
10
- "PlotlyRenderers.js",
11
- "TableRenderers.js",
12
- "SubtotalsRenderers.js",
13
- "Utilities.js",
14
- "renderers/",
15
- "hooks/",
16
- "PivotTable.js.map",
17
- "PivotTableUI.js.map",
18
- "PlotlyRenderers.js.map",
19
- "TableRenderers.js.map",
20
- "Utilities.js.map",
21
- "pivottable.css",
22
- "grouping.css"
23
- ],
24
- "scripts": {
25
- "dev": "vite",
26
- "start": "npm run dev",
27
- "test:eslint": "eslint src/*.js* && echo 'eslint: \\033[0;32m'PASS'\\033[0m'",
28
- "test:eslint:fix": "eslint src/*.js* --fix",
29
- "test:prettier": "prettier -l \"src/*.js*\" && echo 'prettier: \\033[0;32m'PASS'\\033[0m'",
30
- "test:prettier:fix": "prettier --write \"src/*.js*\"",
31
- "test:jest": "jest",
32
- "test": "npm run test:eslint && npm run test:prettier && npm run test:jest",
33
- "clean": "shx rm -rf __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js* pivottable.css grouping.css",
34
- "build": "npm run clean && shx cp src/pivottable.css . && shx cp src/grouping.css . && babel src --out-dir=. --source-maps --presets=@babel/preset-env,@babel/preset-react --plugins=babel-plugin-add-module-exports",
35
- "build:examples": "vite build",
36
- "doPublish": "npm run build && npm publish",
37
- "postpublish": "npm run clean"
38
- },
39
- "repository": {
40
- "type": "git",
41
- "url": "git+https://github.com/jasp402/react-pivottable-plus.git"
42
- },
43
- "keywords": [
44
- "react",
45
- "pivottable",
46
- "grouping",
47
- "subtotals",
48
- "tailwind",
49
- "radix-ui",
50
- "shadcn"
51
- ],
52
- "author": "Jasp402 <https://github.com/jasp402>",
53
- "license": "MIT",
54
- "bugs": {
55
- "url": "https://github.com/jasp402/react-pivottable-plus/issues"
56
- },
57
- "homepage": "https://github.com/jasp402/react-pivottable-plus#readme",
58
- "dependencies": {
59
- "@dnd-kit/core": "^6.3.1",
60
- "@dnd-kit/sortable": "^10.0.0",
61
- "@dnd-kit/utilities": "^3.2.2",
62
- "@radix-ui/react-dialog": "^1.1.15",
63
- "@radix-ui/react-dropdown-menu": "^2.1.16",
64
- "@radix-ui/react-label": "^2.1.8",
65
- "@radix-ui/react-popover": "^1.1.15",
66
- "@radix-ui/react-select": "^2.2.6",
67
- "@radix-ui/react-slot": "^1.2.4",
68
- "class-variance-authority": "^0.7.1",
69
- "clsx": "^2.1.1",
70
- "immutability-helper": "^2.3.1",
71
- "lucide-react": "^0.575.0",
72
- "prop-types": "^15.8.1",
73
- "react-draggable": "^4.4.6",
74
- "react-sortablejs": "^6.1.4",
75
- "sortablejs": "^1.15.2",
76
- "tailwind-merge": "^3.5.0"
77
- },
78
- "peerDependencies": {
79
- "react": ">=19.0.0",
80
- "react-dom": ">=19.0.0"
81
- },
82
- "devDependencies": {
83
- "@babel/cli": "^7.28.6",
84
- "@babel/core": "^7.24.0",
85
- "@babel/preset-env": "^7.24.0",
86
- "@babel/preset-react": "^7.24.0",
87
- "@tailwindcss/vite": "^4.0.0",
88
- "@vitejs/plugin-react": "^5.1.4",
89
- "autoprefixer": "^10.4.18",
90
- "babel-loader": "^9.1.3",
91
- "babel-plugin-add-module-exports": "^1.0.4",
92
- "postcss": "^8.4.35",
93
- "prettier": "^3.2.5",
94
- "react": "^19.0.0",
95
- "react-dom": "^19.0.0",
96
- "react-plotly.js": "^2.6.0",
97
- "rimraf": "^6.1.3",
98
- "shx": "^0.4.0",
99
- "tailwindcss": "^4.0.0",
100
- "vite": "^5.1.4"
101
- }
102
- }
1
+ {
2
+ "name": "react-pivottable-plus",
3
+ "version": "1.0.2",
4
+ "type": "module",
5
+ "description": "A React-based pivot table with grouping and modern UI (Tailwind, Radix, Shadcn)",
6
+ "main": "PivotTableUI.js",
7
+ "files": [
8
+ "PivotTable.js",
9
+ "PivotTableUI.js",
10
+ "PlotlyRenderers.js",
11
+ "TableRenderers.js",
12
+ "SubtotalsRenderers.js",
13
+ "Utilities.js",
14
+ "renderers/",
15
+ "hooks/",
16
+ "PivotTable.js.map",
17
+ "PivotTableUI.js.map",
18
+ "PlotlyRenderers.js.map",
19
+ "TableRenderers.js.map",
20
+ "Utilities.js.map",
21
+ "pivottable.css",
22
+ "grouping.css"
23
+ ],
24
+ "scripts": {
25
+ "dev": "vite",
26
+ "start": "npm run dev",
27
+ "test:eslint": "eslint src/*.js* && echo 'eslint: \\033[0;32m'PASS'\\033[0m'",
28
+ "test:eslint:fix": "eslint src/*.js* --fix",
29
+ "test:prettier": "prettier -l \"src/*.js*\" && echo 'prettier: \\033[0;32m'PASS'\\033[0m'",
30
+ "test:prettier:fix": "prettier --write \"src/*.js*\"",
31
+ "test:jest": "jest",
32
+ "test": "npm run test:eslint && npm run test:prettier && npm run test:jest",
33
+ "clean": "shx rm -rf __tests__ PivotTable.js* PivotTableUI.js* PlotlyRenderers.js* TableRenderers.js* Utilities.js* pivottable.css grouping.css",
34
+ "build": "npm run clean && shx cp src/pivottable.css . && shx cp src/grouping.css . && babel src --out-dir=. --source-maps --presets=@babel/preset-env,@babel/preset-react --plugins=babel-plugin-add-module-exports",
35
+ "build:examples": "vite build",
36
+ "doPublish": "npm run build && npm publish",
37
+ "postpublish": "npm run clean",
38
+ "bump": "node scripts/bump-version.js patch",
39
+ "bump:minor": "node scripts/bump-version.js minor",
40
+ "bump:major": "node scripts/bump-version.js major"
41
+ },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/jasp402/react-pivottable-plus.git"
45
+ },
46
+ "keywords": [
47
+ "react",
48
+ "pivottable",
49
+ "grouping",
50
+ "subtotals",
51
+ "tailwind",
52
+ "radix-ui",
53
+ "shadcn"
54
+ ],
55
+ "author": "Jasp402 <https://github.com/jasp402>",
56
+ "license": "MIT",
57
+ "bugs": {
58
+ "url": "https://github.com/jasp402/react-pivottable-plus/issues"
59
+ },
60
+ "homepage": "https://github.com/jasp402/react-pivottable-plus#readme",
61
+ "dependencies": {
62
+ "@dnd-kit/core": "^6.3.1",
63
+ "@dnd-kit/sortable": "^10.0.0",
64
+ "@dnd-kit/utilities": "^3.2.2",
65
+ "@radix-ui/react-dialog": "^1.1.15",
66
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
67
+ "@radix-ui/react-label": "^2.1.8",
68
+ "@radix-ui/react-popover": "^1.1.15",
69
+ "@radix-ui/react-select": "^2.2.6",
70
+ "@radix-ui/react-slot": "^1.2.4",
71
+ "class-variance-authority": "^0.7.1",
72
+ "clsx": "^2.1.1",
73
+ "immutability-helper": "^2.3.1",
74
+ "lucide-react": "^0.575.0",
75
+ "prop-types": "^15.8.1",
76
+ "react-draggable": "^4.4.6",
77
+ "react-sortablejs": "^6.1.4",
78
+ "sortablejs": "^1.15.2",
79
+ "tailwind-merge": "^3.5.0"
80
+ },
81
+ "peerDependencies": {
82
+ "react": ">=19.0.0",
83
+ "react-dom": ">=19.0.0"
84
+ },
85
+ "devDependencies": {
86
+ "@babel/cli": "^7.28.6",
87
+ "@babel/core": "^7.24.0",
88
+ "@babel/preset-env": "^7.24.0",
89
+ "@babel/preset-react": "^7.24.0",
90
+ "@tailwindcss/vite": "^4.0.0",
91
+ "@vitejs/plugin-react": "^5.1.4",
92
+ "autoprefixer": "^10.4.18",
93
+ "babel-loader": "^9.1.3",
94
+ "babel-plugin-add-module-exports": "^1.0.4",
95
+ "postcss": "^8.4.35",
96
+ "prettier": "^3.2.5",
97
+ "react": "^19.0.0",
98
+ "react-dom": "^19.0.0",
99
+ "react-plotly.js": "^2.6.0",
100
+ "rimraf": "^6.1.3",
101
+ "shx": "^0.4.0",
102
+ "tailwindcss": "^4.0.0",
103
+ "vite": "^5.1.4"
104
+ }
105
+ }