UNPKG

vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

3 lines (2 loc) 2.02 kB
"use strict";const e=require("vue");require("./table-foot-cell.vue.cjs");require("./table-row.vue.cjs");const _=require("@vexip-ui/config"),u=require("@vexip-ui/utils"),k=require("./symbol.cjs"),h=require("./table-row.vue2.cjs"),B=require("./table-foot-cell.vue2.cjs"),w=e.defineComponent({name:"TableFoot",__name:"table-foot",props:{fixed:{type:String,default:null},above:{type:Boolean,default:!1}},setup(l){const r=l,{state:t,getters:c,mutations:f}=e.inject(k.TABLE_STORE),p=_.useNameHelper("table"),d=e.computed(()=>r.fixed==="left"?t.leftFixedColumns:r.fixed==="right"?t.rightFixedColumns:t.normalColumns),x=e.computed(()=>r.above?t.aboveSummaries:t.belowSummaries),g=e.computed(()=>x.value.map(a=>{const n=f.buildSummaryKey(a.key),o=t.rowMap.get(n)||f.createMinRowState(n);return{summary:a,row:o}})),v=e.computed(()=>[p.be("foot"),p.bem("foot",r.above?"above":"below")]),b=e.computed(()=>{var s,i;const a=r.fixed==="left"?u.getLast(c.leftFixedWidths):r.fixed==="right"?u.getLast(c.rightFixedWidths):u.getLast(c.normalWidths),n=((s=d.value[0])==null?void 0:s.fixed)==="left"&&t.sidePadding[0]||0,o=((i=u.getLast(d.value))==null?void 0:i.fixed)==="right"&&t.sidePadding[1]||0;return{minWidth:a&&`${a+n+o}px`}});return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(v.value),role:"rowgroup",style:e.normalizeStyle(b.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,({row:o,summary:s},i)=>(e.openBlock(),e.createBlock(h,{key:o.key,"is-foot":"",fixed:l.fixed,row:o,"aria-rowindex":i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(y,m)=>(e.openBlock(),e.createBlock(B,{key:m,row:o,column:y,"col-index":m,summary:s,"summary-index":i,fixed:l.fixed,above:l.above,"aria-colindex":m},null,8,["row","column","col-index","summary","summary-index","fixed","above","aria-colindex"]))),128))]),_:2},1032,["fixed","row","aria-rowindex"]))),128))],6))}});module.exports=w; //# sourceMappingURL=table-foot.vue2.cjs.map