diff options
| author | bobzel <zzzman@gmail.com> | 2019-02-05 23:19:26 -0500 |
|---|---|---|
| committer | bobzel <zzzman@gmail.com> | 2019-02-05 23:19:26 -0500 |
| commit | e59dbb02175ec394a35c496201da71c90cd6a50a (patch) | |
| tree | cf56fe399dca0fb64fece2ee1ed22044d95ea25c /src/views/nodes/TopBar.tsx | |
| parent | 4ac7a62d813738b0047caefbcf40d3063ec9e6c1 (diff) | |
mostly working version, but confused about LayoutKeys needing to inquire value seemingly unecessarily
Diffstat (limited to 'src/views/nodes/TopBar.tsx')
| -rw-r--r-- | src/views/nodes/TopBar.tsx | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/views/nodes/TopBar.tsx b/src/views/nodes/TopBar.tsx new file mode 100644 index 000000000..bb126e8b5 --- /dev/null +++ b/src/views/nodes/TopBar.tsx @@ -0,0 +1,46 @@ +import { observer } from "mobx-react"; +import { NodeStore } from "../../stores/NodeStore"; +import "./NodeView.scss"; +import React = require("react"); + +interface IProps { + store: NodeStore; +} + +@observer +export class TopBar extends React.Component<IProps> { + + private _isPointerDown = false; + + onPointerDown = (e: React.PointerEvent): void => { + e.stopPropagation(); + e.preventDefault(); + this._isPointerDown = true; + document.removeEventListener("pointermove", this.onPointerMove); + document.addEventListener("pointermove", this.onPointerMove); + document.removeEventListener("pointerup", this.onPointerUp); + document.addEventListener("pointerup", this.onPointerUp); + } + + onPointerUp = (e: PointerEvent): void => { + e.stopPropagation(); + e.preventDefault(); + this._isPointerDown = false; + document.removeEventListener("pointermove", this.onPointerMove); + document.removeEventListener("pointerup", this.onPointerUp); + } + + onPointerMove = (e: PointerEvent): void => { + e.stopPropagation(); + e.preventDefault(); + if (!this._isPointerDown) { + return; + } + this.props.store.X += e.movementX; + this.props.store.Y += e.movementY; + } + + render() { + return <div className="top" onPointerDown={this.onPointerDown}></div> + } +} |
