code refactor
This commit is contained in:
@@ -338,23 +338,3 @@ export function isAccountOrSubAccountsHasButNotAllChecked(account: Account, filt
|
||||
|
||||
return checkedCount > 0 && checkedCount < account.subAccounts.length;
|
||||
}
|
||||
|
||||
export function setAccountSuitableIcon(account: Account, oldCategory: number, newCategory: number): void {
|
||||
const allCategories = AccountCategory.values();
|
||||
|
||||
for (let i = 0; i < allCategories.length; i++) {
|
||||
if (allCategories[i].type === oldCategory) {
|
||||
if (account.icon !== allCategories[i].defaultAccountIconId) {
|
||||
return;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < allCategories.length; i++) {
|
||||
if (allCategories[i].type === newCategory) {
|
||||
account.icon = allCategories[i].defaultAccountIconId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,6 +133,26 @@ export class Account implements AccountInfoResponse {
|
||||
this.visible = other.visible;
|
||||
}
|
||||
|
||||
public setSuitableIcon(oldCategory: number, newCategory: number): void {
|
||||
const allCategories = AccountCategory.values();
|
||||
|
||||
for (let i = 0; i < allCategories.length; i++) {
|
||||
if (allCategories[i].type === oldCategory) {
|
||||
if (this.icon !== allCategories[i].defaultAccountIconId) {
|
||||
return;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < allCategories.length; i++) {
|
||||
if (allCategories[i].type === newCategory) {
|
||||
this.icon = allCategories[i].defaultAccountIconId;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public toCreateRequest(clientSessionId: string, subAccounts?: Account[], parentAccount?: Account): AccountCreateRequest {
|
||||
let subAccountCreateRequests: AccountCreateRequest[] | undefined = undefined;
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@ import type { LocalizedAccountCategory } from '@/core/account.ts';
|
||||
import { Account } from '@/models/account.ts';
|
||||
|
||||
import { getCurrentUnixTime } from '@/lib/datetime.ts';
|
||||
import { setAccountSuitableIcon } from '@/lib/account.ts';
|
||||
|
||||
export interface DayAndDisplayName {
|
||||
readonly day: number;
|
||||
@@ -153,7 +152,7 @@ export function useAccountEditPageBaseBase() {
|
||||
}
|
||||
|
||||
watch(() => account.value.category, (newValue, oldValue) => {
|
||||
setAccountSuitableIcon(account.value, oldValue, newValue);
|
||||
account.value.setSuitableIcon(oldValue, newValue);
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -204,7 +204,6 @@ import { Account } from '@/models/account.ts';
|
||||
import { isNumber } from '@/lib/common.ts';
|
||||
import { getCurrentUnixTime } from '@/lib/datetime.ts';
|
||||
import { generateRandomUUID } from '@/lib/misc.ts';
|
||||
import { setAccountSuitableIcon } from '@/lib/account.ts';
|
||||
|
||||
import {
|
||||
mdiDotsVertical,
|
||||
@@ -314,7 +313,7 @@ function open(options?: { id?: string, currentAccount?: Account, category?: numb
|
||||
} else {
|
||||
if (options && isNumber(options.category)) {
|
||||
account.value.category = options.category;
|
||||
setAccountSuitableIcon(account.value, 1, options.category);
|
||||
account.value.setSuitableIcon(1, options.category);
|
||||
}
|
||||
|
||||
editAccountId.value = null;
|
||||
|
||||
Reference in New Issue
Block a user