-
Notifications
You must be signed in to change notification settings - Fork 14k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Boostrap to AntD - Tabs #14048
refactor: Boostrap to AntD - Tabs #14048
Conversation
}; | ||
|
||
const DashboardContainer: FC<DashboardContainerProps> = ({ | ||
topLevelTabs, | ||
handleChangeTab, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handleChangeTab
was never called during runtime and the function interfaces were not compatible:
TabContainer.onSelect
does not provide pathToTabIndex
to (event: SyntheticEvent<TabContainer, Event>) => void
// lets us keep the same React component tree when !!topLevelTabs changes. | ||
// This avoids expensive mounts/unmounts of the entire dashboard. | ||
<Tabs.TabPane | ||
key={index === 0 ? DASHBOARD_GRID_ID : index.toString()} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tabs.TabPane
uses the key as the eventKey
@@ -58,6 +54,9 @@ const DashboardContainer: FC<DashboardContainerProps> = ({ | |||
? topLevelTabs.children | |||
: [DASHBOARD_GRID_ID]; | |||
|
|||
const min = Math.min(tabIndex, childIds.length - 1); | |||
const activeKey = min === 0 ? DASHBOARD_GRID_ID : min.toString(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensures that the key of the first element is always DASHBOARD_GRID_ID
to avoid expensive mounts/unmounts of the entire dashboard.
5cd628d
to
01722fe
Compare
Codecov Report
@@ Coverage Diff @@
## master #14048 +/- ##
==========================================
- Coverage 77.15% 77.04% -0.11%
==========================================
Files 954 946 -8
Lines 48189 47987 -202
Branches 6002 5963 -39
==========================================
- Hits 37180 36972 -208
- Misses 10812 10814 +2
- Partials 197 201 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
01722fe
to
9c7f8ab
Compare
e64b4fa
to
f5e1f00
Compare
superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.tsx
Show resolved
Hide resolved
f5e1f00
to
6dd3538
Compare
/testenv up |
@pkdotson Ephemeral environment spinning up at http://18.236.152.187:8080. Credentials are |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, left a comment in the discussion that's already open but should not be blocker.
6dd3538
to
ccec4ab
Compare
ccec4ab
to
2480a50
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM and tested locally to work very well - love the new top level tab transition effect!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM too. 🚀
Ephemeral environment shutdown and build artifacts deleted. |
* master: (38 commits) refactor(native-filters): allow cascading only for filter_select (apache#14441) test(maximize-chart): Add tests to maximize chart action (apache#14371) fix: fixing mysql error message (apache#14416) feat: Logic added to limiting factor column in Query model (apache#13521) change relationship (apache#14435) fix: bootstrap data permissions (apache#14348) fix: parse simple string error message values (apache#14360) chore: add stack trace to all calls of logger.error (apache#14382) update README with new docs and recordings (apache#14432) Renamed impyla from implya in impala.mdx and Renamed PIP package impyla from impala in index.mdx (apache#14425) fix(native-filters): fix filter scope error (apache#14426) feat: Adding limiting_factor column to Query model (apache#14234) feat: Add etag caching to dashboard APIs (apache#14357) chore: Moves Card to the components folder (apache#14139) feat: Dynamic imports for the Icons component (apache#14318) feat: Support env vars configuration for WebSocket server (apache#14398) fix: SQLLab role permissions (apache#14372) fix(native-filters): always show filters without dataset (apache#14409) fix error getting partitionQuery from table.partition (apache#14369) refactor: Boostrap to AntD - Tabs (apache#14048) ...
SUMMARY
TabContainer
,TabPanel
andTabContent
components from Bootstrap to AntDSee: #10254
@rusackas @junlincc @pkdotson
@villebro I'm tagging you also because of the changes in
DashboardContainer
. Can you help with the review? I'll add some comments to the code to provide more context.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
These are the impacted screens. No perceived difference after the changes.
TEST PLAN
1 - Access different dashboard layouts, with different tab levels
2 - Check that all layouts are working
ADDITIONAL INFORMATION