@nitin15j/plugin-dora-frontend
Version:
Welcome to the dora-frontend plugin!
42 lines (39 loc) • 1.3 kB
JavaScript
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