Skip to content

fix: Info panel covers whole sidebar if fewer objects than panels in multi-panel scenario#3042

Merged
mtrezza merged 5 commits intoparse-community:alphafrom
mtrezza:fix/reisze-panel-width
Dec 4, 2025
Merged

fix: Info panel covers whole sidebar if fewer objects than panels in multi-panel scenario#3042
mtrezza merged 5 commits intoparse-community:alphafrom
mtrezza:fix/reisze-panel-width

Conversation

@mtrezza
Copy link
Member

@mtrezza mtrezza commented Dec 4, 2025

Summary by CodeRabbit

  • Improvements
    • Panel toggle buttons now correctly display the count of panels (e.g., "Hide 2 Panels" vs. "Hide Panel").
    • Panel width is now properly calculated and displayed when panels are hidden.
    • Empty panel states now display aggregation data instead of blank space.

✏️ Tip: You can customize this high-level summary in your review settings.

@parse-github-assistant
Copy link

🚀 Thanks for opening this pull request!

@coderabbitai
Copy link

coderabbitai bot commented Dec 4, 2025

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

Updates panel toggle button labels to dynamically pluralize based on panel count. Introduces effectivePanelWidth calculation in DataBrowser to account for hidden panels, persists width adjustments to localStorage, and modifies panel rendering logic to display aggregation panels when no panels are currently shown.

Changes

Cohort / File(s) Change Summary
Toolbar label pluralization
src/components/Toolbar/Toolbar.react.js
Dynamically pluralizes panel toggle button labels: "Hide Panel" becomes "Hide {panelCount} Panels" and "Show Panel" becomes "Show {panelCount} Panels" when panelCount > 1.
DataBrowser panel width and rendering
src/dashboard/Data/Browser/DataBrowser.react.js
Introduces effectivePanelWidth calculation to adjust rendered width based on hidden panels; translates effective width back to full panel width on resize and persists to localStorage. Updates all UI components (BrowserTable, ResizableBox, per-panel rendering) to use effectivePanelWidth. Renders single AggregationPanel when no panels displayed, pulling data from cached multiPanelData or AggregationPanelData; adjusts isLoadingCloudFunction and selectedObjectId propagation accordingly.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • DataBrowser.react.js: Multiple interrelated logic changes affecting width calculations, state propagation, and render paths require careful verification of edge cases (hidden panels, no panels displayed, resize behavior) and localStorage persistence.
  • Toolbar.react.js: Label pluralization logic is straightforward but should be verified for correct panelCount handling across all toggle states.

Possibly related PRs

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6aadff6 and 004e764.

📒 Files selected for processing (2)
  • src/components/Toolbar/Toolbar.react.js (1 hunks)
  • src/dashboard/Data/Browser/DataBrowser.react.js (5 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@parseplatformorg
Copy link
Contributor

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mtrezza mtrezza merged commit dd3ba8d into parse-community:alpha Dec 4, 2025
11 of 12 checks passed
@mtrezza mtrezza deleted the fix/reisze-panel-width branch December 4, 2025 00:08
parseplatformorg pushed a commit that referenced this pull request Dec 4, 2025
# [8.2.0-alpha.2](8.2.0-alpha.1...8.2.0-alpha.2) (2025-12-04)

### Bug Fixes

* Info panel covers whole sidebar if fewer objects than panels in multi-panel scenario ([#3042](#3042)) ([dd3ba8d](dd3ba8d))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 8.2.0-alpha.2

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Dec 4, 2025
parseplatformorg pushed a commit that referenced this pull request Jan 15, 2026
# [8.2.0](8.1.0...8.2.0) (2026-01-15)

### Bug Fixes

*  Data browser pagination is ignored when using browser navigation or page reload ([#3097](#3097)) ([bcc4d5f](bcc4d5f))
* Batch-navigation is active even if info panels are not visible ([#3053](#3053)) ([91b544a](91b544a))
* Calculated value drop-down in menu bar overlaps with info panel buttons ([#3116](#3116)) ([0f6f729](0f6f729))
* Context menu in data browser disappears behind menu bar ([#3106](#3106)) ([2c6c471](2c6c471))
* Data browser table headers misaligned when scrolling horizontally ([#3067](#3067)) ([f495dd1](f495dd1))
* Graph panel covers right-most columns of data browser table ([#3112](#3112)) ([00b0d70](00b0d70))
* Graph panel shows date tick labels on x-axis in local time instead of UTC ([#3111](#3111)) ([85d4946](85d4946))
* Header row in View table disappears when scrolling up ([#3105](#3105)) ([2923e86](2923e86))
* Info panel covers whole sidebar if fewer objects than panels in multi-panel scenario ([#3042](#3042)) ([dd3ba8d](dd3ba8d))
* Info panel not refreshing on script execution ([#3040](#3040)) ([f57e7e2](f57e7e2))
* Prefetch for multiple info panels in data browser doesn't refresh stale cached data ([#3080](#3080)) ([e71d4e6](e71d4e6))
* Right-click on info panel header selects the object ([#3082](#3082)) ([ae87114](ae87114))
* Saved filter is not recognized in data browser filter dialog ([#3108](#3108)) ([8a4ce15](8a4ce15))
* Some context menu sub-menu lists don't change background color on mouse hover in Safari browser ([#3109](#3109)) ([6269d18](6269d18))

### Features

* Add AI agent browser control for autonomous development ([#3114](#3114)) ([5940455](5940455))
* Add confirmation dialog to handle conflicts when migrating settings to server ([#3092](#3092)) ([ae50b8d](ae50b8d))
* Add getting related records to context menu of info panel header ([#3083](#3083)) ([2623802](2623802))
* Add graph panel for data visualization ([#3110](#3110)) ([1e15e27](1e15e27))
* Add keyboard shortcuts for quick actions in data browser ([#3073](#3073)) ([858d0cc](858d0cc))
* Add Node 24 support ([#3041](#3041)) ([8cf2735](8cf2735))
* Add storing data browser filters on server ([#3090](#3090)) ([b991734](b991734))
* Add storing data browser graphs to support multiple graphs per class ([#3113](#3113)) ([e76f605](e76f605))
* Add support for `Video` type in View table to display videos ([#3061](#3061)) ([bd4aa4f](bd4aa4f))
* Allow selecting objects by click-dragging over info panel headers ([#3074](#3074)) ([d6ef86c](d6ef86c))
* Auto-expand filter list when clicking on class in data browser ([#3101](#3101)) ([30a733c](30a733c))
* Execute scripts via right-click on info panel header column ([#3068](#3068)) ([2983741](2983741))

### Performance Improvements

* Add local caching for server-stored settings to reduce loading from server ([#3094](#3094)) ([409973a](409973a))
* Remove unnecessary data fetches from data browser pagination ([#3098](#3098)) ([bc59998](bc59998))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:released-alpha Released as alpha version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants