11// J2SMenu.js from JSmolMenu.js
22// Original version for JSmol Bob Hanson 2/17/2014
33// author: Bob Hanson, hansonr@stolaf.edu
4- // last edited 1/23/2019 -- fixes for mouse-down effector (mac) operation
5-
4+ // last edited 1/24/2020 = fix for <u> in text
65// NOTE: If you change this file, then you need to touch and save JQueryUI.java, as only then
76// will the transpiler copy this file to site/swingjs/j2s/swingjs/jquery/
87
9493 var doCmd = function ( trigger , me , t , n , why ) {
9594 why || ( why = "" ) ;
9695 var event = t ;
96+ var target = ( ! t || ! t . target ? null : $ ( t . target ) . closest ( ".ui-j2smenu-item" ) [ 0 ] ) ;
9797 switch ( trigger ) {
9898 case "onoutn" :
9999 me . _closeMe ( ) ;
100100 break ;
101101 case "onmoven" :
102- if ( $ ( t && t . target ) . hasClass ( "ui-j2smenu" ) ) {
102+ if ( $ ( target ) . hasClass ( "ui-j2smenu" ) ) {
103103 // this is the most likely way we will leave, via a mousemove on the border
104104 me . _closeMe ( ) ;
105105 break ;
111111 // BH 2018
112112 // -- added stopPropagation
113113 // -- changed to mouseover from mouseenter, since we have children
114- var a = e ( t . target ) . closest ( "li" )
114+ var a = e ( target ) . closest ( "li" )
115115 if ( a . hasClass ( ".ui-state-focus" ) )
116116 return ;
117117 if ( ! a . hasClass ( "j2s-popup-menu" ) ) {
@@ -128,10 +128,8 @@ try{
128128 break ;
129129 case "onrelease" :
130130 case "onpress" :
131- // t.preventDefault();
132- // break;
133131 case "onclick" :
134- var n = e ( t . target ) . closest ( ".ui-j2smenu-item" ) ;
132+ var n = e ( target ) . closest ( ".ui-j2smenu-item" ) ;
135133 if ( n . has ( ".ui-state-disabled" ) . length )
136134 return ;
137135 if ( trigger != "onclick" )
144142 me . element . trigger ( "setFocus" , [ ! 0 ] ) ;
145143 me . active && me . active . parents ( ".ui-j2smenu" ) . length === 1 && clearMe ( me . timer , trigger ) ;
146144 }
147- doCmd ( "collapseAll" , me , 0 , 1 ) ;
148- // doCmd("_hide", me, e(".ui-j2smenu"));
145+ doCmd ( "collapseAll" , me , 0 , 1 ) ;
149146 }
150147 break ;
151148 case "clearClickOut" :
166163 doCmd ( "clearClickOut" , me ) ;
167164 return ;
168165 }
169- e ( t . target ) . closest ( ".j2s-menuBar-menu" ) . length == 0
170- && ( e ( t . target ) . closest ( ".ui-j2smenu" ) . length || me . collapseAll ( t ) ) ;
166+ e ( target ) . closest ( ".j2s-menuBar-menu" ) . length == 0
167+ && ( e ( target ) . closest ( ".ui-j2smenu" ) . length || me . collapseAll ( t ) ) ;
171168 return ;
172169 case "onleave" :
173170 me . _closeMe ( "onleave" ) ;
283280 if ( me . closed
284281//
285282// || !n && (!someMenuOpen() ||
286- // ((u=e(t&&t. target)).hasClass("ui-j2smenu-node") || u.hasClass("ui-j2smenu"))
283+ // ((u=e(t&&target)).hasClass("ui-j2smenu-node") || u.hasClass("ui-j2smenu"))
287284// )
288285//
289286 )
@@ -325,11 +322,12 @@ try{
325322 t = a ;
326323 break ;
327324 case "select" :
328- me . active = me . active || e ( t . target ) . closest ( ".ui-j2smenu-item" ) ;
325+ me . active = me . active || e ( target ) . closest ( ".ui-j2smenu-item" ) ;
329326 me . active . has ( ".ui-j2smenu" ) . length || me . collapseAll ( t , ! 0 ) ;
330327 me . _trigger ( "select" , t , { item :me . active } ) ;
331- if ( ! t [ 0 ] )
328+ if ( ! t [ 0 ] ) {
332329 return ;
330+ }
333331 break ;
334332 case "refresh" :
335333 n = me . options . icons . submenu ;
375373 }
376374
377375 var ui = me . activeMenu && me . activeMenu [ 0 ] && me . activeMenu [ 0 ] [ "data-ui" ] ;
378- ui && ui . processJ2SMenuCmd$OA ( [ trigger , me , event , t , n , why ] ) ;
376+ ui && ui . processJ2SMenuCmd$OA ( [ trigger , me , event , t , n , target , why ] ) ;
379377 }
380378
381379$ . widget ( "ui.j2smenu" , {
0 commit comments