Skip to content

Commit 478c7ee

Browse files
committed
Better mouse and touch response
1 parent 254dade commit 478c7ee

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

sources/net.sf.j2s.java.core/src/swingjs/jquery/JQueryUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import swingjs.JSUtil;
44

5-
//based on jQuery UI - v1.9.2 - 2015-05-28
5+
//based on jQuery UI - v1.9.2 - 2015-05-28
66

77
// BH 2023.01.07 updated j2sMenu.js for better touch with delayed menu closure detecting mouse
88

sources/net.sf.j2s.java.core/src/swingjs/jquery/j2sMenu.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,16 @@ J2S.__makeMenu = function(){};
238238
System.err.println("j2sMenu error: " + err);
239239
}
240240
return;
241+
case "closeSiblingMenus":
242+
var m = t.closest("ul").find(".ui-state-active")
243+
m.removeClass("ui-state-active");
244+
var v = t.find(".ui-j2smenu");
245+
if (!v.length)
246+
return;
247+
doCmd("_hide", me, v);
248+
v.attr("aria-hidden","true").attr("aria-expanded","false");
249+
t = v.parent();
250+
return;
241251
case "_closeSubmenus":
242252
var a = me.active;
243253
if (a && a[0] && a[0]["data-component"].getUIClassID$() != "MenuUI")
@@ -320,6 +330,10 @@ J2S.__makeMenu = function(){};
320330
return;
321331
me.unsetFocus(t,t&&t.type==="focus", "fromSetFocus");
322332
me._scrollIntoView(n);
333+
// BH added 2024.01.16
334+
n.siblings().each(function(a,b){
335+
doCmd("closeSiblingMenus", me, $(b));
336+
})
323337
me.active=a;
324338
var r=me.active.addClass("ui-state-focus");
325339
//testing var r=me.active.children(".a").addClass("ui-state-focus");
@@ -716,4 +730,4 @@ Swing.disposeMenu = function(menu) {
716730
})(J2S.Swing, J2S.__$);
717731

718732

719-
// end of j2sMenu.js 2023.06.04 2020.06.09 2020.05.15 2020.01.25
733+
// end of j2sMenu.js 2024.01.16 2023.06.04 2020.06.09 2020.05.15 2020.01.25

sources/net.sf.j2s.java.core/src/swingjs/plaf/JSPopupMenuUI.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,6 +1268,8 @@ public static void processJ2SMenuCmd(Object[] data) {
12681268
System.err.println("JSPopupMenu not processing " + trigger);
12691269
break;
12701270
}
1271+
// delay any closures for 100 ms
1272+
showTime = System.currentTimeMillis();
12711273
if (e != null && eventID != 0 && c != null) {
12721274
JSMouse.retargetMouseEvent(e, base, c, c, eventID);
12731275
}

0 commit comments

Comments
 (0)