Hiya! The table component is an absolute powerhouse already, however I think there are some small improvements that would save a huge amount of time when developing with it. Here is a list of things that I think would greatly improve the component and make it more robust:
-
Pivot Table - currently pivoting data doesn't work in AlaSQL queries. and it takes a super long time to Pivot things in Javascript. Other services have abstracted versions of pivoting tables that I think Retool would benefit a lot from. For example - Chartio (being deprecated March 1) has a simple pipeline section where you can transform data in seconds.
I would love to have a data transformation functions like this on the right hand panel to manipulate. -
Snap to Fit Columns : Right now I spend an embarassing amount of time eye-balling column widths and playing with their sizing. (sometimes nearly an hour for an app) I would love to be able to double click a column and it snaps to the best fit position for the data set. This would make tables consistently pretty.
-
Column Totals: I feel in most table use cases column totals are useful. I often include the total in the column header using a lodash function, but would love a toggle to add a row on the bottom for totals.
-
Column AVGs: This is similar to column sums but for percent column types.
-
Table Header and Footer: This one is pretty self explanatory. Screen real estate is already limited in Retool,, so adding a header and footer for tables would be of huge value.
-
Custom Column values accessible in table properties: Mapped columns are great! Its super easy to make these columns, however you can't easily access their values. I feel like this creates confusion on where to manipulate data. Should they be just manipulating in a query transformer? Or can they use mapped columns? I would love to be able to access these values easily in some type of property (something like {{table1.displaedData}} which shows all values from the table.
-
Dispaly as HTML Toggle for All column Types : Currently this toggle is not available to all column types - This should be available for each. The current work around we are using mainly is just leaving the column unformatted and converting to localeString when this isn't available for a column type
-
UI for manipulating Column colors - right now one can write Javascript to manipulate the color of a column, I would love there to be a robust UI to write conditional logic for colors.
-
Data Validation for Inline Editing Right now there isn't validation for inline editing - I feel like a lot of people use inline editing and think this would be a great ui feature
-
Combine Action Columns and custom columns Wrote about this in September - Combine "Actions" section of table and custom columns. Add event handlers to custom columns . I think that action columns and custom columns cause a lot of confusion.
-
"Tags" Custom Column - right now there isn't a way to display an array of tags easily inside of a table. In my head I imagine tags similar to those in an Asana board. Adding a column type of "tags", would be extremely nice, and make for super pretty tables.
-
Multiple Sort - right now you can only sort by one thing - would love to define more logic here
.