Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
carkom committed May 23, 2024
1 parent d99adc5 commit 7529f90
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 21 deletions.
24 changes: 14 additions & 10 deletions packages/desktop-client/src/components/accounts/Account.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ class AccountInternal extends PureComponent {

fetchTransactions = filters => {
const query = this.makeRootQuery();
this.rootQuery = this.currentQuery = this.filterQuery = query;
this.rootQuery = this.currentQuery = query;
if (filters) this.applyFilters(filters);
else this.updateQuery(query);

Expand Down Expand Up @@ -680,16 +680,20 @@ class AccountInternal extends PureComponent {
};
}

getFilterQuery(filters, conditionsOpKey) {
return {
name: `filtered-query`,
query: this.makeRootQuery()
getFilteredAmount = async (filters, conditionsOpKey) => {
const filteredQuery = await runQuery(
q('transactions')
.filter({
[conditionsOpKey]: [...filters],
})
.calculate({ $sum: '$amount' }),
};
}
.select([{ amount: { $sum: '$amount' } }]),
);
const filteredAmount = filteredQuery.data.reduce(
(a, v) => (a = a + v.amount),
0,
);
return filteredAmount;
};

isNew = id => {
return this.props.newTransactions.includes(id);
Expand Down Expand Up @@ -1312,7 +1316,7 @@ class AccountInternal extends PureComponent {
conditions: conditions.filter(cond => !cond.customName),
});
const conditionsOpKey = this.state.conditionsOp === 'or' ? '$or' : '$and';
this.filterQuery = this.getFilterQuery(filters, conditionsOpKey);
this.filteredAmount = await this.getFilteredAmount(filters, conditionsOpKey);
this.currentQuery = this.rootQuery.filter({
[conditionsOpKey]: [...filters, ...customFilters],
});
Expand Down Expand Up @@ -1530,7 +1534,7 @@ class AccountInternal extends PureComponent {
>
<View style={styles.page}>
<AccountHeader
filterQuery={this.filterQuery}
filteredAmount={this.filteredAmount}
tableRef={this.table}
editingName={editingName}
isNameEditable={isNameEditable}
Expand Down
13 changes: 4 additions & 9 deletions packages/desktop-client/src/components/accounts/Balance.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -104,16 +104,11 @@ function SelectedBalance({ selectedItems, account }) {
);
}

function FilteredBalance({ filterQuery }) {
const balance = useSheetValue({
name: filterQuery ? filterQuery.name : '',
query: filterQuery ? filterQuery.query : null,
});

function FilteredBalance({ filteredAmount }) {
return (
<DetailedBalance
name="Filtered balance:"
balance={balance}
balance={filteredAmount || 0}
isExactBalance={true}
/>
);
Expand Down Expand Up @@ -143,7 +138,7 @@ export function Balances({
onToggleExtraBalances,
account,
filteredItems,
filterQuery,
filteredAmount,
}) {
const selectedItems = useSelectedItems();

Expand Down Expand Up @@ -202,7 +197,7 @@ export function Balances({
<SelectedBalance selectedItems={selectedItems} account={account} />
)}
{filteredItems.length > 0 && (
<FilteredBalance filterQuery={filterQuery} />
<FilteredBalance filteredAmount={filteredAmount} />
)}
</View>
);
Expand Down
4 changes: 2 additions & 2 deletions packages/desktop-client/src/components/accounts/Header.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ import { Balances } from './Balance';
import { ReconcilingMessage, ReconcileTooltip } from './Reconcile';

export function AccountHeader({
filterQuery,
filteredAmount,
tableRef,
editingName,
isNameEditable,
Expand Down Expand Up @@ -243,7 +243,7 @@ export function AccountHeader({
onToggleExtraBalances={onToggleExtraBalances}
account={account}
filteredItems={filters}
filterQuery={filterQuery}
filteredAmount={filteredAmount}
/>

<Stack
Expand Down

0 comments on commit 7529f90

Please sign in to comment.