fix: asynchroniczność pobierania danych z API

This commit is contained in:
2023-06-04 13:35:53 +02:00
parent 6d52724d06
commit 0a972a23ef
2 changed files with 18 additions and 10 deletions
+17 -7
View File
@@ -1,5 +1,5 @@
<template> <template>
<div class="journal-stats" v-show="!store.isOffline"> <div class="journal-stats" v-if="!store.isOffline">
<div class="tabs"> <div class="tabs">
<button <button
v-for="tab in data.tabs" v-for="tab in data.tabs"
@@ -22,11 +22,12 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { computed, KeepAlive, onActivated, onDeactivated, reactive, Ref, ref, watch } from 'vue'; import { computed, KeepAlive, onActivated, onDeactivated, onMounted, reactive, Ref, ref, watch } from 'vue';
import { useStore } from '../../store/store'; import { useStore } from '../../store/store';
import JournalDailyStats from './DailyStats.vue'; import JournalDailyStats from './DailyStats.vue';
import JournalDriverStats from './JournalDriverStats.vue'; import JournalDriverStats from './JournalDriverStats.vue';
import StorageManager from '../../scripts/managers/storageManager'; import StorageManager from '../../scripts/managers/storageManager';
import { DataStatus } from '../../scripts/enums/DataStatus';
// Types // Types
type TStatTab = 'daily' | 'driver'; type TStatTab = 'daily' | 'driver';
@@ -60,17 +61,26 @@ function onTabButtonClick(tab: TStatTab) {
if (tab == 'daily') { if (tab == 'daily') {
lastDailyStatsOpen.value = areStatsOpen.value; lastDailyStatsOpen.value = areStatsOpen.value;
StorageManager.setBooleanValue('dailyStatsOpen', areStatsOpen.value); StorageManager.setBooleanValue('dailyStatsOpen', areStatsOpen.value);
if (areStatsOpen.value) dailyStatsComp.value?.startFetchingDailyStats();
} }
store.currentStatsTab = tab; store.currentStatsTab = tab;
lastClickedTab.value = tab; lastClickedTab.value = tab;
} }
onActivated(() => { onMounted(() => {
dailyStatsComp.value?.startFetchingDailyStats(); if (StorageManager.getBooleanValue('dailyStatsOpen')) {
dailyStatsComp.value?.startFetchingDailyStats();
if (StorageManager.getBooleanValue('dailyStatsOpen')) areStatsOpen.value = true; areStatsOpen.value = true;
}); }
}),
onActivated(async () => {
if (StorageManager.getBooleanValue('dailyStatsOpen')) {
dailyStatsComp.value?.startFetchingDailyStats();
areStatsOpen.value = true;
}
});
onDeactivated(() => { onDeactivated(() => {
dailyStatsComp.value?.stopFetchingDailyStats(); dailyStatsComp.value?.stopFetchingDailyStats();
+1 -3
View File
@@ -14,7 +14,7 @@
optionsType="timetables" optionsType="timetables"
/> />
<JournalStats /> <JournalStats v-if="dataStatus == DataStatus.Loaded" />
<div class="list_wrapper" @scroll="handleScroll"> <div class="list_wrapper" @scroll="handleScroll">
<transition name="status-anim" mode="out-in"> <transition name="status-anim" mode="out-in">
@@ -165,8 +165,6 @@ export default defineComponent({
beforeRouteUpdate(to, _) { beforeRouteUpdate(to, _) {
this.handleQueries(to.query); this.handleQueries(to.query);
this.fetchHistoryData(); this.fetchHistoryData();
console.log('test');
}, },
activated() { activated() {