mirror of
https://github.com/grafana/grafana.git
synced 2025-08-01 00:31:51 +08:00

* Update the generator to include version * Add versioned APIs * Update imports * Prettier
20 lines
704 B
TypeScript
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];
|
|
}
|