diff --git a/resources/js/Pages/ReportingDetailed.vue b/resources/js/Pages/ReportingDetailed.vue index 29df24a1..92d7d4f4 100644 --- a/resources/js/Pages/ReportingDetailed.vue +++ b/resources/js/Pages/ReportingDetailed.vue @@ -383,7 +383,7 @@ async function downloadExport(format: ExportFormat) { @submit="clearSelectionAndState" @select-all="selectedTimeEntries = [...timeEntries]" @unselect-all="selectedTimeEntries = []"> -
+
-
+
-import { computed, onMounted, ref, watch } from 'vue'; +import { computed } from 'vue'; import type { CreateClientBody, CreateProjectBody, @@ -38,8 +38,6 @@ const props = defineProps<{ canCreateProject: boolean; }>(); -const maxVisibleGroups = ref(7); // Start with 10 day groups, then show all - const groupedTimeEntries = computed(() => { const groupedEntriesByDay: Record = {}; for (const entry of props.timeEntries) { @@ -137,43 +135,11 @@ function unselectAllTimeEntries(value: TimeEntriesGroupedByType[]) { ); }); } - -const visibleGroupedEntries = computed(() => { - const allGroups = Object.entries(groupedTimeEntries.value); - return Object.fromEntries(allGroups.slice(0, maxVisibleGroups.value)); -}); - -const totalGroups = computed(() => Object.keys(groupedTimeEntries.value).length); - -function startProgressiveLoading() { - const loadMoreGroups = () => { - if (maxVisibleGroups.value < totalGroups.value) { - maxVisibleGroups.value = Math.min(maxVisibleGroups.value + 5, totalGroups.value); - - if (maxVisibleGroups.value < totalGroups.value) { - requestIdleCallback(loadMoreGroups); - } - } - }; - - requestIdleCallback(loadMoreGroups); -} - -// Watch for changes to totalGroups and adjust maxVisibleGroups accordingly -watch(totalGroups, (newTotal, oldTotal) => { - if (newTotal !== oldTotal) { - maxVisibleGroups.value = newTotal; - } -}); - -onMounted(() => { - startProgressiveLoading(); -});