File tree 1 file changed +19
-5
lines changed
1 file changed +19
-5
lines changed Original file line number Diff line number Diff line change 163
163
options . enter ( this ) ;
164
164
possiblyActivate ( this , e , data ) ;
165
165
} ,
166
- mouseleaveRow = function ( ) {
166
+ mouseleaveRow = function ( e ) {
167
+ // if doesn't have submenu, remove active class and timer
168
+ if ( ! $ ( e . target ) . hasClass ( 'has-open-context-menu-submenu' ) &&
169
+ $ ( e . target ) . hasClass ( 'context-menu-item-submenu' ) )
170
+ {
171
+ $ ( e . target ) . removeClass ( 'context-menu-item-active' ) ;
172
+ // remove timeout
173
+ clearTimeout ( timeoutId ) ;
174
+ activeRow = null ;
175
+ }
176
+
167
177
options . exit ( this ) ;
168
178
} ;
169
179
@@ -595,15 +605,19 @@ function UIContextMenu(options){
595
605
} ,
596
606
// deactivates row when mouse leaves
597
607
deactivate : function ( e ) {
598
- // disable submenu delay timer
608
+ // disable submenu delay timer to cancel submenu opening
599
609
clearTimeout ( submenu_delay_timer ) ;
600
- // deactivate submenu
601
- if ( $ ( e ) . hasClass ( 'context-menu-item -submenu' ) ) {
610
+ // close submenu
611
+ if ( $ ( e ) . hasClass ( 'has-open- context-menu-submenu' ) ) {
602
612
$ ( `.context-menu[data-id="${ menu_id } -${ $ ( e ) . attr ( 'data-action' ) } "]` ) . remove ( ) ;
603
613
// remove `has-open-context-menu-submenu` class from the parent menu item
604
614
$ ( e ) . removeClass ( 'has-open-context-menu-submenu' ) ;
605
615
}
606
- }
616
+ } ,
617
+ exit : function ( e ) {
618
+ clearTimeout ( submenu_delay_timer ) ;
619
+ $ ( e . target ) . removeClass ( 'context-menu-item-active' ) ;
620
+ } ,
607
621
} ) ;
608
622
609
623
// disabled item mousedown event
You can’t perform that action at this time.
0 commit comments