From bbe0dca768f698e7c7b889f621d199ba5b57f3c1 Mon Sep 17 00:00:00 2001 From: Alex Fedotyev Date: Fri, 20 Mar 2026 17:36:47 -0700 Subject: [PATCH 1/3] Move section collapse state to URL query params Section expand/collapse state is now tracked in URL query params (collapsed/expanded) instead of persisting directly to the DB on every toggle. The DB-stored collapsed field on DashboardContainer becomes the default fallback for when someone opens a dashboard fresh (no URL state). - Chevron click updates URL state only (per-viewer, shareable) - "Collapse by Default" / "Expand by Default" menu action saves to DB - SectionHeader accepts separate collapsed/defaultCollapsed props and onToggle/onToggleDefaultCollapsed handlers - Add 7 unit tests for SectionHeader --- packages/app/src/DBDashboardPage.tsx | 132 +++++++++++---- packages/app/src/components/SectionHeader.tsx | 45 ++++-- .../__tests__/SectionHeader.test.tsx | 152 ++++++++++++++++++ 3 files changed, 286 insertions(+), 43 deletions(-) create mode 100644 packages/app/src/components/__tests__/SectionHeader.test.tsx diff --git a/packages/app/src/DBDashboardPage.tsx b/packages/app/src/DBDashboardPage.tsx index 9781278051..c72112f77a 100644 --- a/packages/app/src/DBDashboardPage.tsx +++ b/packages/app/src/DBDashboardPage.tsx @@ -13,7 +13,7 @@ import { useRouter } from 'next/router'; import { formatRelative } from 'date-fns'; import produce from 'immer'; import { pick } from 'lodash'; -import { parseAsString, useQueryState } from 'nuqs'; +import { parseAsArrayOf, parseAsString, useQueryState } from 'nuqs'; import { ErrorBoundary } from 'react-error-boundary'; import RGL, { WidthProvider } from 'react-grid-layout'; import { useForm, useWatch } from 'react-hook-form'; @@ -1100,16 +1100,11 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { const [editedTile, setEditedTile] = useState(); const onAddTile = (containerId?: string) => { - // Auto-expand collapsed section so the new tile is visible - if (containerId && dashboard) { - const section = dashboard.containers?.find(s => s.id === containerId); - if (section?.collapsed) { - setDashboard( - produce(dashboard, draft => { - const s = draft.containers?.find(c => c.id === containerId); - if (s) s.collapsed = false; - }), - ); + // Auto-expand collapsed section via URL state so the new tile is visible + if (containerId) { + const section = dashboard?.containers?.find(s => s.id === containerId); + if (section && isSectionCollapsed(section)) { + handleToggleSection(containerId); } } setEditedTile({ @@ -1131,6 +1126,37 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { [dashboard?.containers], ); const hasSections = sections.length > 0; + + // URL-based collapse state: tracks which sections the current viewer has + // explicitly collapsed/expanded. Falls back to the DB-stored default. + const [urlCollapsedIds, setUrlCollapsedIds] = useQueryState( + 'collapsed', + parseAsArrayOf(parseAsString).withOptions({ history: 'replace' }), + ); + const [urlExpandedIds, setUrlExpandedIds] = useQueryState( + 'expanded', + parseAsArrayOf(parseAsString).withOptions({ history: 'replace' }), + ); + + const collapsedIdSet = useMemo( + () => new Set(urlCollapsedIds ?? []), + [urlCollapsedIds], + ); + const expandedIdSet = useMemo( + () => new Set(urlExpandedIds ?? []), + [urlExpandedIds], + ); + + const isSectionCollapsed = useCallback( + (section: DashboardContainer): boolean => { + // URL state takes precedence over DB default + if (collapsedIdSet.has(section.id)) return true; + if (expandedIdSet.has(section.id)) return false; + return section.collapsed ?? false; + }, + [collapsedIdSet, expandedIdSet], + ); + const allTiles = useMemo(() => dashboard?.tiles ?? [], [dashboard?.tiles]); const handleMoveTileToSection = useCallback( @@ -1285,10 +1311,56 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { [dashboard, setDashboard], ); - // Intentionally persists collapsed state to the server via setDashboard - // (same pattern as tile drag/resize). This matches Grafana and Kibana - // behavior where collapsed state is saved with the dashboard for all viewers. + // Toggle collapse in URL state only (per-viewer, shareable via link). + // Does NOT persist to DB — the DB `collapsed` field is the default. const handleToggleSection = useCallback( + (containerId: string) => { + // Determine current effective state from URL params + DB default + const dbDefault = + dashboard?.containers?.find(s => s.id === containerId)?.collapsed ?? + false; + const currentlyCollapsed = collapsedIdSet.has(containerId) + ? true + : expandedIdSet.has(containerId) + ? false + : dbDefault; + + if (currentlyCollapsed) { + // Expanding: add to expanded list, remove from collapsed list + setUrlExpandedIds(prev => { + const next = [...(prev ?? [])]; + if (!next.includes(containerId)) next.push(containerId); + return next.length > 0 ? next : null; + }); + setUrlCollapsedIds(prev => { + const next = (prev ?? []).filter(id => id !== containerId); + return next.length > 0 ? next : null; + }); + } else { + // Collapsing: add to collapsed list, remove from expanded list + setUrlCollapsedIds(prev => { + const next = [...(prev ?? [])]; + if (!next.includes(containerId)) next.push(containerId); + return next.length > 0 ? next : null; + }); + setUrlExpandedIds(prev => { + const next = (prev ?? []).filter(id => id !== containerId); + return next.length > 0 ? next : null; + }); + } + }, + [ + dashboard?.containers, + collapsedIdSet, + expandedIdSet, + setUrlCollapsedIds, + setUrlExpandedIds, + ], + ); + + // Toggle the DB-stored default collapsed state (menu action). + // This changes what all viewers see by default when opening the dashboard. + const handleToggleDefaultCollapsed = useCallback( (containerId: string) => { if (!dashboard) return; setDashboard( @@ -1757,26 +1829,32 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { handleToggleSection(section.id)} + onToggleDefaultCollapsed={() => + handleToggleDefaultCollapsed(section.id) + } onRename={newTitle => handleRenameSection(section.id, newTitle) } onDelete={() => handleDeleteSection(section.id)} onAddTile={() => onAddTile(section.id)} /> - {!section.collapsed && sectionTiles.length > 0 && ( - - {sectionTiles.map(renderTileComponent)} - - )} + {!isSectionCollapsed(section) && + sectionTiles.length > 0 && ( + + {sectionTiles.map(renderTileComponent)} + + )} ); })} diff --git a/packages/app/src/components/SectionHeader.tsx b/packages/app/src/components/SectionHeader.tsx index 092acf5460..db0e11904c 100644 --- a/packages/app/src/components/SectionHeader.tsx +++ b/packages/app/src/components/SectionHeader.tsx @@ -13,14 +13,24 @@ import { export default function SectionHeader({ section, tileCount, + collapsed, + defaultCollapsed, onToggle, + onToggleDefaultCollapsed, onRename, onDelete, onAddTile, }: { section: DashboardContainer; tileCount: number; + /** Effective collapsed state (URL state ?? DB default). */ + collapsed: boolean; + /** The DB-stored default collapsed state. */ + defaultCollapsed: boolean; + /** Toggle collapse in URL state (chevron click). */ onToggle: () => void; + /** Toggle the DB-stored default collapsed state (menu action). */ + onToggleDefaultCollapsed?: () => void; onRename?: (newTitle: string) => void; onDelete?: () => void; onAddTile?: () => void; @@ -31,7 +41,7 @@ export default function SectionHeader({ const [menuOpen, setMenuOpen] = useState(false); const showControls = hovered || menuOpen; - const hasMenuControls = onDelete != null; + const hasMenuControls = onDelete != null || onToggleDefaultCollapsed != null; const handleSaveRename = () => { const trimmed = editedTitle.trim(); @@ -81,13 +91,13 @@ export default function SectionHeader({ } role="button" tabIndex={editing ? undefined : 0} - aria-expanded={!section.collapsed} + aria-expanded={!collapsed} aria-label={`Toggle ${section.title} section`} > {section.title} - {section.collapsed && tileCount > 0 && ( + {collapsed && tileCount > 0 && ( ({tileCount} {tileCount === 1 ? 'tile' : 'tiles'}) @@ -170,18 +180,21 @@ export default function SectionHeader({ - - ) : ( - - ) - } - onClick={onToggle} - > - {section.collapsed ? 'Expand by Default' : 'Collapse by Default'} - + {onToggleDefaultCollapsed && ( + + ) : ( + + ) + } + onClick={onToggleDefaultCollapsed} + data-testid={`section-toggle-default-${section.id}`} + > + {defaultCollapsed ? 'Expand by Default' : 'Collapse by Default'} + + )} {onDelete && ( <> diff --git a/packages/app/src/components/__tests__/SectionHeader.test.tsx b/packages/app/src/components/__tests__/SectionHeader.test.tsx new file mode 100644 index 0000000000..54d5a4a9b0 --- /dev/null +++ b/packages/app/src/components/__tests__/SectionHeader.test.tsx @@ -0,0 +1,152 @@ +import React from 'react'; +import { DashboardContainer } from '@hyperdx/common-utils/dist/types'; +import { screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + +import SectionHeader from '../SectionHeader'; + +// Menu buttons have pointer-events:none when not hovered; skip that check. +const user = userEvent.setup({ pointerEventsCheck: 0 }); + +const makeSection = ( + overrides: Partial = {}, +): DashboardContainer => ({ + id: 'section-1', + type: 'section', + title: 'My Section', + collapsed: false, + ...overrides, +}); + +describe('SectionHeader', () => { + it('renders section title and tile count when collapsed', () => { + renderWithMantine( + , + ); + + expect(screen.getByText('My Section')).toBeInTheDocument(); + expect(screen.getByText('(3 tiles)')).toBeInTheDocument(); + }); + + it('does not show tile count when expanded', () => { + renderWithMantine( + , + ); + + expect(screen.getByText('My Section')).toBeInTheDocument(); + expect(screen.queryByText('(3 tiles)')).not.toBeInTheDocument(); + }); + + it('calls onToggle (URL state) when chevron area is clicked', async () => { + const onToggle = jest.fn(); + const onToggleDefaultCollapsed = jest.fn(); + + renderWithMantine( + , + ); + + await user.click( + screen.getByRole('button', { name: /Toggle My Section section/i }), + ); + + expect(onToggle).toHaveBeenCalledTimes(1); + expect(onToggleDefaultCollapsed).not.toHaveBeenCalled(); + }); + + it('shows "Collapse by Default" when DB default is expanded', async () => { + renderWithMantine( + , + ); + + // Open the menu + await user.click(screen.getByTestId('section-menu-section-1')); + expect(await screen.findByText('Collapse by Default')).toBeInTheDocument(); + }); + + it('shows "Expand by Default" when DB default is collapsed', async () => { + renderWithMantine( + , + ); + + await user.click(screen.getByTestId('section-menu-section-1')); + expect(await screen.findByText('Expand by Default')).toBeInTheDocument(); + }); + + it('calls onToggleDefaultCollapsed (DB state) from menu item', async () => { + const onToggle = jest.fn(); + const onToggleDefaultCollapsed = jest.fn(); + + renderWithMantine( + , + ); + + await user.click(screen.getByTestId('section-menu-section-1')); + await user.click(await screen.findByText('Collapse by Default')); + + expect(onToggleDefaultCollapsed).toHaveBeenCalledTimes(1); + expect(onToggle).not.toHaveBeenCalled(); + }); + + it('uses collapsed prop for visual state independent of section.collapsed', () => { + // section.collapsed is false (DB default), but collapsed prop is true (URL override) + renderWithMantine( + , + ); + + // Should show tile count because collapsed=true (URL state takes precedence) + expect(screen.getByText('(5 tiles)')).toBeInTheDocument(); + // The aria-expanded should reflect the effective state + expect( + screen.getByRole('button', { name: /Toggle My Section section/i }), + ).toHaveAttribute('aria-expanded', 'false'); + }); +}); From c72626e9a75a09e00b7cb773bcd62e8998a96997 Mon Sep 17 00:00:00 2001 From: Alex Fedotyev Date: Mon, 23 Mar 2026 11:58:46 -0700 Subject: [PATCH 2/3] Address review: move onAddTile below hooks, abstract URL set helpers with immer - Move onAddTile below isSectionCollapsed/handleToggleSection to avoid hoisting issues (knudtty review comment) - Extract addToUrlSet/removeFromUrlSet helpers using immer produce, eliminating duplicated add/filter logic in handleToggleSection - Use isSectionCollapsed directly instead of re-implementing the lookup --- packages/app/src/DBDashboardPage.tsx | 106 +++++++++++++-------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/packages/app/src/DBDashboardPage.tsx b/packages/app/src/DBDashboardPage.tsx index 08c32410f0..6714b08f0f 100644 --- a/packages/app/src/DBDashboardPage.tsx +++ b/packages/app/src/DBDashboardPage.tsx @@ -1101,28 +1101,6 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { const [editedTile, setEditedTile] = useState(); - const onAddTile = (containerId?: string) => { - // Auto-expand collapsed section via URL state so the new tile is visible - if (containerId) { - const section = dashboard?.containers?.find(s => s.id === containerId); - if (section && isSectionCollapsed(section)) { - handleToggleSection(containerId); - } - } - setEditedTile({ - id: makeId(), - x: 0, - y: 0, - w: 8, - h: 10, - config: { - ...DEFAULT_CHART_CONFIG, - source: sources?.[0]?.id ?? '', - }, - ...(containerId ? { containerId } : {}), - }); - }; - const sections = useMemo( () => dashboard?.containers ?? [], [dashboard?.containers], @@ -1313,48 +1291,48 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { [dashboard, setDashboard], ); + // Helpers for updating URL-based collapse sets via immer. + const addToUrlSet = useCallback( + (setter: typeof setUrlCollapsedIds, containerId: string) => { + setter(prev => + produce(prev ?? [], draft => { + if (!draft.includes(containerId)) draft.push(containerId); + }), + ); + }, + [], + ); + + const removeFromUrlSet = useCallback( + (setter: typeof setUrlCollapsedIds, containerId: string) => { + setter(prev => { + const next = (prev ?? []).filter(id => id !== containerId); + return next.length > 0 ? next : null; + }); + }, + [], + ); + // Toggle collapse in URL state only (per-viewer, shareable via link). // Does NOT persist to DB — the DB `collapsed` field is the default. const handleToggleSection = useCallback( (containerId: string) => { - // Determine current effective state from URL params + DB default - const dbDefault = - dashboard?.containers?.find(s => s.id === containerId)?.collapsed ?? - false; - const currentlyCollapsed = collapsedIdSet.has(containerId) - ? true - : expandedIdSet.has(containerId) - ? false - : dbDefault; + const section = dashboard?.containers?.find(s => s.id === containerId); + const currentlyCollapsed = section ? isSectionCollapsed(section) : false; if (currentlyCollapsed) { - // Expanding: add to expanded list, remove from collapsed list - setUrlExpandedIds(prev => { - const next = [...(prev ?? [])]; - if (!next.includes(containerId)) next.push(containerId); - return next.length > 0 ? next : null; - }); - setUrlCollapsedIds(prev => { - const next = (prev ?? []).filter(id => id !== containerId); - return next.length > 0 ? next : null; - }); + addToUrlSet(setUrlExpandedIds, containerId); + removeFromUrlSet(setUrlCollapsedIds, containerId); } else { - // Collapsing: add to collapsed list, remove from expanded list - setUrlCollapsedIds(prev => { - const next = [...(prev ?? [])]; - if (!next.includes(containerId)) next.push(containerId); - return next.length > 0 ? next : null; - }); - setUrlExpandedIds(prev => { - const next = (prev ?? []).filter(id => id !== containerId); - return next.length > 0 ? next : null; - }); + addToUrlSet(setUrlCollapsedIds, containerId); + removeFromUrlSet(setUrlExpandedIds, containerId); } }, [ dashboard?.containers, - collapsedIdSet, - expandedIdSet, + isSectionCollapsed, + addToUrlSet, + removeFromUrlSet, setUrlCollapsedIds, setUrlExpandedIds, ], @@ -1375,6 +1353,28 @@ function DBDashboardPage({ presetConfig }: { presetConfig?: Dashboard }) { [dashboard, setDashboard], ); + const onAddTile = (containerId?: string) => { + // Auto-expand collapsed section via URL state so the new tile is visible + if (containerId) { + const section = dashboard?.containers?.find(s => s.id === containerId); + if (section && isSectionCollapsed(section)) { + handleToggleSection(containerId); + } + } + setEditedTile({ + id: makeId(), + x: 0, + y: 0, + w: 8, + h: 10, + config: { + ...DEFAULT_CHART_CONFIG, + source: sources?.[0]?.id ?? '', + }, + ...(containerId ? { containerId } : {}), + }); + }; + const handleAddSection = useCallback(() => { if (!dashboard) return; setDashboard( From f09244609ceb3b7ad64269790d337bf33698a3fe Mon Sep 17 00:00:00 2001 From: Alex Fedotyev <61838744+alex-fedotyev@users.noreply.github.com> Date: Mon, 23 Mar 2026 12:07:14 -0700 Subject: [PATCH 3/3] Add demo gif for PR #1958 --- docs/assets/collapse-url-state-demo.gif | Bin 0 -> 70069 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/collapse-url-state-demo.gif diff --git a/docs/assets/collapse-url-state-demo.gif b/docs/assets/collapse-url-state-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2411f9e92ff5ae1cfac791cae7c9d7559dbdaac9 GIT binary patch literal 70069 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 z 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