This is an automated email from the ASF dual-hosted git repository. rusackas pushed a commit to branch feat-granular-theming in repository https://gitbox.apache.org/repos/asf/superset.git
commit 1917ed0895f110732f3ba796bdb82423fffba438 Author: Evan Rusackas <[email protected]> AuthorDate: Thu Feb 5 22:11:25 2026 -0800 fix: update import paths for @apache-superset/core/ui migration Co-Authored-By: Claude Opus 4.5 <[email protected]> --- .../ComponentThemeProvider.test.tsx | 8 +- .../components/gridComponents/Column/Column.jsx | 128 ++++++++-------- .../gridComponents/Column/Column.test.jsx | 7 +- .../components/gridComponents/Row/Row.tsx | 168 +++++++++++---------- .../gridComponents/TabsRenderer/TabsRenderer.tsx | 3 +- .../menu/ComponentHeaderControls/index.tsx | 22 ++- 6 files changed, 177 insertions(+), 159 deletions(-) diff --git a/superset-frontend/src/dashboard/components/ComponentThemeProvider/ComponentThemeProvider.test.tsx b/superset-frontend/src/dashboard/components/ComponentThemeProvider/ComponentThemeProvider.test.tsx index a9fe10c75c0..a10215d85f1 100644 --- a/superset-frontend/src/dashboard/components/ComponentThemeProvider/ComponentThemeProvider.test.tsx +++ b/superset-frontend/src/dashboard/components/ComponentThemeProvider/ComponentThemeProvider.test.tsx @@ -18,7 +18,13 @@ */ import '@testing-library/jest-dom'; import { ReactNode } from 'react'; -import { render, screen, waitFor, act, configure } from '@testing-library/react'; +import { + render, + screen, + waitFor, + act, + configure, +} from '@testing-library/react'; import { renderHook } from '@testing-library/react-hooks'; import { Theme } from '@apache-superset/core/ui'; import ComponentThemeProvider, { useComponentTheme } from './index'; diff --git a/superset-frontend/src/dashboard/components/gridComponents/Column/Column.jsx b/superset-frontend/src/dashboard/components/gridComponents/Column/Column.jsx index 1fa8770a1a8..302e545daec 100644 --- a/superset-frontend/src/dashboard/components/gridComponents/Column/Column.jsx +++ b/superset-frontend/src/dashboard/components/gridComponents/Column/Column.jsx @@ -327,72 +327,72 @@ const Column = props => { editMode={editMode} > {editMode && ( - <Droppable - component={columnComponent} - parentComponent={columnComponent} - {...(columnItems.length === 0 - ? { - dropToChild: true, - } - : { - component: columnItems[0], - })} - depth={depth} - index={0} - orientation="column" - onDrop={handleComponentDrop} - className={cx( - 'empty-droptarget', - columnItems.length > 0 && 'droptarget-edge', - )} - editMode - > - {({ dropIndicatorProps }) => - dropIndicatorProps && <div {...dropIndicatorProps} /> - } - </Droppable> - )} - {columnItems.length === 0 ? ( - <div css={emptyColumnContentStyles}>{t('Empty column')}</div> - ) : ( - columnItems.map((componentId, itemIndex) => ( - <Fragment key={componentId}> - <DashboardComponent - id={componentId} - parentId={columnComponent.id} - depth={depth + 1} - index={itemIndex} - availableColumnCount={columnComponent.meta.width} - columnWidth={columnWidth} - onResizeStart={onResizeStart} - onResize={onResize} - onResizeStop={onResizeStop} - isComponentVisible={isComponentVisible} - onChangeTab={onChangeTab} - /> - {editMode && ( - <Droppable - component={columnItems} - parentComponent={columnComponent} - depth={depth} - index={itemIndex + 1} - orientation="column" - onDrop={handleComponentDrop} - className={cx( - 'empty-droptarget', - itemIndex === columnItems.length - 1 && - 'droptarget-edge', - )} - editMode - > - {({ dropIndicatorProps }) => - dropIndicatorProps && <div {...dropIndicatorProps} /> + <Droppable + component={columnComponent} + parentComponent={columnComponent} + {...(columnItems.length === 0 + ? { + dropToChild: true, } - </Droppable> + : { + component: columnItems[0], + })} + depth={depth} + index={0} + orientation="column" + onDrop={handleComponentDrop} + className={cx( + 'empty-droptarget', + columnItems.length > 0 && 'droptarget-edge', )} - </Fragment> - )) - )} + editMode + > + {({ dropIndicatorProps }) => + dropIndicatorProps && <div {...dropIndicatorProps} /> + } + </Droppable> + )} + {columnItems.length === 0 ? ( + <div css={emptyColumnContentStyles}>{t('Empty column')}</div> + ) : ( + columnItems.map((componentId, itemIndex) => ( + <Fragment key={componentId}> + <DashboardComponent + id={componentId} + parentId={columnComponent.id} + depth={depth + 1} + index={itemIndex} + availableColumnCount={columnComponent.meta.width} + columnWidth={columnWidth} + onResizeStart={onResizeStart} + onResize={onResize} + onResizeStop={onResizeStop} + isComponentVisible={isComponentVisible} + onChangeTab={onChangeTab} + /> + {editMode && ( + <Droppable + component={columnItems} + parentComponent={columnComponent} + depth={depth} + index={itemIndex + 1} + orientation="column" + onDrop={handleComponentDrop} + className={cx( + 'empty-droptarget', + itemIndex === columnItems.length - 1 && + 'droptarget-edge', + )} + editMode + > + {({ dropIndicatorProps }) => + dropIndicatorProps && <div {...dropIndicatorProps} /> + } + </Droppable> + )} + </Fragment> + )) + )} </ColumnStyles> </ComponentThemeProvider> </WithPopoverMenu> diff --git a/superset-frontend/src/dashboard/components/gridComponents/Column/Column.test.jsx b/superset-frontend/src/dashboard/components/gridComponents/Column/Column.test.jsx index 5c9188b1b5f..4127a95f386 100644 --- a/superset-frontend/src/dashboard/components/gridComponents/Column/Column.test.jsx +++ b/superset-frontend/src/dashboard/components/gridComponents/Column/Column.test.jsx @@ -16,7 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -import { fireEvent, render, screen, waitFor } from 'spec/helpers/testing-library'; +import { + fireEvent, + render, + screen, + waitFor, +} from 'spec/helpers/testing-library'; import { getMockStore } from 'spec/fixtures/mockStore'; import { dashboardLayout as mockLayout } from 'spec/fixtures/mockDashboardLayout'; diff --git a/superset-frontend/src/dashboard/components/gridComponents/Row/Row.tsx b/superset-frontend/src/dashboard/components/gridComponents/Row/Row.tsx index d7f1a2c9184..597adc1a771 100644 --- a/superset-frontend/src/dashboard/components/gridComponents/Row/Row.tsx +++ b/superset-frontend/src/dashboard/components/gridComponents/Row/Row.tsx @@ -413,90 +413,92 @@ const Row = memo((props: RowProps) => { ref={containerRef} editMode={editMode} > - {editMode && ( - <Droppable - {...(rowItems.length === 0 - ? { - component: rowComponent, - parentComponent: rowComponent, - dropToChild: true, - } - : { - component: rowItems[0], - parentComponent: rowComponent, - })} - depth={depth} - index={0} - orientation="row" - onDrop={handleComponentDrop} - className={cx( - 'empty-droptarget', - 'empty-droptarget--vertical', - rowItems.length > 0 && 'droptarget-side', - )} - editMode - style={{ - height: rowItems.length > 0 ? containerHeight : '100%', - ...(rowItems.length > 0 && { width: 16 }), - }} - > - {({ dropIndicatorProps }: { dropIndicatorProps: JsonObject }) => - dropIndicatorProps && <div {...dropIndicatorProps} /> - } - </Droppable> - )} - {rowItems.length === 0 && ( - <div css={emptyRowContentStyles as any}>{t('Empty row')}</div> - )} - {rowItems.length > 0 && - rowItems.map((componentId, itemIndex) => ( - <Fragment key={componentId}> - <DashboardComponent - key={componentId} - id={componentId} - parentId={rowComponent.id as string} - depth={depth + 1} - index={itemIndex} - availableColumnCount={remainColumnCount} - columnWidth={columnWidth} - onResizeStart={onResizeStart} - onResize={onResize} - onResizeStop={onResizeStop} - isComponentVisible={isComponentVisible} - onChangeTab={onChangeTab} - isInView={isInView} - /> - {editMode && ( - <Droppable - component={rowItems} - parentComponent={rowComponent} - depth={depth} - index={itemIndex + 1} - orientation="row" - onDrop={handleComponentDrop} - className={cx( - 'empty-droptarget', - 'empty-droptarget--vertical', - remainColumnCount === 0 && - itemIndex === rowItems.length - 1 && - 'droptarget-side', - )} - editMode - style={{ - height: containerHeight, - ...(remainColumnCount === 0 && - itemIndex === rowItems.length - 1 && { width: 16 }), - }} - > - {({ - dropIndicatorProps, - }: { - dropIndicatorProps: JsonObject; - }) => dropIndicatorProps && <div {...dropIndicatorProps} />} - </Droppable> + {editMode && ( + <Droppable + {...(rowItems.length === 0 + ? { + component: rowComponent, + parentComponent: rowComponent, + dropToChild: true, + } + : { + component: rowItems[0], + parentComponent: rowComponent, + })} + depth={depth} + index={0} + orientation="row" + onDrop={handleComponentDrop} + className={cx( + 'empty-droptarget', + 'empty-droptarget--vertical', + rowItems.length > 0 && 'droptarget-side', )} - </Fragment> - ))} + editMode + style={{ + height: rowItems.length > 0 ? containerHeight : '100%', + ...(rowItems.length > 0 && { width: 16 }), + }} + > + {({ dropIndicatorProps }: { dropIndicatorProps: JsonObject }) => + dropIndicatorProps && <div {...dropIndicatorProps} /> + } + </Droppable> + )} + {rowItems.length === 0 && ( + <div css={emptyRowContentStyles as any}>{t('Empty row')}</div> + )} + {rowItems.length > 0 && + rowItems.map((componentId, itemIndex) => ( + <Fragment key={componentId}> + <DashboardComponent + key={componentId} + id={componentId} + parentId={rowComponent.id as string} + depth={depth + 1} + index={itemIndex} + availableColumnCount={remainColumnCount} + columnWidth={columnWidth} + onResizeStart={onResizeStart} + onResize={onResize} + onResizeStop={onResizeStop} + isComponentVisible={isComponentVisible} + onChangeTab={onChangeTab} + isInView={isInView} + /> + {editMode && ( + <Droppable + component={rowItems} + parentComponent={rowComponent} + depth={depth} + index={itemIndex + 1} + orientation="row" + onDrop={handleComponentDrop} + className={cx( + 'empty-droptarget', + 'empty-droptarget--vertical', + remainColumnCount === 0 && + itemIndex === rowItems.length - 1 && + 'droptarget-side', + )} + editMode + style={{ + height: containerHeight, + ...(remainColumnCount === 0 && + itemIndex === rowItems.length - 1 && { width: 16 }), + }} + > + {({ + dropIndicatorProps, + }: { + dropIndicatorProps: JsonObject; + }) => + dropIndicatorProps && <div {...dropIndicatorProps} /> + } + </Droppable> + )} + </Fragment> + ))} </GridRow> </ComponentThemeProvider> </WithPopoverMenu> diff --git a/superset-frontend/src/dashboard/components/gridComponents/TabsRenderer/TabsRenderer.tsx b/superset-frontend/src/dashboard/components/gridComponents/TabsRenderer/TabsRenderer.tsx index 336a0029e7f..f7d8351ccee 100644 --- a/superset-frontend/src/dashboard/components/gridComponents/TabsRenderer/TabsRenderer.tsx +++ b/superset-frontend/src/dashboard/components/gridComponents/TabsRenderer/TabsRenderer.tsx @@ -26,8 +26,7 @@ import { useRef, useState, } from 'react'; -import { t } from '@superset-ui/core'; -import { styled } from '@apache-superset/core/ui'; +import { t, styled } from '@apache-superset/core/ui'; import { LineEditableTabs, TabsProps as AntdTabsProps, diff --git a/superset-frontend/src/dashboard/components/menu/ComponentHeaderControls/index.tsx b/superset-frontend/src/dashboard/components/menu/ComponentHeaderControls/index.tsx index ff950759a0f..f84190e1493 100644 --- a/superset-frontend/src/dashboard/components/menu/ComponentHeaderControls/index.tsx +++ b/superset-frontend/src/dashboard/components/menu/ComponentHeaderControls/index.tsx @@ -16,14 +16,17 @@ * specific language governing permissions and limitations * under the License. */ -import { useState, useCallback, useMemo, Key, MouseEvent, KeyboardEvent } from 'react'; -import { t } from '@superset-ui/core'; -import { css, useTheme } from '@apache-superset/core/ui'; -import { Menu, MenuItem } from '@superset-ui/core/components/Menu'; import { - NoAnimationDropdown, - Button, -} from '@superset-ui/core/components'; + useState, + useCallback, + useMemo, + Key, + MouseEvent, + KeyboardEvent, +} from 'react'; +import { t, css, useTheme } from '@apache-superset/core/ui'; +import { Menu, MenuItem } from '@superset-ui/core/components/Menu'; +import { NoAnimationDropdown, Button } from '@superset-ui/core/components'; import { Icons } from '@superset-ui/core/components/Icons'; /** @@ -61,7 +64,10 @@ export interface ComponentHeaderControlsProps { menuItems: ComponentMenuItem[]; /** Callback when a menu item is clicked */ - onMenuClick: (key: string, domEvent: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>) => void; + onMenuClick: ( + key: string, + domEvent: MouseEvent<HTMLElement> | KeyboardEvent<HTMLElement>, + ) => void; /** Whether the component is in edit mode */ editMode?: boolean;
