Files
grafana/public/app/features/provisioning/hooks/useRepositoryList.ts
Alex Khomenko 6a11d462cb API: Support versioned frontend clients (#106545)
* Update the generator to include version

* Add versioned APIs

* Update imports

* Prettier
2025-06-13 13:24:37 +03:00

20 lines
704 B
TypeScript

import { skipToken } from '@reduxjs/toolkit/query';
import { ListRepositoryApiArg, Repository, useListRepositoryQuery } from 'app/api/clients/provisioning/v0alpha1';
// Sort repositories alphabetically by title
export function useRepositoryList(
options: ListRepositoryApiArg | typeof skipToken = {}
): [Repository[] | undefined, boolean] {
const query = useListRepositoryQuery(options);
const collator = new Intl.Collator(undefined, { numeric: true });
const sortedItems = query.data?.items?.slice().sort((a, b) => {
const titleA = a.spec?.title ?? '';
const titleB = b.spec?.title ?? '';
return collator.compare(titleA, titleB);
});
return [sortedItems, query.isLoading];
}