Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions adminforth/spa/src/components/ResourceListTable.vue
Original file line number Diff line number Diff line change
Expand Up @@ -418,8 +418,12 @@ const rowHeights = ref<number[]>([]);
const columnWidths = ref<number[]>([]);
watch(() => props.rows, (newRows) => {
// rows are set to null when new records are loading
rowHeights.value = newRows || !rowRefs.value ? [] : rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
columnWidths.value = newRows || !headerRefs.value ? [] : [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
if (!newRows) return;
nextTick(() => {
if (rowRefs.value) rowHeights.value = rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
if (headerRefs.value) columnWidths.value = [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
});
});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

watch(() => props.rows, async (newRows) => {
  // rows are set to null when new records are loading
  rowHeights.value = newRows || !rowRefs.value ? [] : rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
  columnWidths.value = newRows || !headerRefs.value ? [] : [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
  if (!newRows) return; 

  await nextTick();

  if (rowRefs.value) {
    rowHeights.value = rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
  }
  if (headerRefs.value) {
     columnWidths.value = [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
  }
  
});

function addToCheckedValues(id: string) {
Expand Down
12 changes: 10 additions & 2 deletions adminforth/spa/src/components/ResourceListTableVirtual.vue
Original file line number Diff line number Diff line change
Expand Up @@ -443,8 +443,16 @@ const rowHeights = ref<number[]>([]);
const columnWidths = ref<number[]>([]);
watch(() => props.rows, (newRows) => {
// rows are set to null when new records are loading
rowHeights.value = newRows || !rowRefs.value ? [] : rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
columnWidths.value = newRows || !headerRefs.value ? [] : [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
if (!newRows) return;
nextTick(() => {
if (rowRefs.value) {
rowHeights.value = rowRefs.value.map((el: HTMLElement) => el.offsetHeight);
}
if (headerRefs.value) {
// 48 - это примерная ширина чекбокса, если он есть
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove comment

columnWidths.value = [48, ...headerRefs.value.map((el: HTMLElement) => el.offsetWidth)];
}
});
});

function addToCheckedValues(id: any) {
Expand Down