/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/containers/Header/hooks/useClusterData.ts
62 строки
2 KB
Hellen
feat(Header): redesign header for Cluster page (#3813)
28 апр 2026, 16:52
Не верифицирован
28 апр 2026, 16:52
845f0d7
Код
Авторство
О чём код?
import React from 'react'; import {useEmMetaAvailable} from '../../../store/reducers/capabilities/hooks'; import {useClusterBaseInfo} from '../../../store/reducers/cluster/cluster'; import {clustersApi} from '../../../store/reducers/clusters/clusters'; import {uiFactory} from '../../../uiFactory/uiFactory'; import {isAccessError} from '../../../utils/response'; interface UseClusterDataParams { metaCapabilitiesLoaded: boolean; isClustersHomePage: boolean; } export function useClusterData({metaCapabilitiesLoaded, isClustersHomePage}: UseClusterDataParams) { const clusterData = useClusterBaseInfo(); const {title: clusterTitle, name: clusterName, monitoring} = clusterData; const {isLoading: isClustersLoading, error: clustersError} = clustersApi.useGetClustersListQuery(undefined, { skip: !isClustersHomePage || !metaCapabilitiesLoaded, }); const emMetaAvailable = useEmMetaAvailable(); const isAddClusterAvailable = emMetaAvailable && uiFactory.onAddCluster !== undefined && !isClustersLoading && !isAccessError(clustersError); const onEditCluster = emMetaAvailable ? uiFactory.onEditCluster : undefined; const onDeleteCluster = emMetaAvailable ? uiFactory.onDeleteCluster : undefined; const handleEditCluster = React.useMemo(() => { if (!onEditCluster) { return undefined; } return () => { return onEditCluster({clusterData}); }; }, [clusterData, onEditCluster]); const handleDeleteCluster = React.useMemo(() => { if (!onDeleteCluster) { return undefined; } return () => { return onDeleteCluster({clusterData}); }; }, [clusterData, onDeleteCluster]); return { clusterData, clusterTitle, clusterName, monitoring, isAddClusterAvailable, handleEditCluster, handleDeleteCluster, }; }