aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/ContextMenu.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/ContextMenu.tsx')
-rw-r--r--src/client/views/ContextMenu.tsx15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/client/views/ContextMenu.tsx b/src/client/views/ContextMenu.tsx
index c4fabbf99..78564a11b 100644
--- a/src/client/views/ContextMenu.tsx
+++ b/src/client/views/ContextMenu.tsx
@@ -47,11 +47,17 @@ export class ContextMenu extends React.Component {
this._mouseDown = false;
const curX = e.clientX;
const curY = e.clientY;
- if (this._mouseX !== curX || this._mouseY !== curY) {
+ if (Math.abs(this._mouseX - curX) > 1 || Math.abs(this._mouseY - curY) > 1) {
this._shouldDisplay = false;
}
- this._shouldDisplay && (this._display = true);
+ if (this._shouldDisplay) {
+ if (this._onDisplay) {
+ this._onDisplay();
+ } else {
+ this._display = true;
+ }
+ }
}
componentWillUnmount() {
document.removeEventListener("pointerdown", this.onPointerDown);
@@ -138,9 +144,9 @@ export class ContextMenu extends React.Component {
return y;
}
-
+ _onDisplay?: () => void = undefined;
@action
- displayMenu = (x: number, y: number, initSearch = "", showSearch = false) => {
+ displayMenu = (x: number, y: number, initSearch = "", showSearch = false, onDisplay?: () => void) => {
//maxX and maxY will change if the UI/font size changes, but will work for any amount
//of items added to the menu
@@ -149,6 +155,7 @@ export class ContextMenu extends React.Component {
this._pageY = y;
this._searchString = initSearch;
this._shouldDisplay = true;
+ this._onDisplay = onDisplay;
}
@action