fix category name not show in transaction edit dialog when category is hidden
This commit is contained in:
@@ -11,15 +11,17 @@
|
|||||||
>
|
>
|
||||||
<template #selection>
|
<template #selection>
|
||||||
<div class="d-flex align-center text-truncate cursor-pointer">
|
<div class="d-flex align-center text-truncate cursor-pointer">
|
||||||
<span class="text-truncate" v-if="selectionText">{{ selectionText }}</span>
|
<span class="text-truncate" v-if="customSelectionPrimaryText">{{ customSelectionPrimaryText }}</span>
|
||||||
<span class="text-truncate" v-if="!selectionText && !selectedPrimaryItem && !selectedSecondaryItem">{{ noSelectionText }}</span>
|
<v-icon class="disabled" :icon="icons.chevronRight" size="23" v-if="customSelectionPrimaryText && customSelectionSecondaryText" />
|
||||||
<span class="text-truncate" v-if="!selectionText && showSelectionPrimaryText && selectedPrimaryItem">{{ selectionPrimaryItemText }}</span>
|
<span class="text-truncate" v-if="customSelectionPrimaryText && customSelectionSecondaryText">{{ customSelectionSecondaryText }}</span>
|
||||||
<v-icon class="disabled" :icon="icons.chevronRight" size="23" v-if="!selectionText && showSelectionPrimaryText && selectedPrimaryItem && selectedSecondaryItem" />
|
<span class="text-truncate" v-if="!customSelectionPrimaryText && !selectedPrimaryItem && !selectedSecondaryItem">{{ noSelectionText }}</span>
|
||||||
|
<span class="text-truncate" v-if="!customSelectionPrimaryText && showSelectionPrimaryText && selectedPrimaryItem">{{ selectionPrimaryItemText }}</span>
|
||||||
|
<v-icon class="disabled" :icon="icons.chevronRight" size="23" v-if="!customSelectionPrimaryText && showSelectionPrimaryText && selectedPrimaryItem && selectedSecondaryItem" />
|
||||||
<ItemIcon class="mr-2" icon-type="account" size="21.5px"
|
<ItemIcon class="mr-2" icon-type="account" size="21.5px"
|
||||||
:icon-id="selectedSecondaryItem ? selectedSecondaryItem[secondaryIconField] : null"
|
:icon-id="selectedSecondaryItem ? selectedSecondaryItem[secondaryIconField] : null"
|
||||||
:color="selectedSecondaryItem ? selectedSecondaryItem[secondaryColorField] : null"
|
:color="selectedSecondaryItem ? selectedSecondaryItem[secondaryColorField] : null"
|
||||||
v-if="!selectionText && selectedSecondaryItem && showSelectionSecondaryIcon" />
|
v-if="!customSelectionPrimaryText && selectedSecondaryItem && showSelectionSecondaryIcon" />
|
||||||
<span class="text-truncate" v-if="!selectionText && selectedSecondaryItem">{{ selectionSecondaryItemText }}</span>
|
<span class="text-truncate" v-if="!customSelectionPrimaryText && selectedSecondaryItem">{{ selectionSecondaryItemText }}</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -88,9 +90,10 @@ export default {
|
|||||||
'disabled',
|
'disabled',
|
||||||
'readonly',
|
'readonly',
|
||||||
'label',
|
'label',
|
||||||
'selectionText',
|
|
||||||
'showSelectionPrimaryText',
|
'showSelectionPrimaryText',
|
||||||
'showSelectionSecondaryIcon',
|
'showSelectionSecondaryIcon',
|
||||||
|
'customSelectionPrimaryText',
|
||||||
|
'customSelectionSecondaryText',
|
||||||
'primaryKeyField',
|
'primaryKeyField',
|
||||||
'primaryValueField',
|
'primaryValueField',
|
||||||
'primaryTitleField',
|
'primaryTitleField',
|
||||||
|
|||||||
@@ -100,6 +100,8 @@
|
|||||||
:readonly="mode === 'view'"
|
:readonly="mode === 'view'"
|
||||||
:disabled="loading || submitting || !hasAvailableExpenseCategories"
|
:disabled="loading || submitting || !hasAvailableExpenseCategories"
|
||||||
:show-selection-primary-text="true"
|
:show-selection-primary-text="true"
|
||||||
|
:custom-selection-primary-text="getPrimaryCategoryName(transaction.expenseCategory, allCategories[allCategoryTypes.Expense])"
|
||||||
|
:custom-selection-secondary-text="getSecondaryCategoryName(transaction.expenseCategory, allCategories[allCategoryTypes.Expense])"
|
||||||
:label="$t('Category')" :placeholder="$t('Category')"
|
:label="$t('Category')" :placeholder="$t('Category')"
|
||||||
:items="allCategories[allCategoryTypes.Expense]"
|
:items="allCategories[allCategoryTypes.Expense]"
|
||||||
v-model="transaction.expenseCategory">
|
v-model="transaction.expenseCategory">
|
||||||
@@ -115,6 +117,8 @@
|
|||||||
:readonly="mode === 'view'"
|
:readonly="mode === 'view'"
|
||||||
:disabled="loading || submitting || !hasAvailableIncomeCategories"
|
:disabled="loading || submitting || !hasAvailableIncomeCategories"
|
||||||
:show-selection-primary-text="true"
|
:show-selection-primary-text="true"
|
||||||
|
:custom-selection-primary-text="getPrimaryCategoryName(transaction.incomeCategory, allCategories[allCategoryTypes.Income])"
|
||||||
|
:custom-selection-secondary-text="getSecondaryCategoryName(transaction.incomeCategory, allCategories[allCategoryTypes.Income])"
|
||||||
:label="$t('Category')" :placeholder="$t('Category')"
|
:label="$t('Category')" :placeholder="$t('Category')"
|
||||||
:items="allCategories[allCategoryTypes.Income]"
|
:items="allCategories[allCategoryTypes.Income]"
|
||||||
v-model="transaction.incomeCategory">
|
v-model="transaction.incomeCategory">
|
||||||
@@ -130,6 +134,8 @@
|
|||||||
:readonly="mode === 'view'"
|
:readonly="mode === 'view'"
|
||||||
:disabled="loading || submitting || !hasAvailableTransferCategories"
|
:disabled="loading || submitting || !hasAvailableTransferCategories"
|
||||||
:show-selection-primary-text="true"
|
:show-selection-primary-text="true"
|
||||||
|
:custom-selection-primary-text="getPrimaryCategoryName(transaction.transferCategory, allCategories[allCategoryTypes.Transfer])"
|
||||||
|
:custom-selection-secondary-text="getSecondaryCategoryName(transaction.transferCategory, allCategories[allCategoryTypes.Transfer])"
|
||||||
:label="$t('Category')" :placeholder="$t('Category')"
|
:label="$t('Category')" :placeholder="$t('Category')"
|
||||||
:items="allCategories[allCategoryTypes.Transfer]"
|
:items="allCategories[allCategoryTypes.Transfer]"
|
||||||
v-model="transaction.transferCategory">
|
v-model="transaction.transferCategory">
|
||||||
@@ -146,7 +152,7 @@
|
|||||||
secondary-icon-field="icon" secondary-icon-type="account" secondary-color-field="color"
|
secondary-icon-field="icon" secondary-icon-type="account" secondary-color-field="color"
|
||||||
:readonly="mode === 'view'"
|
:readonly="mode === 'view'"
|
||||||
:disabled="loading || submitting || !allVisibleAccounts.length"
|
:disabled="loading || submitting || !allVisibleAccounts.length"
|
||||||
:selection-text="sourceAccountName"
|
:custom-selection-primary-text="sourceAccountName"
|
||||||
:label="$t(sourceAccountTitle)"
|
:label="$t(sourceAccountTitle)"
|
||||||
:placeholder="$t(sourceAccountTitle)"
|
:placeholder="$t(sourceAccountTitle)"
|
||||||
:items="categorizedAccounts"
|
:items="categorizedAccounts"
|
||||||
@@ -164,7 +170,7 @@
|
|||||||
secondary-icon-field="icon" secondary-icon-type="account" secondary-color-field="color"
|
secondary-icon-field="icon" secondary-icon-type="account" secondary-color-field="color"
|
||||||
:readonly="mode === 'view'"
|
:readonly="mode === 'view'"
|
||||||
:disabled="loading || submitting || !allVisibleAccounts.length"
|
:disabled="loading || submitting || !allVisibleAccounts.length"
|
||||||
:selection-text="destinationAccountName"
|
:custom-selection-primary-text="destinationAccountName"
|
||||||
:label="$t('Destination Account')"
|
:label="$t('Destination Account')"
|
||||||
:placeholder="$t('Destination Account')"
|
:placeholder="$t('Destination Account')"
|
||||||
:items="categorizedAccounts"
|
:items="categorizedAccounts"
|
||||||
@@ -343,6 +349,8 @@ import {
|
|||||||
} from '@/lib/datetime.js';
|
} from '@/lib/datetime.js';
|
||||||
import { generateRandomUUID } from '@/lib/misc.js';
|
import { generateRandomUUID } from '@/lib/misc.js';
|
||||||
import {
|
import {
|
||||||
|
getTransactionPrimaryCategoryName,
|
||||||
|
getTransactionSecondaryCategoryName,
|
||||||
getFirstAvailableCategoryId
|
getFirstAvailableCategoryId
|
||||||
} from '@/lib/category.js';
|
} from '@/lib/category.js';
|
||||||
import { setTransactionModelByTransaction } from '@/lib/transaction.js';
|
import { setTransactionModelByTransaction } from '@/lib/transaction.js';
|
||||||
@@ -845,6 +853,12 @@ export default {
|
|||||||
this.transaction.destinationAmount = oldSourceAmount;
|
this.transaction.destinationAmount = oldSourceAmount;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getPrimaryCategoryName(categoryId, allCategories) {
|
||||||
|
return getTransactionPrimaryCategoryName(categoryId, allCategories);
|
||||||
|
},
|
||||||
|
getSecondaryCategoryName(categoryId, allCategories) {
|
||||||
|
return getTransactionSecondaryCategoryName(categoryId, allCategories);
|
||||||
|
},
|
||||||
setTransaction(transaction, options, setContextData, convertContextTime) {
|
setTransaction(transaction, options, setContextData, convertContextTime) {
|
||||||
setTransactionModelByTransaction(
|
setTransactionModelByTransaction(
|
||||||
this.transaction,
|
this.transaction,
|
||||||
|
|||||||
Reference in New Issue
Block a user