unidragger

Base draggable class

  • Types
  • ESM
  • CJS
License
MIT
Install Size
11.7 kB(23.5 kB)
Vulns
0
Published

Get started

$npm install unidragger
$pnpm add unidragger
$yarn add unidragger
$bun add unidragger
$deno add npm:unidragger
$vlt install unidragger
$vp add unidragger

Readme

Unidragger

Base draggable class

Used in Flickity and Draggabilly.

Unidragger handles all the event binding and handling to support a draggable library.

Features

  • Touch device support: iOS, Android, Microsoft Surface
  • Handles click events in input elements

Install

npm: npm install unidragger

Yarn: yarn add unidragger

Demo code

// your draggable class
function Dragger( elem ) {
  this.element = elem;
}

// use Unidragger as a mixin
extend( Dragger.prototype, Unidragger.prototype );

Dragger.prototype.create = function() {
  // set drag handles
  this.handles = [ this.element ];
  this.bindHandles();
};

Dragger.prototype.dragStart = function( event, pointer ) {
  console.log('drag start');
};

Dragger.prototype.dragMove = function( event, pointer, moveVector ) {
  var dragX = this.dragStartPoint.x + moveVector.x;
  var dragY = this.dragStartPoint.y + moveVector.y;
  this.element.style.left = dragX + 'px';
  this.element.style.top = dragY + 'px';
};

Dragger.prototype.dragEnd = function( event, pointer ) {
  console.log('drag end');
};

MIT license

By Metafizzy ๐ŸŒˆ๐Ÿป