UNPKG

vexip-ui

Version:

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

3 lines (2 loc) 1.24 kB
"use strict";const u=require("vue"),y=require("@vexip-ui/config"),d=require("@vexip-ui/utils"),a=require("./props.cjs"),f=require("./symbol.cjs"),S=Object.keys(a.tableSummaryProps),P={idKey:"key"},g=["renderer"],q=["idKey","cellSpan","order","above"],i={default:null,isFunc:!0,static:!0},K=u.defineComponent({name:"TableSummary",props:a.tableSummaryProps,setup(m,{slots:t}){const s=y.useProps("tableSummary",m,{idKey:{default:null,validator:e=>!d.isNull(e),static:!0},class:null,style:null,attrs:null,cellSpan:i,order:{default:0,static:!0},above:{default:!1,static:!0},meta:null,renderer:i}),r=u.inject(f.TABLE_ACTIONS,null),n=u.reactive({});for(const e of S){if(g.includes(e))continue;const c=P[e]||e,p=q.includes(e);n[c]=s[e],u.watch(()=>s[e],l=>{n[c]=l,p?r==null||r.updateSummaries():r==null||r.setSummaryProp(n.key,e,l)})}u.watch(()=>s.renderer,o),o(),r==null||r.increaseSummary(n),u.onBeforeUnmount(()=>{r==null||r.decreaseSummary(n)});function o(){n.renderer=e=>typeof e.column.summaryRenderer=="function"?e.column.summaryRenderer({...e,summary:n}):typeof t.default=="function"?u.renderSlot(t,"default",e):typeof s.renderer=="function"?s.renderer(e):""}return()=>null}});module.exports=K; //# sourceMappingURL=table-summary.cjs.map