@@ -9,10 +9,12 @@ import { DRAG_MOUSE_OPTIONS } from '../const';
99fixture . disablePageReloads `pivotGrid_fieldPanel_drag-n-drop`
1010 . page ( url ( __dirname , '../../container.html' ) ) ;
1111
12+ const PIVOT_GRID_SELECTOR = '#container' ;
13+
1214test ( '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+ } ) ;
0 commit comments