aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/pdf/PDFMenu.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/views/pdf/PDFMenu.tsx')
-rw-r--r--src/client/views/pdf/PDFMenu.tsx25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/client/views/pdf/PDFMenu.tsx b/src/client/views/pdf/PDFMenu.tsx
index cc5c0b77b..a0230113b 100644
--- a/src/client/views/pdf/PDFMenu.tsx
+++ b/src/client/views/pdf/PDFMenu.tsx
@@ -3,6 +3,8 @@ import "./PDFMenu.scss";
import { observable } from "mobx";
import { observer } from "mobx-react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+import { emptyFunction } from "../../../Utils";
+import { Doc } from "../../../new_fields/Doc";
@observer
export default class PDFMenu extends React.Component {
@@ -10,6 +12,8 @@ export default class PDFMenu extends React.Component {
@observable Top: number = 0;
@observable Left: number = 0;
+ StartDrag: (e: PointerEvent) => void = emptyFunction;
+ Highlight: (d: Doc | undefined) => void = emptyFunction;
constructor(props: Readonly<{}>) {
super(props);
@@ -17,11 +21,28 @@ export default class PDFMenu extends React.Component {
PDFMenu.Instance = this;
}
+ pointerDown = (e: React.PointerEvent) => {
+ document.removeEventListener("pointermove", this.StartDrag);
+ document.addEventListener("pointermove", this.StartDrag);
+ document.removeEventListener("pointerup", this.pointerUp)
+ document.addEventListener("pointerup", this.pointerUp)
+
+ e.stopPropagation();
+ e.preventDefault();
+ }
+
+ pointerUp = (e: PointerEvent) => {
+ document.removeEventListener("pointermove", this.StartDrag);
+ document.removeEventListener("pointerup", this.pointerUp);
+ e.stopPropagation();
+ e.preventDefault();
+ }
+
render() {
return (
<div className="pdfMenu-cont" style={{ left: this.Left, top: this.Top }}>
- <button className="pdfMenu-button" title="Highlight"><FontAwesomeIcon icon="highlighter" size="sm" /></button>
- <button className="pdfMenu-button" title="Annotate"><FontAwesomeIcon icon="comment-alt" size="sm" /></button>
+ <button className="pdfMenu-button" title="Highlight" onClick={() => this.Highlight(undefined)}><FontAwesomeIcon icon="highlighter" size="sm" /></button>
+ <button className="pdfMenu-button" title="Annotate" onPointerDown={this.pointerDown}><FontAwesomeIcon icon="comment-alt" size="sm" /></button>
</div>
)
}