From 2454e22ea22d86ea990493146ba43ecceab9167c Mon Sep 17 00:00:00 2001 From: MaysWind Date: Fri, 11 Aug 2023 21:54:09 +0800 Subject: [PATCH] support setting items per page in transaction list page --- src/lib/settings.js | 9 +++ src/locales/en.js | 1 + src/locales/zh_Hans.js | 1 + src/stores/setting.js | 5 ++ .../app/settings/tabs/AppBasicSettingTab.vue | 17 ++++++ src/views/desktop/transactions/ListPage.vue | 56 ++++++++++++++++--- 6 files changed, 82 insertions(+), 7 deletions(-) diff --git a/src/lib/settings.js b/src/lib/settings.js index 5308328f..ae7d9094 100644 --- a/src/lib/settings.js +++ b/src/lib/settings.js @@ -15,6 +15,7 @@ const defaultSettings = { thousandsSeparator: true, currencyDisplayMode: currencyConstants.defaultCurrencyDisplayMode, showAmountInHomePage: true, + itemsCountInTransactionListPage: 15, showTotalAmountInTransactionListPage: true, showAccountBalance: true, statistics: { @@ -185,6 +186,14 @@ export function setShowAmountInHomePage(value) { setOption('showAmountInHomePage', value); } +export function getItemsCountInTransactionListPage() { + return getOption('itemsCountInTransactionListPage'); +} + +export function setItemsCountInTransactionListPage(value) { + setOption('itemsCountInTransactionListPage', value); +} + export function isShowTotalAmountInTransactionListPage() { return getOption('showTotalAmountInTransactionListPage'); } diff --git a/src/locales/en.js b/src/locales/en.js index c8569750..e257436d 100644 --- a/src/locales/en.js +++ b/src/locales/en.js @@ -1011,6 +1011,7 @@ export default { 'Page Settings': 'Page Settings', 'Overview Page': 'Overview Page', 'Transaction List Page': 'Transaction List Page', + 'Transactions Per Page': 'Transactions Per Page', 'Show Monthly Total Amount': 'Show Monthly Total Amount', 'Transaction Edit Page': 'Transaction Edit Page', 'Automatically Add Geolocation': 'Automatically Add Geolocation', diff --git a/src/locales/zh_Hans.js b/src/locales/zh_Hans.js index a00b8a89..59cc5850 100644 --- a/src/locales/zh_Hans.js +++ b/src/locales/zh_Hans.js @@ -1011,6 +1011,7 @@ export default { 'Page Settings': '页面设置', 'Overview Page': '总览页面', 'Transaction List Page': '交易列表页面', + 'Transactions Per Page': '每页交易数', 'Show Monthly Total Amount': '显示月度总金额', 'Transaction Edit Page': '交易编辑页面', 'Automatically Add Geolocation': '自动添加地理位置', diff --git a/src/stores/setting.js b/src/stores/setting.js index 7f4bf5f9..5bf7147e 100644 --- a/src/stores/setting.js +++ b/src/stores/setting.js @@ -17,6 +17,7 @@ export const useSettingsStore = defineStore('settings', { thousandsSeparator: settings.isEnableThousandsSeparator(), currencyDisplayMode: settings.getCurrencyDisplayMode(), showAmountInHomePage: settings.isShowAmountInHomePage(), + itemsCountInTransactionListPage: settings.getItemsCountInTransactionListPage(), showTotalAmountInTransactionListPage: settings.isShowTotalAmountInTransactionListPage(), showAccountBalance: settings.isShowAccountBalance(), statistics: { @@ -75,6 +76,10 @@ export const useSettingsStore = defineStore('settings', { settings.setShowAmountInHomePage(value); this.appSettings.showAmountInHomePage = value; }, + setItemsCountInTransactionListPage(value) { + settings.setItemsCountInTransactionListPage(value); + this.appSettings.itemsCountInTransactionListPage = value; + }, setShowTotalAmountInTransactionListPage(value) { settings.setShowTotalAmountInTransactionListPage(value); this.appSettings.showTotalAmountInTransactionListPage = value; diff --git a/src/views/desktop/app/settings/tabs/AppBasicSettingTab.vue b/src/views/desktop/app/settings/tabs/AppBasicSettingTab.vue index f17ceff6..1b1d2cf8 100644 --- a/src/views/desktop/app/settings/tabs/AppBasicSettingTab.vue +++ b/src/views/desktop/app/settings/tabs/AppBasicSettingTab.vue @@ -120,6 +120,15 @@ + + + +
+ {{ $t('Transactions Per Page') }} + +
- +