diff --git a/CHANGELOG.md b/CHANGELOG.md index 0aea47d9..98f0359a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,3 +37,8 @@ - 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.2 (Apr 30, 2015) + +- Add `"browser"` config to package.json for browserify imports (fix #45). +- Remove unnecessary `emptyFunction` and `React.addons.classSet` imports. diff --git a/bower.json b/bower.json index 0951bb3d..dbfba7cb 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "react-draggable", - "version": "0.4.1", + "version": "0.4.2", "homepage": "https://github.com/mzabriskie/react-draggable", "authors": [ "Matt Zabriskie" diff --git a/dist/react-draggable.js b/dist/react-draggable.js index 38354434..aa89c398 100644 --- a/dist/react-draggable.js +++ b/dist/react-draggable.js @@ -65,8 +65,7 @@ return /******/ (function(modules) { // webpackBootstrap /** @jsx React.DOM */ var React = __webpack_require__(2); - var emptyFunction = __webpack_require__(3); - var CX = React.addons.classSet; + var emptyFunction = function(){}; function createUIEvent(draggable) { return { @@ -540,44 +539,6 @@ return /******/ (function(modules) { // webpackBootstrap module.exports = __WEBPACK_EXTERNAL_MODULE_2__; -/***/ }, -/* 3 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule emptyFunction - */ - - function makeEmptyFunction(arg) { - return function() { - return arg; - }; - } - - /** - * This function accepts and discards inputs; it has no side effects. This is - * primarily useful idiomatically for overridable function endpoints which - * always need to be callable, since JS lacks a null-call idiom ala Cocoa. - */ - function emptyFunction() {} - - emptyFunction.thatReturns = makeEmptyFunction; - emptyFunction.thatReturnsFalse = makeEmptyFunction(false); - emptyFunction.thatReturnsTrue = makeEmptyFunction(true); - emptyFunction.thatReturnsNull = makeEmptyFunction(null); - emptyFunction.thatReturnsThis = function() { return this; }; - emptyFunction.thatReturnsArgument = function(arg) { return arg; }; - - module.exports = emptyFunction; - - /***/ } /******/ ]) }); diff --git a/dist/react-draggable.map b/dist/react-draggable.map index 1651267d..ce83e872 100644 --- a/dist/react-draggable.map +++ b/dist/react-draggable.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 1cd907495832026d30f5","webpack:///./index.js","webpack:///./lib/draggable.js","webpack:///external \"React\"","webpack:///./~/react/lib/emptyFunction.js"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAE,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AAC9B;AACA;AACA;AACA;;GAEE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;AACnC,GAAE;;AAEF,EAAC,oBAAoB,EAAE,WAAW;;GAEhC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;GAC3D,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/D,G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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 1cd907495832026d30f5\n **/","module.exports = require('./lib/draggable');\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","'use strict';\n\n/** @jsx React.DOM */\nvar React = require('react');\nvar emptyFunction = require('react/lib/emptyFunction');\nvar CX = React.addons.classSet;\n\nfunction createUIEvent(draggable) {\n\treturn {\n\t\tposition: {\n\t\t\ttop: draggable.state.clientY,\n\t\t\tleft: draggable.state.clientX\n\t\t}\n\t};\n}\n\nfunction canDragY(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'y';\n}\n\nfunction canDragX(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'x';\n}\n\nfunction isFunction(func) {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]'\n}\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array, callback) {\n for (var i = 0, length = array.length, element = null; i < length, element = array[i]; i++) {\n if (callback.apply(callback, [element, i, array])) return element;\n }\n}\n\nfunction matchesSelector(el, selector) {\n var method = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n return isFunction(el[method]);\n });\n\n return el[method].call(el, selector);\n}\n\n// @credits: http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript/4819886#4819886\n/* Conditional to fix node server side rendering of component */\nif (typeof window === 'undefined') {\n // Do Node Stuff\n var isTouchDevice = false;\n} else {\n // Do Browser Stuff\n var isTouchDevice = 'ontouchstart' in window // works on most browsers\n || 'onmsgesturechange' in window; // works on ie10 on ms surface\n\n}\n\n// look ::handleDragStart\n//function isMultiTouch(e) {\n// return e.touches && Array.isArray(e.touches) && e.touches.length > 1\n//}\n\n/**\n * simple abstraction for dragging events names\n * */\nvar dragEventFor = (function () {\n var eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup'\n }\n };\n return eventsFor[isTouchDevice ? 'touch' : 'mouse'];\n})();\n\n/**\n * get {clientX, clientY} positions of control\n * */\nfunction getControlPosition(e) {\n var position = (e.touches && e.touches[0]) || e;\n return {\n clientX: position.clientX,\n clientY: position.clientY\n }\n}\n\nfunction addEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.attachEvent) {\n\t\tel.attachEvent('on' + event, handler);\n\t} else if (el.addEventListener) {\n\t\tel.addEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = handler;\n\t}\n}\n\nfunction removeEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.detachEvent) {\n\t\tel.detachEvent('on' + event, handler);\n\t} else if (el.removeEventListener) {\n\t\tel.removeEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = null;\n\t}\n}\n\nmodule.exports = React.createClass({\n\tdisplayName: 'Draggable',\n\n\tpropTypes: {\n\t\t/**\n\t\t * `axis` determines which axis the draggable can move.\n\t\t *\n\t\t * 'both' allows movement horizontally and vertically.\n\t\t * 'x' limits movement to horizontal axis.\n\t\t * 'y' limits movement to vertical axis.\n\t\t *\n\t\t * Defaults to 'both'.\n\t\t */\n\t\taxis: React.PropTypes.oneOf(['both', 'x', 'y']),\n\n\t\t/**\n\t\t * `handle` specifies a selector to be used as the handle that initiates drag.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t \treturn (\n\t\t * \t \t \t\n\t\t * \t \t \t
\n\t\t * \t \t \t
Click me to drag
\n\t\t * \t \t \t
This is some other content
\n\t\t * \t \t \t
\n\t\t * \t \t\t
\n\t\t * \t \t);\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\thandle: React.PropTypes.string,\n\n\t\t/**\n\t\t * `cancel` specifies a selector to be used to prevent drag initialization.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return(\n\t\t * \t \n\t\t * \t
\n\t\t * \t \t
You can't drag from here
\n\t\t *\t\t\t\t\t\t
Dragging here works fine
\n\t\t * \t
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tcancel: React.PropTypes.string,\n\n\t\t/**\n\t\t * `grid` specifies the x and y that dragging should snap to.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I snap to a 25 x 25 grid
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tgrid: React.PropTypes.arrayOf(React.PropTypes.number),\n\n\t\t/**\n\t\t * `start` specifies the x and y that the dragged item should start at\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I start with left: 25px; top: 25px;
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tstart: React.PropTypes.object,\n\n\t\t/**\n\t\t * `zIndex` specifies the zIndex to use while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I have a zIndex
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tzIndex: React.PropTypes.number,\n\n\t\t/**\n\t\t * Called when dragging starts.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStart: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonDrag: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called when dragging stops.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStop: React.PropTypes.func,\n\n\t\t/**\n\t\t * A workaround option which can be passed if onMouseDown needs to be accessed, since it'll always be blocked (due to that there's internal use of onMouseDown)\n\t\t *\n\t\t */\n\t\tonMouseDown: React.PropTypes.func\n\t},\n\n\tcomponentWillUnmount: function() {\n\t\t// Remove any leftover event handlers\n\t\tremoveEvent(window, dragEventFor['move'], this.handleDrag);\n\t\tremoveEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\tgetDefaultProps: function () {\n\t\treturn {\n\t\t\taxis: 'both',\n\t\t\thandle: null,\n\t\t\tcancel: null,\n\t\t\tgrid: null,\n\t\t\tstart: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t},\n\t\t\tzIndex: NaN,\n\t\t\tonStart: emptyFunction,\n\t\t\tonDrag: emptyFunction,\n\t\t\tonStop: emptyFunction,\n\t\t\tonMouseDown: emptyFunction\n\t\t};\n\t},\n\n\tgetInitialState: function () {\n\t\treturn {\n\t\t\t// Whether or not currently dragging\n\t\t\tdragging: false,\n\n\t\t\t// Start top/left of this.getDOMNode()\n\t\t\tstartX: 0, startY: 0,\n\n\t\t\t// Offset between start top/left and mouse top/left\n\t\t\toffsetX: 0, offsetY: 0,\n\n\t\t\t// Current top/left of this.getDOMNode()\n\t\t\tclientX: this.props.start.x, clientY: this.props.start.y\n\t\t};\n\t},\n\n\thandleDragStart: function (e) {\n // todo: write right implementation to prevent multitouch drag\n // prevent multi-touch events\n // if (isMultiTouch(e)) {\n // this.handleDragEnd.apply(e, arguments);\n // return\n // }\n\n\t\t// Make it possible to attach event handlers on top of this one\n\t\tthis.props.onMouseDown(e);\n\n\t\tvar node = this.getDOMNode();\n\n\t\t// Short circuit if handle or cancel prop was provided and selector doesn't match\n\t\tif ((this.props.handle && !matchesSelector(e.target, this.props.handle)) ||\n\t\t\t(this.props.cancel && matchesSelector(e.target, this.props.cancel))) {\n\t\t\treturn;\n\t\t}\n\n var dragPoint = getControlPosition(e);\n\n\t\t// Initiate dragging\n\t\tthis.setState({\n\t\t\tdragging: true,\n\t\t\toffsetX: parseInt(dragPoint.clientX, 10),\n\t\t\toffsetY: parseInt(dragPoint.clientY, 10),\n\t\t\tstartX: parseInt(node.style.left, 10) || 0,\n\t\t\tstartY: parseInt(node.style.top, 10) || 0\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStart(e, createUIEvent(this));\n\n\t\t// Add event handlers\n\t\taddEvent(window, dragEventFor['move'], this.handleDrag);\n\t\taddEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDragEnd: function (e) {\n\t\t// Short circuit if not currently dragging\n\t\tif (!this.state.dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Turn off dragging\n\t\tthis.setState({\n\t\t\tdragging: false\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStop(e, createUIEvent(this));\n\n\t\t// Remove event handlers\n removeEvent(window, dragEventFor['move'], this.handleDrag);\n removeEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDrag: function (e) {\n var dragPoint = getControlPosition(e);\n\n\t\t// Calculate top and left\n var clientX = (this.state.startX + (dragPoint.clientX - this.state.offsetX));\n var clientY = (this.state.startY + (dragPoint.clientY - this.state.offsetY));\n\n\t\t// Snap to grid if prop has been provided\n\t\tif (Array.isArray(this.props.grid)) {\n\t\t\tvar directionX = clientX < parseInt(this.state.clientX, 10) ? -1 : 1;\n\t\t\tvar directionY = clientY < parseInt(this.state.clientY, 10) ? -1 : 1;\n\n\t\t\tclientX = Math.abs(clientX - parseInt(this.state.clientX, 10)) >= this.props.grid[0]\n\t\t\t\t\t? (parseInt(this.state.clientX, 10) + (this.props.grid[0] * directionX))\n\t\t\t\t\t: this.state.clientX;\n\n\t\t\tclientY = Math.abs(clientY - parseInt(this.state.clientY, 10)) >= this.props.grid[1]\n\t\t\t\t\t? (parseInt(this.state.clientY, 10) + (this.props.grid[1] * directionY))\n\t\t\t\t\t: this.state.clientY;\n\t\t}\n\n\t\t// Update top and left\n\t\tthis.setState({\n\t\t\tclientX: clientX,\n\t\t\tclientY: clientY\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onDrag(e, createUIEvent(this));\n\t},\n\n\trender: function () {\n\t\tvar style = {\n\t\t\t// Set top if vertical drag is enabled\n\t\t\ttop: canDragY(this)\n\t\t\t\t? this.state.clientY\n\t\t\t\t: this.state.startY,\n\n\t\t\t// Set left if horizontal drag is enabled\n\t\t\tleft: canDragX(this)\n\t\t\t\t? this.state.clientX\n\t\t\t\t: this.state.startX\n\t\t};\n\n\t\t// Set zIndex if currently dragging and prop has been provided\n\t\tif (this.state.dragging && !isNaN(this.props.zIndex)) {\n\t\t\tstyle.zIndex = this.props.zIndex;\n\t\t}\n\n\t\tvar className = 'react-draggable';\n\t\tif (this.state.dragging) {\n\t\t\tclassName += ' react-draggable-dragging';\n\t\t}\n\n\t\t// Reuse the child provided\n\t\t// This makes it flexible to use whatever element is wanted (div, ul, etc)\n\t\treturn React.addons.cloneWithProps(React.Children.only(this.props.children), {\n\t\t\tstyle: style,\n\t\t\tclassName: className,\n\n\t\t\tonMouseDown: this.handleDragStart,\n\t\t\tonTouchStart: function(ev){\n ev.preventDefault(); // prevent for scroll\n return this.handleDragStart.apply(this, arguments);\n }.bind(this),\n\n\t\t\tonMouseUp: this.handleDragEnd,\n\t\t\tonTouchEnd: this.handleDragEnd\n\t\t});\n\t}\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/draggable.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Copyright 2013-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n * @providesModule emptyFunction\n */\n\nfunction makeEmptyFunction(arg) {\n return function() {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nfunction emptyFunction() {}\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function() { return this; };\nemptyFunction.thatReturnsArgument = function(arg) { return arg; };\n\nmodule.exports = emptyFunction;\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/react/lib/emptyFunction.js\n **/"],"sourceRoot":"","file":"./dist/react-draggable.js"} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 300f832e840189067574","webpack:///./index.js","webpack:///./lib/draggable.js","webpack:///external \"React\""],"names":[],"mappings":"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","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ReactDraggable\"] = factory(require(\"React\"));\n\telse\n\t\troot[\"ReactDraggable\"] = factory(root[\"React\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__) {\nreturn \n\n\n/** WEBPACK FOOTER **\n ** webpack/universalModuleDefinition\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 300f832e840189067574\n **/","module.exports = require('./lib/draggable');\n\n\n\n/** WEBPACK FOOTER **\n ** ./index.js\n **/","'use strict';\n\n/** @jsx React.DOM */\nvar React = require('react');\nvar emptyFunction = function(){};\n\nfunction createUIEvent(draggable) {\n\treturn {\n\t\tposition: {\n\t\t\ttop: draggable.state.clientY,\n\t\t\tleft: draggable.state.clientX\n\t\t}\n\t};\n}\n\nfunction canDragY(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'y';\n}\n\nfunction canDragX(draggable) {\n\treturn draggable.props.axis === 'both' ||\n\t\t\tdraggable.props.axis === 'x';\n}\n\nfunction isFunction(func) {\n return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]'\n}\n\n// @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc\nfunction findInArray(array, callback) {\n for (var i = 0, length = array.length, element = null; i < length, element = array[i]; i++) {\n if (callback.apply(callback, [element, i, array])) return element;\n }\n}\n\nfunction matchesSelector(el, selector) {\n var method = findInArray([\n 'matches',\n 'webkitMatchesSelector',\n 'mozMatchesSelector',\n 'msMatchesSelector',\n 'oMatchesSelector'\n ], function(method){\n return isFunction(el[method]);\n });\n\n return el[method].call(el, selector);\n}\n\n// @credits: http://stackoverflow.com/questions/4817029/whats-the-best-way-to-detect-a-touch-screen-device-using-javascript/4819886#4819886\n/* Conditional to fix node server side rendering of component */\nif (typeof window === 'undefined') {\n // Do Node Stuff\n var isTouchDevice = false;\n} else {\n // Do Browser Stuff\n var isTouchDevice = 'ontouchstart' in window // works on most browsers\n || 'onmsgesturechange' in window; // works on ie10 on ms surface\n\n}\n\n// look ::handleDragStart\n//function isMultiTouch(e) {\n// return e.touches && Array.isArray(e.touches) && e.touches.length > 1\n//}\n\n/**\n * simple abstraction for dragging events names\n * */\nvar dragEventFor = (function () {\n var eventsFor = {\n touch: {\n start: 'touchstart',\n move: 'touchmove',\n end: 'touchend'\n },\n mouse: {\n start: 'mousedown',\n move: 'mousemove',\n end: 'mouseup'\n }\n };\n return eventsFor[isTouchDevice ? 'touch' : 'mouse'];\n})();\n\n/**\n * get {clientX, clientY} positions of control\n * */\nfunction getControlPosition(e) {\n var position = (e.touches && e.touches[0]) || e;\n return {\n clientX: position.clientX,\n clientY: position.clientY\n }\n}\n\nfunction addEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.attachEvent) {\n\t\tel.attachEvent('on' + event, handler);\n\t} else if (el.addEventListener) {\n\t\tel.addEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = handler;\n\t}\n}\n\nfunction removeEvent(el, event, handler) {\n\tif (!el) { return; }\n\tif (el.detachEvent) {\n\t\tel.detachEvent('on' + event, handler);\n\t} else if (el.removeEventListener) {\n\t\tel.removeEventListener(event, handler, true);\n\t} else {\n\t\tel['on' + event] = null;\n\t}\n}\n\nmodule.exports = React.createClass({\n\tdisplayName: 'Draggable',\n\n\tpropTypes: {\n\t\t/**\n\t\t * `axis` determines which axis the draggable can move.\n\t\t *\n\t\t * 'both' allows movement horizontally and vertically.\n\t\t * 'x' limits movement to horizontal axis.\n\t\t * 'y' limits movement to vertical axis.\n\t\t *\n\t\t * Defaults to 'both'.\n\t\t */\n\t\taxis: React.PropTypes.oneOf(['both', 'x', 'y']),\n\n\t\t/**\n\t\t * `handle` specifies a selector to be used as the handle that initiates drag.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t \treturn (\n\t\t * \t \t \t\n\t\t * \t \t \t
\n\t\t * \t \t \t
Click me to drag
\n\t\t * \t \t \t
This is some other content
\n\t\t * \t \t \t
\n\t\t * \t \t\t
\n\t\t * \t \t);\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\thandle: React.PropTypes.string,\n\n\t\t/**\n\t\t * `cancel` specifies a selector to be used to prevent drag initialization.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return(\n\t\t * \t \n\t\t * \t
\n\t\t * \t \t
You can't drag from here
\n\t\t *\t\t\t\t\t\t
Dragging here works fine
\n\t\t * \t
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tcancel: React.PropTypes.string,\n\n\t\t/**\n\t\t * `grid` specifies the x and y that dragging should snap to.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I snap to a 25 x 25 grid
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tgrid: React.PropTypes.arrayOf(React.PropTypes.number),\n\n\t\t/**\n\t\t * `start` specifies the x and y that the dragged item should start at\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I start with left: 25px; top: 25px;
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tstart: React.PropTypes.object,\n\n\t\t/**\n\t\t * `zIndex` specifies the zIndex to use while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```jsx\n\t\t * \tvar App = React.createClass({\n\t\t * \t render: function () {\n\t\t * \t return (\n\t\t * \t \n\t\t * \t
I have a zIndex
\n\t\t * \t
\n\t\t * \t );\n\t\t * \t }\n\t\t * \t});\n\t\t * ```\n\t\t */\n\t\tzIndex: React.PropTypes.number,\n\n\t\t/**\n\t\t * Called when dragging starts.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStart: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called while dragging.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonDrag: React.PropTypes.func,\n\n\t\t/**\n\t\t * Called when dragging stops.\n\t\t *\n\t\t * Example:\n\t\t *\n\t\t * ```js\n\t\t *\tfunction (event, ui) {}\n\t\t * ```\n\t\t *\n\t\t * `event` is the Event that was triggered.\n\t\t * `ui` is an object:\n\t\t *\n\t\t * ```js\n\t\t *\t{\n\t\t *\t\tposition: {top: 0, left: 0}\n\t\t *\t}\n\t\t * ```\n\t\t */\n\t\tonStop: React.PropTypes.func,\n\n\t\t/**\n\t\t * A workaround option which can be passed if onMouseDown needs to be accessed, since it'll always be blocked (due to that there's internal use of onMouseDown)\n\t\t *\n\t\t */\n\t\tonMouseDown: React.PropTypes.func\n\t},\n\n\tcomponentWillUnmount: function() {\n\t\t// Remove any leftover event handlers\n\t\tremoveEvent(window, dragEventFor['move'], this.handleDrag);\n\t\tremoveEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\tgetDefaultProps: function () {\n\t\treturn {\n\t\t\taxis: 'both',\n\t\t\thandle: null,\n\t\t\tcancel: null,\n\t\t\tgrid: null,\n\t\t\tstart: {\n\t\t\t\tx: 0,\n\t\t\t\ty: 0\n\t\t\t},\n\t\t\tzIndex: NaN,\n\t\t\tonStart: emptyFunction,\n\t\t\tonDrag: emptyFunction,\n\t\t\tonStop: emptyFunction,\n\t\t\tonMouseDown: emptyFunction\n\t\t};\n\t},\n\n\tgetInitialState: function () {\n\t\treturn {\n\t\t\t// Whether or not currently dragging\n\t\t\tdragging: false,\n\n\t\t\t// Start top/left of this.getDOMNode()\n\t\t\tstartX: 0, startY: 0,\n\n\t\t\t// Offset between start top/left and mouse top/left\n\t\t\toffsetX: 0, offsetY: 0,\n\n\t\t\t// Current top/left of this.getDOMNode()\n\t\t\tclientX: this.props.start.x, clientY: this.props.start.y\n\t\t};\n\t},\n\n\thandleDragStart: function (e) {\n // todo: write right implementation to prevent multitouch drag\n // prevent multi-touch events\n // if (isMultiTouch(e)) {\n // this.handleDragEnd.apply(e, arguments);\n // return\n // }\n\n\t\t// Make it possible to attach event handlers on top of this one\n\t\tthis.props.onMouseDown(e);\n\n\t\tvar node = this.getDOMNode();\n\n\t\t// Short circuit if handle or cancel prop was provided and selector doesn't match\n\t\tif ((this.props.handle && !matchesSelector(e.target, this.props.handle)) ||\n\t\t\t(this.props.cancel && matchesSelector(e.target, this.props.cancel))) {\n\t\t\treturn;\n\t\t}\n\n var dragPoint = getControlPosition(e);\n\n\t\t// Initiate dragging\n\t\tthis.setState({\n\t\t\tdragging: true,\n\t\t\toffsetX: parseInt(dragPoint.clientX, 10),\n\t\t\toffsetY: parseInt(dragPoint.clientY, 10),\n\t\t\tstartX: parseInt(node.style.left, 10) || 0,\n\t\t\tstartY: parseInt(node.style.top, 10) || 0\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStart(e, createUIEvent(this));\n\n\t\t// Add event handlers\n\t\taddEvent(window, dragEventFor['move'], this.handleDrag);\n\t\taddEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDragEnd: function (e) {\n\t\t// Short circuit if not currently dragging\n\t\tif (!this.state.dragging) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Turn off dragging\n\t\tthis.setState({\n\t\t\tdragging: false\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onStop(e, createUIEvent(this));\n\n\t\t// Remove event handlers\n removeEvent(window, dragEventFor['move'], this.handleDrag);\n removeEvent(window, dragEventFor['end'], this.handleDragEnd);\n\t},\n\n\thandleDrag: function (e) {\n var dragPoint = getControlPosition(e);\n\n\t\t// Calculate top and left\n var clientX = (this.state.startX + (dragPoint.clientX - this.state.offsetX));\n var clientY = (this.state.startY + (dragPoint.clientY - this.state.offsetY));\n\n\t\t// Snap to grid if prop has been provided\n\t\tif (Array.isArray(this.props.grid)) {\n\t\t\tvar directionX = clientX < parseInt(this.state.clientX, 10) ? -1 : 1;\n\t\t\tvar directionY = clientY < parseInt(this.state.clientY, 10) ? -1 : 1;\n\n\t\t\tclientX = Math.abs(clientX - parseInt(this.state.clientX, 10)) >= this.props.grid[0]\n\t\t\t\t\t? (parseInt(this.state.clientX, 10) + (this.props.grid[0] * directionX))\n\t\t\t\t\t: this.state.clientX;\n\n\t\t\tclientY = Math.abs(clientY - parseInt(this.state.clientY, 10)) >= this.props.grid[1]\n\t\t\t\t\t? (parseInt(this.state.clientY, 10) + (this.props.grid[1] * directionY))\n\t\t\t\t\t: this.state.clientY;\n\t\t}\n\n\t\t// Update top and left\n\t\tthis.setState({\n\t\t\tclientX: clientX,\n\t\t\tclientY: clientY\n\t\t});\n\n\t\t// Call event handler\n\t\tthis.props.onDrag(e, createUIEvent(this));\n\t},\n\n\trender: function () {\n\t\tvar style = {\n\t\t\t// Set top if vertical drag is enabled\n\t\t\ttop: canDragY(this)\n\t\t\t\t? this.state.clientY\n\t\t\t\t: this.state.startY,\n\n\t\t\t// Set left if horizontal drag is enabled\n\t\t\tleft: canDragX(this)\n\t\t\t\t? this.state.clientX\n\t\t\t\t: this.state.startX\n\t\t};\n\n\t\t// Set zIndex if currently dragging and prop has been provided\n\t\tif (this.state.dragging && !isNaN(this.props.zIndex)) {\n\t\t\tstyle.zIndex = this.props.zIndex;\n\t\t}\n\n\t\tvar className = 'react-draggable';\n\t\tif (this.state.dragging) {\n\t\t\tclassName += ' react-draggable-dragging';\n\t\t}\n\n\t\t// Reuse the child provided\n\t\t// This makes it flexible to use whatever element is wanted (div, ul, etc)\n\t\treturn React.addons.cloneWithProps(React.Children.only(this.props.children), {\n\t\t\tstyle: style,\n\t\t\tclassName: className,\n\n\t\t\tonMouseDown: this.handleDragStart,\n\t\t\tonTouchStart: function(ev){\n ev.preventDefault(); // prevent for scroll\n return this.handleDragStart.apply(this, arguments);\n }.bind(this),\n\n\t\t\tonMouseUp: this.handleDragEnd,\n\t\t\tonTouchEnd: this.handleDragEnd\n\t\t});\n\t}\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./lib/draggable.js\n **/","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/"],"sourceRoot":"","file":"./dist/react-draggable.js"} \ No newline at end of file diff --git a/dist/react-draggable.min.js b/dist/react-draggable.min.js index dd6b7580..d060aa51 100644 --- a/dist/react-draggable.min.js +++ b/dist/react-draggable.min.js @@ -1,2 +1,2 @@ -!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("React")):"function"==typeof define&&define.amd?define(["React"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("React")):root.ReactDraggable=factory(root.React)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";function createUIEvent(draggable){return{position:{top:draggable.state.clientY,left:draggable.state.clientX}}}function canDragY(draggable){return"both"===draggable.props.axis||"y"===draggable.props.axis}function canDragX(draggable){return"both"===draggable.props.axis||"x"===draggable.props.axis}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function findInArray(array,callback){for(var i=0,element=(array.length,null);element=array[i];i++)if(callback.apply(callback,[element,i,array]))return element}function matchesSelector(el,selector){var method=findInArray(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(method){return isFunction(el[method])});return el[method].call(el,selector)}function getControlPosition(e){var position=e.touches&&e.touches[0]||e;return{clientX:position.clientX,clientY:position.clientY}}function addEvent(el,event,handler){el&&(el.attachEvent?el.attachEvent("on"+event,handler):el.addEventListener?el.addEventListener(event,handler,!0):el["on"+event]=handler)}function removeEvent(el,event,handler){el&&(el.detachEvent?el.detachEvent("on"+event,handler):el.removeEventListener?el.removeEventListener(event,handler,!0):el["on"+event]=null)}{var React=__webpack_require__(2),emptyFunction=__webpack_require__(3);React.addons.classSet}if("undefined"==typeof window)var isTouchDevice=!1;else var isTouchDevice="ontouchstart"in window||"onmsgesturechange"in window;var dragEventFor=function(){var eventsFor={touch:{start:"touchstart",move:"touchmove",end:"touchend"},mouse:{start:"mousedown",move:"mousemove",end:"mouseup"}};return eventsFor[isTouchDevice?"touch":"mouse"]}();module.exports=React.createClass({displayName:"Draggable",propTypes:{axis:React.PropTypes.oneOf(["both","x","y"]),handle:React.PropTypes.string,cancel:React.PropTypes.string,grid:React.PropTypes.arrayOf(React.PropTypes.number),start:React.PropTypes.object,zIndex:React.PropTypes.number,onStart:React.PropTypes.func,onDrag:React.PropTypes.func,onStop:React.PropTypes.func,onMouseDown:React.PropTypes.func},componentWillUnmount:function(){removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd)},getDefaultProps:function(){return{axis:"both",handle:null,cancel:null,grid:null,start:{x:0,y:0},zIndex:0/0,onStart:emptyFunction,onDrag:emptyFunction,onStop:emptyFunction,onMouseDown:emptyFunction}},getInitialState:function(){return{dragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,clientX:this.props.start.x,clientY:this.props.start.y}},handleDragStart:function(e){this.props.onMouseDown(e);var node=this.getDOMNode();if(!(this.props.handle&&!matchesSelector(e.target,this.props.handle)||this.props.cancel&&matchesSelector(e.target,this.props.cancel))){var dragPoint=getControlPosition(e);this.setState({dragging:!0,offsetX:parseInt(dragPoint.clientX,10),offsetY:parseInt(dragPoint.clientY,10),startX:parseInt(node.style.left,10)||0,startY:parseInt(node.style.top,10)||0}),this.props.onStart(e,createUIEvent(this)),addEvent(window,dragEventFor.move,this.handleDrag),addEvent(window,dragEventFor.end,this.handleDragEnd)}},handleDragEnd:function(e){this.state.dragging&&(this.setState({dragging:!1}),this.props.onStop(e,createUIEvent(this)),removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd))},handleDrag:function(e){var dragPoint=getControlPosition(e),clientX=this.state.startX+(dragPoint.clientX-this.state.offsetX),clientY=this.state.startY+(dragPoint.clientY-this.state.offsetY);if(Array.isArray(this.props.grid)){var directionX=clientX=this.props.grid[0]?parseInt(this.state.clientX,10)+this.props.grid[0]*directionX:this.state.clientX,clientY=Math.abs(clientY-parseInt(this.state.clientY,10))>=this.props.grid[1]?parseInt(this.state.clientY,10)+this.props.grid[1]*directionY:this.state.clientY}this.setState({clientX:clientX,clientY:clientY}),this.props.onDrag(e,createUIEvent(this))},render:function(){var style={top:canDragY(this)?this.state.clientY:this.state.startY,left:canDragX(this)?this.state.clientX:this.state.startX};this.state.dragging&&!isNaN(this.props.zIndex)&&(style.zIndex=this.props.zIndex);var className="react-draggable";return this.state.dragging&&(className+=" react-draggable-dragging"),React.addons.cloneWithProps(React.Children.only(this.props.children),{style:style,className:className,onMouseDown:this.handleDragStart,onTouchStart:function(ev){return ev.preventDefault(),this.handleDragStart.apply(this,arguments)}.bind(this),onMouseUp:this.handleDragEnd,onTouchEnd:this.handleDragEnd})}})},function(module){module.exports=__WEBPACK_EXTERNAL_MODULE_2__},function(module){function makeEmptyFunction(arg){return function(){return arg}}function emptyFunction(){}emptyFunction.thatReturns=makeEmptyFunction,emptyFunction.thatReturnsFalse=makeEmptyFunction(!1),emptyFunction.thatReturnsTrue=makeEmptyFunction(!0),emptyFunction.thatReturnsNull=makeEmptyFunction(null),emptyFunction.thatReturnsThis=function(){return this},emptyFunction.thatReturnsArgument=function(arg){return arg},module.exports=emptyFunction}])}); +!function(root,factory){"object"==typeof exports&&"object"==typeof module?module.exports=factory(require("React")):"function"==typeof define&&define.amd?define(["React"],factory):"object"==typeof exports?exports.ReactDraggable=factory(require("React")):root.ReactDraggable=factory(root.React)}(this,function(__WEBPACK_EXTERNAL_MODULE_2__){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){module.exports=__webpack_require__(1)},function(module,exports,__webpack_require__){"use strict";function createUIEvent(draggable){return{position:{top:draggable.state.clientY,left:draggable.state.clientX}}}function canDragY(draggable){return"both"===draggable.props.axis||"y"===draggable.props.axis}function canDragX(draggable){return"both"===draggable.props.axis||"x"===draggable.props.axis}function isFunction(func){return"function"==typeof func||"[object Function]"===Object.prototype.toString.call(func)}function findInArray(array,callback){for(var i=0,element=(array.length,null);element=array[i];i++)if(callback.apply(callback,[element,i,array]))return element}function matchesSelector(el,selector){var method=findInArray(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(method){return isFunction(el[method])});return el[method].call(el,selector)}function getControlPosition(e){var position=e.touches&&e.touches[0]||e;return{clientX:position.clientX,clientY:position.clientY}}function addEvent(el,event,handler){el&&(el.attachEvent?el.attachEvent("on"+event,handler):el.addEventListener?el.addEventListener(event,handler,!0):el["on"+event]=handler)}function removeEvent(el,event,handler){el&&(el.detachEvent?el.detachEvent("on"+event,handler):el.removeEventListener?el.removeEventListener(event,handler,!0):el["on"+event]=null)}var React=__webpack_require__(2),emptyFunction=function(){};if("undefined"==typeof window)var isTouchDevice=!1;else var isTouchDevice="ontouchstart"in window||"onmsgesturechange"in window;var dragEventFor=function(){var eventsFor={touch:{start:"touchstart",move:"touchmove",end:"touchend"},mouse:{start:"mousedown",move:"mousemove",end:"mouseup"}};return eventsFor[isTouchDevice?"touch":"mouse"]}();module.exports=React.createClass({displayName:"Draggable",propTypes:{axis:React.PropTypes.oneOf(["both","x","y"]),handle:React.PropTypes.string,cancel:React.PropTypes.string,grid:React.PropTypes.arrayOf(React.PropTypes.number),start:React.PropTypes.object,zIndex:React.PropTypes.number,onStart:React.PropTypes.func,onDrag:React.PropTypes.func,onStop:React.PropTypes.func,onMouseDown:React.PropTypes.func},componentWillUnmount:function(){removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd)},getDefaultProps:function(){return{axis:"both",handle:null,cancel:null,grid:null,start:{x:0,y:0},zIndex:0/0,onStart:emptyFunction,onDrag:emptyFunction,onStop:emptyFunction,onMouseDown:emptyFunction}},getInitialState:function(){return{dragging:!1,startX:0,startY:0,offsetX:0,offsetY:0,clientX:this.props.start.x,clientY:this.props.start.y}},handleDragStart:function(e){this.props.onMouseDown(e);var node=this.getDOMNode();if(!(this.props.handle&&!matchesSelector(e.target,this.props.handle)||this.props.cancel&&matchesSelector(e.target,this.props.cancel))){var dragPoint=getControlPosition(e);this.setState({dragging:!0,offsetX:parseInt(dragPoint.clientX,10),offsetY:parseInt(dragPoint.clientY,10),startX:parseInt(node.style.left,10)||0,startY:parseInt(node.style.top,10)||0}),this.props.onStart(e,createUIEvent(this)),addEvent(window,dragEventFor.move,this.handleDrag),addEvent(window,dragEventFor.end,this.handleDragEnd)}},handleDragEnd:function(e){this.state.dragging&&(this.setState({dragging:!1}),this.props.onStop(e,createUIEvent(this)),removeEvent(window,dragEventFor.move,this.handleDrag),removeEvent(window,dragEventFor.end,this.handleDragEnd))},handleDrag:function(e){var dragPoint=getControlPosition(e),clientX=this.state.startX+(dragPoint.clientX-this.state.offsetX),clientY=this.state.startY+(dragPoint.clientY-this.state.offsetY);if(Array.isArray(this.props.grid)){var directionX=clientX=this.props.grid[0]?parseInt(this.state.clientX,10)+this.props.grid[0]*directionX:this.state.clientX,clientY=Math.abs(clientY-parseInt(this.state.clientY,10))>=this.props.grid[1]?parseInt(this.state.clientY,10)+this.props.grid[1]*directionY:this.state.clientY}this.setState({clientX:clientX,clientY:clientY}),this.props.onDrag(e,createUIEvent(this))},render:function(){var style={top:canDragY(this)?this.state.clientY:this.state.startY,left:canDragX(this)?this.state.clientX:this.state.startX};this.state.dragging&&!isNaN(this.props.zIndex)&&(style.zIndex=this.props.zIndex);var className="react-draggable";return this.state.dragging&&(className+=" react-draggable-dragging"),React.addons.cloneWithProps(React.Children.only(this.props.children),{style:style,className:className,onMouseDown:this.handleDragStart,onTouchStart:function(ev){return ev.preventDefault(),this.handleDragStart.apply(this,arguments)}.bind(this),onMouseUp:this.handleDragEnd,onTouchEnd:this.handleDragEnd})}})},function(module){module.exports=__WEBPACK_EXTERNAL_MODULE_2__}])}); //# sourceMappingURL=react-draggable.min.map \ No newline at end of file diff --git a/dist/react-draggable.min.map b/dist/react-draggable.min.map index 8099407d..8782d7b4 100644 --- a/dist/react-draggable.min.map +++ b/dist/react-draggable.min.map @@ -1 +1 @@ -{"version":3,"file":"dist/react-draggable.min.js","sources":["dist/react-draggable.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createUIEvent","draggable","position","top","state","clientY","left","clientX","canDragY","props","axis","canDragX","isFunction","func","Object","prototype","toString","findInArray","array","callback","i","element","length","apply","matchesSelector","el","selector","method","getControlPosition","e","touches","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","React","emptyFunction","addons","classSet","window","isTouchDevice","dragEventFor","eventsFor","touch","start","move","end","mouse","createClass","displayName","propTypes","PropTypes","oneOf","handle","string","cancel","grid","arrayOf","number","object","zIndex","onStart","onDrag","onStop","onMouseDown","componentWillUnmount","handleDrag","handleDragEnd","getDefaultProps","x","y","NaN","getInitialState","dragging","startX","startY","offsetX","offsetY","handleDragStart","node","getDOMNode","target","dragPoint","setState","parseInt","style","Array","isArray","directionX","directionY","Math","abs","render","isNaN","className","cloneWithProps","Children","only","children","onTouchStart","ev","preventDefault","arguments","bind","onMouseUp","onTouchEnd","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument"],"mappings":"CAAA,SAA2CA,KAAMC,SAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,QAAQG,QAAQ,UACR,kBAAXC,SAAyBA,OAAOC,IAC9CD,QAAQ,SAAUJ,SACQ,gBAAZC,SACdA,QAAwB,eAAID,QAAQG,QAAQ,UAE5CJ,KAAqB,eAAIC,QAAQD,KAAY,QAC5CO,KAAM,SAASC,+BAClB,MAAgB,UAAUC,SAKhB,QAASC,qBAAoBC,UAG5B,GAAGC,iBAAiBD,UACnB,MAAOC,kBAAiBD,UAAUT,OAGnC,IAAIC,QAASS,iBAAiBD,WAC7BT,WACAW,GAAIF,SACJG,QAAQ,EAUT,OANAL,SAAQE,UAAUI,KAAKZ,OAAOD,QAASC,OAAQA,OAAOD,QAASQ,qBAG/DP,OAAOW,QAAS,EAGTX,OAAOD,QAvBf,GAAIU,oBAqCJ,OATAF,qBAAoBM,EAAIP,QAGxBC,oBAAoBO,EAAIL,iBAGxBF,oBAAoBQ,EAAI,GAGjBR,oBAAoB,KAK/B,SAASP,OAAQD,QAASQ,qBAE/BP,OAAOD,QAAUQ,oBAAoB,IAKhC,SAASP,OAAQD,QAASQ,qBAE/B,YAOA,SAASS,eAAcC,WACtB,OACCC,UACCC,IAAKF,UAAUG,MAAMC,QACrBC,KAAML,UAAUG,MAAMG,UAKzB,QAASC,UAASP,WACjB,MAAgC,SAAzBA,UAAUQ,MAAMC,MACI,MAAzBT,UAAUQ,MAAMC,KAGnB,QAASC,UAASV,WACjB,MAAgC,SAAzBA,UAAUQ,MAAMC,MACI,MAAzBT,UAAUQ,MAAMC,KAGnB,QAASE,YAAWC,MAClB,MAAuB,kBAATA,OAAgE,sBAAzCC,OAAOC,UAAUC,SAASpB,KAAKiB,MAItE,QAASI,aAAYC,MAAOC,UAC1B,IAAK,GAAIC,GAAI,EAA0BC,SAAdH,MAAMI,OAAkB,MAAkBD,QAAUH,MAAME,GAAIA,IACrF,GAAID,SAASI,MAAMJ,UAAWE,QAASD,EAAGF,QAAS,MAAOG,SAI9D,QAASG,iBAAgBC,GAAIC,UAC3B,GAAIC,QAASV,aACX,UACA,wBACA,qBACA,oBACA,oBACC,SAASU,QACV,MAAOf,YAAWa,GAAGE,UAGvB,OAAOF,IAAGE,QAAQ/B,KAAK6B,GAAIC,UA0C7B,QAASE,oBAAmBC,GAC1B,GAAI3B,UAAY2B,EAAEC,SAAWD,EAAEC,QAAQ,IAAOD,CAC9C,QACEtB,QAASL,SAASK,QAClBF,QAASH,SAASG,SAItB,QAAS0B,UAASN,GAAIO,MAAOC,SACvBR,KACDA,GAAGS,YACNT,GAAGS,YAAY,KAAOF,MAAOC,SACnBR,GAAGU,iBACbV,GAAGU,iBAAiBH,MAAOC,SAAS,GAEpCR,GAAG,KAAOO,OAASC,SAIrB,QAASG,aAAYX,GAAIO,MAAOC,SAC1BR,KACDA,GAAGY,YACNZ,GAAGY,YAAY,KAAOL,MAAOC,SACnBR,GAAGa,oBACbb,GAAGa,oBAAoBN,MAAOC,SAAS,GAEvCR,GAAG,KAAOO,OAAS,MAjHrB,CAAA,GAAIO,OAAQhD,oBAAoB,GAC5BiD,cAAgBjD,oBAAoB,EAC/BgD,OAAME,OAAOC,SAgDtB,GAAsB,mBAAXC,QAEP,GAAIC,gBAAgB,MAGpB,IAAIA,eAAgB,gBAAkBD,SACnC,qBAAuBA,OAY9B,IAAIE,cAAe,WACjB,GAAIC,YACFC,OACEC,MAAO,aACPC,KAAM,YACNC,IAAK,YAEPC,OACEH,MAAO,YACPC,KAAM,YACNC,IAAK,WAGT,OAAOJ,WAAUF,cAAgB,QAAU,WAoC7C5D,QAAOD,QAAUwD,MAAMa,aACtBC,YAAa,YAEbC,WAUC5C,KAAM6B,MAAMgB,UAAUC,OAAO,OAAQ,IAAK,MAsB1CC,OAAQlB,MAAMgB,UAAUG,OAsBxBC,OAAQpB,MAAMgB,UAAUG,OAmBxBE,KAAMrB,MAAMgB,UAAUM,QAAQtB,MAAMgB,UAAUO,QAmB9Cd,MAAOT,MAAMgB,UAAUQ,OAmBvBC,OAAQzB,MAAMgB,UAAUO,OAoBxBG,QAAS1B,MAAMgB,UAAU1C,KAoBzBqD,OAAQ3B,MAAMgB,UAAU1C,KAoBxBsD,OAAQ5B,MAAMgB,UAAU1C,KAMxBuD,YAAa7B,MAAMgB,UAAU1C,MAG9BwD,qBAAsB,WAErBjC,YAAYO,OAAQE,aAAmB,KAAGzD,KAAKkF,YAC/ClC,YAAYO,OAAQE,aAAkB,IAAGzD,KAAKmF,gBAG/CC,gBAAiB,WAChB,OACC9D,KAAM,OACN+C,OAAQ,KACRE,OAAQ,KACRC,KAAM,KACNZ,OACCyB,EAAG,EACHC,EAAG,GAEJV,OAAQW,IACRV,QAASzB,cACT0B,OAAQ1B,cACR2B,OAAQ3B,cACR4B,YAAa5B,gBAIfoC,gBAAiB,WAChB,OAECC,UAAU,EAGVC,OAAQ,EAAGC,OAAQ,EAGnBC,QAAS,EAAGC,QAAS,EAGrB1E,QAASnB,KAAKqB,MAAMuC,MAAMyB,EAAGpE,QAASjB,KAAKqB,MAAMuC,MAAM0B,IAIzDQ,gBAAiB,SAAUrD,GAS1BzC,KAAKqB,MAAM2D,YAAYvC,EAEvB,IAAIsD,MAAO/F,KAAKgG,YAGhB,MAAKhG,KAAKqB,MAAMgD,SAAWjC,gBAAgBK,EAAEwD,OAAQjG,KAAKqB,MAAMgD,SAC9DrE,KAAKqB,MAAMkD,QAAUnC,gBAAgBK,EAAEwD,OAAQjG,KAAKqB,MAAMkD,SAD5D,CAKE,GAAI2B,WAAY1D,mBAAmBC,EAGrCzC,MAAKmG,UACJV,UAAU,EACVG,QAASQ,SAASF,UAAU/E,QAAS,IACrC0E,QAASO,SAASF,UAAUjF,QAAS,IACrCyE,OAAQU,SAASL,KAAKM,MAAMnF,KAAM,KAAO,EACzCyE,OAAQS,SAASL,KAAKM,MAAMtF,IAAK,KAAO,IAIzCf,KAAKqB,MAAMwD,QAAQpC,EAAG7B,cAAcZ,OAGpC2C,SAASY,OAAQE,aAAmB,KAAGzD,KAAKkF,YAC5CvC,SAASY,OAAQE,aAAkB,IAAGzD,KAAKmF,iBAG5CA,cAAe,SAAU1C,GAEnBzC,KAAKgB,MAAMyE,WAKhBzF,KAAKmG,UACJV,UAAU,IAIXzF,KAAKqB,MAAM0D,OAAOtC,EAAG7B,cAAcZ,OAGjCgD,YAAYO,OAAQE,aAAmB,KAAGzD,KAAKkF,YAC/ClC,YAAYO,OAAQE,aAAkB,IAAGzD,KAAKmF,iBAGjDD,WAAY,SAAUzC,GACnB,GAAIyD,WAAY1D,mBAAmBC,GAG/BtB,QAAWnB,KAAKgB,MAAM0E,QAAUQ,UAAU/E,QAAUnB,KAAKgB,MAAM4E,SAC/D3E,QAAWjB,KAAKgB,MAAM2E,QAAUO,UAAUjF,QAAUjB,KAAKgB,MAAM6E,QAGrE,IAAIS,MAAMC,QAAQvG,KAAKqB,MAAMmD,MAAO,CACnC,GAAIgC,YAAarF,QAAUiF,SAASpG,KAAKgB,MAAMG,QAAS,IAAM,GAAK,EAC/DsF,WAAaxF,QAAUmF,SAASpG,KAAKgB,MAAMC,QAAS,IAAM,GAAK,CAEnEE,SAAUuF,KAAKC,IAAIxF,QAAUiF,SAASpG,KAAKgB,MAAMG,QAAS,MAAQnB,KAAKqB,MAAMmD,KAAK,GAC7E4B,SAASpG,KAAKgB,MAAMG,QAAS,IAAOnB,KAAKqB,MAAMmD,KAAK,GAAKgC,WAC1DxG,KAAKgB,MAAMG,QAEfF,QAAUyF,KAAKC,IAAI1F,QAAUmF,SAASpG,KAAKgB,MAAMC,QAAS,MAAQjB,KAAKqB,MAAMmD,KAAK,GAC7E4B,SAASpG,KAAKgB,MAAMC,QAAS,IAAOjB,KAAKqB,MAAMmD,KAAK,GAAKiC,WAC1DzG,KAAKgB,MAAMC,QAIhBjB,KAAKmG,UACJhF,QAASA,QACTF,QAASA,UAIVjB,KAAKqB,MAAMyD,OAAOrC,EAAG7B,cAAcZ,QAGpC4G,OAAQ,WACP,GAAIP,QAEHtF,IAAKK,SAASpB,MACXA,KAAKgB,MAAMC,QACXjB,KAAKgB,MAAM2E,OAGdzE,KAAMK,SAASvB,MACZA,KAAKgB,MAAMG,QACXnB,KAAKgB,MAAM0E,OAIX1F,MAAKgB,MAAMyE,WAAaoB,MAAM7G,KAAKqB,MAAMuD,UAC5CyB,MAAMzB,OAAS5E,KAAKqB,MAAMuD,OAG3B,IAAIkC,WAAY,iBAOhB,OANI9G,MAAKgB,MAAMyE,WACdqB,WAAa,6BAKP3D,MAAME,OAAO0D,eAAe5D,MAAM6D,SAASC,KAAKjH,KAAKqB,MAAM6F,WACjEb,MAAOA,MACPS,UAAWA,UAEX9B,YAAahF,KAAK8F,gBAClBqB,aAAc,SAASC,IAElB,MADAA,IAAGC,iBACIrH,KAAK8F,gBAAgB3D,MAAMnC,KAAMsH,YACxCC,KAAKvH,MAEVwH,UAAWxH,KAAKmF,cAChBsC,WAAYzH,KAAKmF,oBAQf,SAASvF,QAEdA,OAAOD,QAAUM,+BAIZ,SAASL,QAad,QAAS8H,mBAAkBC,KACzB,MAAO,YACL,MAAOA,MASX,QAASvE,kBAETA,cAAcwE,YAAcF,kBAC5BtE,cAAcyE,iBAAmBH,mBAAkB,GACnDtE,cAAc0E,gBAAkBJ,mBAAkB,GAClDtE,cAAc2E,gBAAkBL,kBAAkB,MAClDtE,cAAc4E,gBAAkB,WAAa,MAAOhI,OACpDoD,cAAc6E,oBAAsB,SAASN,KAAO,MAAOA,MAE3D/H,OAAOD,QAAUyD"} \ No newline at end of file +{"version":3,"file":"dist/react-draggable.min.js","sources":["dist/react-draggable.js"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE_2__","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","createUIEvent","draggable","position","top","state","clientY","left","clientX","canDragY","props","axis","canDragX","isFunction","func","Object","prototype","toString","findInArray","array","callback","i","element","length","apply","matchesSelector","el","selector","method","getControlPosition","e","touches","addEvent","event","handler","attachEvent","addEventListener","removeEvent","detachEvent","removeEventListener","React","emptyFunction","window","isTouchDevice","dragEventFor","eventsFor","touch","start","move","end","mouse","createClass","displayName","propTypes","PropTypes","oneOf","handle","string","cancel","grid","arrayOf","number","object","zIndex","onStart","onDrag","onStop","onMouseDown","componentWillUnmount","handleDrag","handleDragEnd","getDefaultProps","x","y","NaN","getInitialState","dragging","startX","startY","offsetX","offsetY","handleDragStart","node","getDOMNode","target","dragPoint","setState","parseInt","style","Array","isArray","directionX","directionY","Math","abs","render","isNaN","className","addons","cloneWithProps","Children","only","children","onTouchStart","ev","preventDefault","arguments","bind","onMouseUp","onTouchEnd"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 06fab6b6..dcf06870 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-draggable", - "version": "0.4.1", + "version": "0.4.2", "description": "React draggable component", "main": "index.js", "scripts": {