Aam-Digital / ndb-core

Easy-to-use case management web app for NGOs anywhere in the world.
http://www.aam-digital.com
GNU General Public License v3.0
55 stars 18 forks source link

Choose table module/library #62

Closed sleidig closed 6 years ago

sleidig commented 7 years ago

We previously used ng-table (for AngularJS 1) to display dynamically sortable/filterable lists of children/schools/etc.

Such a library/module should make it easy for us to display arrays of data (class instances) and interact with it, without having to implement standard functionality, like different ways to sort it, ourselves.

What should we use as a library/module now? What are the alternatives?

sleidig commented 7 years ago

One option would be https://github.com/valor-software/ng2-table

sainanky commented 7 years ago

i would suggest to use https://www.npmjs.com/package/angular2-datatable

sleidig commented 7 years ago

Please give us a little more info: Pro: What does it provide? Why would you prefer it? Con: What does it not offer that alternatives are offering?

sainanky commented 7 years ago

pros:

  1. provide filteration.
  2. provide sorting of columns on the basis of columns as well as sort as per the ascending or descending order.
  3. provide pagination
  4. decent UI design
  5. no need to bind data in html useing ng- for loop just pass json object in ts file where table initilises.

cons : sorry still not found any cons

codingfabi commented 7 years ago

I implemented a Demo of the Child Table using http://valor-software.com/ng2-table/ into the childDetailFeature Branch. It works except for the pagination-module.

fschoell commented 7 years ago

I'm objecting to the ng2-table, the last commit (and release) is from October last year, it's still depending on Angular 2 and there are 135 open issues and a lot of open pull requests (even though most of them are automated dependency upgrades). Doesn't look like an active project. Similar for angular2-datatable which is a bit more active, but again, the last activity is from May, it's still depending on Angular 2 and it seems to be a one man project. We shouldn't hold ourselfs up with possible 3rd party library bugs that won't get fixed or libraries not being adopted to newer Angular versions.

I've found two active projects that might suit us:

codingfabi commented 7 years ago

I would recommend using ng2-smart-table as well 'cause it looks way better then ngx-datatable and seems to provide every functionality we need.

ngx-datatable is especially designed for presenting large and complex data (10k rows +) as they say on their GitHub page. We don't have to present those amount of rows (yet).

sainanky commented 7 years ago

i would also recommend to use ng2-smart-table as we dont have large number of data

sleidig commented 7 years ago

Another alternative would be Angular Material (https://material.angular.io/components/table/overview) that includes elements for UI tables and others like modal and datepicker.

Advantages:

@NGO-DB/team what do you think? Anyone can post their experience on using any of the libraries yet?

codingfabi commented 6 years ago

Angular Material chosen