Giter VIP home page Giter VIP logo

react-dragtastic's Issues

Pass `dragState` to `onX` callbacks

I need to access attributes of dragState in some of the callbacks, e.g. onDrop, but the callbacks either receive no arguments or dragState.data. Would you be open to passing dragState to all onX callbacks?

Version 3 Master Ticket

This issue is intended to track progress on version 3.

The main goals for version 3:

  • Add new hooks API
  • Clear up any existing issues as of the creation of this ticket
  • Full Mobile Support
  • Better performance

Setstate needs to test if it's mounted before running

Currently the components don't test if they're mounted before firing a setState. This leads to an occasional case where components throw React's setState error. Each component should internally track their mounted state as described here

Typescript types for DefinitelyTyped repository

Hello!

Before anything else: thanks for this great library! I spent so much time looking for a way to cleanly handle d&d I started to believe there was no easy way.

I would very much like to use this on my TypeScript projects, but I noticed there is no type definition published for it on DefinitelyTyped, so I took the liberty of translating the .js.flow file to a TypeScript module and made a pull request (you can find it here).

I hope this is OK with you and, of course, if you want to review the pull request and add your own feedback, it would be very welcome.

Best regards.

Mobile support

Hi Chris,

I can't seem to make the library work for mobile. Dragging is fine in most devices I tried, but it seems like no event gets fired once I drop a draggable on a droppable.
I was preparing a code example, but seems like the demo site examples don't work for me either, so you could check from there.

Is there any workaround to make the events work (I only need the onDrop event) or perhaps some extra configuration (like the pointer-events: none) that would work for mobile?

Thanks.

Nested Droppable

I have a large Droppable which has multiple smaller Droppables inside of it. Either are valid targets.

Once the mouse moves into the parent Droppable, isOver gets set to true. Once the mouse moves into a child Droppable, isOver on the parent gets set to false, and isOver on the child gets set to true, as you'd expect. However, when I move out of the child (and the cursor is still within the parent), then my parent does not get isOver set back to true.

Any thoughts? Thanks.

My parent droppable is very straightforward:

<Droppable id={date} accepts={ACCEPTS} onDrop={this.handleDrop}>
        {dragState => {
          return (
            <div {...dragState.events}>
              <Day
                {...this.props}
                isHoveredOver={dragState.isOver}
              />
            </div>
          );
        }}
      </Droppable>

New prop for disabling draggable

I've found in my use-case scenarios that it would be nice to pass a boolean prop to the <Draggable/> that could disable it. This is especially useful in cases where a child of the Draggable also needs to be able to handle click or tap events.

isOver impacts all Droppables

I have a basic a calendar where each Day is a Droppable. However if I drag an item onto any day, then ALL Droppables think isOver is true, when only the Droppable I'm hovering over should have isOver === true.

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.