{"_id":"@adwatch/drag","_rev":"2-4d8837cbbe6df70eee5a0cd1471a7aa0","name":"@adwatch/drag","description":"Dragndrop module and implementation of keys navigation","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@adwatch/drag","version":"1.0.0","description":"Dragndrop module and implementation of keys navigation","main":"./src/index.js","scripts":{"compile":"babel src -d build -s","prepublish":"npm run compile"},"author":{"name":"Adwatch"},"license":"ISC","dependencies":{"jquery":"^3.2.1"},"devDependencies":{"babel-cli":"^6.18.0","babel-preset-es2015":"^6.18.0","babel-runtime":"^6.20.0"},"repository":{"type":"git","url":"git+ssh://git@bitbucket.org/prodhub/drag-module.git"},"homepage":"https://bitbucket.org/prodhub/drag-module#readme","gitHead":"f1241d794c5be01cf93425ae4ff120b682590de9","_id":"@adwatch/drag@1.0.0","_shasum":"8012ea88b3418d3d27f9ca462b412da24817b67d","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.0","_npmUser":{"name":"adwatch","email":"vyacheslav.anosov@isobar.ru"},"dist":{"shasum":"8012ea88b3418d3d27f9ca462b412da24817b67d","tarball":"https://registry.npmjs.org/@adwatch/drag/-/drag-1.0.0.tgz","integrity":"sha512-x1BVay1imeNfg4Kd04afeUVOqjHyqwFTtQWlqGMLv44S/ahR+EOv5moRSYS4WKyA6+QfghV59pZK/PBWXkyZRA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtcxqRzJJltUQp4BQNaguyLzqb9r4+4dbgKrEpaOjB9gIhANcZW2f09+CZevcWhJwfgtN2yKHjuQLJsDZDzPS8NZCp"}]},"maintainers":[{"name":"adwatch","email":"vyacheslav.anosov@isobar.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/drag-1.0.0.tgz_1498747867946_0.6211877423338592"}}},"readme":"#Drag\n\nDragndrop module and implementation of keys navigation\n\n[Example](http://example.stetsd.production.adwatch.ru/drag/)\n\n## Install\n\n```sh\n$ npm install --save @adwatch/drag\n```\n\n\n## Usage\n\n```js\nimport Drag from '@adwatch/drag';\n// or\nvar Drag = require('@adwatch/drag/build');\n```\n\n\n## API\n\n\n####init()\n\nInitialize Drag\n\n```js\ndrag.init();\n```\n\n\n####set(options)\n\nSet options to specimen of Drag. This method reload controller automatically. It means Drag-module will refreshed all properties.\n\n```js\ndrag.set({\n    $elem: '.box',\n    $borderElem: '.wrap',\n    dragEndTimeout: 100\n});\n```\n\n\n####bind(selectors)\n\nMethod binds DOM nodes with Drag mechanics\n\n**selectors**\n\nType `string`\n\n```js\ndrag.bind('.box, .boxa');\n```\n\n\n####unbind(selectors)\n\nMethod unbind DOM nodes\n\n**selectors**\n\nType `string`\n\n```js\ndrag.unbind('.box, .boxa');\n```\n\n\n\n## OPTIONS\n\n####$elem\n\nInitial selector which will be bound with Drag mechanics\n\nType `string`\n\n```js\nlet drag = new Draggable({\n        $elem: '.box, .boxa'\n    }).init();\n```\n\n####$borderElem\n\nSet borders where will be draggable actions\n\nType `string`\nDefault `false`\n\n```js\ndrag.set({$borderElem: '.border'});\n```\n\n####dragEndTimeout\n\nSet timer for dragEnd condition\n\nType `number`\n\n```js\ndrag.set({dragEndTimeout: 2000});\n```\n\n####clsDragElem\n\nSet main class for Draggable DOM nodes\n\nType `string`\nDefault `adw-drag`\n\n```js\ndrag.set({clsDragElem: 'myClass'});\n```\n\n####clsDragStart\n\nSet class for drag-start event\n\nType `string`\nDefault `adw-drag_start`\n\n```js\ndrag.set({clsDragStart: 'myClass'});\n```\n\n####clsDragMove\n\nSet class for drag-move event\n\nType `string`\nDefault `adw-drag_move`\n\n```js\ndrag.set({clsDragMove: 'myClass'});\n```\n\n####clsDragEnd\n\nSet class for drag-end event\n\nType `string`\nDefault `adw-drag_end`\n\n```js\ndrag.set({clsDragEnd: 'myClass'});\n```\n\n####clsDragDest\n\nSet class for drag-on-destination event\n\nType `string`\nDefault `adw-drag_on-dest`\n\n```js\ndrag.set({clsDragDest: 'myClass'});\n```\n\n####destination.target\n\nSet destination target\n\nType `string`\nDefault `false`\n\n```js\ndrag.set({\n    destination: {\n        target: '.destination'\n    }\n});\n```\n\n####destination.strict\n\nSet strict mode for destination\n\nType `boolean`\nDefault `false`\n\n```js\ndrag.set({\n    destination: {\n        strict: true\n    }\n});\n```\n\n####backAgain\n\nWhen dragEnd event occurs current draggable node will reset on initial position\n\nType `boolean`\nDefault `false`\n\n```js\ndrag.set({backAgain: true});\n```\n\n####clone\n\nSet clone node option\n\nType `boolean`\nDefault `false`\n\n```js\ndrag.set({clone: true});\n```\n\n####cloneKey\n\nSet key or key combination for cloning DOM nodes. NOTE: enable \"clone\" option is not required.\n\nType `array`\nDefault `false`\n\n```js\ndrag.set({cloneKey: [17, 18]});\n```\n\n####cloneKey\n\nSet key or key combination for cloning DOM nodes. NOTE: enable \"clone\" option is not required.\n\nType `array`\nDefault `false`\n\n```js\ndrag.set({cloneKey: [17, 18]});\n```\n\n####clearGarbage\n\nClear garbage node after drag-end event\n\nType `boolean`\nDefault `false`\n\n```js\ndrag.set({clearGarbage: true});\n```\n\n####clearGarbage\n\nClear garbage node after drag-end event\n\nType `boolean`\nDefault `false`\n\n```js\ndrag.set({clearGarbage: true});\n```\n\n####imposition\n\nSet barriers for your draggable elements\n\nType `string`\nDefault `false`\n\n```js\ndrag.set({imposition: '.wall, .another-brick-in-the-wall'});\n```\n\n####navigation\n\nSet this option and drags your element by keyboard\n\nType `object`\nDefault `false`\n\n```js\ndrag.set({navigation: {\n      up: [38],\n      right: [39],\n      down: [40],\n      left: [37],\n      step: 10\n}});\n```\n\n####callOnTarget(target, elem, callOnTarget, lastPoint)\n\nCallback which occurs when dragEnd event was on destination target\n\nType `function`\nDefault `false`\n\n```js\ndrag.set({callOnTarget: function(target, elem, callOnTarget, lastPoint){\n    console.log(target);\n    console.log(elem);\n    console.log(callOnTarget);\n    console.log(lastPoint);\n}});\n```\n\n####callDragEnd(elem, callOnTarget, lastPoint)\n\nCallback which occurs when dragEnd event was occur\n\nType `function`\nDefault `false`\n\n```js\ndrag.set({callDragEnd: function(elem, callOnTarget, lastPoint){\n    console.log(elem);\n    console.log(callOnTarget);\n    console.log(lastPoint);\n}});\n```\n\n\n\n ## License\n\n MIT ©\n","maintainers":[{"name":"adwatch","email":"vyacheslav.anosov@isobar.ru"}],"time":{"modified":"2022-06-12T14:19:55.526Z","created":"2017-06-29T14:51:08.904Z","1.0.0":"2017-06-29T14:51:08.904Z"},"homepage":"https://bitbucket.org/prodhub/drag-module#readme","repository":{"type":"git","url":"git+ssh://git@bitbucket.org/prodhub/drag-module.git"},"author":{"name":"Adwatch"},"license":"ISC","readmeFilename":"README.md"}