fix: render all interval tabs for visual consistency - #7969
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #7969 +/- ##
==========================================
+ Coverage 61.97% 62.16% +0.18%
==========================================
Files 187 187
Lines 58368 58367 -1
==========================================
+ Hits 36176 36283 +107
+ Misses 22192 22084 -108 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@walterbender could you please review this pr when u got time. |
|
@Ashutoshx7 could u take a look to this |
|
@abhnish can you look at this? |
|
@lavjeetrai the layout-shift issue makes sense . Before I approve, a couple of things, does enabled = false actually disable interaction, or is it just a flag right now? Since tabs stay in the DOM instead of being removed, I want to confirm inactive tabs aren't still keyboard/screen-reader focusable. Also, the test only covers the "perfect" interval, so it'd be good to add a case for "minor" too, along with a test asserting inactive tabs are no longer hidden. One more thing - in __setupAction, tabs from other interval types (l !== i) are still .hide()d, only the active interval's own tabs use the new enabled approach, so the PR description saying "all tabs" reads as global when it's actually scoped to the active interval; might be worth clarifying that. |
This PR fixes a UI consistency issue in the pie menus by ensuring all tabs are always rendered for each interval type.
Previously, inactive tabs were completely hidden from the DOM, which could disrupt the structural layout of the pie menu slices and cause unexpected shifting. This resolves the
TODO: Add all tabs to each intervalby always showing all tabs and instead setting.enabled = falsefor the inactive ones. This keeps the pie menu's layout and slice positioning consistent across intervals.Changes Made
Modified
__setupActioninjs/piemenus.jsto remove the.hide()logic for inactive tabs.Set inactive tabs to
.enabled = falseso that they stay in the DOM but are correctly marked as disabled.Bug Fix