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

Drag & Drop X Tabs #6066

Closed
ThomThomson opened this issue Jul 20, 2022 · 9 comments
Closed

Drag & Drop X Tabs #6066

ThomThomson opened this issue Jul 20, 2022 · 9 comments
Assignees

Comments

@ThomThomson
Copy link
Contributor

The Presentation team is building a tabs system for Dashboard. This will involve allowing dashboard authors to create, edit, and delete a collection of tabs.

One feature which is missing currently, and could help immensely with our UX is the ability for users to drag and drop to rearrange tabs. If we implement tabs without this feature, we may have to add a separate management flyout to allow the users to rearrange.

@elizabetdev
Copy link
Contributor

Hi @ThomThomson,

Do you have any designs for this? Or is there any implementation of the tabs system for Dashboard that we can take a look at?

@ThomThomson
Copy link
Contributor Author

Hi @miukimiu, there isn't an implementation quite yet, but we do have some designs that @andreadelrio put together in figma.

Screen.Recording.2022-07-19.at.1.14.23.PM.mov

Something to note that isn't completely reflected in this early design is that we'd like to have as much of the behaviour inline as possible. As in, the naming / editing of tabs, rearranging, deleting etc.

@elizabetdev
Copy link
Contributor

Thanks, @ThomThomson I'll chat with @andreadelrio and we can see how we can support those inline and drag and drop features.

@chandlerprall
Copy link
Contributor

EUI's drag&drop components are a thin wrapper on top of react-beautiful-dnd, which has some limitations for dragging interactive content like buttons and links.

Depending on design requirements, this may be implementable today. I threw a quick code sandbox together merging EUI's tabs & drag&drop->Interactive elements examples; I found that tabs with an href (renders as an anchor instead of button) are draggable without a custom handle, but the better pattern here is probably having the drag handle in all cases.

@elizabetdev
Copy link
Contributor

Looks great @chandlerprall! 😍

@andreadelrio and @ThomThomson it would be great if you could then share your final design/implementation so we can consider adding to our Tabs docs as a complex pattern.

@chandlerprall chandlerprall added answered Issues answered by the EUI team - auto-closes open issues in 7 days if no follow-up response and removed answered Issues answered by the EUI team - auto-closes open issues in 7 days if no follow-up response labels Jul 22, 2022
@chandlerprall
Copy link
Contributor

Un-answered this as there are some accessibility issues to account for, I'll bring this up at the team sync tomorrow.

@daveyholler
Copy link
Contributor

Just wanted to jump in here and provide some assistance on helping folks re-order their tabs. @ThomThomson would you be able to share your current designs and/or implementation of this?

@daveyholler daveyholler self-assigned this Dec 12, 2022
@ThomThomson
Copy link
Contributor Author

ThomThomson commented Dec 12, 2022

Hi @daveyholler, we actually don't have any current designs beyond what I shared back in July. The initiative to add Tabs to Dashboard has been postponed for the moment.

The code sandbox that @chandlerprall shows looks and works great for our use case, though I understand that there are some accessibility issues with that design.

In short, there is no urgency at the moment to get this draggable tabs system into Dashboards. The team will be in touch again if this becomes a priority again in the future.

@daveyholler
Copy link
Contributor

Thanks for the update @ThomThomson. In an effort to keep our backlog groomed, I'm going to close this issue for the time being. Feel free to reopen in the future should the need arise.

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

No branches or pull requests

4 participants