├── .babelrc
├── .editorconfig
├── .gitignore
├── README.md
├── dist
├── vue-easycm.js
└── vue-easycm.js.map
├── index.html
├── package.json
├── src
├── App.vue
├── assets
│ └── logo.png
├── iconfont
│ └── iconfont.css
├── lib
│ ├── EasyCm.vue
│ └── index.js
└── main.js
└── webpack.config.js
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | ["env", { "modules": false }],
4 | "stage-3"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules/
3 | npm-debug.log
4 | yarn-error.log
5 |
6 | # Editor directories and files
7 | .idea
8 | *.suo
9 | *.ntvs*
10 | *.njsproj
11 | *.sln
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # vue-easycm
3 |
4 |
5 |
6 | ### 一个简单好用的 VUE 环境菜单 (Context Menu)
7 |
8 | 
9 |
10 |
11 | > 更多demo: http://boenfu.github.io/vue-easycm/
12 |
13 |
14 | 
15 |
16 | * 配置简单 自定义程度高
17 |
18 | * 多种引用方式
19 |
20 | * 最高三层菜单
21 |
22 | * 可添加字体图标
23 |
24 | * 边界检测
25 |
26 |
27 |
28 |
29 | ## Install
30 |
31 |
32 |
33 | ```
34 | npm install vue-easycm --save
35 | ```
36 |
37 |
38 |
39 | ## Use
40 |
41 | ### 1.Import 导入
42 |
43 |
44 |
45 | ```js
46 | ES6
47 |
48 | // 方法1.通过use挂载
49 | import VueEasyCm from 'vue-easycm'
50 | Vue.use(VueEasyCm)
51 |
52 |
53 | // 方法2.通过require 导入
54 | var VueEasyCm = require('VueEasyCm')
55 |
56 |
57 |
58 | // 方法3.或者直接导入js文件
59 |
60 |
61 | ```
62 |
63 |
64 |
65 | ### 2.Basic Usage 基础用法
66 |
67 |
68 |
69 | 1. 在需要触发 环境菜单 的容器标签上加上(固定写法)
70 |
71 | 例:
72 |
73 | ```vue
74 |
75 | ```
76 |
77 |
78 |
79 | 2. 任意位置导入组件(选项数组必传,格式见配置项)
80 |
81 | 例:
82 |
83 | ```vue
84 |
85 | ```
86 |
87 |
88 |
89 |
90 | ### 3.Options 配置项
91 |
92 | | 选项名 | 是否必须 | 默认值 | 介绍 |
93 | | :----------: | :------: | :--------------: | :--------------: |
94 | | :list | true | 无 | 选项数组 |
95 | | :tag | false | 无 | 配置多个时的标记 |
96 | | @ecmcb | false | 无 | 返回触发元素序号 |
97 | | :underline | false | false | 是否开启下划线 |
98 | | :arrow | false | false | 是否开启箭头 |
99 | | :border | false | true | 是否开启边界检测 |
100 | | :itemWidth | false | 140 | 列表项宽度 |
101 | | :itemHeight | false | 36 | 列表项高度 |
102 | | :itemSize | false | 14 | 列表项字体大小 |
103 | | :offset | false | { x: 6, y: 2 } | 显示点偏移量 |
104 | | :borderWidth | false | 6 | 边界距离 |
105 |
106 | 详细介绍:
107 |
108 | 1. 数组格式如下
109 |
110 | ```js
111 | [{
112 | text: 'Play Now',
113 | icon: 'iconfont icon-bofang', //选填 字体图标 class
114 | children: [] //选填
115 | }]
116 | ```
117 |
118 | *嵌套的子项格式一致
119 |
120 |
121 |
122 | 2. tag --> 标记
123 |
124 | 需要配置多个菜单时添加 tag , 类似取个 id
125 |
126 | 此时 @contextmenu="\$easycm(\$event,\$root,[tag])" 需要加上 tag 的值
127 |
128 | 如:
129 |
130 | ```vue
131 |
134 |
135 |
136 | ```
137 |
138 | 这个时候 在 p 元素上会触发 tag 为 2 的菜单
139 |
140 | div 的其他部分会触发 tag 为 1 的菜单
141 |
142 |
143 |
144 | 3. ecmcb --> 回调函数
145 |
146 | 解释:返回触发的序号数组,便于触发相应逻辑
147 |
148 | 如:
149 |
150 | [0] 代表第一层的第一项
151 |
152 | [0,1] 代表第一层的第一项的第二个子项
153 |
154 | 详见 demo code
155 |
156 |
157 |
158 | 4. 边界检测 见 demo gif
159 |
160 |
161 |
162 | 5. offset --> 显示点偏移量
163 |
164 | 解释: 菜单显示位置的左上角离鼠标的距离
165 |
166 | 如: {x:10,y:10}
167 |
168 |
169 |
170 | *数值参数均无需带单位
171 |
172 |
173 |
174 |
175 |
176 | ## 自定义样式
177 |
178 | 编写 预置的空 easy-cm-ul 样式类来修改样式
179 |
180 | ```html
181 | // 代码结构
182 |
183 | -
184 |
185 |
186 | -
187 |
188 |
193 |
194 |
195 |
196 |
197 | ```
198 |
199 | 例如:
200 |
201 | 
202 |
203 | 
204 |
205 |
206 |
207 | ## Demo Code
208 |
209 |
210 |
211 | ```vue
212 | // gif 图源码
213 |
214 |
215 |
219 |
220 |
221 |
222 |
270 | ```
271 |
--------------------------------------------------------------------------------
/dist/vue-easycm.js:
--------------------------------------------------------------------------------
1 | !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("VueEasyCm",[],e):"object"==typeof exports?exports.VueEasyCm=e():t.VueEasyCm=e()}("undefined"!=typeof self?self:this,function(){return function(t){function e(n){if(i[n])return i[n].exports;var o=i[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,n){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist/",e(e.s=1)}([function(t,e,i){"use strict";e.a={name:"EasyCm",data:function(){return{show:!1,axis:{x:0,y:0}}},props:{tag:{},list:{required:!0},underline:{default:!1},arrow:{default:!1},border:{default:!0},itemWidth:{default:140},itemHeight:{default:36},itemSize:{default:14},offset:{default:function(){return{x:6,y:2}}},borderWidth:{default:6}},mounted:function(){var t=this;this.$root.$on("easyAxis",function(e){e.tag==t.tag&&(t.show=!0,t.axis=e)}),document.addEventListener("click",function(){t.show=!1},!0)},watch:{axis:function(){if(this.border){var t=document.body.offsetWidth,e=document.body.offsetHeight;this.axis.x+this.offset.x+this.itemWidth>=t&&(this.axis.x=t-this.itemWidth-this.borderWidth-this.offset.x),this.axis.y+this.offset.y+this.itemHeight*this.list.length>=e&&(this.axis.y=e-this.itemHeight*this.list.length-this.borderWidth-this.offset.y)}}},computed:{axisComputed:function(){return{top:this.axis.y+this.offset.y+"px",left:this.axis.x+this.offset.x+"px"}},liStyle:function(){return{width:this.itemWidth+"px",height:this.itemHeight+"px",lineHeight:this.itemHeight+"px",fontSize:this.itemSize+"px"}},firstLeft:function(){var t=document.body.offsetWidth;return this.axis.x+2*this.itemWidth>=t},secondLeft:function(){var t=document.body.offsetWidth;return this.axis.x+3*this.itemWidth>=t}},methods:{secondBorderCheck:function(t){var e=document.body.offsetWidth,i=document.body.offsetHeight,n=this.axis.y+(t+this.list[t].children.length)*this.itemHeight;return{left:this.axis.x+2*this.itemWidth>=e?"-100%":"100%",top:i>=n?0:-(this.list[t].children.length-1)*this.itemHeight+"px"}},thirdBorderCheck:function(t,e){var i=document.body.offsetWidth,n=document.body.offsetHeight,o=this.axis.y+this.list[t].children[e].children.length*this.itemHeight+(t+e)*this.itemHeight+parseInt(this.secondBorderCheck(t).top);return{left:this.axis.x+3*this.itemWidth>=i?"-100%":"100%",top:o>n?-(this.list[t].children[e].children.length-1)*this.itemHeight+"px":0}},callback:function(t){this.$emit("ecmcb",t)}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o={install:function(t){t.component("easy-cm",n.a),t.prototype.$easycm=function(t,e,i){t.stopPropagation(),t.preventDefault(),e.$emit("easyAxis",{tag:i,x:t.clientX,y:t.clientY})}}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(o),e.default=o},function(t,e,i){"use strict";function n(t){i(3)}var o=i(0),r=i(9),s=i(8),a=n,c=s(o.a,r.a,!1,a,"data-v-92a164f6",null);e.a=c.exports},function(t,e,i){var n=i(4);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);i(6)("971827e6",n,!0,{})},function(t,e,i){e=t.exports=i(5)(!1),e.push([t.i,'.icon[data-v-92a164f6]{width:.9em;height:.9em;vertical-align:-.15em;fill:currentColor;overflow:hidden;position:absolute;right:0;top:50%;transform:translateY(-50%)}.cm-container[data-v-92a164f6]{position:fixed;user-select:none;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;z-index:9999}.cm-ul[data-v-92a164f6]{width:100%;padding:0;margin:0;list-style:none;box-shadow:0 0 1px #666;background-color:#fff;color:#2e2e2e}.cm-ul li[data-v-92a164f6]{width:100%;box-sizing:border-box;text-align:left;position:relative;cursor:pointer}.cm-ul li:hover>ul[data-v-92a164f6]{display:block}.cm-ul li div[data-v-92a164f6]{display:inline-block;box-sizing:border-box;width:100%;height:100%;padding:0 .8em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.cm-ul li i[data-v-92a164f6]{display:inline-block;width:1em;font-size:1.3em;text-align:center}.cm-ul li div[data-v-92a164f6]:hover{background-color:#666;color:#fff}.cm-ul-2[data-v-92a164f6],.cm-ul-3[data-v-92a164f6]{position:absolute;top:0;display:none;z-index:10000}.cm-left svg[data-v-92a164f6]{transform:translateY(-50%) rotate(180deg);left:0}.cm-underline li div[data-v-92a164f6]:after{content:"";width:90%;position:absolute;left:5%;top:0;height:1px;background-color:#ccc;z-index:10001}.cm-underline>li:first-child>div[data-v-92a164f6]:after,.cm-underline li div[data-v-92a164f6]:hover:after{display:none}',""])},function(t,e){function i(t,e){var i=t[1]||"",o=t[3];if(!o)return i;if(e&&"function"==typeof btoa){var r=n(o);return[i].concat(o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"})).concat([r]).join("\n")}return[i].join("\n")}function n(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=i(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,i){"string"==typeof t&&(t=[[null,t,""]]);for(var n={},o=0;oi.parts.length&&(n.parts.length=i.parts.length)}else{for(var s=[],o=0;o0?i("svg",{staticClass:"icon",attrs:{"aria-hidden":"true"}},[i("use",{attrs:{"xlink:href":"#icon-youjiantou"}})]):t._e()]),t._v(" "),e.children&&e.children.length>0?i("ul",{staticClass:"cm-ul cm-ul-2 easy-cm-ul",class:t.underline?"cm-underline":"",style:t.secondBorderCheck(n)},t._l(e.children,function(e,o){return i("li",{style:t.liStyle},[i("div",{class:t.secondLeft?"cm-left":"",on:{click:function(e){e.stopPropagation(),t.callback([n,o])}}},[i("i",{class:e.icon}),t._v(" "),i("span",[t._v(t._s(e.text))]),t._v(" "),t.arrow&&e.children&&e.children.length>0?i("svg",{staticClass:"icon",attrs:{"aria-hidden":"true"}},[i("use",{attrs:{"xlink:href":"#icon-youjiantou"}})]):t._e()]),t._v(" "),e.children&&e.children.length>0?i("ul",{staticClass:"cm-ul cm-ul-3 easy-cm-ul",class:t.underline?"cm-underline":"",style:t.thirdBorderCheck(n,o)},t._l(e.children,function(e,r){return i("li",{style:t.liStyle},[i("div",{on:{click:function(e){e.stopPropagation(),t.callback([n,o,r])}}},[i("i",{class:e.icon}),t._v(" "),i("span",[t._v(t._s(e.text))])])])})):t._e()])})):t._e()])}))]):t._e()},o=[],r={render:n,staticRenderFns:o};e.a=r}])});
2 | //# sourceMappingURL=vue-easycm.js.map
--------------------------------------------------------------------------------
/dist/vue-easycm.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///vue-easycm.js","webpack:///webpack/bootstrap 8ad54f29a9626d392386","webpack:///src/lib/EasyCm.vue","webpack:///./src/lib/index.js","webpack:///./src/lib/EasyCm.vue","webpack:///./src/lib/EasyCm.vue?aa21","webpack:///./src/lib/EasyCm.vue?dd6e","webpack:///./node_modules/_css-loader@0.28.11@css-loader/lib/css-base.js","webpack:///./node_modules/_vue-style-loader@3.1.2@vue-style-loader/lib/addStylesClient.js","webpack:///./node_modules/_vue-style-loader@3.1.2@vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/_vue-loader@13.7.1@vue-loader/lib/component-normalizer.js","webpack:///./src/lib/EasyCm.vue?200e"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","__webpack_exports__","data","show","axis","x","y","props","tag","list","required","underline","default","arrow","border","itemWidth","itemHeight","itemSize","offset","borderWidth","mounted","_this","$root","$on","document","addEventListener","watch","bw","body","offsetWidth","bh","offsetHeight","length","computed","axisComputed","top","left","liStyle","width","height","lineHeight","fontSize","firstLeft","secondLeft","methods","secondBorderCheck","cy","children","thirdBorderCheck","si","parseInt","callback","indexList","$emit","value","__WEBPACK_IMPORTED_MODULE_0__EasyCm_vue__","VueEasyCm","install","Vue","component","$easycm","e","stopPropagation","preventDefault","clientX","clientY","window","use","injectStyle","ssrContext","__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_script_index_0_EasyCm_vue__","__WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_1_vue_loader_lib_template_compiler_index_id_data_v_92a164f6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_template_index_0_EasyCm_vue__","normalizeComponent","__vue_styles__","Component","content","locals","push","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","concat","sources","map","source","sourceRoot","join","sourceMap","unescape","encodeURIComponent","JSON","stringify","toString","mediaQuery","alreadyImportedModules","id","addStylesToDom","styles","domStyle","stylesInDom","refs","j","parts","addStyle","createStyleElement","styleElement","createElement","type","head","appendChild","obj","update","remove","querySelector","ssrIdKey","isProduction","noop","parentNode","removeChild","isOldIE","styleIndex","singletonCounter","singletonElement","applyToSingletonTag","bind","applyToTag","newObj","css","media","index","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","insertBefore","setAttribute","options","ssrId","firstChild","hasDocument","DEBUG","Error","listToStyles","getElementsByTagName","navigator","test","userAgent","toLowerCase","parentId","_isProduction","_options","newList","mayRemove","textStore","replacement","filter","Boolean","newStyles","part","rawScriptExports","compiledTemplate","functionalTemplate","injectStyles","scopeId","moduleIdentifier","esModule","scriptExports","render","staticRenderFns","_compiled","functional","_scopeId","hook","context","$vnode","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","existing","beforeCreate","_injectStyles","h","_vm","_h","$createElement","_c","_self","staticClass","style","staticStyle","position","overflow","attrs","aria-hidden","viewBox","_v","class","_l","on","click","$event","icon","_s","text","xlink:href","_e","second","third","ti","esExports"],"mappings":"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","file":"vue-easycm.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"VueEasyCm\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueEasyCm\"] = factory();\n\telse\n\t\troot[\"VueEasyCm\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"VueEasyCm\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueEasyCm\"] = factory();\n\telse\n\t\troot[\"VueEasyCm\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n name: 'EasyCm',\n data: function data() {\n return {\n // 是否显示\n show: false,\n // 触发点坐标\n axis: {\n x: 0,\n y: 0\n }\n };\n },\n\n props: {\n tag: {},\n list: {\n required: true\n },\n // 是否开启下划线\n underline: {\n default: false\n },\n // 是否开启箭头\n arrow: {\n default: false\n },\n // 是否开启边界检测\n border: {\n default: true\n },\n // 列表项宽度\n itemWidth: {\n default: 140\n },\n // 列表项高度\n itemHeight: {\n default: 36\n },\n // 列表项字体\n itemSize: {\n default: 14\n },\n // 显示点偏移量\n offset: {\n default: function _default() {\n return {\n x: 6, y: 2\n };\n }\n },\n // 边界距离\n borderWidth: {\n default: 6\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$root.$on('easyAxis', function (axis) {\n if (axis.tag == _this.tag) {\n _this.show = true;\n _this.axis = axis;\n }\n });\n document.addEventListener('click', function () {\n _this.show = false;\n }, true);\n },\n\n watch: {\n axis: function axis() {\n if (this.border) {\n var bw = document.body.offsetWidth,\n bh = document.body.offsetHeight;\n if (this.axis.x + this.offset.x + this.itemWidth >= bw) {\n this.axis.x = bw - this.itemWidth - this.borderWidth - this.offset.x;\n }\n if (this.axis.y + this.offset.y + this.itemHeight * this.list.length >= bh) {\n this.axis.y = bh - this.itemHeight * this.list.length - this.borderWidth - this.offset.y;\n }\n }\n }\n },\n computed: {\n axisComputed: function axisComputed() {\n return {\n top: this.axis.y + this.offset.y + 'px',\n left: this.axis.x + this.offset.x + 'px'\n };\n },\n liStyle: function liStyle() {\n return {\n width: this.itemWidth + 'px',\n height: this.itemHeight + 'px',\n lineHeight: this.itemHeight + 'px',\n fontSize: this.itemSize + 'px'\n };\n },\n firstLeft: function firstLeft() {\n var bw = document.body.offsetWidth;\n return this.axis.x + this.itemWidth * 2 >= bw;\n },\n secondLeft: function secondLeft() {\n var bw = document.body.offsetWidth;\n return this.axis.x + this.itemWidth * 3 >= bw;\n }\n },\n methods: {\n secondBorderCheck: function secondBorderCheck(i) {\n var bw = document.body.offsetWidth,\n bh = document.body.offsetHeight;\n var cy = this.axis.y + (i + this.list[i].children.length) * this.itemHeight;\n return {\n left: this.axis.x + this.itemWidth * 2 >= bw ? '-100%' : '100%',\n top: bh >= cy ? 0 : -(this.list[i].children.length - 1) * this.itemHeight + 'px'\n };\n },\n thirdBorderCheck: function thirdBorderCheck(i, si) {\n var bw = document.body.offsetWidth,\n bh = document.body.offsetHeight;\n var cy = this.axis.y + this.list[i].children[si].children.length * this.itemHeight + (i + si) * this.itemHeight + parseInt(this.secondBorderCheck(i).top);\n return {\n left: this.axis.x + this.itemWidth * 3 >= bw ? '-100%' : '100%',\n top: cy > bh ? -(this.list[i].children[si].children.length - 1) * this.itemHeight + 'px' : 0\n };\n },\n callback: function callback(indexList) {\n this.$emit('ecmcb', indexList);\n }\n }\n});\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__EasyCm_vue__ = __webpack_require__(2);\n\nvar VueEasyCm = {\n install: function install(Vue) {\n Vue.component('easy-cm', __WEBPACK_IMPORTED_MODULE_0__EasyCm_vue__[\"a\" /* default */]);\n Vue.prototype.$easycm = function (e, root, tag) {\n e.stopPropagation();\n e.preventDefault();\n root.$emit('easyAxis', {\n tag: tag,\n x: e.clientX,\n y: e.clientY\n });\n };\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(VueEasyCm);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueEasyCm);\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_script_index_0_EasyCm_vue__ = __webpack_require__(0);\n/* unused harmony namespace reexport */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_1_vue_loader_lib_template_compiler_index_id_data_v_92a164f6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_template_index_0_EasyCm_vue__ = __webpack_require__(9);\nfunction injectStyle (ssrContext) {\n __webpack_require__(3)\n}\nvar normalizeComponent = __webpack_require__(8)\n/* script */\n\n\n/* template */\n\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-92a164f6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_script_index_0_EasyCm_vue__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_13_7_1_vue_loader_lib_template_compiler_index_id_data_v_92a164f6_hasScoped_true_buble_transforms_node_modules_vue_loader_13_7_1_vue_loader_lib_selector_type_template_index_0_EasyCm_vue__[\"a\" /* default */],\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Component.exports);\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a \n\n\n\n// WEBPACK FOOTER //\n// src/lib/EasyCm.vue","import EasyCm from './EasyCm.vue'\nconst VueEasyCm = {\n install: function (Vue) {\n Vue.component('easy-cm', EasyCm)\n Vue.prototype.$easycm = function (e,root,tag) {\n e.stopPropagation()\n e.preventDefault()\n root.$emit('easyAxis',{\n tag: tag,\n x: e.clientX,\n y: e.clientY\n })\n }\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(VueEasyCm)\n}\n\nexport default VueEasyCm\n\n\n\n// WEBPACK FOOTER //\n// ./src/lib/index.js","function injectStyle (ssrContext) {\n require(\"!!vue-loader/node_modules/vue-style-loader!css-loader?minimize!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-92a164f6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/selector?type=styles&index=0!./EasyCm.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/selector?type=script&index=0!./EasyCm.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/selector?type=script&index=0!./EasyCm.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-92a164f6\\\",\\\"hasScoped\\\":true,\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/_vue-loader@13.7.1@vue-loader/lib/selector?type=template&index=0!./EasyCm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-92a164f6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/lib/EasyCm.vue\n// module id = 2\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a
55 |
56 |
57 |
58 |
59 |
60 |

61 |
{{ msg }}
62 |
在小方块上右击展示
63 |
调整网页宽高查看边界检测
64 |
65 | -
66 |
67 | 最简
68 |
69 | -
70 |
71 | 下划线
72 |
73 | -
74 |
75 | 子层箭头
76 |
77 | -
78 |
85 | 字体图标
86 |
87 | -
88 |
89 | 多层菜单
90 |
91 | -
92 |
93 | 触发点偏移
94 |
95 | -
96 |
97 | 选项宽高
98 |
99 | -
100 |
101 | 自定义样式
102 |
103 | -
104 |
105 | 回调函数
106 |
107 |
108 |
109 |
110 |
158 |