sadmann7 / shadcn-table

A shadcn table component with server-side sorting, filtering, and pagination.

Home Page:https://table.sadmn.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature Improvements in the DataTable component

arvind-iyer-2001 opened this issue · comments

I just checked out AG Grid and it looks cool.
What if we could develop this DataTable into a Batteries Included Table which can be used by the most junior developer to the largest teams.
What other features can be implemented ?
I was thinking of some more features

  1. Sort by Multiple Columns (excel like sort options)
  2. Full text search rather than a multiple search bars for multiple search options along with support for advanced querying like Google search
    image
  3. Multiple Data Presentation formats - Text, Charts, Graphs and Plots - Can be used in
  4. Export Table as viewed by the user to Google Sheets or Microsoft Excel

Nice ideas!

I think feature 1 is already possible via enableMultiSort ( https://tanstack.com/table/v8/docs/api/features/sorting#enablemultisort-1 )

To feature 2:
Should this be client side or server side? (I mean the filtering)

For the ui, should it be a "simple text input" like we have at google or in the GitHub issue search or something more fancy like this:

https://github.com/mxkaske/mxkaske.dev/tree/feat/fancy-input-search

https://mxkaske-im3tdubhh-mxkaske.vercel.app/post/fancy-input-search

or this: https://github.com/kevalbhatt/react-structured-query-search

or this: https://github.com/react-querybuilder/react-querybuilder

or this: https://github.com/ukrbublik/react-awesome-query-builder

Not sure if/how this could be implemented.

Maybe there are some other components/libraries which could be used? 🤔

In case of a simple text input, something like this could be used as parser:

To feature 3:
Is this not already possible?

To feature 4:
Something like this?

https://codesandbox.io/embed/react-table-excel-export-g7hoe

Personally I would do it via an internal api endpoint. Via the url params you could generate the csv/xls easily. Yeah, you have to make the database call again, but that should be okay :)

I added a notion like advanced filter. Can add multi sort, as its built in the tanstack table.

Will add a github style query builder too maybe (that's quite similar to google search filters imo).

Nice ideas!

I think feature 1 is already possible via enableMultiSort ( https://tanstack.com/table/v8/docs/api/features/sorting#enablemultisort-1 )

To feature 2:
Should this be client side or server side? (I mean the filtering)

For the ui, should it be a "simple text input" like we have at google or in the GitHub issue search or something more fancy like this:

https://github.com/mxkaske/mxkaske.dev/tree/feat/fancy-input-search

https://mxkaske-im3tdubhh-mxkaske.vercel.app/post/fancy-input-search

or this: https://github.com/kevalbhatt/react-structured-query-search

or this: https://github.com/react-querybuilder/react-querybuilder

or this: https://github.com/ukrbublik/react-awesome-query-builder

Not sure if/how this could be implemented.

Maybe there are some other components/libraries which could be used? 🤔

In case of a simple text input, something like this could be used as parser:

To feature 3:
Is this not already possible?

To feature 4:
Something like this?

https://codesandbox.io/embed/react-table-excel-export-g7hoe

Personally I would do it via an internal api endpoint. Via the url params you could generate the csv/xls easily. Yeah, you have to make the database call again, but that should be okay :)

Woa, I opened GitHub after a long time and this stuff is truly helpful.