UNPKG

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.83 kB
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",{}),l=_.reactData,u=(0,_vue.ref)(),s={refElem:u};t={xID:t,props:e,context:n,getRefMaps:()=>s};return t.renderVN=()=>{let v=l.ctxMenuStore;var e=_.getComputeMaps().computeMenuOpts,{transfer:e,destroyOnClose:n}=e.value,{visible:t,list:s,className:i}=v;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!e},[(0,_vue.h)("div",{ref:u,class:["vxe-table--context-menu-wrapper",i,{"is--visible":t}],style:v.style},!n||t?s.map((e,r)=>e.every(e=>!1===e.visible)?renderEmptyElement(_):(0,_vue.h)("ul",{class:"vxe-context-menu--option-wrapper",key:r},e.map((o,c)=>{var{children:e,loading:n}=o,e=e&&e.some(e=>!1!==e.visible),t=Object.assign({},o.prefixConfig),s=t.icon||o.prefixIcon,i=Object.assign({},o.suffixConfig),l=i.icon||o.suffixIcon,u=(0,_utils.getFuncText)(o.name);return!1===o.visible?renderEmptyElement(_):(0,_vue.h)("li",{class:[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",t.className||""]},[n?(0,_vue.h)("span",{class:getIcon("TABLE_MENU_OPTION_LOADING")}):s&&_xeUtils.default.isFunction(s)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(s({}))):(0,_vue.h)("span",{},[(0,_vue.h)("i",{class:s})]),t.content?(0,_vue.h)("span",{},""+t.content):renderEmptyElement(_)]),(0,_vue.h)("div",{class:"vxe-context-menu--link-content",title:u},n?getI18n("vxe.table.menuLoading"):u),(0,_vue.h)("div",{class:["vxe-context-menu--link-suffix",i.className||""]},[l&&_xeUtils.default.isFunction(l)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(l({}))):(0,_vue.h)("i",{class:l||(e?getIcon().TABLE_MENU_OPTIONS:"")}),i.content?(0,_vue.h)("span",""+i.content):renderEmptyElement(_)])]),e&&o.children?(0,_vue.h)("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":o===v.selected&&v.showChild}]},o.children.map((n,e)=>{var t=n.loading,s=Object.assign({},n.prefixConfig),i=s.icon||n.prefixIcon,l=Object.assign({},n.suffixConfig),u=l.icon||n.suffixIcon,a=(0,_utils.getFuncText)(n.name);return!1===n.visible?null:(0,_vue.h)("li",{class:[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",l.className||""]},[u&&_xeUtils.default.isFunction(u)?(0,_vue.h)("span",{},(0,_vn.getSlotVNs)(u({}))):(0,_vue.h)("i",{class:u}),l.content?(0,_vue.h)("span",""+l.content):renderEmptyElement(_)])])])})):null])}))):[])])},t},render(){return this.renderVN()}});