Skip to content

Commit 2a7b84f

Browse files
authored
PivotGrid(T1270941): fix columns header area d-n-d indicator visibility (DevExpress#29046)
1 parent d621d31 commit 2a7b84f

11 files changed

+75
-6
lines changed
-19 Bytes
Loading

e2e/testcafe-devextreme/tests/pivotGrid/fieldPanel/dragAndDropFieldItems.ts

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@ import { DRAG_MOUSE_OPTIONS } from '../const';
99
fixture.disablePageReloads`pivotGrid_fieldPanel_drag-n-drop`
1010
.page(url(__dirname, '../../container.html'));
1111

12+
const PIVOT_GRID_SELECTOR = '#container';
13+
1214
test('Field panel items markup in the middle of the drag-n-drop', async (t) => {
1315
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
1416

15-
const pivotGrid = new PivotGrid('#container');
17+
const pivotGrid = new PivotGrid(PIVOT_GRID_SELECTOR);
1618
const columnFirstAction = pivotGrid.getColumnHeaderArea().getAction();
1719
const rowFirstAction = pivotGrid.getRowHeaderArea().getAction();
1820
const dataFirstAction = pivotGrid.getDataHeaderArea().getAction();
@@ -72,3 +74,53 @@ test('Field panel items markup in the middle of the drag-n-drop', async (t) => {
7274
},
7375
});
7476
});
77+
78+
test('Should show d-n-d indicator during drag to first place in columns fields', async (t) => {
79+
const { takeScreenshot, compareResults } = createScreenshotsComparer(t);
80+
81+
const pivotGrid = new PivotGrid(PIVOT_GRID_SELECTOR);
82+
const rowFirstField = pivotGrid.getRowHeaderArea().getField();
83+
const columnHeaderAreaElement = pivotGrid.getColumnHeaderArea().element;
84+
85+
await MouseUpEvents.disable(MouseAction.dragToOffset);
86+
87+
const rowFirsFieldX = await rowFirstField.offsetLeft;
88+
const rowFirsFieldY = await rowFirstField.offsetTop;
89+
const columnHeaderX = await columnHeaderAreaElement.offsetLeft;
90+
const columnHeaderY = await columnHeaderAreaElement.offsetTop;
91+
const deltaOffsetX = 20;
92+
const dragOffsetX = columnHeaderX - rowFirsFieldX - deltaOffsetX;
93+
const dragOffsetY = rowFirsFieldY - columnHeaderY;
94+
95+
await t.drag(rowFirstField, dragOffsetX, dragOffsetY, DRAG_MOUSE_OPTIONS);
96+
97+
await testScreenshot(t, takeScreenshot, 'field-panel_column-field_dnd-first.png', { element: pivotGrid.element });
98+
99+
await MouseUpEvents.enable(MouseAction.dragToOffset);
100+
101+
await t.expect(compareResults.isValid())
102+
.ok(compareResults.errorMessages());
103+
}).before(async () => {
104+
await createWidget('dxPivotGrid', {
105+
showBorders: true,
106+
fieldPanel: {
107+
visible: true,
108+
},
109+
dataSource: {
110+
fields: [{
111+
dataField: 'row1',
112+
area: 'row',
113+
}, {
114+
dataField: 'row2',
115+
area: 'row',
116+
}, {
117+
dataField: 'column1',
118+
area: 'column',
119+
}, {
120+
dataField: 'column2',
121+
area: 'column',
122+
}],
123+
store: [],
124+
},
125+
});
126+
});
-2 Bytes
Loading
17.2 KB
Loading
15.6 KB
Loading
16.5 KB
Loading
-18 Bytes
Loading
1 Byte
Loading

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

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,6 @@ $pivotgrid-expand-icon-text-offset: 0;
127127
.dx-pivotgrid {
128128
.dx-column-header,
129129
.dx-filter-header {
130-
.dx-pivotgrid-fields-area {
131-
overflow: hidden;
132-
}
133-
134130
.dx-pivotgrid-toolbar {
135131
margin-right: 10px;
136132
float: right;
@@ -146,6 +142,22 @@ $pivotgrid-expand-icon-text-offset: 0;
146142
}
147143
}
148144

145+
.dx-column-header {
146+
.dx-pivotgrid-fields-area {
147+
.dx-area-field-container {
148+
display: block;
149+
max-width: 100%;
150+
overflow: hidden;
151+
}
152+
}
153+
}
154+
155+
.dx-filter-header {
156+
.dx-pivotgrid-fields-area {
157+
overflow: hidden;
158+
}
159+
}
160+
149161
.dx-data-header,
150162
.dx-column-header,
151163
.dx-area-description-cell.dx-pivotgrid-background {

packages/testcafe-models/pivotGrid/columnHeaderArea.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const CLASSES = {
1313
};
1414

1515
export default class ColumnHeaderArea {
16-
private readonly element: Selector;
16+
public readonly element: Selector;
1717

1818
constructor(selector: Selector) {
1919
this.element = selector.find(`.${CLASSES.columnHeader}`);

0 commit comments

Comments
 (0)