diff --git a/web/src/components/features/layouts/AppVerticalCodeSplitter/AppVerticalCodeSplitter.tsx b/web/src/components/features/layouts/AppVerticalCodeSplitter/AppVerticalCodeSplitter.tsx index cfd5d99b7..fa6f5d1d8 100644 --- a/web/src/components/features/layouts/AppVerticalCodeSplitter/AppVerticalCodeSplitter.tsx +++ b/web/src/components/features/layouts/AppVerticalCodeSplitter/AppVerticalCodeSplitter.tsx @@ -1,4 +1,4 @@ -import React, { forwardRef } from 'react'; +import React, { forwardRef, MutableRefObject } from 'react'; import { AppSplitter, type AppSplitterRef } from '@/components/ui/layouts/AppSplitter'; import { SQLContainer } from './SQLContainer'; import { DataContainer } from './DataContainer'; diff --git a/web/src/components/features/layouts/AppVerticalCodeSplitter/SQLContainer.tsx b/web/src/components/features/layouts/AppVerticalCodeSplitter/SQLContainer.tsx index 34376e6e8..0f861109c 100644 --- a/web/src/components/features/layouts/AppVerticalCodeSplitter/SQLContainer.tsx +++ b/web/src/components/features/layouts/AppVerticalCodeSplitter/SQLContainer.tsx @@ -91,7 +91,7 @@ export const SQLContainer: React.FC<{ return ( { + const isHidden = leftHidden || _sizes[0] === '0%'; //leftHidden || _sizes[0] === '0px' || _sizes[0] === 0 || _sizes[0] === '0%'; return { - display: leftHidden ? 'none' : undefined + display: isHidden ? 'none' : undefined }; - }, [leftHidden]); + }, [leftHidden, _sizes[0]]); const memoizedRightPaneStyle = useMemo(() => { return { @@ -269,7 +270,7 @@ export const AppSplitter = React.memo( sashRender={sashRender}> {leftHidden || size?.width === 0 || size?.width === undefined ? null : leftChildren} diff --git a/web/src/layouts/ChatLayout/FileContainer/FileContainerHeader/MetricContainerHeaderButtons/MetricContainerHeaderButtons.tsx b/web/src/layouts/ChatLayout/FileContainer/FileContainerHeader/MetricContainerHeaderButtons/MetricContainerHeaderButtons.tsx index 023c20c4b..e009859a3 100644 --- a/web/src/layouts/ChatLayout/FileContainer/FileContainerHeader/MetricContainerHeaderButtons/MetricContainerHeaderButtons.tsx +++ b/web/src/layouts/ChatLayout/FileContainer/FileContainerHeader/MetricContainerHeaderButtons/MetricContainerHeaderButtons.tsx @@ -18,6 +18,7 @@ import Link from 'next/link'; import { assetParamsToRoute } from '@/lib/assets'; import { useAppLayoutContextSelector } from '@/context/BusterAppLayout'; import { useIsMetricReadOnly } from '@/context/Metrics/useIsMetricReadOnly'; +import { BusterRoutes, createBusterRoute } from '@/routes'; export const MetricContainerHeaderButtons: React.FC = React.memo( ({ selectedFileId }) => { @@ -102,6 +103,7 @@ const EditChartButton = React.memo(({ metricId }: { metricId: string }) => { onClick={(e) => { e.preventDefault(); e.stopPropagation(); + //SHALLOW PAGE CHANGED! DO NOT REMOVE }}> { const isSelectedView = selectedFileViewSecondary === editableSecondaryView; const href = useMemo(() => { - if (isSelectedView) { - return assetParamsToRoute({ - chatId, - assetId: metricId, - type: 'metric', - secondaryView: null, - versionNumber: metricVersionNumber + if (!isSelectedView) { + return createBusterRoute({ + route: BusterRoutes.APP_METRIC_ID_RESULTS, + versionNumber: metricVersionNumber, + metricId, + secondaryView: 'sql-edit' }); } - return assetParamsToRoute({ - chatId, - assetId: metricId, - type: 'metric', - secondaryView: 'sql-edit', - versionNumber: metricVersionNumber + return createBusterRoute({ + route: BusterRoutes.APP_METRIC_ID_RESULTS, + versionNumber: metricVersionNumber, + metricId }); - }, [chatId, metricId, metricVersionNumber]); + }, [chatId, metricId, metricVersionNumber, isSelectedView]); - const onClickButton = useMemoizedFn(() => { - const secondaryView = isSelectedView ? null : editableSecondaryView; - onSetFileView({ secondaryView, fileView: 'results' }); - }); + // const onClickButton = useMemoizedFn(() => { + // const secondaryView = isSelectedView ? null : editableSecondaryView; + // onSetFileView({ secondaryView, fileView: 'results' }); + // }); + + console.log('href', href); return ( - { - e.preventDefault(); - e.stopPropagation(); - }}> + } - onClick={onClickButton} + onClick={() => {}} selected={isSelectedView} /> diff --git a/web/src/routes/busterRoutes/busterAppRoutes.ts b/web/src/routes/busterRoutes/busterAppRoutes.ts index f8897b2e1..786874a9e 100644 --- a/web/src/routes/busterRoutes/busterAppRoutes.ts +++ b/web/src/routes/busterRoutes/busterAppRoutes.ts @@ -8,7 +8,7 @@ export enum BusterAppRoutes { APP_METRIC_ID_CHART = '/app/metrics/:metricId/chart?secondary_view=:secondaryView', APP_METRIC_ID_VERSION_NUMBER = '/app/metrics/:metricId/chart?metric_version_number=:versionNumber&secondary_view=:secondaryView', APP_METRIC_ID_FILE = '/app/metrics/:metricId/file', - APP_METRIC_ID_RESULTS = '/app/metrics/:metricId/results?secondary_view=:secondaryView', + APP_METRIC_ID_RESULTS = '/app/metrics/:metricId/results?secondary_view=:secondaryView&metric_version_number=:versionNumber', APP_DASHBOARDS = '/app/dashboards', APP_DASHBOARD_ID = '/app/dashboards/:dashboardId?secondary_view=:secondaryView', APP_DASHBOARD_ID_VERSION_NUMBER = '/app/dashboards/:dashboardId?dashboard_version_number=:versionNumber&secondary_view=:secondaryView', @@ -33,7 +33,7 @@ export enum BusterAppRoutes { APP_CHAT_ID_METRIC_ID_CHART = '/app/chats/:chatId/metrics/:metricId/chart?secondary_view=:secondaryView', APP_CHAT_ID_METRIC_ID_VERSION_NUMBER = '/app/chats/:chatId/metrics/:metricId/chart?metric_version_number=:versionNumber&secondary_view=:secondaryView', APP_CHAT_ID_METRIC_ID_FILE = '/app/chats/:chatId/metrics/:metricId/file', - APP_CHAT_ID_METRIC_ID_RESULTS = '/app/chats/:chatId/metrics/:metricId/results?secondary_view=:secondaryView', + APP_CHAT_ID_METRIC_ID_RESULTS = '/app/chats/:chatId/metrics/:metricId/results?secondary_view=:secondaryView&metric_version_number=:versionNumber', APP_CHAT_ID_COLLECTION_ID = '/app/chats/:chatId/collections/:collectionId', APP_CHAT_ID_DASHBOARD_ID = '/app/chats/:chatId/dashboards/:dashboardId?secondary_view=:secondaryView&dashboard_version_number=:versionNumber', APP_CHAT_ID_DASHBOARD_ID_VERSION_NUMBER = '/app/chats/:chatId/dashboards/:dashboardId?dashboard_version_number=:versionNumber&secondary_view=:secondaryView', @@ -71,7 +71,8 @@ export type BusterAppRoutesWithArgs = { [BusterAppRoutes.APP_METRIC_ID_RESULTS]: { route: BusterAppRoutes.APP_METRIC_ID_RESULTS; metricId: string; - secondaryView?: MetricFileViewSecondary; + versionNumber?: number; + secondaryView?: MetricFileViewSecondary | null; }; [BusterAppRoutes.APP_DASHBOARDS]: { route: BusterAppRoutes.APP_DASHBOARDS }; [BusterAppRoutes.APP_DASHBOARD_ID]: { @@ -149,6 +150,7 @@ export type BusterAppRoutesWithArgs = { route: BusterAppRoutes.APP_CHAT_ID_METRIC_ID_RESULTS; chatId: string; metricId: string; + versionNumber?: number; secondaryView?: MetricFileViewSecondary; }; [BusterAppRoutes.APP_CHAT_ID_COLLECTION_ID]: {