ideaz-element
Version:
<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>
3 lines (2 loc) • 4.34 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),q=require("@element-plus/icons-vue");require("../../../../utils/index.cjs");const V=require("element-plus"),S=require("../TableButton.cjs");require("../../../form/src/hooks/index.cjs");const x=require("../TableCustomColumnContainer.cjs"),E=require("../../../../hooks/useNamespace.cjs"),$=require("../../../../hooks/useLocale.cjs"),o=require("../../../../utils/is.cjs"),T=require("../../../form/src/hooks/useFormItems.cjs"),j=require("../../../../utils/getEventsFromCamel.cjs");function O(i){return typeof i=="function"||Object.prototype.toString.call(i)==="[object Object]"&&!l.isVNode(i)}function z(i){const u=["select","checkbox","radio","input"],f=typeof i=="function"?i():i;return u.includes(f)?`z-${f}`:f||"unknown"}function L(i,u,f){const b=l.shallowRef({}),s=E.useNamespace("table-column"),{t:g}=$.useLocale(),y=e=>{var c,m,a,N,v;const{column:n={}}=i,d=i.tableProps.options,r=n.prop,t=o.isFunction(n.component)?n.component():o.isObject(n.component)?n.component.name:n.component;if(t==="radio"||t==="select"&&!((c=n.fieldProps)!=null&&c.multiple))return d[r]?(m=d[r].find(p=>p.value===(e==null?void 0:e[r])))==null?void 0:m.label:"";if(t==="select"&&((a=n.fieldProps)!=null&&a.multiple)||t==="checkbox"){const p=[];return e[r]&&e[r].forEach(P=>{var h;p.push((h=d[r].find(C=>C.value===P))==null?void 0:h.label)}),p.join(",")}return t==="el-switch"?e[r]?((N=n.fieldProps)==null?void 0:N.activeText)||"true":((v=n.fieldProps)==null?void 0:v.inactiveText)||"false":e[r]},F=()=>{var c;const e=i.column,n=i.column.label,d=o.isFunction(e.component)?e.component():o.isObject(e.component)?e.component.name:e.component;let r="",t={};return T.SELECT_TYPES.includes((d||"").toLowerCase())?r=n?`${g("form.selectPlaceholder")}${n}`:`${g("form.selectPlaceholder")}`:r=n?`${g("form.inputPlaceholder")}${n}`:`${g("form.inputPlaceholder")}`,(e.required===!0||(c=e.rules)!=null&&c.required)&&(t={required:!0,message:r,...e.rules}),o.isEmptyObject(t)?void 0:t};return l.watch(()=>i.column,()=>{const{column:e={},size:n,tableProps:d}=i,r=e.prop||"";if((!["index","selection","radio",void 0].includes(e.type)||e.slot||e.render||e.component)&&(b.value.default=t=>{var m;const c=()=>{var N;const a=j.getEventsFromCamel(e);return l.createVNode(x,{modelValue:t.row[r],"onUpdate:modelValue":v=>{const p={...t.row,[r]:v},P=[...i.tableProps.data];P.splice(t.$index,1,p),f("update:data",P)},componentName:z(e.component),evts:a,size:n,options:((N=d.options)==null?void 0:N[r])||[],scope:t,column:e,fieldProps:e.fieldProps},null)};if(e.type==="expand"&&o.isFunction(u.expand))return u.expand(t);if(e.slot&&u[e.slot])return u[e.slot](t);if(e.type==="sort"&&o.isFunction(u.sort))return l.createVNode("div",{class:s.b("draggable")},[u.sort(t)]);if(e.type==="sort"&&o.isFunction(e.render))return l.createVNode("div",{class:s.b("draggable")},[e.render(t)]);if(o.isFunction(e.render))return e.render(t);if(e.type==="button"&&o.isArray(e.buttons))return l.createVNode("div",{class:s.e("operation")},[(m=e.buttons)==null?void 0:m.map(a=>l.createVNode(S,{button:a,scope:t,size:n},null))]);if(e.type==="sort")return l.createVNode("div",{class:s.b("draggable")},[l.createVNode(V.ElIcon,{class:s.be("draggable","handle"),size:24},{default:()=>[l.createVNode(q.Operation,null,null)]})]);if(d.editable){let a;return t.row.__isEdit===!0?l.createVNode(V.ElFormItem,{prop:`tableData.${t.$index}.${e.prop}`,rules:F(),class:[s.b("form-item"),s.bm("form-item",n)]},O(a=c())?a:{default:()=>[a]}):l.createVNode("span",null,[y(t.row)])}return e.slot&&!u[e.slot]||e.type==="expand"&&!o.isFunction(u.expand)?null:c()}),o.isSlot(e.label)&&u[e.label]&&(b.value.header=t=>u[e.label](t)),o.isFunction(e.label)&&(b.value.header=t=>e.label(t)),!o.isSlot(e.label)&&!o.isFunction(e.label)&&e.tooltip){const t=e.tooltip,c=o.isObject(t)?t:{content:o.isString(t)?t:""},m={};b.value.header=a=>(o.isFunction(t)&&(m.content=()=>t(a)),l.createVNode("span",null,[e.label,l.createVNode(V.ElTooltip,l.mergeProps({effect:"dark",placement:"top"},c),{default:()=>[t&&l.createVNode(V.ElIcon,{class:s.be("label","icon")},{default:()=>[l.createVNode(q.QuestionFilled,null,null)]})],...m})]))}},{immediate:!0,deep:!0}),{scopedSlots:b}}exports.useTableColumnSlots=L;
//# sourceMappingURL=useTableColumnSlots.cjs.map