Search Term Is Disabled for The New Table

When I use server-side pagination on a table the search type and searchTerm property is hidden hence the end user can't use the search input to search the table and if I don't use server-side pagination the query takes too long to load and also fails because data exceeds 100MB.

Please can I get a fix urgently I have a deadline of 10 hours.

@Nasirullah Can you provide more information? Code/screenshots, etc.?

RE: @ScottR
I meant searchMode and searchTerm, also the filter is not getting applied to the table.
SEE below, the properties normally show before the second rectangle, just after persist row selection but because the pagination is server-side, the properties are now hidden, and the query i wrote to salvage the situation will only get what matches the search box value in the first set of row that is gotten from the query.

And here's the filter which is not working also after enabling server-side pagination

Are the pageSize and offSet populated in the rm_users_table component?

Yes they are.

The problem is toggling the server-side pagination.
That's when the searchTerm property disappears and the filter stops working.

The only fix I can think of now pending when the bug is resolved by retool is another way to optimize the SQL without server side pagination. Do you have any suggestions? The query needs to be able to load over 200,000 rows inn record time.

Hi @Nasirullah, we recommend that you also use server-side filtering instead of "search term" to allow users to search your server-paginated tables -- which I see you've already been doing with your SQL query.

This is because the table's built in searchTerm property only performs a client-side search, so it will only filter your first page of data when your table is server-side paginated. Since you likely want to be filtering your entire data set, it's preferred to use a server-side filter. Let me know if this helps.

Hi @AnnaW
Woah, that will take some real time to achieve i have both search and filter to be configured for the table.
Between, this approach is not working for the table as I intend because the search input will only search the current number of rows that came from backend.
Is there any other solution you can suggest, would especially appreciate another approach to optimize query load so i can use client side pagination.

Hi @ScottR and @AnnaW ,
The search works now, but the in-built filter does not work, I can't select the column to filter and can't input what to check, I mean the input field after filter method (includes, =, => e.t.c.)

Any time I try to use the filter I get the warning, If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility in Chrome console, which is the only thing I can attribute to the filter because breaking it down I see TableWidget

This a follow up on this.

Hi @Nasirullah, thanks for reporting the bug with the built-in Table filter on server-paginated tables. I'll work on a fix soon.

What functionality are you aiming to enable with the built-in filter? Since this is also a client-side filter we will also likely disable this filter from filtering your data by default, but you can reference the table's filterStack property to server-side filter your table.

Hi @AnnaW
I'm trying to achieve a filter that standard users can use when using the app.
I will have to wait for the fix how soon should I expect the fix.

@Nasirullah I merged in a fix and it should be out next week. The change allows you to edit the filters in the built-in filter component in Table, but doesn't apply the filters if the table is server-paginated.

You will have to reference the table's filterStack for server-side filtering when your table is server paginated -- hope this helps!

1 Like

Hi @AnnaW
Thanks for that I will be looking out for the fix.
How do I reference the filterStack for server-side filtering when I'm using server-side pagination?

Hi @Nasirullah It'll depend on your specific query/resource type, but you essentially have to create the filter within your query and return that filtered data with pagination. Here's a SQL example (I've disabled prepared statements to make this query work):