diff options
| author | Joe Carstairs <me@joeac.net> | 2026-08-29 15:19:52 +0100 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2026-08-29 15:19:52 +0100 |
| commit | 54159c767377dfe6384547a4517f4fe3f002caad (patch) | |
| tree | b5ad661b4505caccee8d73d22f42957055863108 /schist_desktop_gui/src/gui/components/transactions_view.rs | |
| parent | a511d72248d20ba2fcb436b58ee2459d422d80b7 (diff) | |
yet)
Diffstat (limited to 'schist_desktop_gui/src/gui/components/transactions_view.rs')
| -rw-r--r-- | schist_desktop_gui/src/gui/components/transactions_view.rs | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/schist_desktop_gui/src/gui/components/transactions_view.rs b/schist_desktop_gui/src/gui/components/transactions_view.rs index cc4e17c..f11b713 100644 --- a/schist_desktop_gui/src/gui/components/transactions_view.rs +++ b/schist_desktop_gui/src/gui/components/transactions_view.rs @@ -51,11 +51,12 @@ impl TransactionsView { let active_nav_entry = account_navigation_entries.first().cloned(); let navigation = Navigation::new( active_nav_entry.clone(), account_navigation_entries); + let active_account = active_nav_entry.map(|entry| entry.account); let transactions_table = - TransactionsTable::new(accounts, &active_nav_entry.map(|entry| entry.account), account_transfers, buckets, transactions); + TransactionsTable::new(accounts, &active_account, account_transfers, buckets, transactions); Self { navigation: navigation, - new_transaction_form: NewTransactionForm::new(), + new_transaction_form: NewTransactionForm::new(active_account, buckets.to_vec()), transactions_table, } } @@ -91,8 +92,13 @@ impl<'a> Component<'a, Message, Action> for TransactionsView { } Message::SetBuckets(buckets) => { - self.update_transactions_table( - transactions_table::Message::SetBuckets(buckets.clone())) + let action_1 = self.update_transactions_table( + transactions_table::Message::SetBuckets(buckets.clone())); + let action_2 = self.update_new_transaction_form( + new_transaction_form::Message::SetBuckets(buckets.clone())); + match (action_1, action_2) { + (Action::None, Action::None) => Action::None, + } } Message::SetTransactions(transactions) => { @@ -114,7 +120,13 @@ impl TransactionsView { ) -> Action { match self.navigation.update(message) { navigation::Action::ActivateOption(option) | navigation::Action::SelectOption(option) => { - self.update_transactions_table(transactions_table::Message::SetActiveAccount(option.account)) + let action_1 = self.update_transactions_table( + transactions_table::Message::SetActiveAccount(option.account.clone())); + let action_2 = self.update_new_transaction_form( + new_transaction_form::Message::SetActiveAccount(option.account)); + match (action_1, action_2) { + (Action::None, Action::None) => Action::None, + } } navigation::Action::None => Action::None, } @@ -135,6 +147,7 @@ impl TransactionsView { ) -> Action { match self.new_transaction_form.update(message) { new_transaction_form::Action::None => Action::None, + new_transaction_form::Action::AddTransaction(transaction) => Action::None, } } } |
