vxe-table
Version:
A PC-end table component based on Vxe UI, supporting copy-paste, data pivot table, and high-performance virtual list table solution.
1 lines • 3.89 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_vn=require("../../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getIcon,getI18n,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableMenuPanel",setup(e,n){var t=_xeUtils.default.uniqueId();let _=(0,_vue.inject)("$xeTable",{}),u=_.reactData,l=(0,_vue.ref)(),s={refElem:l};t={xID:t,props:e,context:n,getRefMaps:()=>s};return t.renderVN=()=>{let v=u.ctxMenuStore;var e=_.getComputeMaps().computeMenuOpts,{transfer:e,destroyOnClose:n,className:t}=e.value,{visible:s,list:i}=v;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!e},[(0,_vue.h)("div",{ref:l,class:["vxe-table--context-menu-wrapper",t,{"is--visible":s}],style:v.style},!n||s?i.map((e,r)=>e.every(e=>!1===e.visible)?renderEmptyElement(_):(0,_vue.h)("ul",{class:"vxe-table--context-menu-group-wrapper",key:r},e.map((o,c)=>{var{children:e,loading:n}=o,t=e&&e.some(e=>!1!==e.visible),s=Object.assign({},o.prefixConfig),i=s.icon||o.prefixIcon,u=Object.assign({},o.suffixConfig),l=u.icon||o.suffixIcon,a=(0,_utils.getFuncText)(o.name);return!1===o.visible?renderEmptyElement(_):(0,_vue.h)("li",{class:["vxe-table--context-menu--option",o.className,{"link--loading":n,"link--disabled":o.disabled,"link--active":o===v.selected}],key:r+"_"+c},[(0,_vue.h)("a",{class:"vxe-context-menu--link",onClick(e){_.ctxMenuLinkEvent(e,o)},onMouseover(e){_.ctxMenuMouseoverEvent(e,o)},onMouseout(e){_.ctxMenuMouseoutEvent(e,o)}},[(0,_vue.h)("div",{class:["vxe-context-menu--link-prefix",s.className||""]},[n?(0,_vue.h)("span",{class:getIcon("TABLE_MENU_OPTION_LOADING")}):i&&_xeUtils.default.isFunction(i)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(i({}))):(0,_vue.h)("span",{},[(0,_vue.h)("i",{class:i})]),s.content?(0,_vue.h)("span",{},""+s.content):renderEmptyElement(_)]),(0,_vue.h)("div",{class:"vxe-context-menu--link-content",title:a},n?getI18n("vxe.table.menuLoading"):a),(0,_vue.h)("div",{class:["vxe-context-menu--link-suffix",u.className||""]},[l&&_xeUtils.default.isFunction(l)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(l({}))):(0,_vue.h)("i",{class:l||(t?getIcon().TABLE_MENU_OPTIONS:"")}),u.content?(0,_vue.h)("span",""+u.content):renderEmptyElement(_)])]),t&&e?(0,_vue.h)("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":o===v.selected&&v.showChild}]},e.map((n,e)=>{var t=n.loading,s=Object.assign({},n.prefixConfig),i=s.icon||n.prefixIcon,u=Object.assign({},n.suffixConfig),l=u.icon||n.suffixIcon,a=(0,_utils.getFuncText)(n.name);return!1===n.visible?null:(0,_vue.h)("li",{class:["vxe-table--context-menu--option",n.className,{"link--loading":t,"link--disabled":n.disabled,"link--active":n===v.selectChild}],key:r+`_${c}_`+e},[(0,_vue.h)("a",{class:"vxe-context-menu--link",onClick(e){_.ctxMenuLinkEvent(e,n)},onMouseover(e){_.ctxMenuMouseoverEvent(e,o,n)},onMouseout(e){_.ctxMenuMouseoutEvent(e,o)}},[(0,_vue.h)("div",{class:["vxe-context-menu--link-prefix",s.className||""]},[n.loading?(0,_vue.h)("span",{class:getIcon("TABLE_MENU_OPTION_LOADING")}):i&&_xeUtils.default.isFunction(i)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(i({}))):(0,_vue.h)("span",{},[(0,_vue.h)("i",{class:i})]),s.content?(0,_vue.h)("span",""+s.content):renderEmptyElement(_)]),(0,_vue.h)("div",{class:"vxe-context-menu--link-content",title:a},t?getI18n("vxe.table.menuLoading"):a),(0,_vue.h)("div",{class:["vxe-context-menu--link-suffix",u.className||""]},[l&&_xeUtils.default.isFunction(l)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(l({}))):(0,_vue.h)("i",{class:l}),u.content?(0,_vue.h)("span",""+u.content):renderEmptyElement(_)])])])})):null])}))):[])])},t},render(){return this.renderVN()}});