nur-vue-contextmenu
Version:
vue contextmenu
2 lines • 13.3 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("ContextMenu",[],t):"object"==typeof exports?exports.ContextMenu=t():e.ContextMenu=t()}(this,function(){return function(e){function t(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=6)}([function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;t<this.length;t++){var n=this[t];n[2]?e.push("@media "+n[2]+"{"+n[1]+"}"):e.push(n[1])}return e.join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var a={},i=0;i<this.length;i++){var o=this[i][0];"number"==typeof o&&(a[o]=!0)}for(i=0;i<t.length;i++){var r=t[i];"number"==typeof r[0]&&a[r[0]]||(n&&!r[2]?r[2]=n:n&&(r[2]="("+r[2]+") and ("+n+")"),e.push(r))}},e}},function(e,t){e.exports=function(e,t,n,a,i){var o,r=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(o=e,r=e.default);var c="function"==typeof r?r.options:r;t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns),a&&(c._scopeId=a);var l;if(i?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=l):n&&(l=n),l){var d=c.functional,u=d?c.render:c.beforeCreate;d?c.render=function(e,t){return l.call(t),u(e,t)}:c.beforeCreate=u?[].concat(u,l):[l]}return{esModule:o,exports:r,options:c}}},function(e,t,n){function a(e){for(var t=0;t<e.length;t++){var n=e[t],a=d[n.id];if(a){a.refs++;for(var i=0;i<a.parts.length;i++)a.parts[i](n.parts[i]);for(;i<n.parts.length;i++)a.parts.push(o(n.parts[i]));a.parts.length>n.parts.length&&(a.parts.length=n.parts.length)}else{for(var r=[],i=0;i<n.parts.length;i++)r.push(o(n.parts[i]));d[n.id]={id:n.id,refs:1,parts:r}}}}function i(){var e=document.createElement("style");return e.type="text/css",u.appendChild(e),e}function o(e){var t,n,a=document.querySelector("style["+x+'~="'+e.id+'"]');if(a){if(h)return v;a.parentNode.removeChild(a)}if(g){var o=f++;a=p||(p=i()),t=r.bind(null,a,o,!1),n=r.bind(null,a,o,!0)}else a=i(),t=s.bind(null,a),n=function(){a.parentNode.removeChild(a)};return t(e),function(a){if(a){if(a.css===e.css&&a.media===e.media&&a.sourceMap===e.sourceMap)return;t(e=a)}else n()}}function r(e,t,n,a){var i=n?"":a.css;if(e.styleSheet)e.styleSheet.cssText=b(t,i);else{var o=document.createTextNode(i),r=e.childNodes;r[t]&&e.removeChild(r[t]),r.length?e.insertBefore(o,r[t]):e.appendChild(o)}}function s(e,t){var n=t.css,a=t.media,i=t.sourceMap;if(a&&e.setAttribute("media",a),m.ssrId&&e.setAttribute(x,t.id),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var c="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!c)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 l=n(14),d={},u=c&&(document.head||document.getElementsByTagName("head")[0]),p=null,f=0,h=!1,v=function(){},m=null,x="data-vue-ssr-id",g="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,n,i){h=n,m=i||{};var o=l(e,t);return a(o),function(t){for(var n=[],i=0;i<o.length;i++){var r=o[i],s=d[r.id];s.refs--,n.push(s)}t?(o=l(e,t),a(o)):o=[];for(var i=0;i<n.length;i++){var s=n[i];if(0===s.refs){for(var c=0;c<s.parts.length;c++)s.parts[c]();delete d[s.id]}}}};var b=function(){var e=[];return function(t,n){return e[t]=n,e.filter(Boolean).join("\n")}}()},function(e,t,n){function a(e){n(12)}var i=n(1)(n(5),n(10),a,"data-v-1931f86e",null);e.exports=i.exports},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"tree-child-component",props:["itemchildren","float"],methods:{fnHandler:function(e){this.$emit("childhandler",e)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(9),i=n.n(a);t.default={name:"context-menu-component",components:{Tree:i.a},data:function(){return{floatDirection:"float-statue-1"}},props:{contextMenuData:{type:Object,requred:!1,default:function(){return{menuName:null,axis:{x:null,y:null},checkedValueList:[],menulists:[{fnHandler:"",icoName:"",btnName:"",fnHandlerArg:"",showInput:!1,inputValue:0,showCheckBox:!1,checkedValue:""}]}}},transferIndex:{type:Number,default:0}},watch:{"contextMenuData.axis":function(e){var t=e.x,n=e.y,a=window.innerWidth,i=window.innerHeight,o=this,r=o.transferIndex,s="vue-contextmenuName-"+o.contextMenuData.menuName,c=document.getElementsByClassName(s)[r];c.style.display="block";var l=30*this.contextMenuData.menulists.length;c.style.top=(n+l>i?i-l:n)+"px",c.style.left=(t+150>a?a-150:t)+"px",document.addEventListener("mouseup",function(e){0===e.button&&(c.style.display="none")},!1),t+300>a&&n+2*l>i&&(this.floatDirection="float-status-4"),t+300<a&&n+2*l>i&&(this.floatDirection="float-status-1"),t+300>a&&n+2*l<i&&(this.floatDirection="float-status-3"),t+300<a&&n+2*l<i&&(this.floatDirection="float-status-2")}},methods:{fnHandler:function(e,t){if(e.showCheckBox){var n=this.contextMenuData.checkedValueList.findIndex(function(t){return t==e.checkedValue});return n>=0?this.contextMenuData.checkedValueList.splice(n,1):this.contextMenuData.checkedValueList.push(e.checkedValue),void this.$emit("checkChange",this.contextMenuData.checkedValueList,e.checkedValue,t)}this.$emit(e.fnHandler,e.fnHandlerArg)},fnChange:function(e,t){this.$emit("change",e.target.value,t)},fnCheckChange:function(e,t){this.$emit("checkChange",this.contextMenuData.checkedValueList,e.target.value,t)}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(3),i=n.n(a),o={install:function(e){e.component("VueContextMenu",i.a)}};t.default=o},function(e,t,n){t=e.exports=n(0)(),t.push([e.i,".vue-contextmenu-listWrapper[data-v-1931f86e]{display:none;position:fixed;z-index:9999;background:#fff;top:0;left:0;border-radius:2px;box-shadow:0 2px 2px 0 #ccc;font-family:Courier New,Courier,monospace;font-size:12px}.vue-contextmenu-listWrapper .context-menu-list[data-v-1931f86e]{position:relative;background:#fff;text-decoration:none;list-style:none;margin:3px 0}.context-menu-list:hover .no-child-btn .nav-input-right[data-v-1931f86e],.context-menu-list[data-v-1931f86e]:hover{background:#2894f8}.context-menu-list .has-child[data-v-1931f86e]{position:relative;cursor:pointer;padding:5px 10px}.context-menu-list:hover>.has-child>.child-ul-wrapper[data-v-1931f86e]{display:block}.parent-name .icon[data-v-1931f86e]{position:absolute;display:block;top:4px;right:0;border-top:4px solid transparent;border-left:8px solid #111;border-bottom:4px solid transparent;border-right:4px solid transparent}.no-child-btn[data-v-1931f86e]{padding:5px 10px;cursor:pointer;display:inline-flex}.nav-icon-fontawe[data-v-1931f86e]{flex:1}.nav-name-right[data-v-1931f86e]{flex:1;margin-left:4px;height:16px;line-height:16px;white-space:nowrap}.nav-input-right[data-v-1931f86e]{flex:1;margin-left:4px;width:50px;height:15px;line-height:16px;border:none;border-bottom:1px solid #2894f8;outline:none}.no-allow[data-v-1931f86e]{color:#d3cfcf;cursor:not-allowed}.btn-wrapper-simple[data-v-1931f86e]{position:relative;height:16px;line-height:16px}",""])},function(e,t,n){t=e.exports=n(0)(),t.push([e.i,".float-status-1[data-v-65699d5f]{left:100%;bottom:-1px;z-index:10001}.float-status-2[data-v-65699d5f]{left:100%;top:-1px;z-index:10001}.float-status-3[data-v-65699d5f]{right:100%;top:-1px;z-index:10001}.float-status-4[data-v-65699d5f]{right:100%;bottom:-1px;z-index:10001}.child-ul-wrapper .has-child[data-v-65699d5f]{padding:5px 10px;position:relative}li[data-v-65699d5f]{list-style:none}.parent-name .icon[data-v-65699d5f]{position:absolute;display:block;top:4px;right:0;border-top:4px solid transparent;border-left:8px solid #111;border-bottom:4px solid transparent;border-right:4px solid transparent}.no-child-btn[data-v-65699d5f]{padding:5px 10px}.child-ul-wrapper[data-v-65699d5f]{background:#fff;position:absolute;display:none;border:1px solid #e8e8e8;border-radius:3px}.child-li-wrapper:hover>.has-child>.child-ul-wrapper[data-v-65699d5f]{display:block}.child-li-wrapper[data-v-65699d5f]:hover,.context-menu-list[data-v-65699d5f]:hover{background:#2894f8}.nav-icon-fontawe[data-v-65699d5f]{position:absolute}.nav-name-right[data-v-65699d5f]{white-space:nowrap;display:block;margin:auto 20px}.btn-wrapper-simple[data-v-65699d5f]{position:relative;height:16px;line-height:16px}",""])},function(e,t,n){function a(e){n(13)}var i=n(1)(n(4),n(11),a,"data-v-65699d5f",null);e.exports=i.exports},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"vue-contextmenu-listWrapper",class:"vue-contextmenuName-"+e.contextMenuData.menuName,on:{contextmenu:function(e){e.stopPropagation()}}},e._l(e.contextMenuData.menulists,function(t,a){return n("li",{key:t.btnName,staticClass:"context-menu-list"},[t.children&&t.children.length>0?n("div",{staticClass:"has-child"},[n("div",{staticClass:"parent-name btn-wrapper-simple",class:{"no-allow":!!t.disabled&&t.disabled}},[n("i",{staticClass:"nav-icon-fontawe",class:t.icoName?t.icoName:""}),e._v(" "),n("span",{staticClass:"nav-name-right"},[e._v(e._s(t.btnName))]),e._v(" "),n("i",{staticClass:"icon"})]),e._v(" "),n("Tree",{attrs:{itemchildren:t.children,float:e.floatDirection},on:{childhandler:e.fnHandler}})],1):n("div",{on:{click:function(n){n.stopPropagation(),!0===t.disabled||t.showInput||e.fnHandler(t,a)}}},[n("div",{staticClass:"no-child-btn btn-wrapper-simple",class:{"no-allow":!!t.disabled&&t.disabled}},[t.showCheckBox?n("input",{directives:[{name:"model",rawName:"v-model",value:e.contextMenuData.checkedValueList,expression:"contextMenuData.checkedValueList"}],attrs:{type:"checkbox"},domProps:{value:t.checkedValue,checked:Array.isArray(e.contextMenuData.checkedValueList)?e._i(e.contextMenuData.checkedValueList,t.checkedValue)>-1:e.contextMenuData.checkedValueList},on:{"!click":function(e){e.stopPropagation()},"!mouseup":function(e){e.stopPropagation()},change:[function(n){var a=e.contextMenuData.checkedValueList,i=n.target,o=!!i.checked;if(Array.isArray(a)){var r=t.checkedValue,s=e._i(a,r);i.checked?s<0&&e.$set(e.contextMenuData,"checkedValueList",a.concat([r])):s>-1&&e.$set(e.contextMenuData,"checkedValueList",a.slice(0,s).concat(a.slice(s+1)))}else e.$set(e.contextMenuData,"checkedValueList",o)},function(t){return e.fnCheckChange(t,a)}]}}):e._e(),e._v(" "),n("i",{staticClass:"nav-icon-fontawe",class:t.icoName?t.icoName:""}),e._v(" "),n("span",{staticClass:"nav-name-right"},[e._v(e._s(t.btnName))]),e._v(" "),t.showInput?n("input",{directives:[{name:"model",rawName:"v-model",value:t.inputValue,expression:"item.inputValue"}],staticClass:"nav-input-right",domProps:{value:t.inputValue},on:{"!click":function(e){e.stopPropagation()},"!mouseup":function(e){e.stopPropagation()},change:function(t){return e.fnChange(t,a)},input:function(n){n.target.composing||e.$set(t,"inputValue",n.target.value)}}}):e._e()])])])}),0)},staticRenderFns:[]}},function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{staticClass:"child-ul-wrapper",class:e.float},e._l(e.itemchildren,function(t){return n("li",{key:t.name,staticClass:"child-li-wrapper"},[t.children&&t.children.length>0?n("div",{staticClass:"has-child"},[n("div",{staticClass:"parent-name btn-wrapper-simple"},[n("i",{staticClass:"nav-icon-fontawe",class:t.icoName?t.icoName:""}),e._v(" "),n("span",{staticClass:"nav-name-right"},[e._v(e._s(t.btnName))]),e._v(" "),n("i",{staticClass:"icon"})]),e._v(" "),n("tree-child-component",{attrs:{itemchildren:t.children,float:e.float},on:{childhandler:e.fnHandler}})],1):n("div",[n("div",{staticClass:"no-child-btn btn-wrapper-simple",on:{click:function(n){return n.stopPropagation(),e.fnHandler(t)}}},[n("i",{staticClass:"nav-icon-fontawe",class:t.icoName?t.icoName:""}),e._v(" "),n("span",{staticClass:"nav-name-right"},[e._v(e._s(t.btnName))])])])])}),0)},staticRenderFns:[]}},function(e,t,n){var a=n(7);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);n(2)("201d2716",a,!0,{})},function(e,t,n){var a=n(8);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);n(2)("b91524e8",a,!0,{})},function(e,t){e.exports=function(e,t){for(var n=[],a={},i=0;i<t.length;i++){var o=t[i],r=o[0],s=o[1],c=o[2],l=o[3],d={id:e+":"+i,css:s,media:c,sourceMap:l};a[r]?a[r].parts.push(d):n.push(a[r]={id:r,parts:[d]})}return n}}])});
//# sourceMappingURL=vue-contextmenu.min.js.map