{"remainingRequest":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\utils\\directived.js","dependencies":[{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\utils\\directived.js","mtime":1663828782933},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\babel.config.js","mtime":1663828782900},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000}],"contextDependencies":[],"result":["import Vue from 'vue';\nexport default {\n install: function install(Vue) {\n // 防止重复点击 v-preventReClick\n Vue.directive('preventReClick', {\n inserted: function inserted(el, binding) {\n el.addEventListener('click', function () {\n if (!el.disabled) {\n el.disabled = true;\n setTimeout(function () {\n el.disabled = false; // 设置默认时间为0.5秒\n }, binding.value || 500);\n }\n });\n }\n }); // // 弹窗拖拽 点击拖拽 v-drag\n\n Vue.directive('drag', {\n // 1.指令绑定到元素上回立刻执行bind函数,只执行一次\n // 2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象\n // 3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效\n bind: function bind() {},\n // inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次\n inserted: function inserted(el) {\n var isDrag = false;\n\n el.onclick = function (e) {\n isDrag = !isDrag;\n\n if (isDrag) {\n var disx = e.pageX - el.offsetLeft;\n var disy = e.pageY - el.offsetTop;\n\n document.onmousemove = function (e) {\n el.style.left = \"\".concat(e.pageX - disx, \"px\");\n el.style.top = \"\".concat(e.pageY - disy, \"px\");\n };\n\n document.onmouseup = function () {\n document.onmousemove = null;\n document.onmouseup = null;\n };\n }\n };\n },\n // 当VNode更新的时候会执行updated,可以触发多次\n updated: function updated() {}\n }); // 弹窗拖拽 按住拖拽 v-dragDown\n\n Vue.directive('dragDown', //自定义指令\n {\n bind: function bind(el, binding) {\n var oDiv = el; //当前元素\n\n var self = this; //上下文\n\n oDiv.onmousedown = function (e) {\n //鼠标按下,计算当前元素距离可视区的距离\n var disX = e.clientX - oDiv.offsetLeft;\n var disY = e.clientY - oDiv.offsetTop;\n\n document.onmousemove = function (e) {\n //通过事件委托,计算移动的距离\n var l = e.clientX - disX;\n var t = e.clientY - disY;\n var xMax = document.documentElement.clientWidth - 100;\n var xMin = 0;\n var yMax = document.documentElement.clientHeight - 100;\n var yMin = 50;\n\n if (l >= xMax) {\n l = xMax;\n } else if (l <= xMin) {\n l = xMin;\n }\n\n if (t >= yMax) {\n t = yMax;\n } else if (t <= yMin) {\n t = yMin;\n } //移动当前元素\n\n\n oDiv.style.left = l + 'px';\n oDiv.style.top = t + 'px'; //将此时的位置传出去\n\n binding.value({\n x: e.pageX,\n y: e.pageY\n });\n };\n\n document.onmouseup = function (e) {\n document.onmousemove = null;\n document.onmouseup = null;\n };\n };\n }\n });\n }\n};",{"version":3,"sources":["C:/Users/100zone/Desktop/baizong/community/SmartCommunity/videoSurveillance/src/utils/directived.js"],"names":["Vue","install","directive","inserted","el","binding","addEventListener","disabled","setTimeout","value","bind","isDrag","onclick","e","disx","pageX","offsetLeft","disy","pageY","offsetTop","document","onmousemove","style","left","top","onmouseup","updated","oDiv","self","onmousedown","disX","clientX","disY","clientY","l","t","xMax","documentElement","clientWidth","xMin","yMax","clientHeight","yMin","x","y"],"mappings":"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","sourcesContent":["import Vue from 'vue';\r\nexport default {\r\n install(Vue) {\r\n // 防止重复点击 v-preventReClick\r\n Vue.directive('preventReClick', {\r\n inserted(el, binding) {\r\n el.addEventListener('click', () => {\r\n if (!el.disabled) {\r\n el.disabled = true;\r\n setTimeout(() => {\r\n el.disabled = false;\r\n // 设置默认时间为0.5秒\r\n }, binding.value || 500);\r\n }\r\n });\r\n }\r\n });\r\n // // 弹窗拖拽 点击拖拽 v-drag\r\n Vue.directive('drag', {\r\n // 1.指令绑定到元素上回立刻执行bind函数,只执行一次\r\n // 2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象\r\n // 3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效\r\n bind: () => {},\r\n // inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次\r\n inserted: (el) => {\r\n let isDrag = false;\r\n el.onclick = function (e) {\r\n isDrag = !isDrag;\r\n if (isDrag) {\r\n const disx = e.pageX - el.offsetLeft;\r\n const disy = e.pageY - el.offsetTop;\r\n document.onmousemove = function (e) {\r\n el.style.left = `${e.pageX - disx}px`;\r\n el.style.top = `${e.pageY - disy}px`;\r\n };\r\n document.onmouseup = function () {\r\n document.onmousemove = null;\r\n document.onmouseup = null;\r\n };\r\n }\r\n };\r\n },\r\n // 当VNode更新的时候会执行updated,可以触发多次\r\n updated: () => {}\r\n });\r\n // 弹窗拖拽 按住拖拽 v-dragDown\r\n Vue.directive(\r\n 'dragDown', //自定义指令\r\n {\r\n bind: function (el, binding) {\r\n let oDiv = el; //当前元素\r\n let self = this; //上下文\r\n oDiv.onmousedown = function (e) {\r\n //鼠标按下,计算当前元素距离可视区的距离\r\n let disX = e.clientX - oDiv.offsetLeft;\r\n let disY = e.clientY - oDiv.offsetTop;\r\n document.onmousemove = function (e) {\r\n //通过事件委托,计算移动的距离\r\n let l = e.clientX - disX;\r\n let t = e.clientY - disY;\r\n var xMax = document.documentElement.clientWidth - 100;\r\n var xMin = 0;\r\n var yMax = document.documentElement.clientHeight - 100;\r\n var yMin = 50;\r\n if (l >= xMax) {\r\n l = xMax;\r\n } else if (l <= xMin) {\r\n l = xMin;\r\n }\r\n if (t >= yMax) {\r\n t = yMax;\r\n } else if (t <= yMin) {\r\n t = yMin;\r\n }\r\n //移动当前元素\r\n oDiv.style.left = l + 'px';\r\n oDiv.style.top = t + 'px';\r\n //将此时的位置传出去\r\n binding.value({ x: e.pageX, y: e.pageY });\r\n };\r\n document.onmouseup = function (e) {\r\n document.onmousemove = null;\r\n document.onmouseup = null;\r\n };\r\n };\r\n }\r\n }\r\n );\r\n }\r\n};\r\n"]}]}