fix-dropdown-sort-icons (#2656)

This commit is contained in:
bosiraphael
2023-11-22 18:49:25 +01:00
committed by GitHub
parent 7eea150d16
commit 7954a2b6c2
3 changed files with 18 additions and 16 deletions

View File

@ -2,6 +2,7 @@ import { useCallback, useState } from 'react';
import { IconChevronDown } from '@/ui/display/icon';
import { LightButton } from '@/ui/input/button/components/LightButton';
import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons';
import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown';
import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenuHeader';
import { DropdownMenuItemsContainer } from '@/ui/layout/dropdown/components/DropdownMenuItemsContainer';
@ -60,6 +61,8 @@ export const ObjectSortDropdownButton = ({
resetState();
};
const { icons } = useLazyLoadIcons();
return (
<DropdownScope dropdownScopeId={ObjectSortDropdownId}>
<Dropdown
@ -97,15 +100,17 @@ export const ObjectSortDropdownButton = ({
</DropdownMenuHeader>
<DropdownMenuSeparator />
<DropdownMenuItemsContainer>
{availableSortDefinitions.map((availableSort, index) => (
<MenuItem
testId={`select-sort-${index}`}
key={index}
onClick={() => handleAddSort(availableSort)}
LeftIcon={availableSort.Icon}
text={availableSort.label}
/>
))}
{availableSortDefinitions.map(
(availableSortDefinition, index) => (
<MenuItem
testId={`select-sort-${index}`}
key={index}
onClick={() => handleAddSort(availableSortDefinition)}
LeftIcon={icons[availableSortDefinition.iconName]}
text={availableSortDefinition.label}
/>
),
)}
</DropdownMenuItemsContainer>
</>
)}

View File

@ -1,10 +1,8 @@
import { IconComponent } from '@/ui/display/icon/types/IconComponent';
import { SortDirection } from './SortDirection';
export type SortDefinition = {
fieldMetadataId: string;
label: string;
Icon?: IconComponent;
iconName: string;
getOrderByTemplate?: (direction: SortDirection) => any[];
};