fix(badges): implement missing sort cases for all sort options
All four sort options in the dropdown were falling through to the default (given_name ASC) because their cases were missing from both the IDB fast-path sort and the API order_by_li mapping: - Affiliations ASC: IDB sorts by affiliations_override → affiliations; API sorts by affiliations column - Badge Type ASC: badge_type_code ASC - First Printed DESC: print_first_datetime DESC - Last Printed DESC: print_last_datetime DESC Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -317,6 +317,26 @@ async function handle_search_refresh(params: any) {
|
|||||||
);
|
);
|
||||||
case 'print_count_desc':
|
case 'print_count_desc':
|
||||||
return (b.print_count ?? 0) - (a.print_count ?? 0);
|
return (b.print_count ?? 0) - (a.print_count ?? 0);
|
||||||
|
case 'print_first_desc':
|
||||||
|
return (
|
||||||
|
new Date(b.print_first_datetime || 0).getTime() -
|
||||||
|
new Date(a.print_first_datetime || 0).getTime()
|
||||||
|
);
|
||||||
|
case 'print_last_desc':
|
||||||
|
return (
|
||||||
|
new Date(b.print_last_datetime || 0).getTime() -
|
||||||
|
new Date(a.print_last_datetime || 0).getTime()
|
||||||
|
);
|
||||||
|
case 'badge_type_asc':
|
||||||
|
return (a.badge_type_code ?? '').localeCompare(
|
||||||
|
b.badge_type_code ?? ''
|
||||||
|
);
|
||||||
|
case 'affiliations_asc':
|
||||||
|
return (
|
||||||
|
(a.affiliations_override ?? a.affiliations ?? '').localeCompare(
|
||||||
|
b.affiliations_override ?? b.affiliations ?? ''
|
||||||
|
)
|
||||||
|
);
|
||||||
default:
|
default:
|
||||||
return (a.given_name ?? '').localeCompare(
|
return (a.given_name ?? '').localeCompare(
|
||||||
b.given_name ?? ''
|
b.given_name ?? ''
|
||||||
@@ -372,6 +392,18 @@ async function handle_search_refresh(params: any) {
|
|||||||
case 'print_count_desc':
|
case 'print_count_desc':
|
||||||
order_by_li = { print_count: 'DESC' };
|
order_by_li = { print_count: 'DESC' };
|
||||||
break;
|
break;
|
||||||
|
case 'print_first_desc':
|
||||||
|
order_by_li = { print_first_datetime: 'DESC' };
|
||||||
|
break;
|
||||||
|
case 'print_last_desc':
|
||||||
|
order_by_li = { print_last_datetime: 'DESC' };
|
||||||
|
break;
|
||||||
|
case 'badge_type_asc':
|
||||||
|
order_by_li = { badge_type_code: 'ASC' };
|
||||||
|
break;
|
||||||
|
case 'affiliations_asc':
|
||||||
|
order_by_li = { affiliations: 'ASC' };
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
order_by_li = { given_name: 'ASC' };
|
order_by_li = { given_name: 'ASC' };
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user