Skip to content

Commit b303f3d

Browse files
authored
[WC-3265] Better placement of filter dropdowns (#2044)
2 parents 6702d31 + 920f803 commit b303f3d

File tree

6 files changed

+32
-2
lines changed

6 files changed

+32
-2
lines changed

packages/pluggableWidgets/datagrid-date-filter-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We improved the filter selector dropdown behavior so it now automatically selects the best placement based on the available space.
12+
913
## [3.8.0] - 2026-01-16
1014

1115
### Fixed

packages/pluggableWidgets/datagrid-dropdown-filter-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We improved the dropdown and filter selector behavior so that it now automatically selects the best placement based on the available space.
12+
913
## [3.6.0] - 2025-10-01
1014

1115
### Changed

packages/pluggableWidgets/datagrid-number-filter-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We improved the filter selector dropdown behavior so it now automatically selects the best placement based on the available space.
12+
913
## [3.6.0] - 2025-10-01
1014

1115
### Changed

packages/pluggableWidgets/datagrid-text-filter-web/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- We improved the filter selector dropdown behavior so it now automatically selects the best placement based on the available space.
12+
913
## [3.6.0] - 2025-10-01
1014

1115
### Changed

packages/shared/widget-plugin-dropdown-filter/src/controls/hooks/useFloatingMenu.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useMemo } from "react";
2-
import { autoUpdate, ReferenceType, size, useFloating } from "@floating-ui/react-dom";
2+
import { autoUpdate, flip, ReferenceType, size, useFloating } from "@floating-ui/react-dom";
33

44
export function useFloatingMenu<T extends ReferenceType = HTMLDivElement>(
55
open: boolean
@@ -12,6 +12,10 @@ export function useFloatingMenu<T extends ReferenceType = HTMLDivElement>(
1212
width: `${rects.reference.width}px`
1313
});
1414
}
15+
}),
16+
flip({
17+
crossAxis: false,
18+
fallbackStrategy: "initialPlacement"
1519
})
1620
],
1721
[]

packages/shared/widget-plugin-filtering/src/controls/filter-selector/useSelect.tsx

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { autoUpdate, useFloating } from "@floating-ui/react-dom";
1+
import { autoUpdate, flip, useFloating } from "@floating-ui/react-dom";
22
import { useSelect as useDownshiftSelect, UseSelectPropGetters } from "downshift";
33
import { CSSProperties, JSX, useCallback, useEffect, useMemo } from "react";
44

@@ -39,8 +39,18 @@ export function useSelect(props: useSelectProps): ViewProps {
3939
onSelectedItemChange: ({ selectedItem }) => props.onSelect(selectedItem?.value ?? null)
4040
});
4141

42+
const floatingMiddleware = useMemo(
43+
() => [
44+
flip({
45+
fallbackStrategy: "initialPlacement"
46+
})
47+
],
48+
[]
49+
);
50+
4251
const { refs, floatingStyles, update } = useFloating({
4352
open: isOpen,
53+
middleware: floatingMiddleware,
4454
placement: "bottom-start",
4555
strategy: "fixed"
4656
});

0 commit comments

Comments
 (0)