Simplify and fix useDatatypesMapper

The problem was that we'd immediately return if `createMapper` had
previously been called in another calling stack. I think we don't need
to do any error handling here, and the loading state can simply be
`datatypesMapperStore.loading`.

Fixes https://github.com/galaxyproject/galaxy/issues/18549
This commit is contained in:
mvdbeek
2024-07-16 17:32:41 +02:00
parent dc0ffcda79
commit 38859d9db8
+5 -13
View File
@@ -11,19 +11,11 @@ export function useDatatypesMapper() {
const datatypes: Ref<string[]> = ref([]);
async function getDatatypesMapper() {
try {
await datatypesMapperStore.createMapper();
datatypesMapper.value = datatypesMapperStore.datatypesMapper;
if (datatypesMapperStore.datatypesMapper) {
datatypes.value = datatypesMapperStore.datatypesMapper.datatypes;
}
} catch (e) {
console.error("unable to create datatypes mapper\n", e);
} finally {
datatypesMapperLoading.value = false;
}
if (!datatypesMapperStore.datatypesMapper) {
throw Error("Error creating datatypesMapper");
await datatypesMapperStore.createMapper();
datatypesMapperLoading.value = datatypesMapperStore.loading;
datatypesMapper.value = datatypesMapperStore.datatypesMapper;
if (datatypesMapperStore.datatypesMapper) {
datatypes.value = datatypesMapperStore.datatypesMapper.datatypes;
}
}