Can't see how to set the 'disableSorting' property on a Table

Hi there

I was hoping someone might be able to help me out. On the description of the Table class on retool's website (Table | Retool Component Library) it states that there is a 'disableSorting' property for Table objects. However, I cannot seem to find this on my Table.

I have printed out the object to the console with stringify and cannot see the property anywhere in it. What am I doing wrong?

Many thanks in advance
David

@DBC if you don't want the table to have any sorting at all you should be able to disable sorting for each column in the table.
Screenshot 2022-12-05 at 8.12.26 AM

Though this could be a lot of manipulation if the table contains a lot of columns or you can do this in a JS Query but that would essentially require the same thing but perhaps easier to maintain in one place as opposed to going into each column
Screenshot 2022-12-05 at 8.13.49 AM

With the new table, the columns don't have anymore the "Disable sorting" in the column Interaction settings. Any ideas on how to do this via UI and not script? Thanks!

Screenshot 2023-05-22 at 14.53.18

1 Like

Hey @Christian_G! It doesn't look like this is possible at the moment but it is something on the radar - I can let you know here when it is!

Hi,

I am using Custom CSS to disable user sorting on table in retool (using the new table).

  • First sort the table by the column you want to sort
  • Copy and paste the CSS to ... (top right) | Script and styles | CSS
// disables mouse click only in presentation mode so that you can still edit the columns in edit mode
.presentation-mode ._retool-YOURTABLENAME [role="rowheader"] {
    pointer-events: none;
}

// hides the SVG sort arrow
.presentation-mode ._retool-OrderedCompetitionList [role="rowheader"] svg {
    display: none;
}
2 Likes

Is there a way to use take the sorting action (clicking on the column header) to fire off an api request? I just want to call the api with the column header to sort on the server side.

Hey @Chris_Bartlett!

Tables have a "Change sort" event handler that you could potentially use, is this something you've explored already?

I could do that, but I was wondering if there is just a simple way to disable the sorting on the table all together and use other controls to control the sorting with server side pagination

@Chris_Bartlett I've attached your interest to an existing feature request for a feature to easily toggle to disable table column sorting. It's not currently planned, but since this is linked internally to that tracker ticket with engineering, I'll keep you updated when there's movement toward implementing this! Thanks for sharing your interest and feedback :bowing_man:

1 Like

Better yet, could we get the sorting of the columns to trigger the api call so we could do server side sorting? Right now I have a drop down to do this, seems a bit clunky.

Thanks @Chris_Bartlett - shared this feedback internally with our eng team. If things move toward implementing either a toggle to disable table column sorting or triggering an api call so you can do server side sorting, we'll share updates here!

Hello,

Any updates or prospects on whether this will be fixed soon? The app we built with Retool initially used the Legacy Table. However, as we experienced some front-end performance issues (the app became slower and slower), we rebuilt it with the New Table.

The New Table lacks the ability to disable sorting. For our use case and UX design, we need to disable sorting, as the end-users now accidentally click on 'sort column' instead of a button located right above the table.

I apologize, but I feel like I should provide some, well-intentioned, additional feedback;
For us, developers, it can be frustrating when updates from Retool result in other functionalities breaking or disappearing. We invest significant time and resources in designers and developers to build tools, and when these tools are nearly ready to go live or are already in use by end-users, functionalities that existed before updates at times disappear.

In the case of 'sorting,' the entire UX design of our app was affected, because of the sorting functionality. Clicking on the button above the table now sorts that column 30% of the time, disrupting the intended 'clicking the button above the table'. This led to new meetings with our UX designer and developers to redesign the app and the button. We received complaints from end-users, forcing us to reintroduce a new design right after the initial launch. This is particularly inconvenient for end-users who may not be tech-savvy.

These kind of situations, which we run into several times after Retool Cloud updates last months, kind of force us switching to self hosted.

Retool is such a great product. We'd really appreciate it if this is something to keep in mind while performing updates. :pray:

@ellenhelena thank you so much for your thoughtful feedback about this, and for sharing the user impact of this not having exact feature parity with the legacy table. Please know that folks on our app building engineering team have seen your feedback and are considering it! For now I know this is something the team would like to update, but isn't able to immediately prioritize against other roadmap items and fixes. I'll keep you updated here if there're new updates toward making disabling column sort possible in the new Table.

In the meantime, would either of the below workarounds potentially work for your needs?

One workaround is to clear the sort on the change sort event. It can look a bit hacky since it sorts for a second and then un-sorts, but perhaps it's enough until we're able to add this into the product in a more comprehensive way:

Or, another workaround might be to enable server-side pagination with just 1 page like this:

1 Like