hjalmers / angular-generic-table

A generic table for Angular 2+. Generic table uses standard markup for tables ie. table, tr and td elements etc. and has support for expanding rows, global search, filters, sorting, pagination, export to CSV, column clicks, custom column rendering, custom export values.
https://hjalmers.github.io/angular-generic-table/
MIT License
105 stars 55 forks source link

[Question] Any chance to have a Release 5.X ? #320

Open Beef-Tech opened 2 years ago

Beef-Tech commented 2 years ago

Hello @hjalmers ,

I'm using your lib for my app. Because of some older dependencies (security/CVEs, old versions of RXJs/Angular...), I'm sadly looking to use another dependency for managing my tables.

Just saw there's recent activity on the repo related to a release 5.X (candidate).

Please, is there any chance to have a definitive release in next days/weeks ?

Thank you so much !

hjalmers commented 2 years ago

Hi @Beef-Tech, I've been pretty busy lately but I recently started a new project where we need tables and I think we're going to use this component which will allow me to put some more hours into it. Can't say when I'll be able to do a new release but are you sing the rc version now and is there something i particular you're missing in terms of features in it right now? Mainly docs and some minor things needed for an official release otherwise.

demirtas91 commented 1 year ago

Hi @hjalmers. I like this component. If you create development path to me, I will upgrade it for newer version of angular.

hjalmers commented 1 year ago

Hi @demirtas91, glad to hear you like it😀 Have you seen and tried the upcoming version? https://hjalmers.github.io/angular-generic-table/rc

I’ve been pretty busy lately but we’re using it in a commercial project so it’s ready for production although it’s still a release candidate. But it’s nice to know that others are interested as well so will try to push out the new version and replace the old demo and documentation.

Would love to get feedback and help if you’re interested in contributing🙂 Any particular feature you’d like to see that’s missing today? I haven’t ported everything from version 4 to version 5 which might be good to know if you rely on some specific feature from the old version.

vincentsels commented 11 months ago

We're upgrading an old project, which heavily relied on this table, to the latest Angular version. I notice that this new version doesn't contain all features of the old one, unless I missed them. Features we were using of the old version which don't seem to have been ported:

More important:

Less important:

hjalmers commented 11 months ago

Hi @vincentsels and sorry for my late reply, I'm currently on vacation but will take a look and see what I can do about it once I'm back next week. Adding support for server-side pagination and sorting should be fairly easy and straightforward and definitely something it should support.

I've got some questions and requests for the expand row feature internally as well but haven't prioritized it since we've also replaced most instances with slide in modals which often work better for small screens. In any case it's probably something it should support so thanks for letting me know you'd like the feature:)

Regarding custom headers, I recently stumbled across a scenario where I need to be able to show a tooltip when hovering the table header which currently isn't supported. So that something I'll look into. A lot of other things like altering the display content, providing different icons etc. is possible using pure css. Is there something in particular you're looking to do that you need/want support for?

Anything else that you'd like to see being improved or added to the table? I haven't added examples for everything yet but if you're looking for something in particular like inline editing I could provide some examples for it too:)

vincentsels commented 11 months ago

Oh, thanks for the quick reply! Indeed, I also think modals are more elegant than expanding rows, so I'll also be going for that :). There's not too many of them anyway.

I also already implemented the server-side pagination support, as a separate component (admittedly, copying your clever code to properly render the page buttons ^-^, that's by far the hardest part).

Custom headers: there was one where they added a checkbox, sort of a 'check all'; but frankly, I think it's better UX-wise to move that outside of the table, which I did. Another use case was, just like in your case, a tooltip.

What's mostly left to migrate now is filtering. They also used custom headers for that. But frankly, I'm not a fan of that, so I'll also be moving those filter fields outside of the table. To actually perform the filtering, I found the 'search' functionality and I like it (full text search), but we can't use that for our use case, it needs to be more specific, per field/column. So I'll just be doing that completely separately from the library.

hjalmers commented 11 months ago

Hi again @vincentsels and sorry again for the late reply. I released a new version today with support for handling pagination, sorting an filtering server-side - feel free to check the demo and basic documentation here. I have some other features cooking as well that I'll try to release in the coming days:)

Anyways, regarding filtering, inline editing and more advanced features I tend to handle those outside the table and just pass the data that should be displayed to the table. I'll see if I can add some more examples on how that could be done using a state management framework like akita, ngrx or similar to manage table state, especially when it should sync with charts or other components. I'm personally a fan of akita which I use in quite a lot of projects.