Skip to content

Commit c940a81

Browse files
authored
DataGrid: Menu items are truncated in the Filter Builder popup (cherry-pick) (#31473)
1 parent f4786f8 commit c940a81

File tree

5 files changed

+10
-15
lines changed

5 files changed

+10
-15
lines changed

e2e/testcafe-devextreme/tests/common/filterBuilder/filterBuilderScrolling.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,23 @@
11
import FilterBuilder from 'devextreme-testcafe-models/filterBuilder';
2-
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
32
import url from '../../../helpers/getPageUrl';
43
import { fields, filter } from './data';
54
import { createWidget } from '../../../helpers/createWidget';
6-
import { testScreenshot } from '../../../helpers/themeUtils';
75
import { insertStylesheetRulesToPage } from '../../../helpers/domUtils';
86

97
fixture.disablePageReloads`Filter Builder Scrolling Test`
108
.page(url(__dirname, '../../container.html'));
119

12-
// T1273328
13-
test('FilterBuilder - The field drop-down window moves with the page scroll', async (t) => {
10+
// T1273328 > T1294239
11+
test('FilterBuilder - The field drop-down closes with the page scroll', async (t) => {
1412
const filterBuilder = new FilterBuilder('#container');
15-
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
1613

1714
await filterBuilder.isReady();
1815

1916
await t
2017
.click(filterBuilder.getItem('operation'))
2118
.scrollIntoView(filterBuilder.getItem('operation', 4));
2219

23-
await testScreenshot(t, takeScreenshot, 'filterBuilder_scroll_with_popup.png', { element: filterBuilder.element });
24-
await t
25-
.expect(compareResults.isValid())
26-
.ok(compareResults.errorMessages());
20+
await t.expect(FilterBuilder.getPopupTreeView().exists).notOk();
2721
}).before(async () => {
2822
await insertStylesheetRulesToPage('#container {height: 150px; overflow: scroll;}');
2923

packages/devextreme-scss/scss/widgets/base/filterBuilder/_index.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ $filterbuilder-menu-icon-color: null !default;
2525
@use "./common";
2626

2727
.dx-filterbuilder {
28-
position: relative;
2928
background-color: $filterbuilder-bg;
3029

3130
@mixin button-color($color, $hover-color, $focus-color) {

packages/devextreme/js/__internal/filter_builder/m_filter_builder.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -893,7 +893,8 @@ class FilterBuilder extends Widget<any> {
893893
visible: true,
894894
focusStateEnabled: false,
895895
preventScrollEvents: false,
896-
container: $popup,
896+
hideOnParentScroll: this.option('closePopupOnTargetScroll'),
897+
_hideOnParentScrollTarget: $popup,
897898
hideOnOutsideClick: true,
898899
onShown: options.popup.onShown,
899900
shading: false,

packages/devextreme/testing/tests/DevExpress.ui.widgets/filterBuilderParts/commonTests.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,8 +1293,9 @@ QUnit.module('on value changed', function() {
12931293
});
12941294

12951295
// T824147
1296-
// T1273328 - new
1297-
QUnit.test('Add-condition popup should not be closed on scroll', function(assert) {
1296+
// T1273328
1297+
// T1294239 - new
1298+
QUnit.test('Add-condition popup should be closed on scroll by default', function(assert) {
12981299
// arrange
12991300
const container = $('#container');
13001301
const value = [['CompanyName', 'K&S Music']];
@@ -1310,7 +1311,7 @@ QUnit.module('on value changed', function() {
13101311
const popupInstance = container.children('.dx-filterbuilder-overlay').dxPopup('instance');
13111312

13121313
// assert
1313-
assert.equal(popupInstance.option('hideOnParentScroll'), false, 'popup\'s hideOnParentScroll');
1314+
assert.equal(popupInstance.option('hideOnParentScroll'), true, 'popup\'s hideOnParentScroll should be true by default');
13141315
});
13151316

13161317
// T804262
@@ -1606,7 +1607,7 @@ QUnit.module('Group operations', function() {
16061607

16071608
$('.' + FILTER_BUILDER_IMAGE_ADD_CLASS).trigger('dxclick');
16081609
let popup = container.find(`.${FILTER_BUILDER_OVERLAY_CLASS}`);
1609-
assert.equal(popup.length, 2);
1610+
assert.ok(popup.length > 0);
16101611

16111612
selectMenuItem(1);
16121613

0 commit comments

Comments
 (0)