Upgrades over PivotTable.js

Over the past few years, React has emerged as a leading front-end framework, and for good reason: its declarative one-way data-flow architecture makes it easy to build complex apps, and is a good fit for data visualization systems such as the Dash Python framework. PivotTable.js development had slowed down over time as the jQuery-based DOM operations became more complex as I added functionality, but I was able to port the whole thing to React in just a couple of weeks, and then easily add some new features I’d been planning for years, like more reactive menus. While I was at it, I also ported the code from my beloved Coffeescript to ES2015, which is more commonly used in the React community and should make it easier for others to contribute.

When coupled with a data visualization engine, pivot tables transform into pivot charts. Whereas PivotTable.js currently relies on C3.js for charting, react-pivottable uses Plotly.js and its shiny new react-plotly.js binding. Plotly.js will allow react-pivottable to support exciting new visualization types like box plots, sankey diagrams and faceting, and it has built-in PNG exporting capabilities, as well as the ability to customize and publish charts with the Plotly Chart Studio.

What’s next?

I expect that react-pivottable will be as useful to developers as PivotTable.js has been for analyzing data, building dashboards and adding self-serve analytics features to apps, and I look forward to lots of Github issues and pull-requests in the coming weeks. I’m personally excited about continuing to add new features and using this new component to bring pivot table and pivot chart capabilities to all sorts of React-based projects like Dash or Plotly’s new open-source Falcon SQL client. I will also be continuing to maintain PivotTable.js, and even back-porting the occasional innovation, so fear not if you haven’t made the leap to React just yet!