react-pivottable
react-pivottable copied to clipboard
Initial Roadmap
- [x] port over
$.pivotUtilities
and specs - [x] basic
TableRenderer
- [x] basic Storybook-powered website running at https://react-pivottable.js.org
- [x] basic
PivotTable
component - [x] get
eslint
going and figure out a decent React formatting scheme - [x]
propTypes
- [x] basic dumb
PivotTableUI
component (just drag'n'drop and aggregator selection, no filter) plus smart wrapper (using https://github.com/RubaXa/Sortable ? ) - [x] filter menu on
PivotTableUI
MVP - [x] pull together a ReadMe with a project charter
- [x] do a first NPM release to populate the entry a bit more
- [x] clean up PropType duplication
- [x] Plotly.js-react renderer!
- [x] Bar, column, line, plus stacked variants
- [x] GA on website
- [x] per-attribute sorters including in filter menu
- [x] order-preservation in unused area
- [x] hidden attributes, global and from drag/aggregator
- [x] row/col order UX
- [x] auto-rotation of unused when too long
- [x] fancier filter menu: select all/none
- [x] tear-away-able filter menus
- [x] menuLimit
- [x] come up with packaging strategy (think about polyfills?)
- [x] derived attributes
- [x] scatter charts
- [x] prop documentation in readme
- [x] Plotly renderer option passthrough
- [x] filter menu only button
- [x] Table heatmaps
- [x] stay-open reactive selects for renderer/aggregator ... click to close
- [ ] Stacked area charts
- [ ] new eslint and prettier, prePublish with new NPM?
- [ ] renderers to mutate props via onChange? i.e. TableRenderer sorting UX finally
- [ ] Convert aggregators to classes?
- [ ] explore renderer-specific UI redraws: extra dropzones, settings dropdown etc
- [ ] renderer options menu?
- [ ] filter menu include mode
- [ ] filter menu < > filters
- [ ] Subtotals
- [ ] localization, including smart number formatting
- [ ] clean up decaffeination warts
- [ ] get some badges, a CI setup for tests, some test coverage
- [ ] Dash component (https://plot.ly/dash/plugins)
- [ ] some React-level tests with
jest
- [ ] explore multiple aggregators
This is awesome! I'm really looking forward to a Dash component!
What would make it even more useful for me is the ability to do server-side aggregations. I know you've decided not to implement this in the jQuery version, but since it gets a major re-vamp, maybe there's room to re-consider?
I did leave a comment in the original jQuery issue tracker: https://github.com/nicolaskruchten/pivottable/issues/150
It would be perfect for Dash. If an interface which I described in that other issue existed, we could just hook up python callback to return aggregated data (given all the groupings and filters), and other callbacks to return unique values for filters.
@nirvana-msu I'm glad you're excited about this project! Server-side integration is something we're keeping in mind but it's not part of the roadmap just yet, so I can't commit to anything. Most likely if we do support server-side aggregation it will be Dash-specific, not general-purpose, at least to begin with.
Dash-specific integration would suit me as I mostly use Dash. But I guess, if designed correctly, it's not any harder to make it server-side -agnostic. Anyways, I'm not an expert in React (or js for that matter) so cannot help much, apart from relaying my experience in doing the same thing in java / Jide.
Hello, when are you going to add localization?
Hi there!
I'm waiting for the API to fully stabilize, but it's high on my priority list!
Hi,
This looks great :)
I'm wondering if there's a way to see the underlying data of a chart component ? (for example, clicking on a bar and seeing a table of records that make up that bar)
thanks, Ricardo
@rjst glad you like it! unfortunately that's not supported at the moment but I would accept a PR for it :)
PS: please create new issues rather than commenting on this one, as otherwise the notifications will get out of control here ;)
Is click or double-click on a cell supported?
I am looking for this feature https://pivottable.js.org/examples/mps_prepop.html
in the React ported version. Many thanks!
@debugpoint136 it's not supported yet but it should be relatively easy to submit a PR if you need this :)
I'm locking this issue now... Please create new issues if you have roadmap questions :)