{"_id":"@curiousmedia/drag-manager","_rev":"3-d91118abc854c9886a9fb9d8b7ee3316","name":"@curiousmedia/drag-manager","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@curiousmedia/drag-manager","version":"1.0.0","description":"DragManager controls the Drag & Drop and Click & Stick functionality of CreateJS DisplayObjects","main":"dist/drag-manager.js","module":"dist/drag-manager-module.js","directories":{"example":"examples"},"scripts":{"build":"rollup -c"},"keywords":[],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/preset-env":"^7.4.5","rollup-plugin-babel":"^4.3.2"},"dependencies":{"@babel/polyfill":"^7.4.4","rollup":"^1.12.4"},"gitHead":"63c8933c0190f0cb8fa97f63f4e7baad50131916","_id":"@curiousmedia/drag-manager@1.0.0","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Tl3hdECxedIJbfYW6J5JkchUzSeLPnc3LJCzRU1E8+ot/36RLZWLIDGmIxl5x5hbAfbbyPFIGNgiAGHkbE+x/Q==","shasum":"83340729c90f395766fcdb67a932578c09b2e9df","tarball":"https://registry.npmjs.org/@curiousmedia/drag-manager/-/drag-manager-1.0.0.tgz","fileCount":8,"unpackedSize":35190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7ub+CRA9TVsSAnZWagAAW98QAIJ/ktRcRS2Y0SsJ8Qde\n3IA4x5H4DN7kNr41Y5ib3nBrB3BUkn47hKtgoqQ2ucZr25yUC/uAYyxhCXq+\n86ZLPGqcU5KkKo7biv3T0YIFVHldzi+3DXlk/nEHJ4DrOwvARFcljJ6mePWD\nWX2JgtwnrGU1IqXiOSpB/o9a7q4dRmYCG4RGiYw8g5HiQW5I+DEAqA4Mv+VB\npoV7lr53UqlebhnFKTshqucVCgZXLUwDC9wHVnodMFa3MeaVFCSGr6sOUY+O\ncmr6Y9nFDUcMkvso81L/hje8YLEWb+rehyp12jcnU1h8YblvcVh0hnnMHzEv\nBCQ1Xgg6Cc5rqPNSvHr3XAVDwuO9pjG0wacrWV1YHWSg4JOHPHm0nPjqFen/\nyIhZ+YjYmdcupqlRfj1WpVwXRy9W6rnky2hzYB9FicjQ8a9EkGZmToqfT8Vi\nxFm9chP7lmeBMSy3uRf6NIxCA9xYi1enI8J6m0eW7xD5u3NJJkQHt6OCHdny\nnvJWn4hhRoK5YL82URJlXZvh+QMrh4PKTvANQp4//weqNU0ejZJ2NbSFbYPg\nsdCnWX1TcWcpFDfQmPIZLuZ0Ph2n9xUAJdz37Jtcj04Fe6wGs2CRjXn5ZpBn\n6EgbdzAz1LtmSBD5o6W/EStylPPURtBZz90wR9iG8mX8OvPc3g2kHa24xFQU\nWgz6\r\n=CYTC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHSShILu7eCgdSZzcMkYDgHxdKaW4GwL4499G42/p1X4AiAlV78Y7gdSM0PzAC6PkfqTociAV5H6cb9hnBAVnO54sw=="}]},"maintainers":[{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drag-manager_1.0.0_1559160573722_0.28190690574411015"},"_hasShrinkwrap":false},"1.0.1":{"name":"@curiousmedia/drag-manager","version":"1.0.1","description":"DragManager controls the Drag & Drop and Click & Stick functionality of CreateJS DisplayObjects","main":"dist/drag-manager.js","module":"dist/drag-manager-module.js","scripts":{"build":"rollup -c"},"keywords":["createjs","drag","drop","click","stick"],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","rollup":"^1.12.4","rollup-plugin-babel":"^4.3.2","rollup-plugin-node-resolve":"^5.0.0"},"gitHead":"0fc1146864f5dbd5a24e393463d6c31277f816dd","_id":"@curiousmedia/drag-manager@1.0.1","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-aEWxjxQamPMlYzFHi5+UswE46SXEGjIDonLJieKVQh1EEwjZZglp0KPDsnsOVr+/o5vAP0vStnva/78tv5YclQ==","shasum":"85918e5ad81037c6c5667e40c87a332a602817f7","tarball":"https://registry.npmjs.org/@curiousmedia/drag-manager/-/drag-manager-1.0.1.tgz","fileCount":8,"unpackedSize":35228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7udQCRA9TVsSAnZWagAAQpMP/2aLh8ChP4WC730xftqC\nj8LHfDuQFlLxT/55IFgW0NvD2xUyIAG3X9oGYuxjOzEKANigR2zUGbR5Vgb0\nFOXGP/H8hLDbpCh0bAr6MmYKeIdxQcCVPXqCo3YFQLw/hknVRSov9gNswF+K\nPhrmTxml8zJ/ibqy4bGWI4rOLL3xTFHERA/yCtoQLOXX0TrTi93PMbS5R0aP\ncZLILtYau8Xxyb3TdpGMt9NBFgkn+egjcZn7yCrnsGW24axJ6/OnXeztdP+r\ne3+St+uQe1X1w3BBYxXH4TnEI/rtjIVuDcHmd4pXX7/sNsjiyCyOUZ4pjCtA\n9cqUqpdzOALdN4um/0S+H1JVZBvwiy8SiyftxWQhIb09Ed2PadsernKt0Cei\nJbVo9uQLjv4v/M4Mm85qs6bK5hpUCORpxATan0saaGR2rBwXYtQiHIlT1Csl\n6yZNj2Wp7p6EEjOz+RWzJ9+ce/G77StKk5Nv5oQ0PxT7RTxrcyyQRHEwCt7y\nqwMLubk6kVGCb2xVhIKO4Las5K7qwKRAjhF7aPZ1bOPxvdObp6e6EhcOZP1g\nUAuNxrwIrpwqARaBlgLnserQDhrZ6/DHRYaSVAMa2MIYzjdFUpanbmrFvYTR\nt8O1U/JXjdOo8yeQ/C3Vjlt7+WbriM6rk05LFFP9pqE8Cw24/z7RwPa3GK+k\nEklY\r\n=2Ohi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqiuHQliLjaoELnx6A69IXVbY0GnzkQyUd4ur2ArzmtgIgbr4DaSLnkCjdalrYMxVJfNy46kQgKd/wBPafwlb9d1A="}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drag-manager_1.0.1_1559160655781_0.34792715303811783"},"_hasShrinkwrap":false},"1.0.2":{"name":"@curiousmedia/drag-manager","version":"1.0.2","description":"DragManager controls the Drag & Drop and Click & Stick functionality of CreateJS DisplayObjects","main":"dist/drag-manager.js","module":"dist/drag-manager-module.js","scripts":{"build":"rollup -c"},"keywords":["createjs","drag","drop","click","stick"],"author":{"name":"Shane Coates"},"license":"MIT","devDependencies":{"@babel/cli":"^7.4.4","@babel/core":"^7.4.5","@babel/polyfill":"^7.4.4","@babel/preset-env":"^7.4.5","rollup":"^1.12.4","rollup-plugin-babel":"^4.3.2","rollup-plugin-node-resolve":"^5.0.0"},"gitHead":"b199808d012e01dd9a6353d480c32045850b3da4","_id":"@curiousmedia/drag-manager@1.0.2","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-Ukekdzjr0UVrb02BDy+RQJAwIKs79fsxTqxnDyd/TyavgWhBovyBs+Xq2Cj3htBePK/X3KEOQnV7BlGnJ8XVwA==","shasum":"d1c660891d0f668f5e62dc6b49d541e2b76f7620","tarball":"https://registry.npmjs.org/@curiousmedia/drag-manager/-/drag-manager-1.0.2.tgz","fileCount":9,"unpackedSize":40110,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc7xPZCRA9TVsSAnZWagAAxB4P/RoevcUJUMdBhvpUdY1x\n/E1OFu8T5UqTz6uix2wTGc/fRrwDamAGE9wI4KRzn93i9zgE9iOGfnlJKkkf\nJgjE1hXXMNvc1dRdFgmwMeSbQwNbff0HNF7xcjZJXfUivkfbodKu9EaKSgdU\n02DSLQuH6ur5vmfla7n45+3eWNSmlTjJnK5TRyHoLTVcSrelr+X6Y9S8UCEG\n8n36uj5cWqs3qSYhmg4j3fiv3YIp7yZMhtuE1VQZuwDyIiXfDFM2bKQG4gPe\noYfZZ0qTsQ2P4CEYOFCqSPxhp9JWqJ2IslgWkHHXLgDMOG92DOkrSEtmAdJ6\nN72X+oFRDDMifBQE9B5HTgWhfs3FyuoS7rnTpzf1xV1ErXpU5MhYThFIqk99\njlz6/ojJ76UKlAr9X5AI/VZddO3t3QTtvzUAg6V+Wf5STQYuN+67/v1AKL9Q\n7NemXa3RsLPkmZHgK4As6e1yyNa1JaJ71RsiEamg9fVJCFbgSLuUI32EyFGI\nf1Ndd0bbH2cnNeBqzqR4iOZ4FwmR+sRQzxmjSkXIEPitynFYJZxx/BzGgLS6\nSvvqxblOknbcNOgwabyIwVM0TRIqdJcUFQAPgNNiKkkN6U61ahQznImSyakr\ndEuJMwf1kKq4muzFbZEQOp4+fwjGvOnGjE7YufoxFFMO1Xchy3Ngh7+c4l4T\nSNVJ\r\n=QdN3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4ITJCfRt00i8Dzfa6FsVIVxzUuFc0iQETSkAv+frZjwIgCEOsKOC0dQi/YSF65NvJk0KMmhbXYvkurNxUSWGAgqA="}]},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"_npmUser":{"name":"ishoa","email":"shane@curiousmedia.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drag-manager_1.0.2_1559172056514_0.024766471449158223"},"_hasShrinkwrap":false}},"time":{"created":"2019-05-29T20:09:33.523Z","1.0.0":"2019-05-29T20:09:33.949Z","modified":"2022-04-05T02:19:13.730Z","1.0.1":"2019-05-29T20:10:55.897Z","1.0.2":"2019-05-29T23:20:56.690Z"},"maintainers":[{"name":"cm-gregory","email":"gregory@curiousmedia.com"},{"name":"curiousjason","email":"support@curiousmedia.com"},{"name":"eaglstun","email":"postpostmodern@gmail.com"},{"name":"ishoa","email":"shane@curiousmedia.com"},{"name":"kyfoote","email":"kyfoote@gmail.com"}],"description":"DragManager controls the Drag & Drop and Click & Stick functionality of CreateJS DisplayObjects","keywords":["createjs","drag","drop","click","stick"],"author":{"name":"Shane Coates"},"license":"MIT","readme":"<a name=\"DragManager\"></a>\n\n## DragManager\n\nA controller for handling \"Click & Stick\" or \"Drag & Drop\" functionality for PBS games\n\nCallback functions when start drag and end drag of a DisplayObject happen\n\n* [DragManager](#DragManager)\n    * [Usage](#usage)\n    * [new DragManager(stage, startCallback, endCallback)](#new_DragManager_new)\n    * [.setActive(active)](#setActive)\n    * [.addEventsToObject(display)](#addEventsToObject)\n    * [.removeEventsFromObject(display)](#removeEventsFromObject)\n    * [.startDrag(display)](#startDrag)\n    * [.stopDrag()](#stopDrag)\n    * [.handleMouseDown(event)](#handleMouseDown)\n    * [.handleStageMouseMove(event)](#handleStageMouseMove)\n    * [.handleStageMouseUp(event)](#handleStageMouseUp)\n    * [.distanceTo(a, b)](#distanceTo) ⇒ <code>Number</code>\n    * [.add(...displayObject)](#add)\n    * [.remove(...displayObjects)](#remove)\n    * [.clear()](#clear)\n\n<a name=\"usage\"></a>\n\nAlso see examples folder:\n\n```\nimport DragManager from '@curiousmedia/drag-manager';\n\n// CreateJS Stage\nconst stage = new createjs.Stage(document.querySelector('canvas'));\n\n// Stage update\ncreatejs.Ticker.framerate = 60;\ncreatejs.Ticker.addEventListener(\"tick\", stage);\n\n// Start callback function when we start the drag\nfunction startDrag(event) {\n    // Get the selected DisplayObject\n    let target = event.selected;\n    // OR\n    let dragObject = dragManager.selected;\n\n    // Do things with the selected DisplayObject\n}\n\n// End callback function when we end the drag\nfunction endDrag(event) {\n    // Get the selected DisplayObject\n    let target = event.selected;\n    // OR\n    let dragObject = dragManager.selected;\n\n    // Do things with the selected DisplayObject\n}\n\n// DragManager instance\nconst dragManager = new DragManager(stage, startDrag, endDrag);\n\n// Create Display Object\nlet circle = new createjs.Shape();\ncircle.graphics.beginFill(\"DeepSkyBlue\").drawCircle(0, 0, 50);\ncircle.x = 250;\ncircle.y = 250;\nstage.addChild(circle);\n\n// Add DisplayObjects to be controlled by the DragManager\ndragManager.add(\n    circle\n);\n\n// Turn on the events for the stage and DragManager's children\n    dragManager.setActive(true);\n```\n\n<a name=\"new_DragManager_new\"></a>\n\n### new DragManager(stage, startCallback, endCallback)\n\nConstructor\n\n| Param | Type | Description |\n| --- | --- | --- |\n| stage | <code>Createjs.Stage</code> | Our CreateJS Stage for events |\n| startCallback | <code>function</code> | Callback function to trigger on the initial mousedown of a drag object |\n| endCallback | <code>function</code> | Callback function to trigger when a drag or click/stick has finished |\n\n<a name=\"setActive\"></a>\n\n### dragManager.setActive(active)\n\nSet the events of this DragManager active or not\n\n| Param | Type | Description |\n| --- | --- | --- |\n| active | <code>Bool</code> | True enables events / False disables events |\n\n<a name=\"addEventsToObject\"></a>\n\n### dragManager.addEventsToObject(display)\n\nAdd the DragManager events to the DisplayObject\n\n| Param | Type | Description |\n| --- | --- | --- |\n| display | <code>createjs.DisplayObject</code> | DisplayObject to add events to |\n\n<a name=\"removeEventsFromObject\"></a>\n\n### dragManager.removeEventsFromObject(display)\n\nRemove the DragManager events from the DisplayObject\n\n| Param | Type | Description |\n| --- | --- | --- |\n| display | <code>createjs.DisplayObject</code> | DisplayObject to remove events from |\n\n<a name=\"startDrag\"></a>\n\n### dragManager.startDrag(display)\n\nManually start dragging an object\n\n| Param | Type | Description |\n| --- | --- | --- |\n| display | <code>createjs.DisplayObject</code> | The DisplayObject to start dragging |\n\n<a name=\"stopDrag\"></a>\n\n### dragManager.stopDrag()\n\nManually stop dragging our current object\n\n<a name=\"handleMouseDown\"></a>\n\n### dragManager.handleMouseDown(event)\n\nHandle the mousedown event on the drag objects\n\n| Param | Type | Description |\n| --- | --- | --- |\n| event | <code>Event</code> | 'mousedown' event |\n\n<a name=\"handleStageMouseMove\"></a>\n\n### dragManager.handleStageMouseMove(event)\n\nHandle the stagemousemove Event\n\n| Param | Type | Description |\n| --- | --- | --- |\n| event | <code>Event</code> | 'stagemousemove' event |\n\n<a name=\"handleStageMouseUp\"></a>\n\n### dragManager.handleStageMouseUp(event)\n\nHandle the stagemouseup event\nDetermine if we have dragged or if we need to set click and stick\n\n| Param | Type | Description |\n| --- | --- | --- |\n| event | <code>Event</code> | 'stagemouseup' event |\n\n<a name=\"distanceTo\"></a>\n\n### dragManager.distanceTo(a, b) ⇒ <code>Number</code>\n\nGet the distance between two points/vectors/objects with an \"x\" and \"y\" property\n\n**Returns**: <code>Number</code> - - The distance between the Vectors  \n\n| Param | Type | Description |\n| --- | --- | --- |\n| a | <code>Point/Object</code> | {x: 0, y: 0} |\n| b | <code>Point/Object</code> | {x: 0, y: 0} |\n\n<a name=\"add\"></a>\n\n### dragManager.add(...displayObject)\n\nAdd an object to be managed by this DragManager\n\n| Param | Type | Description |\n| --- | --- | --- |\n| ...displayObject | <code>createjs.DisplayObject</code> | one ore more createjs.DisplayObject |\n\n<a name=\"remove\"></a>\n\n### dragManager.remove(...displayObjects)\n\nRemove an object from this DragManager\n\n| Param | Type | Description |\n| --- | --- | --- |\n| ...displayObjects | <code>createjs.DisplayObject</code> | one ore more createjs.DisplayObject |\n\n<a name=\"clear\"></a>\n\n### dragManager.clear()\n\nClear out all our drag objects and events from this DragManager","readmeFilename":"Readme.md"}