mirror of https://github.com/buster-so/buster.git
pass version ids better
This commit is contained in:
parent
6c4e96a73f
commit
2fe071e128
|
@ -1,21 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import { useGetMetric } from '@/api/buster_rest/metrics';
|
||||
import { MetricViewChart } from '@/controllers/MetricController/MetricViewChart/MetricViewChart';
|
||||
|
||||
export default function EmbedMetricsPage({
|
||||
params,
|
||||
searchParams
|
||||
}: {
|
||||
params: { metricId: string };
|
||||
searchParams: { version_number?: string };
|
||||
}) {
|
||||
export default function EmbedMetricsPage({ params }: { params: { metricId: string } }) {
|
||||
const { metricId } = params;
|
||||
const { version_number } = searchParams;
|
||||
const { isFetched } = useGetMetric({
|
||||
id: metricId,
|
||||
version_number: version_number ? parseInt(version_number) : undefined
|
||||
});
|
||||
|
||||
return <MetricViewChart metricId={metricId} readOnly={true} cardClassName="max-h-screen!" />;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ export const VersionHistoryPanel = React.memo(
|
|||
({ assetId, type }: { assetId: string; type: 'metric' | 'dashboard' }) => {
|
||||
const chatId = useChatLayoutContextSelector((x) => x.chatId);
|
||||
const onCloseVersionHistory = useCloseVersionHistory();
|
||||
const { listItems, selectedVersion, selectedQueryVersion, onClickRestoreVersion } =
|
||||
const { listItems, currentVersionNumber, selectedQueryVersion, onClickRestoreVersion } =
|
||||
useListVersionHistories({
|
||||
assetId,
|
||||
type
|
||||
|
@ -55,7 +55,7 @@ export const VersionHistoryPanel = React.memo(
|
|||
key={item.version_number}
|
||||
{...item}
|
||||
selected={item.version_number === selectedQueryVersion}
|
||||
showRestoreButton={item.version_number !== selectedVersion}
|
||||
showRestoreButton={item.version_number !== currentVersionNumber}
|
||||
onClickRestoreVersion={onClickRestoreVersion}
|
||||
link={
|
||||
getFileLink({
|
||||
|
|
|
@ -23,7 +23,7 @@ export const useListVersionHistories = ({
|
|||
const {
|
||||
dashboardVersions,
|
||||
selectedQueryVersion: dashboardSelectedQueryVersion,
|
||||
selectedVersion: dashboardSelectedVersion,
|
||||
currentVersionNumber: dashboardCurrentVersionNumber,
|
||||
onRestoreVersion: onRestoreDashboardVersion,
|
||||
isSavingDashboard
|
||||
} = useListDashboardVersions({
|
||||
|
@ -33,7 +33,7 @@ export const useListVersionHistories = ({
|
|||
const {
|
||||
metricVersions,
|
||||
selectedQueryVersion: metricSelectedQueryVersion,
|
||||
selectedVersion: metricSelectedVersion,
|
||||
currentVersionNumber: metricCurrentVersionNumber,
|
||||
onRestoreVersion: onRestoreMetricVersion,
|
||||
isSavingMetric
|
||||
} = useListMetricVersions({
|
||||
|
@ -46,9 +46,9 @@ export const useListVersionHistories = ({
|
|||
return items ? [...items].reverse() : undefined;
|
||||
}, [type, dashboardVersions, metricVersions]);
|
||||
|
||||
const selectedVersion = useMemo(() => {
|
||||
return type === 'metric' ? metricSelectedVersion : dashboardSelectedVersion;
|
||||
}, [type, dashboardSelectedVersion, metricSelectedVersion]);
|
||||
const currentVersionNumber = useMemo(() => {
|
||||
return type === 'metric' ? metricCurrentVersionNumber : dashboardCurrentVersionNumber;
|
||||
}, [type, dashboardCurrentVersionNumber, metricCurrentVersionNumber]);
|
||||
|
||||
const selectedQueryVersion = useMemo(() => {
|
||||
return type === 'metric' ? metricSelectedQueryVersion : dashboardSelectedQueryVersion;
|
||||
|
@ -86,14 +86,14 @@ export const useListVersionHistories = ({
|
|||
return useMemo(() => {
|
||||
return {
|
||||
listItems,
|
||||
selectedVersion,
|
||||
currentVersionNumber,
|
||||
selectedQueryVersion,
|
||||
onClickRestoreVersion,
|
||||
isRestoringVersion: isSavingDashboard || isSavingMetric
|
||||
};
|
||||
}, [
|
||||
listItems,
|
||||
selectedVersion,
|
||||
currentVersionNumber,
|
||||
selectedQueryVersion,
|
||||
onClickRestoreVersion,
|
||||
isSavingDashboard,
|
||||
|
@ -113,10 +113,10 @@ const useListDashboardVersions = ({
|
|||
saveToServer: true,
|
||||
updateVersion: true
|
||||
});
|
||||
const { data: dashData } = useGetDashboard(
|
||||
const { data: dashboardData } = useGetDashboard(
|
||||
{
|
||||
id: type === 'dashboard' ? assetId : undefined,
|
||||
version_number: null
|
||||
versionNumber: null
|
||||
},
|
||||
{
|
||||
select: (x) => ({
|
||||
|
@ -126,8 +126,8 @@ const useListDashboardVersions = ({
|
|||
}
|
||||
);
|
||||
|
||||
const dashboardVersions = dashData?.versions;
|
||||
const selectedVersion = dashboardVersionNumber || dashData?.version_number;
|
||||
const dashboardVersions = dashboardData?.versions;
|
||||
const currentVersionNumber = dashboardData?.version_number;
|
||||
|
||||
const selectedQueryVersion = useMemo(() => {
|
||||
if (dashboardVersionNumber) return dashboardVersionNumber;
|
||||
|
@ -146,12 +146,12 @@ const useListDashboardVersions = ({
|
|||
dashboardVersions,
|
||||
selectedQueryVersion,
|
||||
onRestoreVersion,
|
||||
selectedVersion,
|
||||
currentVersionNumber,
|
||||
isSavingDashboard
|
||||
};
|
||||
}, [
|
||||
dashboardVersions,
|
||||
selectedVersion,
|
||||
currentVersionNumber,
|
||||
onRestoreVersion,
|
||||
selectedQueryVersion,
|
||||
isSavingDashboard
|
||||
|
@ -174,7 +174,7 @@ const useListMetricVersions = ({
|
|||
const { data: metricData } = useGetMetric(
|
||||
{
|
||||
id: type === 'metric' ? assetId : undefined,
|
||||
version_number: null
|
||||
versionNumber: null
|
||||
},
|
||||
{
|
||||
select: (x) => ({
|
||||
|
@ -184,7 +184,7 @@ const useListMetricVersions = ({
|
|||
}
|
||||
);
|
||||
const metricVersions = metricData?.versions;
|
||||
const selectedVersion = metricVersionNumber || metricData?.version_number;
|
||||
const currentVersionNumber = metricVersionNumber || metricData?.version_number;
|
||||
|
||||
const onRestoreVersion = useMemoizedFn(async (versionNumber: number) => {
|
||||
await updateMetric({
|
||||
|
@ -203,8 +203,14 @@ const useListMetricVersions = ({
|
|||
metricVersions,
|
||||
selectedQueryVersion,
|
||||
onRestoreVersion,
|
||||
selectedVersion,
|
||||
currentVersionNumber,
|
||||
isSavingMetric
|
||||
};
|
||||
}, [metricVersions, onRestoreVersion, selectedQueryVersion, selectedVersion, isSavingMetric]);
|
||||
}, [
|
||||
metricVersions,
|
||||
onRestoreVersion,
|
||||
selectedQueryVersion,
|
||||
currentVersionNumber,
|
||||
isSavingMetric
|
||||
]);
|
||||
};
|
||||
|
|
|
@ -112,8 +112,6 @@ export const DashboardContentController: React.FC<{
|
|||
}
|
||||
}, [dashboard?.id, remapMetrics]);
|
||||
|
||||
console.log(hasMetrics, dashboardRows, dashboard);
|
||||
|
||||
return (
|
||||
<div className="dashboard-content-controller">
|
||||
{hasMetrics && !!dashboardRows.length && !!dashboard ? (
|
||||
|
|
|
@ -10,8 +10,6 @@ import { MetricChartEvaluation } from './MetricChartEvaluation';
|
|||
import { ChartType } from '@/api/asset_interfaces/metric/charts/enum';
|
||||
import { AnimatePresence, motion } from 'framer-motion';
|
||||
import { cn } from '@/lib/classMerge';
|
||||
import { canEdit } from '@/lib/share';
|
||||
import { useChatLayoutContextSelector } from '@/layouts/ChatLayout';
|
||||
import { SaveResetFilePopup } from '@/components/features/popups/SaveResetFilePopup';
|
||||
import { useIsMetricChanged } from '@/context/Metrics/useIsMetricChanged';
|
||||
import { useUpdateMetricChart } from '@/context/Metrics';
|
||||
|
|
Loading…
Reference in New Issue