This is an automated email from the ASF dual-hosted git repository. hugh pushed a commit to branch 2023.13.1 in repository https://gitbox.apache.org/repos/asf/superset.git
commit 34bfd647f7e65a6d06c044d506d8353b829c7ebd Author: Geido <[email protected]> AuthorDate: Sat Apr 1 10:45:50 2023 +0200 fix: Hide FilterBar for Reports (#23543) (cherry picked from commit a18e33b3bc7fbca4c5eb49715ac66ef7641043e9) --- .../DashboardBuilder/DashboardBuilder.tsx | 28 +++++----- .../components/nativeFilters/FilterBar/index.tsx | 65 +++++++++++++--------- .../components/nativeFilters/FilterBar/types.ts | 1 + 3 files changed, 55 insertions(+), 39 deletions(-) diff --git a/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx b/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx index 3c64c2ef1e..4b4047c9d1 100644 --- a/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx +++ b/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx @@ -582,7 +582,10 @@ const DashboardBuilder: FC<DashboardBuilderProps> = () => { {!hideDashboardHeader && <DashboardHeader />} {showFilterBar && filterBarOrientation === FilterBarOrientation.HORIZONTAL && ( - <FilterBar orientation={FilterBarOrientation.HORIZONTAL} /> + <FilterBar + orientation={FilterBarOrientation.HORIZONTAL} + hidden={isReport} + /> )} {dropIndicatorProps && <div {...dropIndicatorProps} />} {!isReport && topLevelTabs && !uiConfig.hideNav && ( @@ -654,18 +657,17 @@ const DashboardBuilder: FC<DashboardBuilderProps> = () => { > <StickyPanel ref={containerRef} width={filterBarWidth}> <ErrorBoundary> - {!isReport && ( - <FilterBar - orientation={FilterBarOrientation.VERTICAL} - verticalConfig={{ - filtersOpen: dashboardFiltersOpen, - toggleFiltersBar: toggleDashboardFiltersOpen, - width: filterBarWidth, - height: filterBarHeight, - offset: filterBarOffset, - }} - /> - )} + <FilterBar + orientation={FilterBarOrientation.VERTICAL} + verticalConfig={{ + filtersOpen: dashboardFiltersOpen, + toggleFiltersBar: toggleDashboardFiltersOpen, + width: filterBarWidth, + height: filterBarHeight, + offset: filterBarOffset, + }} + hidden={isReport} + /> </ErrorBoundary> </StickyPanel> </FiltersPanel> diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx index 5b2ce29326..52d36c254c 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx +++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx @@ -28,6 +28,7 @@ import { SLOW_DEBOUNCE, isNativeFilter, usePrevious, + styled, } from '@superset-ui/core'; import { useHistory } from 'react-router-dom'; import { updateDataMask, clearDataMask } from 'src/dataMask/actions'; @@ -51,6 +52,10 @@ import ActionButtons from './ActionButtons'; import Horizontal from './Horizontal'; import Vertical from './Vertical'; +const HiddenFilterBar = styled.div` + display: none; +`; + const EXCLUDED_URL_PARAMS: string[] = [ URL_PARAMS.nativeFilters.name, URL_PARAMS.permalinkKey.name, @@ -113,6 +118,7 @@ export const FilterBarScrollContext = createContext(false); const FilterBar: React.FC<FiltersBarProps> = ({ orientation = FilterBarOrientation.VERTICAL, verticalConfig, + hidden = false, }) => { const history = useHistory(); const dataMaskApplied: DataMaskStateWithId = useNativeFiltersDataMask(); @@ -247,31 +253,38 @@ const FilterBar: React.FC<FiltersBarProps> = ({ /> ); - return orientation === FilterBarOrientation.HORIZONTAL ? ( - <Horizontal - actions={actions} - canEdit={canEdit} - dashboardId={dashboardId} - dataMaskSelected={dataMaskSelected} - filterValues={filterValues} - isInitialized={isInitialized} - onSelectionChange={handleFilterSelectionChange} - /> - ) : verticalConfig ? ( - <Vertical - actions={actions} - canEdit={canEdit} - dataMaskSelected={dataMaskSelected} - filtersOpen={verticalConfig.filtersOpen} - filterValues={filterValues} - isInitialized={isInitialized} - isDisabled={isApplyDisabled} - height={verticalConfig.height} - offset={verticalConfig.offset} - onSelectionChange={handleFilterSelectionChange} - toggleFiltersBar={verticalConfig.toggleFiltersBar} - width={verticalConfig.width} - /> - ) : null; + const filterBarComponent = + orientation === FilterBarOrientation.HORIZONTAL ? ( + <Horizontal + actions={actions} + canEdit={canEdit} + dashboardId={dashboardId} + dataMaskSelected={dataMaskSelected} + filterValues={filterValues} + isInitialized={isInitialized} + onSelectionChange={handleFilterSelectionChange} + /> + ) : verticalConfig ? ( + <Vertical + actions={actions} + canEdit={canEdit} + dataMaskSelected={dataMaskSelected} + filtersOpen={verticalConfig.filtersOpen} + filterValues={filterValues} + isInitialized={isInitialized} + isDisabled={isApplyDisabled} + height={verticalConfig.height} + offset={verticalConfig.offset} + onSelectionChange={handleFilterSelectionChange} + toggleFiltersBar={verticalConfig.toggleFiltersBar} + width={verticalConfig.width} + /> + ) : null; + + return hidden ? ( + <HiddenFilterBar>{filterBarComponent}</HiddenFilterBar> + ) : ( + filterBarComponent + ); }; export default React.memo(FilterBar); diff --git a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/types.ts b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/types.ts index ac7ed70456..e146690a99 100644 --- a/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/types.ts +++ b/superset-frontend/src/dashboard/components/nativeFilters/FilterBar/types.ts @@ -47,6 +47,7 @@ interface VerticalBarConfig { } export interface FiltersBarProps { + hidden?: boolean; orientation: FilterBarOrientation; verticalConfig?: VerticalBarConfig; }
