adminforth 2.4.0-next.132 → 2.4.0-next.134
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/spa/src/afcl/Table.vue +12 -3
- package/package.json +1 -1
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
:row-heights="rowHeights"
|
|
24
24
|
:column-widths="columnWidths"
|
|
25
25
|
/>
|
|
26
|
+
<tr v-else-if="!isLoading && dataPage.length === 0" class="afcl-table-empty-body">
|
|
27
|
+
<td :colspan="columns.length" class="px-6 py-12 text-center">
|
|
28
|
+
<div class="flex flex-col items-center justify-center text-lightTableText dark:text-darkTableText">
|
|
29
|
+
<IconTableRowOutline class="w-10 h-10 mb-4 text-gray-400 dark:text-gray-500" />
|
|
30
|
+
<p class="text-md">{{ $t('No data available') }}</p>
|
|
31
|
+
</div>
|
|
32
|
+
</td>
|
|
33
|
+
</tr>
|
|
26
34
|
<tr
|
|
27
35
|
v-else="!isLoading"
|
|
28
36
|
v-for="(item, index) in dataPage"
|
|
@@ -118,9 +126,10 @@
|
|
|
118
126
|
<script setup lang="ts">
|
|
119
127
|
import { ref, computed, useTemplateRef, watch, shallowRef, toRef } from 'vue';
|
|
120
128
|
import SkeleteLoader from '@/components/SkeleteLoader.vue';
|
|
129
|
+
import { IconTableRowOutline } from '@iconify-prerendered/vue-flowbite';
|
|
121
130
|
|
|
122
131
|
type Row = Record<string, unknown>
|
|
123
|
-
type LoadFn = (
|
|
132
|
+
type LoadFn = (params: { offset: number, limit: number }) => Promise<{ data: Row[]; total: number }>
|
|
124
133
|
|
|
125
134
|
const isFunc = (v: unknown): v is LoadFn => typeof v === 'function'
|
|
126
135
|
|
|
@@ -144,7 +153,7 @@
|
|
|
144
153
|
error.value = null
|
|
145
154
|
try {
|
|
146
155
|
if (isFunc(props.data)) {
|
|
147
|
-
const res = await props.data(page.value, pageSize.value)
|
|
156
|
+
const res = await props.data({offset: ((page.value - 1) * pageSize.value), limit: pageSize.value})
|
|
148
157
|
if (id !== requestId) return
|
|
149
158
|
result.value = res
|
|
150
159
|
} else {
|
|
@@ -174,7 +183,7 @@
|
|
|
174
183
|
}[],
|
|
175
184
|
data: {
|
|
176
185
|
[key: string]: any,
|
|
177
|
-
}[] | ((offset: number, limit: number) => Promise<{data: {[key: string]: any}[], total: number}>),
|
|
186
|
+
}[] | ((params: { offset: number, limit: number }) => Promise<{data: {[key: string]: any}[], total: number}>),
|
|
178
187
|
evenHighlights?: boolean,
|
|
179
188
|
pageSize?: number,
|
|
180
189
|
}>(), {
|