diff --git a/src/locales/de.json b/src/locales/de.json
index 3c101b50..17809621 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/en.json b/src/locales/en.json
index 357ff8ec..d99eb610 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/es.json b/src/locales/es.json
index 454d7ed9..f805fd2a 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/fr.json b/src/locales/fr.json
index c44cbcc0..61ae015f 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/it.json b/src/locales/it.json
index 030c1c99..eb05274f 100644
--- a/src/locales/it.json
+++ b/src/locales/it.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/ja.json b/src/locales/ja.json
index c0a0efea..944a57e4 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/kn.json b/src/locales/kn.json
index f3c05697..1b7a7346 100644
--- a/src/locales/kn.json
+++ b/src/locales/kn.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index 3f2da1b7..e556001c 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/nl.json b/src/locales/nl.json
index 6d45d423..539cdbd2 100644
--- a/src/locales/nl.json
+++ b/src/locales/nl.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/pt_BR.json b/src/locales/pt_BR.json
index 143443a6..6c284149 100644
--- a/src/locales/pt_BR.json
+++ b/src/locales/pt_BR.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/ru.json b/src/locales/ru.json
index fdfdeae9..f1198dc5 100644
--- a/src/locales/ru.json
+++ b/src/locales/ru.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/sl.json b/src/locales/sl.json
index 7848d840..f2709c2f 100644
--- a/src/locales/sl.json
+++ b/src/locales/sl.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Dodaj poizvedbo",
diff --git a/src/locales/th.json b/src/locales/th.json
index 893aed44..c68811df 100644
--- a/src/locales/th.json
+++ b/src/locales/th.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/tr.json b/src/locales/tr.json
index 728fefdb..d2c22215 100644
--- a/src/locales/tr.json
+++ b/src/locales/tr.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/uk.json b/src/locales/uk.json
index 93d0bdf8..4a17c71d 100644
--- a/src/locales/uk.json
+++ b/src/locales/uk.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/vi.json b/src/locales/vi.json
index 0361ae8a..398b3034 100644
--- a/src/locales/vi.json
+++ b/src/locales/vi.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "Save Explorer",
"Save As New Explorer": "Save As New Explorer",
"Rename Explorer": "Rename Explorer",
+ "Hide Explorer": "Hide Explorer",
+ "Unhide Explorer": "Unhide Explorer",
"Delete Explorer": "Delete Explorer",
"Explorer Name": "Explorer Name",
"Add Query": "Add Query",
diff --git a/src/locales/zh_Hans.json b/src/locales/zh_Hans.json
index 651cec15..9d2b97aa 100644
--- a/src/locales/zh_Hans.json
+++ b/src/locales/zh_Hans.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "保存探索",
"Save As New Explorer": "另存为新的探索",
"Rename Explorer": "重命名探索",
+ "Hide Explorer": "隐藏探索",
+ "Unhide Explorer": "取消隐藏探索",
"Delete Explorer": "删除探索",
"Explorer Name": "探索名称",
"Add Query": "添加查询",
diff --git a/src/locales/zh_Hant.json b/src/locales/zh_Hant.json
index a982f179..966c24dd 100644
--- a/src/locales/zh_Hant.json
+++ b/src/locales/zh_Hant.json
@@ -1718,6 +1718,8 @@
"Save Explorer": "儲存探索",
"Save As New Explorer": "另存新探索",
"Rename Explorer": "重新命名探索",
+ "Hide Explorer": "隱藏探索",
+ "Unhide Explorer": "取消隱藏探索",
"Delete Explorer": "刪除探索",
"Explorer Name": "探索名稱",
"Add Query": "新增查詢",
diff --git a/src/stores/explorer.ts b/src/stores/explorer.ts
index 9f54d1a1..adde0390 100644
--- a/src/stores/explorer.ts
+++ b/src/stores/explorer.ts
@@ -1099,6 +1099,7 @@ export const useExplorersStore = defineStore('explorers', () => {
return;
}
+ explorer.hidden = hidden;
updateExplorerVisibilityInInsightsExplorerList({ explorer: explorer, hidden });
resolve(data.result);
diff --git a/src/views/desktop/insights/ExplorerPage.vue b/src/views/desktop/insights/ExplorerPage.vue
index dace0ffa..f33ce4d6 100644
--- a/src/views/desktop/insights/ExplorerPage.vue
+++ b/src/views/desktop/insights/ExplorerPage.vue
@@ -80,17 +80,9 @@
-
+
{{ tt('Save As New Explorer') }}
-
-
- {{ tt('Rename Explorer') }}
-
-
-
- {{ tt('Delete Explorer') }}
-
@@ -114,6 +106,19 @@
:disabled="loading || updating || !filteredTransactions || filteredTransactions.length < 1"
@click="exportResults"
v-if="activeTab === 'table' || activeTab === 'chart'">
+
+
+ {{ tt('Rename Explorer') }}
+
+
+ {{ tt('Hide Explorer') }}
+
+
+ {{ tt('Unhide Explorer') }}
+
+
+ {{ tt('Delete Explorer') }}
+
@@ -131,7 +136,7 @@
+ :loading="loading" :disabled="loading || updating" />
@@ -184,7 +189,7 @@ import { type WeekDayValue, type LocalizedDateRange, DateRangeScene, DateRange }
import { TimezoneTypeForStatistics } from '@/core/timezone.ts';
import { type TransactionInsightDataItem, Transaction } from '@/models/transaction.ts';
-import { type InsightsExplorerBasicInfo, InsightsExplorer } from '@/models/explorer.ts';
+import { InsightsExplorerBasicInfo, InsightsExplorer } from '@/models/explorer.ts';
import {
parseDateTimeFromUnixTime,
@@ -202,8 +207,9 @@ import {
mdiCheck,
mdiRefresh,
mdiDotsVertical,
- mdiContentSaveOutline,
mdiPencilOutline,
+ mdiEyeOutline,
+ mdiEyeOffOutline,
mdiDeleteOutline,
mdiHomeClockOutline,
mdiInvoiceTextClockOutline,
@@ -272,7 +278,35 @@ const showCustomDateRangeDialog = ref(false);
const firstDayOfWeek = computed(() => userStore.currentUserFirstDayOfWeek);
const fiscalYearStart = computed(() => userStore.currentUserFiscalYearStart);
-const allExplorers = computed(() => explorersStore.allInsightsExplorerBasicInfos.slice(0, 15));
+const allExplorers = computed(() => {
+ const maximumExplorersToShow = 14;
+ const ret: InsightsExplorerBasicInfo[] = [];
+ let hasCurrentExplorer = false;
+
+ for (const explorer of explorersStore.allInsightsExplorerBasicInfos) {
+ if (ret.length >= maximumExplorersToShow) {
+ break;
+ }
+
+ if (!explorer.hidden || (explorer.id && explorer.id === currentExplorer.value.id)) {
+ ret.push(explorer);
+
+ if (explorer.id && explorer.id === currentExplorer.value.id) {
+ hasCurrentExplorer = true;
+ }
+ }
+ }
+
+ if (!hasCurrentExplorer && currentExplorer.value && currentExplorer.value.id) {
+ if (ret.length >= maximumExplorersToShow) {
+ ret.pop();
+ }
+
+ ret.push(InsightsExplorerBasicInfo.of(currentExplorer.value));
+ }
+
+ return ret;
+});
const currentFilter = computed(() => explorersStore.transactionExplorerFilter);
const currentExplorer = computed(() => explorersStore.currentInsightsExplorer);
const filteredTransactions = computed(() => explorersStore.filteredTransactions);
@@ -463,6 +497,24 @@ function setExplorerName(): void {
});
}
+function hideExplorer(hidden: boolean): void {
+ updating.value = true;
+
+ explorersStore.hideInsightsExplorer({
+ explorer: currentExplorer.value,
+ hidden: hidden
+ }).then(() => {
+ updating.value = false;
+ currentExplorer.value.hidden = hidden;
+ }).catch(error => {
+ updating.value = false;
+
+ if (!error.processed) {
+ snackbar.value?.showError(error);
+ }
+ });
+}
+
function removeExplorer(): void {
if (!currentExplorer.value.id) {
return;