vue-leave
Version:
这是一个移动端拖放手势组件库
2 lines • 8.46 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("VueLeave",[],t):"object"==typeof exports?exports.VueLeave=t():e.VueLeave=t()}(window,function(){return function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/",i(i.s=4)}([function(e,t,n){var r=n(2);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);(0,n(5).default)("c5c9fb78",r,!0,{})},function(e,t,n){"use strict";var r=n(0);n.n(r).a},function(e,t,n){(e.exports=n(3)(!1)).push([e.i,".drag .duplicate {\n display: none;\n}\n",""])},function(e,t,n){"use strict";e.exports=function(n){var a=[];return a.toString=function(){return this.map(function(e){var t=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var i=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),o=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(o).concat([i]).join("\n")}var a;return[n].join("\n")}(e,n);return e[2]?"@media "+e[2]+"{"+t+"}":t}).join("")},a.i=function(e,t){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},r=0;r<this.length;r++){var i=this[r][0];null!=i&&(n[i]=!0)}for(r=0;r<e.length;r++){var o=e[r];null!=o[0]&&n[o[0]]||(t&&!o[2]?o[2]=t:t&&(o[2]="("+o[2]+") and ("+t+")"),a.push(o))}},a}},function(e,t,n){"use strict";n.r(t);function r(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}var i={name:"drag",props:{target:{type:String,default:null},packet:{type:Object,default:{}},zIndex:{type:Number,default:100},duplicate:{type:Boolean,default:!1},constantly:{type:Boolean,default:!1}},data:function(){return{dragId:r(),realStyle:{zIndex:this.zIndex},duplicateStyle:{zIndex:this.zIndex},duplicateHTML:""}},methods:{_setStyle:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};e=Object.assign({},{zIndex:this.zIndex},e),this.duplicate?(this._createDuplicate(),this.duplicateStyle=e):this.realStyle=e},_createDuplicate:function(){this.duplicateHTML=this.$refs.real.innerHTML},_getDropComponents:function(){var o=this,a=[];return function e(t){if(t.length)for(var n=0;n<t.length;n++){var r=t[n],i=r.$options;"drop"===i._componentTag&&o.target&&i.propsData&&i.propsData.name===o.target&&a.push(r),r.$children.length&&e(r.$children)}}(this.$root.$children),a},_detectObjective:function(){var p=[],h=this.duplicate?this.$refs.duplicate:this.$refs.real;this._getDropComponents().forEach(function(e){var t,n,r,i,o,a,s,u,c,l,d,f;t=h,n=e.$el,r=t.getBoundingClientRect(),i=n.getBoundingClientRect(),o=r.x||r.left,a=r.y||r.top,s=r.width,u=r.height,c=i.x||i.left,l=i.y||i.top,d=i.width,f=i.height,c<o+s&&o<c+d&&l<a+u&&a<l+f&&p.push(e),e.away()});var e=p.length?p[0]:null;return e&&e.arrive(this),e},touchMove:function(e){if(e.preventDefault(),1===e.targetTouches.length){var t=e.targetTouches[0],n=e.target;this.duplicate&&this._createDuplicate(),this._setStyle({position:"fixed",display:"block",opacity:".6",top:"".concat(t.pageY-n.offsetHeight/2,"px"),left:"".concat(t.pageX-n.offsetWidth/2,"px"),width:"".concat(n.offsetWidth,"px"),height:"".concat(n.offsetHeight,"px")}),this.constantly&&this._detectObjective()}},touchEnd:function(e){this.duplicate&&(this.duplicateHTML=""),this._setStyle(),this.$emit("dragend",e,this,this._detectObjective())}}};n(1);function o(e,t,n,r,i,o,a,s){var u,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(e,t){return u.call(t),l(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:c}}var a=o(i,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"drag",attrs:{id:e.dragId}},[n("div",{ref:"real",staticClass:"real",style:e.realStyle,on:{touchmove:e.touchMove,touchend:e.touchEnd}},[e._t("default")],2),e._v(" "),n("div",{ref:"duplicate",staticClass:"duplicate",style:e.duplicateStyle,domProps:{innerHTML:e._s(e.duplicateHTML)}})])},[],!1,null,null,null).exports,s=o({name:"drop",props:{name:{type:String,default:r()}},methods:{arrive:function(e){this.$emit("arrive",e.packet,this)},away:function(){this.$emit("away",this)}}},function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"drop",attrs:{name:this.name}},[this._t("default")],2)},[],!1,null,null,null).exports,u={install:function(e,t){e.component(a.name,a),e.component(s.name,s)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(u);t.default=u},function(e,t,n){"use strict";function u(e,t){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i],a=o[0],s={id:e+":"+i,css:o[1],media:o[2],sourceMap:o[3]};r[a]?r[a].parts.push(s):n.push(r[a]={id:a,parts:[s]})}return n}n.r(t),n.d(t,"default",function(){return h});var r="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!r)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c={},i=r&&(document.head||document.getElementsByTagName("head")[0]),o=null,a=0,l=!1,s=function(){},d=null,f="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function h(a,e,t,n){l=t,d=n||{};var s=u(a,e);return v(s),function(e){for(var t=[],n=0;n<s.length;n++){var r=s[n];(i=c[r.id]).refs--,t.push(i)}e?v(s=u(a,e)):s=[];for(n=0;n<t.length;n++){var i;if(0===(i=t[n]).refs){for(var o=0;o<i.parts.length;o++)i.parts[o]();delete c[i.id]}}}}function v(e){for(var t=0;t<e.length;t++){var n=e[t],r=c[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(x(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{var o=[];for(i=0;i<n.parts.length;i++)o.push(x(n.parts[i]));c[n.id]={id:n.id,refs:1,parts:o}}}}function g(){var e=document.createElement("style");return e.type="text/css",i.appendChild(e),e}function x(t){var n,r,e=document.querySelector("style["+f+'~="'+t.id+'"]');if(e){if(l)return s;e.parentNode.removeChild(e)}if(p){var i=a++;e=o||(o=g()),n=_.bind(null,e,i,!1),r=_.bind(null,e,i,!0)}else e=g(),n=function(e,t){var n=t.css,r=t.media,i=t.sourceMap;r&&e.setAttribute("media",r);d.ssrId&&e.setAttribute(f,t.id);i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */");if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,e),r=function(){e.parentNode.removeChild(e)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else r()}}var y,m=(y=[],function(e,t){return y[e]=t,y.filter(Boolean).join("\n")});function _(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=m(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}}])});
//# sourceMappingURL=vue-leave.js.map