Git Product home page Git Product logo

Comments (15)

evilangelist avatar evilangelist commented on August 17, 2024 6

I was able to enable touch dragging without any changes to the component. SortableTreeWithoutDndContext is provided so you can specify your own context at which point you can wrap your app with:

export default DragDropContext(TouchBackend({enabledMouseEvents: true}))(MyApp);

Or to keep the default backend for desktop given this comment on the TouchBackend project page:

NOTE: This is buggy due to the difference in touchstart/touchend event propagation compared to mousedown/mouseup/click. I highly recommend that you use react-dnd-html5-backend instead for a more performant native HTML5 drag capability.*

I used this where I enable mouse events for devices such as the Surface with both touch and mouse (substitute your favourite browser detection lib for isTouch):

export default DragDropContext(isTouch() ? TouchBackend({enabledMouseEvents: true}) : HTML5Backend)(MyApp);

I haven't tested extensively, but drag'n'drop was working on both desktop and iOS.

from react-sortable-tree.

StoneCypher avatar StoneCypher commented on August 17, 2024 5

@fritz-c - touch to drag on handles only, touch to scroll everywhere else, problem solved

css alterations, fits on small screen

please reconsider

from react-sortable-tree.

fritz-c avatar fritz-c commented on August 17, 2024 3

@evilangelist Thanks for the info! I used it and put together a little experimental demo on the newly created storybook.

from react-sortable-tree.

yarnball avatar yarnball commented on August 17, 2024 1

Awesome- I'll check it out and test for you.

Another quick question. With the search function- is it possible that it "Hides" items which don't match the search? This could be a clean way to arrange similar items?

from react-sortable-tree.

kulikalov avatar kulikalov commented on August 17, 2024 1

Hey @yarnball
Any success with this?

from react-sortable-tree.

aemoe avatar aemoe commented on August 17, 2024 1

@karev @Anton-Aleksandrov @yarnball
Thank for author's prompt! Only replace a modules can support mobile and touch event.
The PR link

from react-sortable-tree.

fritz-c avatar fritz-c commented on August 17, 2024

This library uses react-dnd for all the drag-and-drop stuff, which offers options for the backend - the react-dnd official HTML5 native, desktop-only drag-and-drop backend (currently used), and an independently developed touch backend. The touch backend should theoretically support touchscreen devices, but I haven't tested it at all.
If lack of touch functionality is a deal breaker for you, it would be a great help to me and others if you try out the touch backend and see if it does everything on mobile without breaking the desktop experience (which I fear it might).

from react-sortable-tree.

fritz-c avatar fritz-c commented on August 17, 2024

Wonderful! That will be a great help.

As for the hiding thing, I've created a new issue to discuss it (#9)

from react-sortable-tree.

karev avatar karev commented on August 17, 2024

any news for the touch support ??

from react-sortable-tree.

fritz-c avatar fritz-c commented on August 17, 2024

@karev
I'm not planning to add it. I think the scope of the changes involved would make it a better candidate for a new fork or a new repository. For one, the current UI wouldn't translate well to a small screen. Also, distinguishing a touch (to drag) event from a touch (to scroll the screen) event takes quite a bit of finesse.

from react-sortable-tree.

yarnball avatar yarnball commented on August 17, 2024

I'm also keen to get this working- will to check it out. Thanks!

from react-sortable-tree.

MitchEnfield avatar MitchEnfield commented on August 17, 2024

Would also like bump this thread for reconsideration. This component is already so useful, but not making it responsive is holding me back from using it to the extent I would like to use it.
Regardless, thanks for the hard work.

from react-sortable-tree.

superlbr avatar superlbr commented on August 17, 2024

well, I use it in a stateless function. It came out ...
Warning: Stateless function components cannot be given refs. Attempts to access this ref will fail.

from react-sortable-tree.

abhinavzspace avatar abhinavzspace commented on August 17, 2024

Does this mean, it will work on react native also? (React/react native beginner here.)

from react-sortable-tree.

fritz-c avatar fritz-c commented on August 17, 2024

@abhinavzspace it will not work on react native. React native uses different primitive elements, like View instead of div, etc.

from react-sortable-tree.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.