diff --git a/adminforth/spa/src/components/ResourceListTable.vue b/adminforth/spa/src/components/ResourceListTable.vue
index 48030b79..e806e99a 100644
--- a/adminforth/spa/src/components/ResourceListTable.vue
+++ b/adminforth/spa/src/components/ResourceListTable.vue
@@ -63,7 +63,8 @@
@@ -80,6 +81,7 @@
|
-import { computed, onMounted, ref, watch, type Ref } from 'vue';
+import { computed, onMounted, ref, watch, useTemplateRef, type Ref } from 'vue';
import { callAdminForthApi } from '@/utils';
import { useI18n } from 'vue-i18n';
import ValueRenderer from '@/components/ValueRenderer.vue';
@@ -347,6 +349,13 @@ watch(() => props.page, (newPage) => {
page.value = newPage;
});
+const rowRefs = useTemplateRef('rowRefs');
+const rowHeights = ref([]);
+watch(() => props.rows, (newRows) => {
+ // rows are set to null when new records are loading
+ rowHeights.value = newRows ? [] : rowRefs.value.map((el) => el.offsetHeight);
+});
+
function addToCheckedValues(id) {
if (checkboxesInternal.value.includes(id)) {
checkboxesInternal.value = checkboxesInternal.value.filter((item) => item !== id);
diff --git a/adminforth/spa/src/components/SkeleteLoader.vue b/adminforth/spa/src/components/SkeleteLoader.vue
index e6a2684d..d723d4b6 100644
--- a/adminforth/spa/src/components/SkeleteLoader.vue
+++ b/adminforth/spa/src/components/SkeleteLoader.vue
@@ -1,6 +1,10 @@
-
-
+ |
+
@@ -10,9 +14,12 @@
|