show whether data is updated after click refresh button

This commit is contained in:
MaysWind
2023-06-28 21:44:01 +08:00
parent 7cec7dbac8
commit 7bbec29c5b
@@ -6,7 +6,7 @@
<span>{{ $t('Data Management') }}</span> <span>{{ $t('Data Management') }}</span>
<v-btn density="compact" color="default" variant="text" <v-btn density="compact" color="default" variant="text"
class="ml-2" :icon="true" class="ml-2" :icon="true"
v-if="!loadingDataStatistics" @click="reloadUserDataStatistics"> v-if="!loadingDataStatistics" @click="reloadUserDataStatistics(true)">
<v-icon :icon="icons.refresh" size="24" /> <v-icon :icon="icons.refresh" size="24" />
<v-tooltip activator="parent">{{ $t('Refresh') }}</v-tooltip> <v-tooltip activator="parent">{{ $t('Refresh') }}</v-tooltip>
</v-btn> </v-btn>
@@ -145,7 +145,7 @@ import { mapStores } from 'pinia';
import { useRootStore } from '@/stores/index.js'; import { useRootStore } from '@/stores/index.js';
import { useUserStore } from '@/stores/user.js'; import { useUserStore } from '@/stores/user.js';
import { appendThousandsSeparator } from '@/lib/common.js'; import {appendThousandsSeparator, isEquals} from '@/lib/common.js';
import { isDataExportingEnabled } from '@/lib/server_settings.js'; import { isDataExportingEnabled } from '@/lib/server_settings.js';
import { startDownloadFile } from '@/lib/ui.js'; import { startDownloadFile } from '@/lib/ui.js';
@@ -213,15 +213,23 @@ export default {
} }
}, },
created() { created() {
this.reloadUserDataStatistics(); this.reloadUserDataStatistics(false);
}, },
methods: { methods: {
reloadUserDataStatistics() { reloadUserDataStatistics(force) {
const self = this; const self = this;
self.loadingDataStatistics = true; self.loadingDataStatistics = true;
self.userStore.getUserDataStatistics().then(dataStatistics => { self.userStore.getUserDataStatistics().then(dataStatistics => {
if (force) {
if (isEquals(self.dataStatistics, dataStatistics)) {
self.$refs.snackbar.showMessage('Data is up to date');
} else {
self.$refs.snackbar.showMessage('Data has been updated');
}
}
self.dataStatistics = dataStatistics; self.dataStatistics = dataStatistics;
self.loadingDataStatistics = false; self.loadingDataStatistics = false;
}).catch(error => { }).catch(error => {