Feat: Render the skills list using a tree view. (#17115)

### Summary
Feat: Render the skills list using a tree view.
This commit is contained in:
balibabu
2026-07-20 19:00:08 +08:00
committed by GitHub
parent aff9ff6d0a
commit 392b249404
33 changed files with 571 additions and 826 deletions

View File

@@ -1,9 +1,11 @@
import message from '@/components/ui/message';
import {
DatasetSkillPage,
DatasetSkillTree,
} from '@/interfaces/database/dataset-skill';
import i18n from '@/locales/config';
import datasetSkillService from '@/services/dataset-skill-service';
import { useQuery } from '@tanstack/react-query';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { useKnowledgeBaseId } from './use-knowledge-request';
@@ -51,3 +53,56 @@ export function useFetchDatasetSkillPage(skillKwd: string | null | undefined) {
return { data, loading };
}
export function useDeleteDatasetSkillTree() {
const kbId = useKnowledgeBaseId();
const queryClient = useQueryClient();
const {
data,
isPending: loading,
mutateAsync,
} = useMutation({
mutationFn: async () => {
const { data } = await datasetSkillService.deleteTree({
datasetId: kbId,
});
if (data?.code === 0) {
message.success(i18n.t('message.deleted'));
queryClient.invalidateQueries({
queryKey: DatasetSkillKeys.all(kbId),
});
}
return data;
},
});
return { data, loading, deleteSkillTree: mutateAsync };
}
export function useDeleteDatasetSkillPage() {
const kbId = useKnowledgeBaseId();
const queryClient = useQueryClient();
const {
data,
isPending: loading,
mutateAsync,
} = useMutation({
mutationFn: async (skillKwd: string) => {
const { data } = await datasetSkillService.deletePage({
datasetId: kbId,
skillKwd,
});
if (data?.code === 0) {
message.success(i18n.t('message.deleted'));
queryClient.invalidateQueries({
queryKey: DatasetSkillKeys.all(kbId),
});
}
return data;
},
});
return { data, loading, deleteSkillPage: mutateAsync };
}