import { action, observable } from 'mobx'; import { observer } from 'mobx-react'; import "normalize.css"; import * as React from 'react'; import "./PreviewCursor.scss"; @observer export class PreviewCursor extends React.Component<{}> { private _prompt = React.createRef(); //when focus is lost, this will remove the preview cursor @action onBlur = (): void => { PreviewCursor.Visible = false; PreviewCursor.hide(); } @observable static clickPoint = [0, 0]; @observable public static Visible = false; @observable public static hide = () => { }; @action public static Show(hide: any, x: number, y: number) { this.clickPoint = [x, y]; this.hide = hide; setTimeout(action(() => this.Visible = true), (1)); } render() { if (!PreviewCursor.clickPoint) { return (null); } if (PreviewCursor.Visible && this._prompt.current) { this._prompt.current.focus(); } return
I
; } }