aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranika-ahluwalia <anika.ahluwalia@gmail.com>2020-09-02 01:25:40 -0500
committeranika-ahluwalia <anika.ahluwalia@gmail.com>2020-09-02 01:25:40 -0500
commit06b54eb074814a0ead9b89e9143872c7f92361da (patch)
tree2e43312703b3f7c406bc0f2bc3be3ba7171b23fb
parentf45295a34fdad5d1b49456ae7ac8fa2be6f4c96a (diff)
context menu bug fix
-rw-r--r--src/client/views/ContextMenu.tsx2
-rw-r--r--src/client/views/ContextMenuItem.tsx11
2 files changed, 9 insertions, 4 deletions
diff --git a/src/client/views/ContextMenu.tsx b/src/client/views/ContextMenu.tsx
index 349fd077c..952100cb0 100644
--- a/src/client/views/ContextMenu.tsx
+++ b/src/client/views/ContextMenu.tsx
@@ -215,7 +215,7 @@ export class ContextMenu extends React.Component {
@computed get menuItems() {
if (!this._searchString) {
- return this._items.map(item => <ContextMenuItem {...item} key={item.description} closeMenu={this.closeMenu} />);
+ return this._items.map(item => <ContextMenuItem {...item} key={item.description} closeMenu={this.closeMenu} pageX={this.pageX} />);
}
return this.filteredViews;
}
diff --git a/src/client/views/ContextMenuItem.tsx b/src/client/views/ContextMenuItem.tsx
index 7e3be0d61..7277c589d 100644
--- a/src/client/views/ContextMenuItem.tsx
+++ b/src/client/views/ContextMenuItem.tsx
@@ -4,6 +4,7 @@ import { observer } from "mobx-react";
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { UndoManager } from "../util/UndoManager";
+import { NumberLiteralType } from "typescript";
export interface OriginalMenuProps {
description: string;
@@ -28,6 +29,7 @@ export type ContextMenuProps = OriginalMenuProps | SubmenuProps;
export class ContextMenuItem extends React.Component<ContextMenuProps & { selected?: boolean }> {
@observable private _items: Array<ContextMenuProps> = [];
@observable private overItem = false;
+ @observable private subRef = React.createRef<HTMLDivElement>();
constructor(props: ContextMenuProps | SubmenuProps) {
super(props);
@@ -61,7 +63,7 @@ export class ContextMenuItem extends React.Component<ContextMenuProps & { select
return;
}
this._overPosY = e.clientY;
- this._overPosX = e.clientX
+ this._overPosX = e.clientX;
this.currentTimeout = setTimeout(action(() => this.overItem = true), ContextMenuItem.timeout);
}
@@ -97,9 +99,12 @@ export class ContextMenuItem extends React.Component<ContextMenuProps & { select
const where = !this.overItem ? "" : this._overPosY < window.innerHeight / 3 ? "flex-start" : this._overPosY > window.innerHeight * 2 / 3 ? "flex-end" : "center";
const marginTop = !this.overItem ? "" : this._overPosY < window.innerHeight / 3 ? "20px" : this._overPosY > window.innerHeight * 2 / 3 ? "-20px" : "";
- // this LINE!!
+ // here
const submenu = !this.overItem ? (null) :
- <div className="contextMenu-subMenu-cont" style={{ marginLeft: window.innerWidth < this._overPosX - 100 ? "90%" : "", left: "0px", marginTop }}>
+ <div className="contextMenu-subMenu-cont"
+ style={{
+ marginLeft: window.innerHeight - this._overPosX - 70 > 0 ? "90%" : "20%", marginTop
+ }}>
{this._items.map(prop => <ContextMenuItem {...prop} key={prop.description} closeMenu={this.props.closeMenu} />)}
</div>;
if (!("noexpand" in this.props)) {