diff --git a/src/components/layers/JSONEditor.jsx b/src/components/layers/JSONEditor.jsx index 2b8f6a8..f1a5fae 100644 --- a/src/components/layers/JSONEditor.jsx +++ b/src/components/layers/JSONEditor.jsx @@ -51,9 +51,11 @@ class JSONEditor extends React.Component { } constructor(props) { - super(props) + super(props); + this._keyEvent = "keyboard"; this.state = { isEditing: false, + showMessage: false, prevValue: this.props.getValue(this.props.layer), }; } @@ -82,17 +84,24 @@ class JSONEditor extends React.Component { this._doc.on('blur', this.onBlur); } - onFocus = () => { + onPointerDown = (cm, e) => { + this._keyEvent = "pointer"; + } + + onFocus = (cm, e) => { this.props.onFocus(); this.setState({ - isEditing: true + isEditing: true, + showMessage: (this._keyEvent === "keyboard"), }); } onBlur = () => { + this._keyEvent = "keyboard"; this.props.onBlur(); this.setState({ - isEditing: false + isEditing: false, + showMessage: false, }); } @@ -145,16 +154,22 @@ class JSONEditor extends React.Component { } render() { + const {showMessage} = this.state; const style = {}; if (this.props.maxHeight) { style.maxHeight = this.props.maxHeight; } - return
this._el = el} - style={style} - /> + return