From c33dc8d848a29201ca9b282507ecb06bb477cb94 Mon Sep 17 00:00:00 2001
From: Trevor Farlow <trevdor@users.noreply.github.com>
Date: Tue, 18 Oct 2022 12:42:46 -0600
Subject: [PATCH] Schedules editor: exclude closed accounts in Account
 autocomplete

Closes #55
---
 .../src/components/accounts/TransactionsTable.js     |  1 +
 .../src/components/util/GenericInput.js              |  1 +
 .../src/components/AccountAutocomplete.js            | 12 ++++++++++--
 .../loot-design/src/components/modals/EditField.js   |  1 +
 4 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/packages/desktop-client/src/components/accounts/TransactionsTable.js b/packages/desktop-client/src/components/accounts/TransactionsTable.js
index 2d25cbe84..ba9599821 100644
--- a/packages/desktop-client/src/components/accounts/TransactionsTable.js
+++ b/packages/desktop-client/src/components/accounts/TransactionsTable.js
@@ -762,6 +762,7 @@ export const Transaction = React.memo(function Transaction(props) {
             <AccountAutocomplete
               value={accountId}
               accounts={accounts}
+              includeClosedAccounts
               shouldSaveFromKey={shouldSaveFromKey}
               tableBehavior={true}
               focused={true}
diff --git a/packages/desktop-client/src/components/util/GenericInput.js b/packages/desktop-client/src/components/util/GenericInput.js
index 8d8c6aeaf..4813dd8a4 100644
--- a/packages/desktop-client/src/components/util/GenericInput.js
+++ b/packages/desktop-client/src/components/util/GenericInput.js
@@ -66,6 +66,7 @@ export default function GenericInput({
           content = (
             <AccountAutocomplete
               accounts={accounts}
+              includeClosedAccounts
               value={value}
               multi={multi}
               openOnFocus={false}
diff --git a/packages/loot-design/src/components/AccountAutocomplete.js b/packages/loot-design/src/components/AccountAutocomplete.js
index cc600521b..7b2acadd3 100644
--- a/packages/loot-design/src/components/AccountAutocomplete.js
+++ b/packages/loot-design/src/components/AccountAutocomplete.js
@@ -66,7 +66,11 @@ export function AccountList({
   );
 }
 
-export default function AccountAutocomplete({ embedded, ...props }) {
+export default function AccountAutocomplete({
+  embedded,
+  includeClosedAccounts = false,
+  ...props
+}) {
   let accounts = useCachedAccounts() || [];
 
   return (
@@ -74,7 +78,11 @@ export default function AccountAutocomplete({ embedded, ...props }) {
       strict={true}
       highlightFirst={true}
       embedded={embedded}
-      suggestions={accounts}
+      suggestions={
+        includeClosedAccounts
+          ? accounts
+          : accounts.filter(a => a.closed === false)
+      }
       renderItems={(items, getItemProps, highlightedIndex) => (
         <AccountList
           items={items}
diff --git a/packages/loot-design/src/components/modals/EditField.js b/packages/loot-design/src/components/modals/EditField.js
index 9b0277d68..a9c2208c5 100644
--- a/packages/loot-design/src/components/modals/EditField.js
+++ b/packages/loot-design/src/components/modals/EditField.js
@@ -72,6 +72,7 @@ function EditField({
         <AccountAutocomplete
           value={null}
           accounts={accounts}
+          includeClosedAccounts
           focused={true}
           embedded={true}
           onSelect={value => {
-- 
GitLab