by afshinmeh on 6/4/20, 6:33 PM with 132 comments
by afshinmeh on 6/4/20, 7:31 PM
I’m Afshin, the creator of Grid.js.
Grid.js is an open-source table library written in TypeScript and published under MIT license.
My goal is to develop a framework agnostic table library that:
- Works everywhere. You don’t need a specific framework to use Grid.js
- Lightweight and easy to use
- Fully documented and tested
- Developer friendly. Grid.js is written in TypeScript! Supports all modern web browsers
Please take a look at the examples (https://gridjs.io/docs/examples/hello-world) section and let us know if you have any suggestions.
Although Grid.js is currently designed to work with web-browsers, I’m actively thinking and working on adding other integrations like React Native (see https://gridjs.io/docs/philosophy)
Please let me know if you have any suggestions or comments. Happy hacking! :computer:
by Bishonen88 on 6/4/20, 9:50 PM
E.g. the following features would be required to make it advanced (list not complete):
- Export data (csv)
- Align columns based on their content
- Tree data (parent/child rows)
- Total rows
- Formatting applied based on data type (currency, numerical etc.)
- Reordering columns
- Resizing columns
- Hiding columns
- Optional filter field for every column
- Conditional formatting
- Tripple Sorting & Multiple sorting (sort by more than 1 column at a time)
- ... more
In the react world, I found this to be a good foundation for an 'advanced' table. Since it's rather inconsistently developed, I ended up forking it for myself and working on my own copy, removing unneeded elements and enhancing with everything else I do need.
by bubbab on 6/4/20, 7:54 PM
From playing around a bit, I've at least noticed that sortable headers have no focus indicator, the "sort column ascending" text gets included in the column's accessible name, and un-sortable column headers are read as clickable by screen readers.
I would LOVE a framework-agnostic table library that's both lightweight and fully accessible. If there's a chance for Grid.js to take this in its philosophy, I would be all in!
by danseagrave on 6/4/20, 8:45 PM
by Eduard on 6/4/20, 9:45 PM
In my opinion, scrollable-by-touch tables such as Bootstrap 's "responsive tables" fix these issues. Add "scroll for more" shadows for even better UX.
by rootcage on 6/4/20, 7:42 PM
by boromi on 6/4/20, 8:59 PM
by triceratops on 6/5/20, 6:58 AM
by rkagerer on 6/5/20, 2:11 AM
by hendry on 6/6/20, 12:43 PM
https://git.codemadness.org/jscancer/files.html for more goodness
by sliptype on 6/4/20, 8:43 PM
I've worked on projects that had very intense excel-level requirements for their data grids and ag-grid was a dream.
by guggle on 6/4/20, 8:17 PM
by silviogutierrez on 6/4/20, 8:21 PM
I'd love to use this for the table to come rendered from the server then hydrate on the frontend and enable AJAX pagination, etc.
Completely understand if you can't, after all, you'd likely need to more tightly integrate with ReactDOMServer.
by byteshock on 6/5/20, 3:11 PM
Do you plan on releasing special themes or options for css frameworks like bootstrap 4? I had a quick look on my phone so I apologize if this is already available.
by mason55 on 6/4/20, 9:37 PM
Have you pushed the rendering performance at all to see how far you can get without scrolling getting painful or seeing tearing artifacts?
by fedd on 6/6/20, 9:53 PM
by ggmartins on 6/4/20, 11:10 PM
by OJFord on 6/4/20, 11:03 PM
- ellipsis (good there is one) breaks between second and third dot. I think the easiest fix for that is to use an actual ellipsis character.
- break between page '3' and 'next'
by yingw787 on 6/4/20, 11:15 PM
by rafaelturk on 6/5/20, 12:41 PM
by guruparan18 on 6/5/20, 2:15 AM
by ng12 on 6/4/20, 7:44 PM
by codegladiator on 6/4/20, 8:46 PM
I don't think there is a need for a library to work across vue/react/angular at the same time because no single person is going to use those in a single project.
I appreciate the project since I am frequently looking for js grid implementations but what the differentiator here ? Is it performance or styling or flexibility or just variety of frameworks ?
by babaganoosh89 on 6/4/20, 8:29 PM
by wnevets on 6/4/20, 8:01 PM
by JSavageOne on 6/5/20, 5:24 AM
One simple feature I see lacking in the ability is the ability to resize columns
by LukaszWiktor on 6/4/20, 7:54 PM
What about performance? Have you tested how many rows can Gird.js handle without a noticable lag?
by kangaroozach on 6/5/20, 5:40 AM
-Sortable columns
-Multi-select filters in columns
-expandable rows
by huhtenberg on 6/5/20, 7:56 AM
const grid = new Grid({
columns: ['A', 'B', 'C'],
data: [ ['1', '2', null, '(353) 01 222 3333'] ]
});
by moralestapia on 6/5/20, 12:05 AM
by Phrodo_00 on 6/5/20, 12:33 AM
by seastonATccs on 6/4/20, 9:01 PM
by colesantiago on 6/4/20, 8:28 PM
by docuru on 6/4/20, 9:42 PM
by beprogrammed on 6/5/20, 2:20 AM
by Sembiance on 6/4/20, 7:34 PM