vxe-table-ro-test
Version:
一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、列拖拽,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...
1 lines • 3.04 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getIcon=_ui.VxeUI["getIcon"];var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableMenuPanel",setup(e,n){var t=_xeUtils.default.uniqueId();const o=(0,_vue.inject)("$xeTable",{}),s=o["reactData"],u=(0,_vue.ref)(),i={refElem:u};t={xID:t,props:e,context:n,getRefMaps:()=>i};return t.renderVN=()=>{const c=s["ctxMenuStore"];var e=o.getComputeMaps()["computeMenuOpts"],e=e.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!1},[(0,_vue.h)("div",{ref:u,class:["vxe-table--context-menu-wrapper",e.className,{"is--visible":c.visible}],style:c.style},c.list.map((e,l)=>e.every(e=>!1===e.visible)?(0,_vue.createCommentVNode)():(0,_vue.h)("ul",{class:"vxe-context-menu--option-wrapper",key:l},e.map((u,i)=>{var e=u.children&&u.children.some(e=>!1!==e.visible),n=Object.assign({},u.prefixConfig),t=Object.assign({},u.suffixConfig);return!1===u.visible?null:(0,_vue.h)("li",{class:[u.className,{"link--disabled":u.disabled,"link--active":u===c.selected}],key:l+"_"+i},[(0,_vue.h)("a",{class:"vxe-context-menu--link",onClick(e){o.ctxMenuLinkEvent(e,u)},onMouseover(e){o.ctxMenuMouseoverEvent(e,u)},onMouseout(e){o.ctxMenuMouseoutEvent(e,u)}},[(0,_vue.h)("div",{class:["vxe-context-menu--link-prefix",n.className||""]},[(0,_vue.h)("i",{class:n.icon||u.prefixIcon}),n.content?(0,_vue.h)("span",{},""+n.content):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-context-menu--link-content"},(0,_utils.getFuncText)(u.name)),(0,_vue.h)("div",{class:["vxe-context-menu--link-suffix",t.className||""]},[(0,_vue.h)("i",{class:t.icon||u.suffixIcon||(e?getIcon().TABLE_MENU_OPTIONS:"")}),t.content?(0,_vue.h)("span",""+t.content):(0,_vue.createCommentVNode)()])]),e?(0,_vue.h)("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":u===c.selected&&c.showChild}]},u.children.map((n,e)=>{var t=Object.assign({},n.prefixConfig),s=Object.assign({},n.suffixConfig);return!1===n.visible?null:(0,_vue.h)("li",{class:[n.className,{"link--disabled":n.disabled,"link--active":n===c.selectChild}],key:l+`_${i}_`+e},[(0,_vue.h)("a",{class:"vxe-context-menu--link",onClick(e){o.ctxMenuLinkEvent(e,n)},onMouseover(e){o.ctxMenuMouseoverEvent(e,u,n)},onMouseout(e){o.ctxMenuMouseoutEvent(e,u)}},[(0,_vue.h)("div",{class:["vxe-context-menu--link-prefix",t.className||""]},[(0,_vue.h)("i",{class:t.icon||n.prefixIcon}),t.content?(0,_vue.h)("span",""+t.content):(0,_vue.createCommentVNode)()]),(0,_vue.h)("div",{class:"vxe-context-menu--link-content"},(0,_utils.getFuncText)(n.name)),(0,_vue.h)("div",{class:["vxe-context-menu--link-suffix",s.className||""]},[(0,_vue.h)("i",{class:s.icon}),s.content?(0,_vue.h)("span",""+s.content):(0,_vue.createCommentVNode)()])])])})):null])}))))])},t},render(){return this.renderVN()}});