This is an automated email from the ASF dual-hosted git repository. diegopucci pushed a commit to branch fix/dashboard-report-hidden-filterbar in repository https://gitbox.apache.org/repos/asf/superset.git
commit e47cbc328fee97319be210cc02cd480bc6a839f2 Author: geido <[email protected]> AuthorDate: Fri Mar 31 14:48:50 2023 +0200 Hide FilterBar for reports --- .../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 07eb85482b..dffa7bc3b2 100644 --- a/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx +++ b/superset-frontend/src/dashboard/components/DashboardBuilder/DashboardBuilder.tsx @@ -583,7 +583,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 && ( @@ -655,18 +658,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..7cdf9bc6ce 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 HiddenFilerBar = 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 ? ( + <HiddenFilerBar>{filterBarComponent}</HiddenFilerBar> + ) : ( + 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; }
