Skip to content

Roadmap for V2.0 #3

Description

@nihgwu

Here is the wishlist I'd like to have for the next major version:

Breaking changes:

  • use rollup to bundle package
  • omit placeholders in rowRenderer
  • rename tagName to as or elementType
  • rename scrollToPosition to scrollTo
  • rename headerRenderer to headerRowRenderer
  • rename headerRenderer for Column to headerCellRenderer
  • move AutoResizer to a separate package

Nice to have:

Activity

  1. added this to the v2.0 milestone on Apr 3, 2019
  2. pinned this issue on Apr 3, 2019
  3. Gervwyk commented on May 17, 2019

    @Gervwyk

    Hi @nihgwu ! I'm liking BaseTable so far! However it will only be useful for me if we have dynamic row heights. Where can I start to make this happen? I see it's dependant on #102, but it looks like that can still be a while.

  4. nihgwu commented on May 17, 2019

    @nihgwu
    ContributorAuthor

    I'm sorry @Gervwyk I'd say I won't start working on that until that PR is merged, I'm lot expert on this field, do you have any other ideas?

  5. Gervwyk commented on May 17, 2019

    @Gervwyk

    No me neither. Just started looking at some of the code, do you think it would be possible to just achieve this via CellMeasurer? Similar to the way it's done in react-virtualized?

  6. nihgwu commented on May 17, 2019

    @nihgwu
    ContributorAuthor

    I think CellMeasurer is too heavy, that's why I didn't support that when BaseTable is built on react-virtualized

  7. zmitry commented on May 18, 2019

    @zmitry

    What do you thing about configuring react-draggable and make it lazy loadable ?

  8. nihgwu commented on May 18, 2019

    @nihgwu
    ContributorAuthor

    @zmitry any concern about that? I do have the plan to remove the dependency on react-draggable

  9. zmitry commented on May 18, 2019

    @zmitry

    @nihgwu it's used only for column resizer so it might be useless for some cases where you don't need that feature. I don't mind to have it as dependency but it takes 1/3 of the table bundlesize, so it might be quire useful to be able to import it lazily only if you use it. If you want to remove that will solve my usecase also.

  10. Nokecy commented on Jun 5, 2019

    @Nokecy

    大佬 打算什么时候出新版本啊~~~~~

  11. nihgwu commented on Jun 6, 2019

    @nihgwu
    ContributorAuthor

    @Nokecy I don't see any MUST to bump the major version soon, until the dynamic row height dependency is resolved

  12. elevator3 commented on Nov 7, 2019

    @elevator3

    First of all I just wanted to say that I really really like the react-base-table but am unable to use it right now for the following reasons. It also seems to me that those are issues that everyone will benefit from…

    • Lack of documentation. The examples are great but they do not describe well what are the additional options or full usage of the particular feature. Not as easy to figure whatever you are looking at especially for the more complicated examples.

    • I am not sure who is using the ellipsis in the cells and why would that be a default other than the table not being able to support auto row heights.

    • If you use the rowHeight to modify the row height of the whole table the performance when displaying hundreds of rows, which is something that is supposed to be better, goes out of the window.

    Please understand this is not a criticism of what you currently have but a request to make it easier for people to understand and start use it with enough basic features out of the box.

  13. nihgwu commented on Nov 8, 2019

    @nihgwu
    ContributorAuthor

    Lack of documentation. The examples are great but they do not describe well what are the additional options or full usage of the particular feature. Not as easy to figure whatever you are looking at especially for the more complicated examples.

    I definitely agree with you that documentation is important for a component and BaseTable is really bad on that, I'll try my best to add more in the future

    I am not sure who is using the ellipsis in the cells and why would that be a default other than the table not being able to support auto row heights.

    I don't make something like EllipsisText as default to make BaseTable irrelevant to any ui libraries, so you are free to choose the component with the style aligned to your application, you can use react-texty or other components as your wish, you just need to customize the TableCell via components https://autodesk.github.io/react-base-table/examples/tooltip-cell

    If you use the rowHeight to modify the row height of the whole table the performance when displaying hundreds of rows, which is something that is supposed to be better, goes out of the window.

    Sorry I don't understand your statement here

  14. elevator3 commented on Nov 8, 2019

    @elevator3

    Lack of documentation. The examples are great but they do not describe well what are the additional options or full usage of the particular feature. Not as easy to figure whatever you are looking at especially for the more complicated examples.

    I definitely agree with you that documentation is important for a component and BaseTable is really bad on that, I'll try my best to add more in the future

    I am not sure who is using the ellipsis in the cells and why would that be a default other than the table not being able to support auto row heights.

    I don't make something like EllipsisText as default to make BaseTable irrelevant to any ui libraries, so you are free to choose the component with the style aligned to your application, you can use react-texty or other components as your wish, you just need to customize the TableCell via components https://autodesk.github.io/react-base-table/examples/tooltip-cell

    To your point here. The problem is that if you have more text in a cell than the cell is able to visualize using the height of the cell/roll right now the table defaults to showing "some text..." This seems to be currently the default behavior. All I am saying is that this could be useful possibly for 10% of the people that are using the table. In essence you are forcing the other 90% to customize the table for this critical feature out of the table by telling them to use another library. This is bad experience right from the start. Why not allow for easy customization for both options ( the text to wrap and automatically extend the height of the cell/row vs. to show the "..." ).

    If you use the rowHeight to modify the row height of the whole table the performance when displaying hundreds of rows, which is something that is supposed to be better, goes out of the window.

    Sorry I don't understand your statement here
    < Table
    // rowHeight={130} - good performance
    rowHeight={130} - bad performance
    / >

  15. 15 remaining items

  16. nihgwu commented on Dec 16, 2020

    @nihgwu
    ContributorAuthor

    @jamesonhill good idea

  17. gjthompson1 commented on Mar 1, 2021

    @gjthompson1
    Contributor

    I'm not sure if this has come up before. But the package doesn't really handle a large number of columns well. Or maybe I am doing something wrong....?

    If you play around with this you can see that with 1,000 columns it performs well but with base table just cranking the number of columns up to 1,000 here https://autodesk.github.io/react-base-table/playground scrolling down becomes very clunky.

    Update: Scratch that just found this - #36

    This is free for me to use to I'm not complaining or anything but just some feedback as a prospective user of the library. I came here looking for a "high performance" table component. My application essentially allows any input data shapes e.g. could be 10 x 18,000,000 or 2,000 x 2,000. Typically datasets are longer than they are wide but you do encounter them especially ~100's of columns, ~1,000 is rarer but happens. As a result this library isn't really usable (at least for my purposes). It's easier to selectively render the length based on some server call but the width is a challenge. Most component library tables choke with columns ~100+.

  18. jamesonhill commented on Mar 1, 2021

    @jamesonhill
    Contributor

    @gjthompson1 react-virtualized supports horizontal virtualization, while this one does not. Doesn't seem like an apples to apples comparison.

  19. nihgwu commented on Mar 1, 2021

    @nihgwu
    ContributorAuthor

    @gjthompson1 This is my thoughts on this kind of questions #36 (comment), and there is a workaround actually #36 (comment), you will find it works well with 1000 columns, and I believe there is space for further optimization, I simply made some changes on the example here #36 (comment)

  20. gjthompson1 commented on Mar 1, 2021

    @gjthompson1
    Contributor

    @nihgwu very nice, yeh that seems to be much smoother. Thank you!

  21. dpyzo0o commented on Apr 27, 2021

    @dpyzo0o

    Hi, @nihgwu , really nice work for the library. When do we expect to have the v2 released? This roadmap has been open for 2 years.

  22. kaleem-elahi commented on Jun 24, 2021

    @kaleem-elahi

    Need this version 2 release

  23. nihgwu commented on Aug 8, 2021

    @nihgwu
    ContributorAuthor

    It has been more than two years since I created this ticket, a lot of things have changed, for example I'm not the admin of this repo anymore, so I can't land any changes(I revoked my 2FA to Github, I emailed to opensource@autodesk.com for the permission but no response for quite a long time). Although I don't work for the project which I created this component for, but I always have the willing to make the wish-list come true. Thanks for the abandonment of IE(the only reason I used three tables to achieve frozen columns), those features could be accomplished in a super simple way and much better performance(using position: sticky, and also unblocks a lot of wonderful features which are hard to implement before, like sticky header on window scrolling, I made a simple demo from scratch, but it's more a toy in my spare time
    bs2

  24. kaleem-elahi commented on Aug 9, 2021

    @kaleem-elahi

    Does that mean we should not rely on this library any more? @nihgwu

  25. nihgwu commented on Aug 9, 2021

    @nihgwu
    ContributorAuthor

    @kaleem-elahi No, even I don't use this component much as I leave the previous project, but it's a baby of mine, so I will keep on improving it(and it's still heavily used in the projects I worked on), and actually there are not much blocking issues for the current version, and I'll ask for the permission to access this repo for better maintenance, what I wanted to say is that for the next major version it's going to be a completely rewrite so it won't arrive soon

  26. jamesonhill commented on Sep 1, 2021

    @jamesonhill
    Contributor

    @nihgwu any luck regaining admin/maintainer rights for this repo?

  27. nihgwu commented on Sep 1, 2021

    @nihgwu
    ContributorAuthor

    @jamesonhill not yet, I'll contact my ex-colleague for help, seems the open-source email address is abandoned

  28. fgatti675 commented on Nov 1, 2021

    @fgatti675

    Hi everyone, how about just forking the project and creating a new package?

  29. bjoe87 commented on Nov 2, 2021

    @bjoe87

    Hey @nihgwu was curious if getting rid of the multiple grids for frozen columns would be in this roadmap? I started looking into it and have it working but some of the snapshots need to be updated. Also is this still your vision for 2.0 or have new features come into mind since its been awhile? Thanks for the awesome grid btw! :)

  30. phaweens commented on Nov 9, 2021

    @phaweens

    Hi @nihgwu, I'm trying your base-table out. Could you please add example for column grouping because it's essential for my work, thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions