File tree 1 file changed +16
-2
lines changed
domino-ui/src/main/java/org/dominokit/domino/ui/menu
1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change 19
19
import static java .util .Objects .nonNull ;
20
20
import static org .dominokit .domino .ui .utils .Domino .*;
21
21
22
+ import elemental2 .core .JsDate ;
22
23
import elemental2 .dom .Element ;
23
24
import elemental2 .dom .Event ;
24
25
import elemental2 .dom .HTMLElement ;
@@ -100,15 +101,28 @@ public AbstractMenuItem() {
100
101
indicatorIcon = createIndicator (Icons .menu_right ());
101
102
102
103
init (this );
104
+ double [] startTime = new double []{0 };
103
105
104
106
this .addEventListener (
105
107
EventType .touchstart .getName (),
106
108
evt -> {
109
+ startTime [0 ] = JsDate .now ();
107
110
focus ();
108
111
openSubMenu ();
109
112
});
110
- this .addEventListener (EventType .touchend .getName (), this ::onSelected );
111
- this .addEventListener (EventType .click .getName (), this ::onSelected );
113
+ this .addEventListener (EventType .touchend .getName (), evt -> {
114
+ evt .stopPropagation ();
115
+ double endTime = JsDate .now ();
116
+ double diff = endTime - startTime [0 ];
117
+ if (diff < 200 ) {
118
+ onSelected (evt );
119
+ }
120
+ });
121
+ this .addEventListener (EventType .click .getName (), evt -> {
122
+ evt .stopPropagation ();
123
+ evt .preventDefault ();
124
+ onSelected (evt );
125
+ });
112
126
this .addEventListener (EventType .mouseenter .getName (), evt -> openSubMenu ());
113
127
}
114
128
You can’t perform that action at this time.
0 commit comments