vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
1 lines • 4.51 kB
Source Map (JSON)
{"version":3,"file":"table-foot.vue2.cjs","sources":["../../../components/table/table-foot.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\n\nimport TableFootCell from './table-foot-cell.vue'\nimport TableRow from './table-row.vue'\nimport { useNameHelper } from '@vexip-ui/config'\nimport { getLast } from '@vexip-ui/utils'\nimport { TABLE_STORE } from './symbol'\n\nimport type { PropType } from 'vue'\n\ndefineOptions({ name: 'TableFoot' })\n\nconst props = defineProps({\n fixed: {\n type: String as PropType<'left' | 'right' | undefined>,\n default: null,\n },\n above: {\n type: Boolean,\n default: false,\n },\n})\n\nconst { state, getters, mutations } = inject(TABLE_STORE)!\n\nconst nh = useNameHelper('table')\n\nconst columns = computed(() => {\n return props.fixed === 'left'\n ? state.leftFixedColumns\n : props.fixed === 'right'\n ? state.rightFixedColumns\n : state.normalColumns\n})\nconst summaries = computed(() => (props.above ? state.aboveSummaries : state.belowSummaries))\nconst summaryData = computed(() => {\n return summaries.value.map(summary => {\n const key = mutations.buildSummaryKey(summary.key)\n const row = state.rowMap.get(key) || mutations.createMinRowState(key)\n\n return { summary, row }\n })\n})\nconst className = computed(() => {\n return [nh.be('foot'), nh.bem('foot', props.above ? 'above' : 'below')]\n})\nconst style = computed(() => {\n const width =\n props.fixed === 'left'\n ? getLast(getters.leftFixedWidths)\n : props.fixed === 'right'\n ? getLast(getters.rightFixedWidths)\n : getLast(getters.normalWidths)\n const padLeft = columns.value[0]?.fixed === 'left' ? state.sidePadding[0] || 0 : 0\n const padRight = getLast(columns.value)?.fixed === 'right' ? state.sidePadding[1] || 0 : 0\n\n return {\n minWidth: width && `${width + padLeft + padRight}px`,\n }\n})\n</script>\n\n<template>\n <div :class=\"className\" role=\"rowgroup\" :style=\"style\">\n <TableRow\n v-for=\"({ row, summary }, index) in summaryData\"\n :key=\"row.key\"\n is-foot\n :fixed=\"fixed\"\n :row=\"row\"\n :aria-rowindex=\"index\"\n >\n <TableFootCell\n v-for=\"(column, colIndex) in columns\"\n :key=\"colIndex\"\n :row=\"row\"\n :column=\"column\"\n :col-index=\"colIndex\"\n :summary=\"summary\"\n :summary-index=\"index\"\n :fixed=\"fixed\"\n :above=\"above\"\n :aria-colindex=\"colIndex\"\n ></TableFootCell>\n </TableRow>\n </div>\n</template>\n"],"names":["props","__props","state","getters","mutations","inject","TABLE_STORE","nh","useNameHelper","columns","computed","summaries","summaryData","summary","key","row","className","style","width","getLast","padLeft","_a","padRight","_createElementBlock","_openBlock","_Fragment","index","_createBlock","TableRow","_renderList","column","colIndex","TableFootCell"],"mappings":"yZAaA,MAAMA,EAAQC,EAWR,CAAE,MAAAC,EAAO,QAAAC,EAAS,UAAAC,CAAU,EAAIC,EAAAA,OAAOC,EAAAA,WAAW,EAElDC,EAAKC,gBAAc,OAAO,EAE1BC,EAAUC,EAAAA,SAAS,IAChBV,EAAM,QAAU,OACnBE,EAAM,iBACNF,EAAM,QAAU,QACdE,EAAM,kBACNA,EAAM,aACb,EACKS,EAAYD,WAAS,IAAOV,EAAM,MAAQE,EAAM,eAAiBA,EAAM,cAAe,EACtFU,EAAcF,EAAAA,SAAS,IACpBC,EAAU,MAAM,IAAeE,GAAA,CACpC,MAAMC,EAAMV,EAAU,gBAAgBS,EAAQ,GAAG,EAC3CE,EAAMb,EAAM,OAAO,IAAIY,CAAG,GAAKV,EAAU,kBAAkBU,CAAG,EAE7D,MAAA,CAAE,QAAAD,EAAS,IAAAE,CAAI,CAAA,CACvB,CACF,EACKC,EAAYN,EAAAA,SAAS,IAClB,CAACH,EAAG,GAAG,MAAM,EAAGA,EAAG,IAAI,OAAQP,EAAM,MAAQ,QAAU,OAAO,CAAC,CACvE,EACKiB,EAAQP,EAAAA,SAAS,IAAM,SAC3B,MAAMQ,EACJlB,EAAM,QAAU,OACZmB,UAAQhB,EAAQ,eAAe,EAC/BH,EAAM,QAAU,QACdmB,EAAAA,QAAQhB,EAAQ,gBAAgB,EAChCgB,EAAA,QAAQhB,EAAQ,YAAY,EAC9BiB,IAAUC,EAAAZ,EAAQ,MAAM,CAAC,IAAf,YAAAY,EAAkB,SAAU,QAASnB,EAAM,YAAY,CAAC,GAAK,EACvEoB,IAAWH,EAAAA,EAAAA,QAAQV,EAAQ,KAAK,IAArBU,YAAAA,EAAwB,SAAU,SAAUjB,EAAM,YAAY,CAAC,GAAK,EAE9E,MAAA,CACL,SAAUgB,GAAS,GAAGA,EAAQE,EAAUE,CAAQ,IAClD,CAAA,CACD,8BAICC,EAAA,mBAsBM,MAAA,CAtBA,uBAAOP,EAAS,KAAA,EAAE,KAAK,WAAY,uBAAOC,EAAK,KAAA,CAAA,IACnDO,EAAAA,UAAA,EAAA,EAAAD,qBAoBWE,EAAAA,2BAnB2Bb,EAAW,MAAA,CAAA,CAArC,IAAAG,EAAK,QAAAF,CAAA,EAAWa,mBAD5BC,EAAA,YAoBWC,EAAA,CAlBR,IAAKb,EAAI,IACV,UAAA,GACC,MAAOd,EAAK,MACZ,IAAAc,EACA,gBAAeW,CAAA,qBAGd,IAAqC,EADvCF,EAAAA,UAAA,EAAA,EAAAD,EAWiB,mBAAAE,WAVc,KAAAI,EAAA,WAAApB,EAAA,MAArB,CAAAqB,EAAQC,mBADlBJ,EAAA,YAWiBK,EAAA,CATd,IAAKD,EACL,IAAAhB,EACA,OAAAe,EACA,YAAWC,EACX,QAAAlB,EACA,gBAAea,EACf,MAAOzB,EAAK,MACZ,MAAOA,EAAK,MACZ,gBAAe8B"}