@@ -11,7 +11,8 @@ import {
1111 gridDefaults , ColumnOptions , GridItemHTMLElement , GridStackElement , GridStackEventHandlerCallback ,
1212 GridStackNode , GridStackWidget , numberOrString , DDUIData , DDDragOpt , GridStackPosition , GridStackOptions ,
1313 GridStackEventHandler , GridStackNodesHandler , AddRemoveFcn , SaveFcn , CompactOptions , GridStackMoveOpts , ResizeToContentFcn , GridStackDroppedHandler , GridStackElementHandler ,
14- Position , RenderFcn
14+ Position , RenderFcn ,
15+ GridStackMouseEvent
1516} from './types' ;
1617
1718/*
@@ -2872,7 +2873,7 @@ export class GridStack {
28722873 }
28732874
28742875 /** @internal handles actual drag/resize */
2875- protected _dragOrResize ( el : GridItemHTMLElement , event : MouseEvent , ui : DDUIData , node : GridStackNode , cellWidth : number , cellHeight : number ) : void {
2876+ protected _dragOrResize ( el : GridItemHTMLElement , event : GridStackMouseEvent , ui : DDUIData , node : GridStackNode , cellWidth : number , cellHeight : number ) : void {
28762877 const p = { ...node . _orig } ; // could be undefined (_isExternal) which is ok (drag only set x,y and w,h will default to node value)
28772878 let resizing : boolean ;
28782879 let mLeft = this . opts . marginLeft as number ,
@@ -2931,8 +2932,8 @@ export class GridStack {
29312932 // only recalculate position for handles that move the top-left corner (N/W).
29322933 // for SE/S/E handles the top-left is anchored — recalculating from pixels causes
29332934 // rounding drift on fine grids where cellWidth/cellHeight are only a few pixels. #385 #1356
2934- const dir = ( ( event as any ) . resizeDir || '' ) as string ;
2935- if ( dir . includes ( 'w' ) || dir . includes ( 'n' ) ) {
2935+ const dir = event . resizeDir ;
2936+ if ( dir && ( dir . includes ( 'w' ) || dir . includes ( 'n' ) ) ) {
29362937 const left = ui . position . left + mLeft ;
29372938 const top = ui . position . top + mTop ;
29382939 if ( dir . includes ( 'w' ) ) p . x = Math . round ( left / cellWidth ) ;
0 commit comments