Skip to content

Commit 1e8dd8e

Browse files
fix(frontend): sort namespaces by name for the namespace selector (kubeflow#913)
Signed-off-by: Christian Vogt <[email protected]>
1 parent 90269f9 commit 1e8dd8e

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

clients/ui/frontend/src/shared/context/NamespaceSelectorContext.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ declare global {
4444
const EnabledNamespaceSelectorContextProvider: React.FC<NamespaceSelectorContextProviderProps> = ({
4545
children,
4646
}) => {
47-
const [namespaces, isLoaded, error] = useNamespaces();
47+
const [unsortedNamespaces, isLoaded, error] = useNamespaces();
48+
const namespaces = React.useMemo(
49+
() => unsortedNamespaces.toSorted((a, b) => a.name.localeCompare(b.name)),
50+
[unsortedNamespaces],
51+
);
4852
const [preferredNamespace, setPreferredNamespace] =
4953
React.useState<NamespaceSelectorContextType['preferredNamespace']>(undefined);
5054
const [initializationError, setInitializationError] = React.useState<Error>();

clients/ui/frontend/src/shared/context/__tests__/NamespaceSelectorContext.test.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
jest.mock('~/shared/hooks/useNamespaces');
1313
jest.mock('~/shared/utilities/const');
1414

15-
const mockNamespaces = [{ name: 'namespace-1' }, { name: 'namespace-2' }, { name: 'namespace-3' }];
15+
const mockNamespaces = [{ name: 'namespace-2' }, { name: 'namespace-3' }, { name: 'namespace-1' }];
1616

1717
describe('NamespaceSelectorContext', () => {
1818
const TestConsumer = () => {

0 commit comments

Comments
 (0)