fix: Calculated value drop-down in menu bar overlaps with info panel buttons#3116
fix: Calculated value drop-down in menu bar overlaps with info panel buttons#3116mtrezza merged 6 commits intoparse-community:alphafrom
Conversation
|
🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review. |
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughMoved the in-toolbar statistics UI into a new FooterStats component in the Browser footer: Toolbar no longer manages stats or accepts Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant DataBrowser
participant Browser
participant BrowserFooter
participant FooterStats
User->>DataBrowser: Selects cells in grid
DataBrowser->>Browser: onCellSelectionChange(count, selectedData)
Browser->>Browser: setState(selectedCellsCount, selectedData)
Browser->>BrowserFooter: props selectedCellsCount, selectedData
BrowserFooter->>FooterStats: render with selectedData
FooterStats->>FooterStats: compute metric value (sum/mean/...)
FooterStats->>User: show metric value and popover controls
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Fix all issues with AI agents
In `@src/dashboard/Data/Browser/FooterStats.react.js`:
- Around line 118-122: The catch block around localStorage.setItem(STORAGE_KEY,
item.type) currently declares an unused parameter `e`, causing a lint error;
update the catch clause to remove the unused parameter (use `catch { ... }`) so
the block silently handles the exception, keeping the code around
localStorage.setItem and STORAGE_KEY unchanged.
- Around line 79-81: The catch block in FooterStats.react.js declares an unused
parameter `e`, causing a lint error; remove the unused parameter by changing the
catch clause to a parameterless catch (i.e., use `catch { ... }`) and keep the
existing comment about localStorage not being available so behavior is
unchanged; update the catch that currently references `e` in the FooterStats
component to use the parameterless form.
🧹 Nitpick comments (1)
src/dashboard/Data/Browser/FooterStats.react.js (1)
15-29: Consider handlingInfinityvalues for edge case robustness.
Infinityand-Infinitypass the current validation sincetypeof Infinity === 'number'and!isNaN(Infinity). IfMath.min()orMath.max()is called on an empty array, they returnInfinity/-Infinityrespectively, which would display literally.While the parent component likely guards against empty data, adding a check improves defensive coding.
Suggested improvement
const formatNumber = (value, isCount = false) => { - if (typeof value !== 'number' || isNaN(value)) { + if (typeof value !== 'number' || isNaN(value) || !isFinite(value)) { return '–'; }
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
src/dashboard/Data/Browser/FooterStats.react.js
🧰 Additional context used
🧬 Code graph analysis (1)
src/dashboard/Data/Browser/FooterStats.react.js (1)
src/components/Popover/Popover.react.js (1)
Popover(15-98)
🪛 GitHub Check: Lint
src/dashboard/Data/Browser/FooterStats.react.js
[failure] 120-120:
'e' is defined but never used
[failure] 79-79:
'e' is defined but never used
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Docker linux/amd64
🔇 Additional comments (4)
src/dashboard/Data/Browser/FooterStats.react.js (4)
8-13: LGTM!Imports and constants are appropriate for the component's functionality.
31-66: LGTM!Statistical calculations are correctly implemented. Edge cases (empty arrays) are either handled by
formatNumberor guarded by the parent component.
85-92: LGTM!State initialization uses lazy evaluation correctly, and the hook setup is appropriate.
145-163: LGTM!The render logic is clean with appropriate conditional rendering for the popover. The defensive null check provides good safety.
✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.
# [8.2.0-alpha.27](8.2.0-alpha.26...8.2.0-alpha.27) (2026-01-15) ### Bug Fixes * Calculated value drop-down in menu bar overlaps with info panel buttons ([#3116](#3116)) ([0f6f729](0f6f729))
|
🎉 This change has been released in version 8.2.0-alpha.27 |
# [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))
* source: (82 commits) chore(release): 8.2.0 [skip ci] empty commit to trigger CI chore(release): 8.2.0-alpha.27 [skip ci] fix: Calculated value drop-down in menu bar overlaps with info panel buttons (parse-community#3116) chore(release): 8.2.0-alpha.26 [skip ci] feat: Add AI agent browser control for autonomous development (parse-community#3114) chore(release): 8.2.0-alpha.25 [skip ci] feat: Add storing data browser graphs to support multiple graphs per class (parse-community#3113) chore(release): 8.2.0-alpha.24 [skip ci] fix: Graph panel covers right-most columns of data browser table (parse-community#3112) chore(release): 8.2.0-alpha.23 [skip ci] fix: Graph panel shows date tick labels on x-axis in local time instead of UTC (parse-community#3111) chore(release): 8.2.0-alpha.22 [skip ci] feat: Add graph panel for data visualization (parse-community#3110) chore(release): 8.2.0-alpha.21 [skip ci] fix: Some context menu sub-menu lists don't change background color on mouse hover in Safari browser (parse-community#3109) chore(release): 8.2.0-alpha.20 [skip ci] fix: Saved filter is not recognized in data browser filter dialog (parse-community#3108) chore(release): 8.2.0-alpha.19 [skip ci] fix: Context menu in data browser disappears behind menu bar (parse-community#3106) ...
New Pull Request Checklist
Summary by CodeRabbit
New Features
Style
Chores
✏️ Tip: You can customize this high-level summary in your review settings.