|
|
|
|
|
|
|
|
import { ReactComponent as DatasetIcon } from '@/assets/svg/knowledge-dataset.svg'; |
|
|
import { ReactComponent as DatasetIcon } from '@/assets/svg/knowledge-dataset.svg'; |
|
|
import { ReactComponent as TestingIcon } from '@/assets/svg/knowledge-testing.svg'; |
|
|
import { ReactComponent as TestingIcon } from '@/assets/svg/knowledge-testing.svg'; |
|
|
import { useFetchKnowledgeBaseConfiguration } from '@/hooks/knowledge-hooks'; |
|
|
import { useFetchKnowledgeBaseConfiguration } from '@/hooks/knowledge-hooks'; |
|
|
import { useSecondPathName } from '@/hooks/route-hook'; |
|
|
|
|
|
|
|
|
import { |
|
|
|
|
|
useGetKnowledgeSearchParams, |
|
|
|
|
|
useSecondPathName, |
|
|
|
|
|
} from '@/hooks/route-hook'; |
|
|
import { getWidth } from '@/utils'; |
|
|
import { getWidth } from '@/utils'; |
|
|
import { Avatar, Menu, MenuProps, Space } from 'antd'; |
|
|
import { Avatar, Menu, MenuProps, Space } from 'antd'; |
|
|
import classNames from 'classnames'; |
|
|
import classNames from 'classnames'; |
|
|
import { useCallback, useEffect, useMemo, useState } from 'react'; |
|
|
import { useCallback, useEffect, useMemo, useState } from 'react'; |
|
|
import { useTranslation } from 'react-i18next'; |
|
|
import { useTranslation } from 'react-i18next'; |
|
|
import { useNavigate, useSelector } from 'umi'; |
|
|
|
|
|
|
|
|
import { useNavigate } from 'umi'; |
|
|
import { KnowledgeRouteKey } from '../../constant'; |
|
|
import { KnowledgeRouteKey } from '../../constant'; |
|
|
|
|
|
|
|
|
import styles from './index.less'; |
|
|
import styles from './index.less'; |
|
|
|
|
|
|
|
|
const KnowledgeSidebar = () => { |
|
|
const KnowledgeSidebar = () => { |
|
|
const kAModel = useSelector((state: any) => state.kAModel); |
|
|
|
|
|
const { id } = kAModel; |
|
|
|
|
|
let navigate = useNavigate(); |
|
|
let navigate = useNavigate(); |
|
|
const activeKey = useSecondPathName(); |
|
|
const activeKey = useSecondPathName(); |
|
|
|
|
|
const { knowledgeId } = useGetKnowledgeSearchParams(); |
|
|
|
|
|
|
|
|
const [windowWidth, setWindowWidth] = useState(getWidth()); |
|
|
const [windowWidth, setWindowWidth] = useState(getWidth()); |
|
|
const [collapsed, setCollapsed] = useState(false); |
|
|
const [collapsed, setCollapsed] = useState(false); |
|
|
|
|
|
|
|
|
const { data: knowledgeDetails } = useFetchKnowledgeBaseConfiguration(); |
|
|
const { data: knowledgeDetails } = useFetchKnowledgeBaseConfiguration(); |
|
|
|
|
|
|
|
|
const handleSelect: MenuProps['onSelect'] = (e) => { |
|
|
const handleSelect: MenuProps['onSelect'] = (e) => { |
|
|
navigate(`/knowledge/${e.key}?id=${id}`); |
|
|
|
|
|
|
|
|
navigate(`/knowledge/${e.key}?id=${knowledgeId}`); |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
type MenuItem = Required<MenuProps>['items'][number]; |
|
|
type MenuItem = Required<MenuProps>['items'][number]; |