Skip to content

Commit b3d19e9

Browse files
authored
DataGrid: Menu items are truncated in the Filter Builder popup (cherry-pick) (#31474)
1 parent 02d3bc5 commit b3d19e9

File tree

4 files changed

+10
-16
lines changed

4 files changed

+10
-16
lines changed

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

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,24 @@
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';
5-
import { safeSizeTest } from '../../helpers/safeSizeTest';
64
import { createWidget } from '../../helpers/createWidget';
7-
import { testScreenshot } from '../../helpers/themeUtils';
85
import { insertStylesheetRulesToPage } from '../../helpers/domUtils';
96

107
fixture`Filter Builder Scrolling Test`.page(
118
url(__dirname, '../container.html'),
129
);
1310

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

1915
await filterBuilder.isReady();
2016

2117
await t
2218
.click(filterBuilder.getItem('operation'))
2319
.scrollIntoView(filterBuilder.getItem('operation', 4));
2420

25-
await testScreenshot(t, takeScreenshot, 'filterBuilder_scroll_with_popup.png', { element: filterBuilder.element });
26-
await t
27-
.expect(compareResults.isValid())
28-
.ok(compareResults.errorMessages());
21+
await t.expect(FilterBuilder.getPopupTreeView().exists).notOk();
2922
}).before(async () => {
3023
await insertStylesheetRulesToPage('#container {height: 150px; overflow: scroll;}');
3124

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
@@ -819,7 +819,8 @@ class FilterBuilder extends Widget<any> {
819819
visible: true,
820820
focusStateEnabled: false,
821821
preventScrollEvents: false,
822-
container: $popup,
822+
hideOnParentScroll: this.option('closePopupOnTargetScroll'),
823+
_hideOnParentScrollTarget: $popup,
823824
hideOnOutsideClick: true,
824825
onShown: options.popup.onShown,
825826
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
@@ -1299,8 +1299,9 @@ QUnit.module('on value changed', function() {
12991299
});
13001300

13011301
// T824147
1302-
// T1273328 - new
1303-
QUnit.test('Add-condition popup should not be closed on scroll', function(assert) {
1302+
// T1273328
1303+
// T1294239 - new
1304+
QUnit.test('Add-condition popup should be closed on scroll by default', function(assert) {
13041305
// arrange
13051306
const container = $('#container');
13061307
const value = [['CompanyName', 'K&S Music']];
@@ -1316,7 +1317,7 @@ QUnit.module('on value changed', function() {
13161317
const popupInstance = container.children('.dx-filterbuilder-overlay').dxPopup('instance');
13171318

13181319
// assert
1319-
assert.equal(popupInstance.option('hideOnParentScroll'), false, 'popup\'s hideOnParentScroll');
1320+
assert.equal(popupInstance.option('hideOnParentScroll'), true, 'popup\'s hideOnParentScroll should be true by default');
13201321
});
13211322

13221323
// T804262
@@ -1612,7 +1613,7 @@ QUnit.module('Group operations', function() {
16121613

16131614
$('.' + FILTER_BUILDER_IMAGE_ADD_CLASS).trigger('dxclick');
16141615
let popup = container.find(`.${FILTER_BUILDER_OVERLAY_CLASS}`);
1615-
assert.equal(popup.length, 2);
1616+
assert.ok(popup.length > 0);
16161617

16171618
selectMenuItem(1);
16181619

0 commit comments

Comments
 (0)