@easyui/element-plus-pro
Version:
This is an extended ui components library for element-plus
2 lines (1 loc) • 2.26 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../../utils/_install.min.js"),e=require("vue"),x=require("../../../_dependencies/lodash.min.js"),k=require("../../../_dependencies/element-plus-icons.min.js"),w=require("../../../hooks/_useTheme.min.js"),B=require("../../../hooks/_useSortable.min.js"),q=e.defineComponent({name:"SSortTable",__name:"sort-table",props:{dataSource:{default:()=>[]},columns:{default:()=>[]},loading:{type:Boolean,default:!1},height:{},maxHeight:{},size:{},selection:{},rowKey:{default:"id"},fit:{type:Boolean,default:!0},stripe:{type:Boolean,default:!1},border:{type:Boolean,default:!1},hasSerial:{type:Boolean,default:!0},showHeader:{type:Boolean,default:!0},emptyText:{default:"暂无数据"},emptyPlaceholder:{type:Boolean,default:!0}},emits:["update:dataSource","dragStart","dragChange","dragEnd"],setup(c){const{_themePre:d}=w(),i=e.useSlots(),o=c,{dragHandleClass:m,sortDragging:f,dataRecords:p,initSortable:s}=B(o,()=>{var l,a;return(a=(l=r.value)==null?void 0:l.$el)==null?void 0:a.querySelector(".el-table .el-table__body-wrapper .el-table__body > tbody")}),r=e.ref(),b=e.computed(()=>({[`${d}-sort-table`]:!0,"sort-table-dragging":f.value})),S=e.computed(()=>x.lodashExports.omit(o,["columns","dataSource"])),n=e.computed(()=>!!(o.columns||[]).find(t=>t.fixed)),_=e.computed(()=>{const t=[...o.columns];return t.unshift({width:o.size==="small"?35:45,className:m,align:"center",resizable:!1,headerSlot:"dragHeaderHandle",columnOrder:-1,fixed:n.value}),t}),h=e.computed(()=>Object.keys(i));return e.watch(n,()=>{r.value&&e.nextTick(()=>{s()})}),e.onMounted(()=>{e.nextTick(()=>{s()})}),(t,l)=>{const a=e.resolveComponent("el-icon"),g=e.resolveComponent("s-table");return e.openBlock(),e.createBlock(g,e.mergeProps({ref_key:"sortTableRef",ref:r,dataSource:e.unref(p),columns:_.value,class:b.value},S.value),e.createSlots({dragHeaderHandle:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(e.unref(k.rank_default))]),_:1})]),_:2},[e.renderList(h.value,u=>({name:u,fn:e.withCtx(({record:y,text:T,index:C})=>[e.renderSlot(t.$slots,u,{record:y,text:T,index:C})])}))]),1040,["dataSource","columns","class"])}}}),H=v.withInstall(q);exports.SSortTable=H;