Skip to content

Commit bfc91b8

Browse files
authored
DataGrid - Validation message gets cut off in Fluent and Material themes (T1285387) (DevExpress#29849)
1 parent d08e251 commit bfc91b8

File tree

5 files changed

+56
-2
lines changed

5 files changed

+56
-2
lines changed

e2e/testcafe-devextreme/tests/dataGrid/common/validation/cellEditing.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import DataGrid from 'devextreme-testcafe-models/dataGrid';
2+
import { createScreenshotsComparer } from 'devextreme-screenshot-comparer';
23
import url from '../../../../helpers/getPageUrl';
34
import { createWidget } from '../../../../helpers/createWidget';
5+
import { testScreenshot } from '../../../../helpers/themeUtils';
6+
import { Themes } from '../../../../helpers/themes';
7+
import { changeTheme } from '../../../../helpers/changeTheme';
48

59
fixture.disablePageReloads`Validation`
610
.page(url(__dirname, '../../../container.html'));
@@ -49,3 +53,42 @@ fixture.disablePageReloads`Validation`
4953
}],
5054
}));
5155
});
56+
[
57+
Themes.genericLight,
58+
Themes.materialBlue,
59+
Themes.fluentBlue,
60+
].forEach((theme) => {
61+
test('DataGrid - Validation message gets cut off in Fluent and Material themes (T1285387)', async (t) => {
62+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
63+
const dataGrid = new DataGrid('#container');
64+
const dataCellEditLink = dataGrid.getDataCell(0, 1).getLinkEdit();
65+
66+
await t.click(dataCellEditLink);
67+
await t.pressKey('backspace enter');
68+
69+
await testScreenshot(t, takeScreenshot, `Invalid-message-word-wrapping-${theme}`, { element: dataGrid.element });
70+
71+
await t
72+
.expect(compareResults.isValid())
73+
.ok(compareResults.errorMessages());
74+
}).before(async () => {
75+
await changeTheme(theme);
76+
await createWidget('dxDataGrid', {
77+
dataSource: [
78+
{ A: 'n' },
79+
],
80+
width: 800,
81+
editing: {
82+
mode: 'form',
83+
allowUpdating: true,
84+
},
85+
columns: [{
86+
dataField: 'A',
87+
validationRules: [{ type: 'required', message: 'sampletextsampletextsampletextsampletextsampletextsampletextsampletextsampletext' }],
88+
},
89+
],
90+
});
91+
}).after(async () => {
92+
await changeTheme(Themes.genericLight);
93+
});
94+
});
14.2 KB
Loading
13.7 KB
Loading
14.5 KB
Loading

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

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,17 @@ $datagrid-text-stub-background-image-path: null !default;
4646
border-color: $datagrid-drag-header-border-color;
4747
}
4848

49-
@mixin dx-datagrid-error-message() {
50-
background-color: $datagrid-row-error-bg;
49+
@mixin dx-datagrid-error-popup() {
5150
white-space: normal;
5251
word-wrap: break-word;
5352
}
5453

54+
@mixin dx-datagrid-error-message() {
55+
background-color: $datagrid-row-error-bg;
56+
57+
@include dx-datagrid-error-popup();
58+
}
59+
5560
.dx-datagrid {
5661
color: $datagrid-base-color;
5762

@@ -215,6 +220,12 @@ $datagrid-text-stub-background-image-path: null !default;
215220
}
216221
}
217222

223+
.dx-invalid-message {
224+
.dx-overlay-content {
225+
@include dx-datagrid-error-popup();
226+
}
227+
}
228+
218229
.dx-column-lines > td {
219230
&:first-child {
220231
border-left: none;

0 commit comments

Comments
 (0)