constructor()

in src/components/draggable.js [44:70]


  constructor(el) {
    this.source = el
    this.target = cloneAndIsolate(el)

    const {target} = this
    target.style.setProperty('cursor', 'grab')
    target.style.setProperty('position', 'absolute')
    document.body.appendChild(target)

    this.position = {x: 0, y: 0}
    this.resize()

    this.mouseMove = this.mouseMove.bind(this)
    this.mouseDown = downEvent => {
      // prevent text selection
      downEvent.preventDefault()
      this.dragging = true
      target.style.setProperty('cursor', 'grabbing')
      document.addEventListener('mousemove', this.mouseMove)
      window.addEventListener('mouseup', () => {
        this.dragging = false
        target.style.setProperty('cursor', 'grab')
        document.removeEventListener('mousemove', this.mouseMove)
      })
    }
    target.addEventListener('mousedown', this.mouseDown)
  }