UNPKG

@nitin15j/plugin-dora-frontend

Version:
42 lines (39 loc) 1.3 kB
import { useState, useCallback, useEffect } from 'react'; import { useApi } from '@backstage/core-plugin-api'; import { doraBackendApiRef } from '../../../../api/DORABackendClient.esm.js'; function useOrganizationTrendMetrics() { const doraApi = useApi(doraBackendApiRef); const [data, setData] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [selectedTimeRange, setSelectedTimeRange] = useState("last28days"); const fetchOrgTrendMetrics = useCallback(async (timeRange) => { setLoading(true); try { const result = await doraApi.getOrganizationTrendMetrics( timeRange ); if (!result || !result.organization) { throw new Error("No ORG Trend metrics data available"); } setData(result); setError(null); } catch (err) { setError(err instanceof Error ? err.message : "Failed to fetch ORG Trend metrics"); } finally { setLoading(false); } }, [doraApi]); useEffect(() => { fetchOrgTrendMetrics(selectedTimeRange); }, [selectedTimeRange]); return { data, loading, error, selectedTimeRange, setSelectedTimeRange }; } export { useOrganizationTrendMetrics }; //# sourceMappingURL=useOrganizationTrendMetrics.esm.js.map