mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-15 15:37:33 +08:00
support selecting all visible in account / category / tag filter dialog / page
This commit is contained in:
@@ -249,6 +249,26 @@ export function selectAccountOrSubAccounts(filterAccountIds: Record<string, bool
|
||||
}
|
||||
}
|
||||
|
||||
export function selectAllVisible(filterAccountIds: Record<string, boolean>, allAccountsMap: Record<string, Account>): void {
|
||||
for (const accountId of keys(filterAccountIds)) {
|
||||
const account = allAccountsMap[accountId];
|
||||
|
||||
if (account) {
|
||||
if (account.hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (account.parentId && allAccountsMap[account.parentId] && allAccountsMap[account.parentId]!.hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (account.type === AccountType.SingleAccount.type) {
|
||||
filterAccountIds[account.id] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function selectAll(filterAccountIds: Record<string, boolean>, allAccountsMap: Record<string, Account>, skipHiddenAccount: boolean): void {
|
||||
for (const accountId of keys(filterAccountIds)) {
|
||||
const account = allAccountsMap[accountId];
|
||||
|
||||
@@ -414,6 +414,24 @@ export function selectAllSubCategories(filterCategoryIds: Record<string, boolean
|
||||
}
|
||||
}
|
||||
|
||||
export function selectAllVisible(filterCategoryIds: Record<string, boolean>, allTransactionCategoriesMap: Record<string, TransactionCategory>): void {
|
||||
for (const categoryId of keys(filterCategoryIds)) {
|
||||
const category = allTransactionCategoriesMap[categoryId];
|
||||
|
||||
if (category) {
|
||||
if (category.hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (category.parentId && allTransactionCategoriesMap[category.parentId] && allTransactionCategoriesMap[category.parentId]!.hidden) {
|
||||
continue;
|
||||
}
|
||||
|
||||
filterCategoryIds[category.id] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function selectAll(filterCategoryIds: Record<string, boolean>, allTransactionCategoriesMap: Record<string, TransactionCategory>): void {
|
||||
for (const categoryId of keys(filterCategoryIds)) {
|
||||
const category = allTransactionCategoriesMap[categoryId];
|
||||
|
||||
@@ -482,6 +482,16 @@ export function selectInvert(filterItemIds: Record<string, boolean>, allItemsMap
|
||||
}
|
||||
}
|
||||
|
||||
export function selectAllVisible(filterItemIds: Record<string, boolean>, allItemsMap: { [key: string]: { id: string, hidden?: boolean } }): void {
|
||||
for (const itemId of keys(filterItemIds)) {
|
||||
const item = allItemsMap[itemId];
|
||||
|
||||
if (item && !item.hidden) {
|
||||
filterItemIds[item.id] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function isPrimaryItemHasSecondaryValue(primaryItem: Record<string, Record<string, unknown>[]>, primarySubItemsField: string, secondaryValueField: string | undefined, secondaryHiddenField: string | undefined, secondaryValue: unknown): boolean {
|
||||
const secondaryItems = primaryItem[primarySubItemsField];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user