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

Updating project to angular 7 #253

Open Crash1988 opened 6 years ago

Crash1988 commented 6 years ago

So, i updated a couple projects to latest version of angular and i had a few issues with rxjs library, i solve all of them installing the library "rxjs-compat" and "tether". Maybe this should be useful for other with the same issue and also i think you should added to your package.json. i also have a demo running your Advanced example on version 6, i might publish that on stack-blitz and you can make a reference reference . also you can add it to documentation I hope this help others

mklein994 commented 6 years ago

It would nice to create a milestone for this, as there's a chance that the libraries this project depends on have breaking changes going from Angular 4 or 5 to Angular 6, the least trivial being rxjs 5 to rxjs 6.

The Angular Update Guide should help.

Crash1988 commented 6 years ago

This issue is also present if you create a new angular 6 project and add Angular Generic Table to it

Crash1988 commented 6 years ago

here is a link from stackblitz with the advance example running on angular6

hjalmers commented 6 years ago

Nice to know what you needed to get it working with latest angular version and I'm sure others will find it useful too so thanks for sharing @Crash1988.

I've created a branch 4.x to mark the angular version the current release is dependent on and since it seems to be running with out any issues with angular 5 (that most of my own projects currently are on), I haven't seen the need to create a separate version or branch for angular 5. Some of my colleagues however have tried it out with angular 6 too and they also ran into som issues and I know angular 6 has introduced a few new things so my idea was to create a branch for angular 6 and release a new version which relies on angular 6. The idea is also to keep the versions of angular-generic-table in sync with angular just to make it easier, so the first version to truly support angular 6 would be 6.0.0. What do you guys think about that?

mklein994 commented 6 years ago

That makes sense if you want to use the same release schedule as Angular (I'd only keep the major version in sync in that case). The angular 6 branch would be merged into master then, once it's stable?

Crash1988 commented 6 years ago

Hi @hjalmers , i think is an awesome idea since all the angular products are aligned on v6 (CLI, Material2, Schematics...), we could reopen this issue and every body could like vote, in my opinion is cool AGT v6.0.0 +1 Also all my projects are on angular 5 as well and i havent had any issue so far

hjalmers commented 6 years ago

Yeah that was the idea @mklein994, the only issue with that I guess is that it would be hard to introduce breaking changes without syncing it with a new release of angular or break the rules of semantic versioning. So far it haven't been a problem though... and yes the idea would be to merge it into master once it's stable.

I'd love to introduce support for observables before releasing the next major version even if it wouldn't have to be a breaking change too, I wish the days had more hours:P

Since you both think it's a good idea I think will just do it:)

hjalmers commented 5 years ago

I've created a separate branch for this now: https://github.com/hjalmers/angular-generic-table/tree/5.x as well as milestone: https://github.com/hjalmers/angular-generic-table/milestone/3

I decided to go for version 5 as this library probably won't follow the release cycle of angular as I initial planned and the table might introduce other breaking changes unrelated to angular, although the goal is to avoid it and always strive towards backwards compatibility.

hjalmers commented 5 years ago

There's a new version released now (5.0.0-alpha.0) for those who'd like to use angular 7 and rxjs 6. Install using:

npm i @angular-generic-table/core@next tether --save 

If you're using column settings just add:

npm i @angular-generic-table/column-settings@next ng2-dragula --save 

You also need to add temporary pollyfill for dragula if you intend to use column-settings (add to end of pollyfills.ts). (window as any).global = window;