Skip to content

Commit d4eb7f0

Browse files
committed
Add numbering option to TableGenerator component
1 parent a18f1e1 commit d4eb7f0

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/components/TableGenerator.vue

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const props = defineProps<{
3131
data?: T[] | undefined | null;
3232
loading?: boolean;
3333
showTotal?: boolean;
34+
showNumbering?: boolean;
3435
}>();
3536
3637
const { data, loading, head } = toRefs(props);
@@ -70,6 +71,9 @@ const innerLoading = computed(() => {
7071
<TableTable>
7172
<TableHead>
7273
<TableRow class="divide-x divide-gray-200">
74+
<TableHeader v-if="showNumbering" class="text-right">
75+
#
76+
</TableHeader>
7377
<template v-for="item in computedHead" :key="item.name">
7478
<TableHeader
7579
:class="{
@@ -94,6 +98,9 @@ const innerLoading = computed(() => {
9498
:key="index"
9599
class="divide-x divide-gray-100"
96100
>
101+
<TableData v-if="showNumbering" class="text-right">
102+
{{ index + 1 }}
103+
</TableData>
97104
<template v-for="headItem in computedHead" :key="headItem.name">
98105
<TableData
99106
:class="{
@@ -117,12 +124,12 @@ const innerLoading = computed(() => {
117124
</template>
118125
</TableRow>
119126
<TableRow v-show="innerLoading">
120-
<TableData :colspan="head.length">
127+
<TableData :colspan="head.length + (showNumbering ? 1 : 0)">
121128
<CircleLoader />
122129
</TableData>
123130
</TableRow>
124131
<TableRow v-if="showTotal">
125-
<TableData :colspan="head.length - 1" />
132+
<TableData :colspan="head.length - 1 + (showNumbering ? 1 : 0)" />
126133
<TableData class="text-right !py-2.5 md:sticky right-0">
127134
<span v-if="!innerLoading && data">{{ data.length }} Total</span>
128135
<span v-else>Loading...</span>

0 commit comments

Comments
 (0)