@branu-jp/v-drag

A Vue.js draggable directive

Stats

StarsIssuesVersionUpdatedCreatedSize
@branu-jp/v-drag
31100.1.03 years ago4 years agoMinified + gzip package size for @branu-jp/v-drag in KB

Readme

v-drag - a supler simple, Vue.js draggable component.

Demo: https://branu-ws.github.io/v-drag/

Installation

npm:

npm install @branu-jp/v-drag

yarn:

yarn add @branu-jp/v-drag --save

Use

Node.js env (such a .vue components):

<template>
  <div>
    <div style="position: absolute;" v-drag>
    </div>
  </div>
</template>

<script>
import drag from '@branu-jp/v-drag'

export default {
  directives: {
    drag
  }
}
</script>

Browser env: coming soon.

Notes

An element with v-drag must have position: absolute; to be draggable.

Options

You may desire only one part of an element to be draggable. You can achieve this by passing a string which referes to an id as argument to v-drag.

<div id="header">
  <div v-drag:header>
    <div>
      Some text
    </div>
  </div>
</div>

This will result in any area that is not <div id="header"> not becoming draggable. One common use case is a modal, that is only draggable when the top area is clicked.

You can constrain the draggable object from leaving the viewpor by using the window-only modifier like so:

<div v-drag.window-only>
  This element cannot be dragged outside the window
</div>

Other

Built by, for and at BRANU. Our open source projects can be found on our npm page: https://www.npmjs.com/org/branu-jp

v-drag npm link: https://www.npmjs.com/package/@branu-jp/v-drag

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.