Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make table columns resizable and/or hideable #2468

Open
johncowen opened this issue Apr 19, 2024 · 3 comments
Open

Make table columns resizable and/or hideable #2468

johncowen opened this issue Apr 19, 2024 · 3 comments
Assignees
Labels
kind/feature New feature triage/accepted The issue was reviewed and is complete enough to start working on it
Milestone

Comments

@johncowen
Copy link
Contributor

Description

Kongponents recently added the ability to make the columns of KTable resizable/hideable.

We should see where we can make use of this.

@johncowen johncowen added triage/pending This issue will be looked at on the next triage meeting kind/feature New feature labels Apr 19, 2024
@jakubdyszkiewicz jakubdyszkiewicz added triage/accepted The issue was reviewed and is complete enough to start working on it and removed triage/pending This issue will be looked at on the next triage meeting labels Apr 22, 2024
@miko-bautista
Copy link

Hi @johncowen and @jakubdyszkiewicz ! Could we please put this on hold until we hear back from Jason regarding any usability improvements he’d like to make to the KTable UX enhancements? We want to make sure that we incorporate his feedback before applying these changes to other tables in Konnect. I’ll be sure to write a follow-up comment on this PR once we’ve gotten his blessing.

For more details, see https://kongstrong.slack.com/archives/C047HAF5STU/p1713799754188899?thread_ts=1713556888.785669&cid=C047HAF5STU

@johncowen
Copy link
Contributor Author

Oh hey @miko-bautista 👋 I'm sure that will be fine! Thanks!

@miko-bautista
Copy link

@johncowen Thank you for waiting! This is now unblocked! 🙌

@johncowen johncowen added this to the 2.9.x milestone Jun 12, 2024
@johncowen johncowen self-assigned this Jun 20, 2024
@lahabana lahabana modified the milestones: 2.9.x, 2.10.x Jun 25, 2024
johncowen added a commit that referenced this issue Jul 4, 2024
Whilst the feature here is making our table columns resizable, kongponents provides us with this functionality. But kongponents rightly doesn't dictate how you should persist the column sizes once resized.

Therefore the majority of this PR is providing a way application-wide that we can persist and retrieve user preference/settings/values etc. Here we use `localStorage` but we could just as well switch in a separate set of `sources` to use something different such as a users session.

I chose to key settings by route name, and after doing so I figured we may as well make all this available via `RouteView`.

Notes:

- Adds `DataSink`, a writing version of `DataSource`. The most important thing for me here is the interface. The innards of `DataSink` and how it works under-the-hood will no doubt change, but I don't want to do all that at this stage, only enough for me to add this feature.
- Moves `DataSource:src="/me"` into RouteView and then provides RouteView#me via RouteViews slot. I figure every route will potentially need to get/set user persisted values so we may as well make it available via the RouteView rather than have to repeatedly add the DataSource everytime as we do previoius to this PR.
- I've only done `MeshListView` for now for proof-of-concept, if I get an initial approval of this, next steps will be to roll this out everywhere.

Part of #2468

---

Signed-off-by: John Cowen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature triage/accepted The issue was reviewed and is complete enough to start working on it
Projects
None yet
Development

No branches or pull requests

4 participants