export default {
inserted(el) {
let parentElement = el.parentElement;
let currentElement = el;
currentElement.onmousedown = (e) => {
let disX = e.clientX - parentElement.offsetLeft;
let disY = e.clientY - parentElement.offsetTop;
let layoutMain = document.getElementsByClassName("main_body")[0];
document.onmousemove = (e) => {
let left = e.clientX - disX;
let top = e.clientY - disY;
if (left <= 10) {
left = 10;
} else if (left >= layoutMain.clientWidth - parentElement.offsetWidth - 50) {
left = layoutMain.clientWidth - parentElement.offsetWidth - 50;
}
if (top <= 10) {
top = 10;
} else if (top >= layoutMain.clientHeight - parentElement.offsetHeight - 30) {
top = layoutMain.clientHeight - parentElement.offsetHeight - 30
}
parentElement.style.left = left + 'px';
parentElement.style.top = top + 'px';
};
document.onmouseup = (e) => {
document.onmousemove = null;
document.onmouseup = null;
};
};
}
}
import drag from './drag'
const install = function (Vue) {
Vue.directive('drag', drag)
}
if (window.Vue) {
window['drag'] = drag
Vue.use(install);
}
drag.install = install
export default drag
import Vue from "vue"
import drag from "./drag"
Vue.directive("drag", drag);