diff --git a/src/views/desktop/transactions/import/ImportDialog.vue b/src/views/desktop/transactions/import/ImportDialog.vue index 801b990e..1d6c6117 100644 --- a/src/views/desktop/transactions/import/ImportDialog.vue +++ b/src/views/desktop/transactions/import/ImportDialog.vue @@ -822,7 +822,7 @@ import type { StepBarItem } from '@/components/desktop/StepsBar.vue'; import PaginationButtons from '@/components/desktop/PaginationButtons.vue'; import ConfirmDialog from '@/components/desktop/ConfirmDialog.vue'; import SnackBar from '@/components/desktop/SnackBar.vue'; -import BatchReplaceDialog from './dialogs/BatchReplaceDialog.vue'; +import BatchReplaceDialog, { type BatchReplaceDialogDataType } from './dialogs/BatchReplaceDialog.vue'; import { ref, computed, useTemplateRef, watch } from 'vue'; @@ -2358,7 +2358,7 @@ function updateTransactionData(transaction: ImportTransaction): void { } } -function showBatchReplaceDialog(type: string): void { +function showBatchReplaceDialog(type: BatchReplaceDialogDataType): void { if (editingTransaction.value) { return; } @@ -2423,7 +2423,7 @@ function showBatchReplaceDialog(type: string): void { }); } -function showReplaceInvalidItemDialog(type: string, invalidItems: NameValue[]): void { +function showReplaceInvalidItemDialog(type: BatchReplaceDialogDataType, invalidItems: NameValue[]): void { if (editingTransaction.value) { return; } diff --git a/src/views/desktop/transactions/import/dialogs/BatchReplaceDialog.vue b/src/views/desktop/transactions/import/dialogs/BatchReplaceDialog.vue index 3dd4fcef..0616f7d6 100644 --- a/src/views/desktop/transactions/import/dialogs/BatchReplaceDialog.vue +++ b/src/views/desktop/transactions/import/dialogs/BatchReplaceDialog.vue @@ -13,6 +13,15 @@

{{ tt('Replace Invalid Transfer Categories') }}

{{ tt('Replace Invalid Accounts') }}

{{ tt('Replace Invalid Transaction Tags') }}

+ + + + {{ tt('Refresh') }} + @@ -22,6 +31,7 @@ item-title="name" item-value="value" persistent-placeholder + :disabled="loading" :label="tt('Invalid Category')" :placeholder="tt('Invalid Category')" :items="invalidItems" @@ -36,7 +46,7 @@ secondary-key-field="id" secondary-value-field="id" secondary-title-field="name" secondary-icon-field="icon" secondary-icon-type="category" secondary-color-field="color" secondary-hidden-field="hidden" - :disabled="!hasAvailableExpenseCategories" + :disabled="loading || !hasAvailableExpenseCategories" :enable-filter="true" :filter-placeholder="tt('Find category')" :filter-no-items-text="tt('No available category')" :show-selection-primary-text="true" :custom-selection-primary-text="getTransactionPrimaryCategoryName(targetItem, allCategories[CategoryType.Expense])" @@ -53,7 +63,7 @@ secondary-key-field="id" secondary-value-field="id" secondary-title-field="name" secondary-icon-field="icon" secondary-icon-type="category" secondary-color-field="color" secondary-hidden-field="hidden" - :disabled="!hasAvailableIncomeCategories" + :disabled="loading || !hasAvailableIncomeCategories" :enable-filter="true" :filter-placeholder="tt('Find category')" :filter-no-items-text="tt('No available category')" :show-selection-primary-text="true" :custom-selection-primary-text="getTransactionPrimaryCategoryName(targetItem, allCategories[CategoryType.Income])" @@ -70,7 +80,7 @@ secondary-key-field="id" secondary-value-field="id" secondary-title-field="name" secondary-icon-field="icon" secondary-icon-type="category" secondary-color-field="color" secondary-hidden-field="hidden" - :disabled="!hasAvailableTransferCategories" + :disabled="loading || !hasAvailableTransferCategories" :enable-filter="true" :filter-placeholder="tt('Find category')" :filter-no-items-text="tt('No available category')" :show-selection-primary-text="true" :custom-selection-primary-text="getTransactionPrimaryCategoryName(targetItem, allCategories[CategoryType.Transfer])" @@ -91,6 +101,7 @@ item-title="name" item-value="value" persistent-placeholder + :disabled="loading" :label="tt('Invalid Account')" :placeholder="tt('Invalid Account')" :items="invalidItems" @@ -107,7 +118,7 @@ secondary-key-field="id" secondary-value-field="id" secondary-title-field="name" secondary-footer-field="displayBalance" secondary-icon-field="icon" secondary-icon-type="account" secondary-color-field="color" - :disabled="!allVisibleAccounts.length" + :disabled="loading || !allVisibleAccounts.length" :enable-filter="true" :filter-placeholder="tt('Find account')" :filter-no-items-text="tt('No available account')" :custom-selection-primary-text="getAccountDisplayName(targetItem)" :label="tt('Target Account')" @@ -125,6 +136,7 @@ item-title="name" item-value="value" persistent-placeholder + :disabled="loading" :label="tt('Invalid Tag')" :placeholder="tt('Invalid Tag')" :items="invalidItems" @@ -138,6 +150,7 @@ item-value="id" persistent-placeholder chips + :disabled="loading" :label="tt('Target Tag')" :placeholder="tt('Target Tag')" :items="allTags" @@ -166,16 +179,20 @@
- {{ tt('OK') }} - {{ tt('Cancel') }} + {{ tt('OK') }} + {{ tt('Cancel') }}
+ +