diff --git a/packages/desktop-client/src/components/accounts/TransactionsTable.js b/packages/desktop-client/src/components/accounts/TransactionsTable.js index 76fe8dde030485a4aef1729d3a858fc3c1a3cb81..3bf19144326b6bfa34fe156e58866cc9d79a7660 100644 --- a/packages/desktop-client/src/components/accounts/TransactionsTable.js +++ b/packages/desktop-client/src/components/accounts/TransactionsTable.js @@ -771,6 +771,7 @@ export const Transaction = memo(function Transaction(props) { inputStyle, }) => ( <AccountAutocomplete + includeClosedAccounts={false} value={accountId} accounts={accounts} shouldSaveFromKey={shouldSaveFromKey} diff --git a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js index 067718e58aa4ffd297e5bb64d1c0437f140416c9..d03ae01488405026db2b8e323b89a1f98d48dde2 100644 --- a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js +++ b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.js @@ -25,9 +25,18 @@ export function AccountList({ > {items.map((item, idx) => { const showGroup = lastItem - ? item.offbudget !== lastItem.offbudget + ? (item.offbudget !== lastItem.offbudget && !item.closed) || + (item.closed !== lastItem.closed && !item.offbudget) : true; - const group = item.offbudget ? 'Off Budget' : 'For Budget'; + + const group = `${ + item.closed + ? 'Closed Accounts' + : item.offbudget + ? 'Off Budget' + : 'For Budget' + }`; + lastItem = item; return [ @@ -74,16 +83,26 @@ export default function AccountAutocomplete({ }) { let accounts = useCachedAccounts() || []; + //remove closed accounts if needed + //then sort by closed, then offbudget + accounts = accounts + .filter(item => { + return includeClosedAccounts ? item : !item.closed; + }) + .sort((a, b) => { + if (a.closed === b.closed) { + return a.offbudget === b.offbudget ? 0 : a.offbudget ? 1 : -1; + } else { + return a.closed ? 1 : -1; + } + }); + return ( <Autocomplete strict={true} highlightFirst={true} embedded={embedded} - suggestions={ - includeClosedAccounts - ? accounts - : accounts.filter(a => a.closed === false) - } + suggestions={accounts} renderItems={(items, getItemProps, highlightedIndex) => ( <AccountList items={items} diff --git a/upcoming-release-notes/1034.md b/upcoming-release-notes/1034.md new file mode 100644 index 0000000000000000000000000000000000000000..f08d9910e6c412d7cd2c925fa5bb70c727c10409 --- /dev/null +++ b/upcoming-release-notes/1034.md @@ -0,0 +1,6 @@ +--- +category: Enhancements +authors: [Miodec] +--- + +Updated account order inside the account autocomplete popup to: On Budget, Off Budget, Closed Accounts. Removed closed accounts from suggestions when creating a new transaction.