+ {/* Full-width display-type tab bar. Kept above the editor + Display
+ Settings row so the tabs never wrap when the panel is open. */}
+
@@ -781,166 +907,198 @@ export default function EditTimeChartForm({
)}
/>
-
-
- Chart Name
-
-
- {isRawSqlDisplayType(displayType) && (
- (
-
+ {/* Editor + Display Settings side by side, below the tab bar, so the
+ tile/preview stays visible while its display options are changed.
+ In the dashboard drawer the row fills the remaining height: the
+ editor column scrolls on its own and the settings dock full-height
+ beside it. On Chart Explorer the settings return null and fall back
+ to the overlay Drawer. */}
+
+
+
+
+
+ Chart Name
+
+
+ {isRawSqlDisplayType(displayType) && (
+ (
+
+ )}
/>
)}
- />
- )}
-
-
- {activeTab === 'markdown' ? (
-
-
-
-
+
+ {activeTab === 'markdown' ? (
+
+
+
+
+
+
+ ) : isPromqlInput ? (
+
-
-
- ) : isPromqlInput ? (
-
- ) : isRawSqlInput ? (
-
- ) : (
-
+ ) : (
+
+ )}
+
+
+ setValue(name, value)}
onSubmit={onSubmit}
- openDisplaySettings={openDisplaySettings}
- openHeatmapSettings={openHeatmapSettings}
/>
- )}
-
+
+
-
- setValue(name, value)}
- onSubmit={onSubmit}
- />
+
setSaveToDashboardModalOpen(false)}
/>
-
-
);
}
diff --git a/packages/app/src/components/DBEditTimeChartForm/__tests__/DBEditTimeChartForm.test.tsx b/packages/app/src/components/DBEditTimeChartForm/__tests__/DBEditTimeChartForm.test.tsx
index 7796fdee80..734000ee80 100644
--- a/packages/app/src/components/DBEditTimeChartForm/__tests__/DBEditTimeChartForm.test.tsx
+++ b/packages/app/src/components/DBEditTimeChartForm/__tests__/DBEditTimeChartForm.test.tsx
@@ -5,6 +5,7 @@ import {
SavedChartConfig,
SourceKind,
} from '@hyperdx/common-utils/dist/types';
+import { Drawer } from '@mantine/core';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { fireEvent, screen, waitFor } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
@@ -141,6 +142,10 @@ jest.mock('@/HDXMarkdownChart', () => ({
default: () =>