Added click handler to avoid double calls of click event handler.

This commit is contained in:
Uwe Oestermeier 2019-07-05 15:03:22 +02:00
parent 6392e4b13a
commit 84ea33f029
3 changed files with 62 additions and 29 deletions

15
dist/iwmlib.js vendored
View File

@ -5262,6 +5262,17 @@
});
this.resizeButton = button;
}
if (clickOnTap) {
/* Since the tap triggers a synthetic click event
we must prevent the original trusted click event which
is also dispatched by the system.
*/
element.addEventListener('click', event => {
if (event.isTrusted) {
Events.stop(event);
}
}, true);
}
container.add(this);
}
@ -5425,7 +5436,7 @@
if (this.clickOnTap) {
let directNode = document.elementFromPoint(event.clientX, event.clientY);
console.log("onTap", directNode, this.isClickable(directNode));
console.log("onTap", event);
if (this.isClickable(directNode)) {
directNode.click();
}
@ -5439,6 +5450,7 @@
Events.stop(event);
return
}
console.log("nearestNode clicked");
nearestNode.click();
}
}
@ -5516,7 +5528,6 @@
let closestClickIndex = distances.indexOf(Math.min(...distances));
let closestClickable = clickables[closestClickIndex];
if (distances[closestClickIndex] < this.allowClickDistance) {
console.log("found closest clickables", closestClickable);
return closestClickable
}
return null

19
dist/iwmlib.pixi.js vendored
View File

@ -7027,6 +7027,17 @@
});
this.resizeButton = button;
}
if (clickOnTap) {
/* Since the tap triggers a synthetic click event
we must prevent the original trusted click event which
is also dispatched by the system.
*/
element.addEventListener('click', event => {
if (event.isTrusted) {
Events$1.stop(event);
}
}, true);
}
container.add(this);
}
@ -7190,7 +7201,7 @@
if (this.clickOnTap) {
let directNode = document.elementFromPoint(event.clientX, event.clientY);
console.log("onTap", directNode, this.isClickable(directNode));
console.log("onTap", event);
if (this.isClickable(directNode)) {
directNode.click();
}
@ -7204,6 +7215,7 @@
Events$1.stop(event);
return
}
console.log("nearestNode clicked");
nearestNode.click();
}
}
@ -7281,7 +7293,6 @@
let closestClickIndex = distances.indexOf(Math.min(...distances));
let closestClickable = clickables[closestClickIndex];
if (distances[closestClickIndex] < this.allowClickDistance) {
console.log("found closest clickables", closestClickable);
return closestClickable
}
return null
@ -14840,7 +14851,7 @@
* @extends Popup
* @see {@link https://www.iwm-tuebingen.de/iwmbrowser/lib/pixi/popupmenu.html|DocTest}
*/
class PopupMenu extends Popup {
class PopupMenu$1 extends Popup {
/**
* Creates an instance of a PopupMenu.
@ -15489,7 +15500,7 @@
window.Stylus = Stylus;
window.Switch = Switch;
window.Popup = Popup;
window.PopupMenu = PopupMenu;
window.PopupMenu = PopupMenu$1;
window.Modal = Modal;
window.Volatile = Volatile;
window.Message = Message;

View File

@ -1142,6 +1142,17 @@ export class DOMScatter extends AbstractScatter {
})
this.resizeButton = button
}
if (clickOnTap) {
/* Since the tap triggers a synthetic click event
we must prevent the original trusted click event which
is also dispatched by the system.
*/
element.addEventListener('click', event => {
if (event.isTrusted) {
Events.stop(event)
}
}, true)
}
container.add(this)
}
@ -1305,7 +1316,7 @@ export class DOMScatter extends AbstractScatter {
if (this.clickOnTap) {
let directNode = document.elementFromPoint(event.clientX, event.clientY)
console.log("onTap", directNode, this.isClickable(directNode))
console.log("onTap", event)
if (this.isClickable(directNode)) {
directNode.click()
}
@ -1319,6 +1330,7 @@ export class DOMScatter extends AbstractScatter {
Events.stop(event)
return
}
console.log("nearestNode clicked")
nearestNode.click()
}
}
@ -1396,7 +1408,6 @@ export class DOMScatter extends AbstractScatter {
let closestClickIndex = distances.indexOf(Math.min(...distances))
let closestClickable = clickables[closestClickIndex]
if (distances[closestClickIndex] < this.allowClickDistance) {
console.log("found closest clickables", closestClickable)
return closestClickable
}
return null