import React = require('react') import { observer } from 'mobx-react'; import { observable, action } from 'mobx'; export interface EditableProps { GetValue(): string; SetValue(value: string): boolean; contents: any; height: number } @observer export class EditableView extends React.Component { @observable editing: boolean = false; @action onKeyDown = (e: React.KeyboardEvent) => { if (e.key == "Enter" && !e.ctrlKey) { this.props.SetValue(e.currentTarget.value); this.editing = false; } else if (e.key == "Escape") { this.editing = false; } } render() { if (this.editing) { return this.editing = false)} style={{ display: "inline" }}> } else { return (
this.editing = true)}> {this.props.contents}
) } } }