elastic / eui

Elastic UI Framework 🙌
https://eui.elastic.co/
Other
6.08k stars 828 forks source link

[Feature]: Drag and Drop Components #1651

Closed thompsongl closed 5 years ago

thompsongl commented 5 years ago

Drag and Drop. DragNDrop. DnD. Draggable. Droppable. Reorderable. Sortable. We need 'em all.

Approach for creating generic components that can be used throughout the applications already implementing (or needing to implement) the various flavors of drag and drop UI:

1) Extend the functionality of an existing solution with EUI interaction styles and defaults. We want to avoid jQuery and remain in the React ecosystem. react-beautiful-dnd is leading candidate as it is already used in Kibana (see Canvas, SecOps) and accounts for most a11y cases. 2) Write components for basic list UI, including sorting. 3) Extend components from 1 & 2 to create a more comprehensive drag and drop manager solution. The upcoming Kibana visualize editor is a prime case. 4) Table support, including row and column sorting.

Existing issue reference: #1569 #1425 #313


Update (ongoing):

Extension

react-beautiful-dnd is remains the extension target

EUI Opinions

EUI Features

flash1293 commented 5 years ago

Does react-beautiful-dnd support dragging/dropping between multiple react contexts? In Kibana various parts which could get integrated via DnD originate from individual ReactDOM.render calls. No hard requirement though, if this is complicated to provide I think we could refactor around it.

thompsongl commented 5 years ago

@flash1293 This is a good item to add to the evaluation criteria. At the very least we can make note of support if all options are lacking.

flash1293 commented 5 years ago

I'll just write down some things which will probably be needed in the future - they don't necessarily have to be directly supported by the EUI solution, but it would be nice if they could be considered:

cchaos commented 5 years ago

@thompsongl Do we think this original ticket has been satisfied and can close for more specific issues/feature requests?

thompsongl commented 5 years ago

Yes. I'll get a couple high-level feature tickets made and close this

thompsongl commented 5 years ago

Closing in favor of more granular issues and feature requests.