You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by hu...@apache.org on 2023/04/10 22:40:35 UTC
[superset] 04/07: fix: Hide FilterBar for Reports (#23543)
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 <60...@users.noreply.github.com>
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;
}