UNPKG

el-plus-powerful-table-ts

Version:

## [DOCS](https://peng-xiao-shuai.github.io/vite-vue-admin-docs/zh-CN/component/powerful-table-doc.html)

2 lines (1 loc) 2.61 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),l=require("element-plus"),y=require("../../keys.js"),w=require("../../powerful-table/src/powerful-table-data.js"),V=require("../../locale/lang.js"),m=require("../../locale/packages.js");function p(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!r.isVNode(e)}const u=r.defineComponent({name:"PTButton",props:{...w.powerfulTableComponentProp,prop:{type:Object,default:()=>({})}},emits:["return-emit","component-emit"],setup(e,{emit:d}){const g=r.inject(y.JustifyFunSymbol),b=r.inject(y.SizeSymbol),c=(t,o)=>r.createVNode(l.ElButton,r.mergeProps({size:b,style:t.style||{},type:"primary",onClick:a=>{if(a.stopPropagation(),!t.isMore){if(typeof t.click=="function"){t.click({props:e.prop,params:t.params,row:e.row,index:e.index,btnIndex:o});return}typeof t.beforeClick=="function"?new Promise(n=>{t.beforeClick({row:e.row,index:e.index,btnIndex:o,props:e.prop,params:t.params},n)}).then(n=>{n&&d("return-emit","btn-click",{props:e.prop,params:t.params,row:e.row,index:e.index,btnIndex:o})}):d("return-emit","btn-click",{props:e.prop,params:t.params,row:e.row,index:e.index,btnIndex:o})}}},w.isProperty({row:e.row,index:e.index,props:e.prop},t==null?void 0:t.property)),{default:()=>[t.text]}),f=(t,o)=>{let a;return r.createVNode(r.Fragment,null,[t.tip?r.createVNode(l.ElTooltip,r.mergeProps({"popper-class":t.tip?"":"no-tooltip",effect:"dark",content:t.tip,placement:"top"},t.tipProperty),p(a=c(t,o))?a:{default:()=>[a]}):r.createVNode(r.Fragment,null,[c(t,o)])])};return()=>{var t;return r.createVNode(r.Fragment,null,[r.createVNode("div",{class:"btnType",style:{display:"flex",alignItems:"center",width:"100%",flexWrap:"wrap",justifyContent:g(e.aligning)}},[r.createVNode("span",{style:{marginRight:e.prop.text?"10px":"0px"}},[e.prop.text||""]),(t=e.prop.data)==null?void 0:t.filter(o=>typeof o.showBtn=="function"?o.showBtn(e.row,e.index):o.showBtn===void 0?!0:o.showBtn).map((o,a)=>Array.isArray(o)?r.createVNode(l.ElDropdown,{class:"el-dropdown-more"},{default:()=>[r.createVNode("div",null,[(o.some(n=>n.isMore)?[o.find(n=>n.isMore)]:[{tip:V.t(m.LangKey.More)}]).map(n=>r.createVNode(r.Fragment,null,[c(n,[a])]))])],dropdown:()=>{let n;return r.createVNode(l.ElDropdownMenu,null,p(n=o.filter(i=>!i.isMore).map((i,N)=>{let s;return r.createVNode(l.ElDropdownItem,{key:a},p(s=f(i,[a,N]))?s:{default:()=>[s]})}))?n:{default:()=>[n]})}}):f(o,[a]))])])}}});u.install=e=>{e.component(u.name,u)};const P=u;exports.PTButton=P;exports.default=u;