diff --git a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx index 210eebaf05a456ec71b82c1e7434ac08479d9951..ba66fee263535043f128e41333e782bf19ad1d5d 100644 --- a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx @@ -122,13 +122,12 @@ export function AccountAutocomplete({ .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; - } - }); + .sort( + (a, b) => + a.closed - b.closed || + a.offbudget - b.offbudget || + a.sort_order - b.sort_order, + ); return ( <Autocomplete diff --git a/packages/loot-core/src/client/actions/account.ts b/packages/loot-core/src/client/actions/account.ts index 6eafe4edbd2eba136f1505030b7d20b6b7c99c11..120d20b9df4c3527da20433d207c9b7a235a21a4 100644 --- a/packages/loot-core/src/client/actions/account.ts +++ b/packages/loot-core/src/client/actions/account.ts @@ -243,5 +243,6 @@ export function moveAccount(id, targetId) { return async (dispatch: Dispatch) => { await send('account-move', { id, targetId }); dispatch(getAccounts()); + dispatch(getPayees()); }; } diff --git a/packages/loot-core/src/server/db/index.ts b/packages/loot-core/src/server/db/index.ts index 65cae417ca7704e86c7d3e5328062b877b521d94..507401875c96bc8b2295834cbf097b40294b357e 100644 --- a/packages/loot-core/src/server/db/index.ts +++ b/packages/loot-core/src/server/db/index.ts @@ -536,7 +536,7 @@ export function getPayees() { SELECT p.*, COALESCE(a.name, p.name) AS name FROM payees p LEFT JOIN accounts a ON (p.transfer_acct = a.id AND a.tombstone = 0) WHERE p.tombstone = 0 AND (p.transfer_acct IS NULL OR a.id IS NOT NULL) - ORDER BY p.transfer_acct IS NULL DESC, p.name COLLATE NOCASE + ORDER BY p.transfer_acct IS NULL DESC, p.name COLLATE NOCASE, a.offbudget, a.sort_order `); } diff --git a/upcoming-release-notes/2896.md b/upcoming-release-notes/2896.md new file mode 100644 index 0000000000000000000000000000000000000000..238bc064e83df12c83618363e0991bd00ef5e03d --- /dev/null +++ b/upcoming-release-notes/2896.md @@ -0,0 +1,6 @@ +--- +category: Enhancements +authors: [dymanoid] +--- + +Respect the user-defined account sort order in all autocomplete lists.