Giter Club home page Giter Club logo

vue-putty's Introduction

vue-putty

Drag events Vue.js style. Touch compatible.

// Functional Vue.js
h(putty, {
  attrs: {
    // controls the element that receives mouse / touch events.
    className: 'putty',
    tagName: 'div'
  },
  on: {
    start: start => {
      // A selection starts
      // start == [x, y]
    },
    move: ({ start, current, delta }) => {
      // The selection continues
      // start == [x, y]
      // current == [x, y]
      // delta == [dx, dy]
    },
    end: ({ start, end, delta }) => {
      // The selection has finished
      // start == [x, y]
      // end == [x, y]
      // delta == [dx, dy]
    },
    tap: tap => {
      // A mouse click or tap (with no selection)
      // tap == [x, y]
    },
    hover: hover => {
      // The mouse is moving across the element
      // hover == [x, y]
    },
    leave: () => {
      // The mouse has left the element
    }
  }
})
<!-- .vue file -->
<div id="app">
  <putty
    tagName="div"
    className="putty"
    @start="start"
    @move="move"
    @end="end"
    @tap="tap"
    @hover="hover"
    @leave="leave"
  ></putty>
</div>

<script>
var app = new Vue({
  el: '#app',
  methods: {
    start(start) {
      // A selection starts
      // start == [x, y]
    },
    move({ start, current, delta }) {
      // The selection continues
      // start == [x, y]
      // current == [x, y]
      // delta == [dx, dy]
    },
    end({ start, end, delta }) {
      // The selection has finished
      // start == [x, y]
      // end == [x, y]
      // delta == [dx, dy]
    },
    tap(tap) {
      // A mouse click or tap (with no selection)
      // tap == [x, y]
    },
    hover(hover) {
      // The mouse is moving across the element
      // hover == [x, y]
    },
    leave() {
      // The mouse has left the element
    }
  }
})
</script>

vue-putty's People

Contributors

tcoats avatar

Watchers

 avatar James Cloos avatar James avatar Micahj avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.