|
1 | 1 | <template> |
2 | | - <div class="no-data" v-if="countOfSites == undefined || countOfSites == 0">No data</div> |
| 2 | + <div class="no-data" v-if="isLoading"> |
| 3 | + <img height="55" src="../assets/icons/preloader.gif" /> |
| 4 | + </div> |
3 | 5 | <div v-else> |
4 | | - <OverallStatistics v-if="isShowOverallStats" :data="dataForOvarallStats" /> |
5 | | - <DonutChart :time="timeForChart" :labels="sitesForChart" /> |
6 | | - <TabItemHeader |
7 | | - :listType="type" |
8 | | - :summaryTime="summaryTime" |
9 | | - :countOfSites="countOfSites" |
10 | | - :firstDay="firstDay" |
11 | | - :countOfActiveDays="countOfActiveDays" |
12 | | - @sortingBy="sorting" |
13 | | - /> |
14 | | - |
15 | | - <TabItem |
16 | | - v-for="(tab, i) of tabs" |
17 | | - :key="i" |
18 | | - :item="getItem(tab)" |
19 | | - :summaryTimeForWholeDay="summaryTime" |
20 | | - /> |
21 | | - |
22 | | - <div class="show-all" v-if="showOnlyFirst100Items"> |
23 | | - <button @click="showAllWebSites()">Show all websites</button> |
| 6 | + <div class="no-data" v-if="countOfSites == undefined || countOfSites == 0">No data</div> |
| 7 | + <div v-else> |
| 8 | + <OverallStatistics v-if="isShowOverallStats" :data="dataForOvarallStats" /> |
| 9 | + <DonutChart :time="timeForChart" :labels="sitesForChart" /> |
| 10 | + <TabItemHeader |
| 11 | + :listType="type" |
| 12 | + :summaryTime="summaryTime" |
| 13 | + :countOfSites="countOfSites" |
| 14 | + :firstDay="firstDay" |
| 15 | + :countOfActiveDays="countOfActiveDays" |
| 16 | + @sortingBy="sorting" |
| 17 | + /> |
| 18 | + |
| 19 | + <TabItem |
| 20 | + v-for="(tab, i) of tabs" |
| 21 | + :key="i" |
| 22 | + :item="getItem(tab)" |
| 23 | + :summaryTimeForWholeDay="summaryTime" |
| 24 | + /> |
| 25 | + |
| 26 | + <div class="show-all" v-if="showOnlyFirst100Items"> |
| 27 | + <button @click="showAllWebSites()">Show all websites</button> |
| 28 | + </div> |
24 | 29 | </div> |
25 | 30 | </div> |
26 | 31 | </template> |
@@ -64,6 +69,7 @@ const firstDay = ref<Date>(); |
64 | 69 | const countOfActiveDays = ref<number>(); |
65 | 70 |
|
66 | 71 | const countOfSites = computed(() => (tabs.value != undefined ? tabs.value.length : 0)); |
| 72 | +const isLoading = ref<boolean>(); |
67 | 73 |
|
68 | 74 | const showOnlyFirst100Items = ref<boolean>(); |
69 | 75 |
|
@@ -94,6 +100,8 @@ async function loadList(sortingBy: SortingBy) { |
94 | 100 | tabs.value = tabSummary.tabs.slice(0, 100); |
95 | 101 | } else showOnlyFirst100Items.value = false; |
96 | 102 | } |
| 103 | +
|
| 104 | + isLoading.value = false; |
97 | 105 | } |
98 | 106 |
|
99 | 107 | async function sorting(sortingBy: SortingBy) { |
@@ -123,6 +131,7 @@ function getItem(tab: Tab): CurrentTabItem { |
123 | 131 | } |
124 | 132 |
|
125 | 133 | onMounted(async () => { |
| 134 | + isLoading.value = true; |
126 | 135 | await loadList(SortingBy.UsageTime); |
127 | 136 | }); |
128 | 137 | </script> |
|
0 commit comments