Skip to content

Latest commit

 

History

History
319 lines (207 loc) · 11.5 KB

CHANGELOG.md

File metadata and controls

319 lines (207 loc) · 11.5 KB

Changelog

2.2.3 (Nov 21, 2016)

  • Bugfix: Fix an issue with the entire window scrolling on a drag on iDevices. Thanks @JaneCoder. See #183

2.2.2 (Sep 14, 2016)

  • Bugfix: Fix references to global when grabbing SVGElement, see #162
  • Bugfix: Get ownerDocument before onStop, fixes #198

2.2.1 (Aug 11, 2016)

  • Bugfix: Fix getComputedStyle error: see #186, #190

2.2.0 (Jul 29, 2016)

  • Addition: offsetParent property for an arbitrary ancestor for offset calculations.
  • Enhancement: Make this library iframe-aware.
  • Bugfix: Lint/Test Fixes for new Flow & React versions

2.1.2 (Jun 5, 2016)

  • Bugfix: Fix return false to cancel onDrag breaking on both old and new browsers due to missing typeArg and/or unsupported MouseEventConstructor. Fixes #164.

2.1.1 (May 22, 2016)

  • Bugfix: <DraggableCore> wasn't calling back with the DOM node.
  • Internal: Rework test suite to use power-assert.

2.1.0 (May 20, 2016)

  • Fix improperly missed handle or cancel selectors if the event originates from a child of the handle or cancel.
    • Fixes a longstanding issue, #88
    • This was pushed to a minor release as there may be edge cases (perhaps workarounds) where this changes behavior.

2.0.2 (May 19, 2016)

  • Fix cannot access clientX of undefined on some touch-enabled platforms.
  • Fixed a bug with multi-finger multitouch if > 1 finger triggered an event at the same time.

2.0.1 (May 19, 2016)

  • Finally fixed the IE10 constructor bug. Thanks @davidstubbs #158

2.0.0 (May 10, 2016)

  • This is a breaking change. See the changes below in the beta releases.
    • Note the changes to event callbacks and position / defaultPosition.
  • Changes from 2.0.0-beta3:
    • Small bugfixes for Flow 0.24 compatibility.
    • Don't assume global.SVGElement. Fixes JSDOM & #123.

2.0.0-beta3 (Apr 19, 2016)

  • Flow comments are now in the build. Other projects, such as React-Grid-Layout and React-Resizable, will rely on them in their build and export their own comments.

2.0.0-beta2 (Apr 14, 2016)

  • We're making a small deviation from React Core's controlled vs. uncontrolled scheme; for convenience, <Draggable>s with a position property will still be draggable, but will revert to their old position on drag stop. Attach an onStop or onDrag handler to synchronize state.
    • A warning has been added informing users of this. If you make <Draggable> controlled but attach no callback handlers, a warning will be printed.

2.0.0-beta1 (Apr 14, 2016)

  • Due to API changes, this is a major release.

Breaking Changes:

  • Both <DraggableCore> and <Draggable> have had their callback types changed and unified.
type DraggableEventHandler = (e: Event, data: DraggableData) => void | false;
type DraggableData = {
  node: HTMLElement,
  // lastX + deltaX === x
  x: number, y: number,
  deltaX: number, deltaY: number,
  lastX: number, lastY: number
};
  • The start option has been renamed to defaultPosition.
  • The zIndex option has been removed.

Possibly Breaking Changes:

  • When determining deltas, we now use a new method that checks the delta against the Draggable's offsetParent. This method allows us to support arbitrary nested scrollable ancestors without scroll handlers!
    • This may cause issues in certain layouts. If you find one, please open an issue.

Enhancements:

  • <Draggable> now has a position attribute. Its relationship to defaultPosition is much like value to defaultValue on React <input> nodes. If set, the position is fixed and cannot be mutated. If empty, the component will manage its own state. See #140 for more info & motivations.
  • Misc. bugfixes.

1.4.0-beta1 (Apr 13, 2016)

  • Major improvements to drag tracking that now support even nested scroll boxes.
    • This revision is being done as a pre-release to ensure there are no unforeseen issues with the offset changes.

1.3.7 (Apr 8, 2016)

  • Fix user-select prefixing, which may be different than the prefix required for transform.

1.3.6 (Apr 8, 2016)

  • Republished after 1.3.5 contained a bundling error.

1.3.5 (Apr 8, 2016)

  • Add React v15 to devDeps. <Draggable> supports both v0.14 and v15.
  • Enhancement: Clean up usage of browser prefixes; modern browsers will no longer use them.
    • This also removes the duplicated user-select style that is created on the <body> while dragging.
  • Internal: Test fixes.

1.3.4 (Mar 5, 2016)

  • Bugfix: Scrolling while dragging caused items to move unpredictably.

1.3.3 (Feb 11, 2016)

  • Bugfix: #116: Android/Chrome are finicky; give up on canceling ghost clicks entirely.

1.3.2 (Feb 11, 2016)

  • Bugfix: #116: Child inputs not focusing on touch events.

1.3.1 (Feb 10, 2016)

  • Internal: Babel 6 and Flow definitions
  • Bugfix: 1.3.0 broke string bounds ('parent', selectors, etc.).
  • Bugfix: 1.3.0 wasn't updating deltaX and deltaY on a bounds hit.

1.3.0 (Feb 10, 2016)

  • Possibly breaking change: bounds are calculated before <Draggable> fires drag events, as they should have been.
  • Added 'none' axis type. This allows using <Draggable> somewhat like <DraggableCore> - state will be kept internally (which makes bounds checks etc possible), but updates will not be flushed to the DOM.
  • Performance tweaks.

1.2.0 (Feb 5, 2016)

  • Added arbitrary boundary selector. Now you don't have to just use 'parent', you can select any element on the page, including 'body'.
  • Bugfix: Prevent invariant if a <Draggable> is unmounted while dragging.
  • Bugfix: Fix #133, where items would eagerly start dragging off the mouse cursor if you hit boundaries and came back. This is due to how <DraggableCore> handles deltas only and does not keep state. Added new state properties slackX and slackY to <Draggable> to handle this and restore pre-v1 behavior.

1.1.3 (Nov 25, 2015)

  • Bugfix: Server-side rendering with react-rails, which does bad things like mock window

1.1.2 (Nov 23, 2015)

  • Bugfix: <Draggable> was calling back with clientX/Y, not offsetX/Y as it did pre-1.0. This unintended behavior has been fixed and a test has been added.

1.1.1 (Nov 14, 2015)

  • Bugfix: Clean up scroll events if a component is unmounted before drag stops.
  • Bugfix: NaN was returning from scroll events due to event structure change.
  • Add scroll drag modulation test.

1.1.0 (Nov 14, 2015)

  • Move grid into <DraggableCore> directly. It will continue to work on <Draggable>.
  • Development fixes.

1.0.2 (Nov 7, 2015)

  • Fix enableUserSelectHack not properly disabling.
  • Fix a crash when the user scrolls the page with a Draggable active.

1.0.1 (Oct 28, 2015)

  • Fix missing dist files for webpack.
  • Ignore non-primary clicks. Added allowAnyClick option to allow other click types.

1.0.0 (Oct 27, 2015)

  • Breaking: Removed resetState() instance method
  • Breaking: Removed moveOnStartChange prop
  • Breaking: React 0.14 support only.
  • Refactored project.
  • Module now exports a <DraggableCore> element upon which <Draggable> is based. This module is useful for building libraries and is completely stateless.

0.8.5 (Oct 20, 2015)

  • Bugfix: isElementSVG no longer can be overwritten by getInitialState (#83)
  • Bugfix: Fix for element prefixes in JSDOM

0.8.4 (Oct 15, 2015)

  • Bugfix: SVG elements now properly use transform attribute instead of style. Thanks @martinRoss

0.8.3 (Oct 12, 2015)

  • Bugfix: Short-circuiting drag throws due to e.changedTouches check.

0.8.2 (Sep 21, 2015)

  • Handle scrolling while dragging. (#60)
  • Add multi-touch support. (#68)
  • IE fixes.
  • Documentation updates. (#77)

0.8.1 (June 3, 2015)

  • Add resetState() instance method for use by parents. See README ("State Problems?").

0.8.0 (May 19, 2015)

  • Touch/mouse events rework. Fixes #51, #37, and #43, as well as IE11 support.
  • Moved mousemove/mouseup and touch event handlers to document from window. Fixes IE9/10 support. IE8 is still not supported, as it is not supported by React.

0.7.4 (May 18, 2015)

  • Fix a bug where a quick drag out of bounds to 0,0 would cause the element to remain in an inaccurate position, because the translation was removed from the CSS. See #55.

0.7.3 (May 13, 2015)

0.7.2 (May 8, 2015)

  • Added moveOnStartChange property. See README.

0.7.1 (May 7, 2015)

  • The start param is back. Pass {x: Number, y: Number} to kickoff the CSS transform. Useful in certain cases for simpler callback math (so you don't have to know its existing relative position and add it to the dragged position). Fixes #52.

0.7.0 (May 7, 2015)

  • Breaking change: bounds with coordinates was confusing because it was using the item's width/height, which was not intuitive. When providing coordinates, bounds now simply restricts movement in each direction by that many pixels.

0.6.0 (May 2, 2015)

  • Breaking change: Cancel dragging when onDrag or onStart handlers return an explicit false.
  • Fix sluggish movement when grid option was active.
  • Example updates.
  • Move user-select:none hack to document.body for better highlight prevention.
  • Add bounds option to restrict dragging within parent or within coordinates.

0.5.0 (May 2, 2015)

  • Remove browserify browser config, reactify, and jsx pragma. Fixes #38
  • Use React.cloneElement instead of addons cloneWithProps (requires React 0.13)
  • Move to CSS transforms. Simplifies implementation and fixes #48, #34, #31.
  • Fixup linting and space/tab errors. Fixes #46.

0.4.3 (Apr 30, 2015)

  • Fix React.addons error caused by faulty test.

0.4.2 (Apr 30, 2015)

  • Add "browser" config to package.json for browserify imports (fix #45).
  • Remove unnecessary emptyFunction and React.addons.classSet imports.

0.4.1 (Apr 30, 2015)

  • Remove react/addons dependency (now depending on react directly).
  • Add MIT License file.
  • Fix an issue where browser may be detected as touch-enabled but touch event isn't thrown.

0.4.0 (Jan 03, 2015)

  • Improving accuracy of snap to grid
  • Updating to React 0.12
  • Adding dragging className
  • Adding reactify support for browserify
  • Fixing issue with server side rendering

0.3.0 (Oct 21, 2014)

  • Adding support for touch devices

0.2.1 (Sep 10, 2014)

  • Exporting as ReactDraggable

0.2.0 (Sep 10, 2014)

  • Adding support for snapping to a grid
  • Adding support for specifying start position
  • Ensure event handlers are destroyed on unmount
  • Adding browserify support
  • Adding bower support

0.1.1 (Jul 26, 2014)

  • Fixing dragging not stopping on mouseup in some cases

0.1.0 (Jul 25, 2014)

  • Initial release