From 8a3a21bba1e6706295cc22e1b3a876a7a86cb705 Mon Sep 17 00:00:00 2001
From: Maximilian Hils <git@maximilianhils.com>
Date: Thu, 21 Jul 2016 01:14:55 -0700
Subject: web: fix ValueEditor, clean up code

---
 .../js/components/ValueEditor/ValidateEditor.jsx   | 44 +++++++++++-----------
 1 file changed, 22 insertions(+), 22 deletions(-)

(limited to 'web/src/js/components/ValueEditor/ValidateEditor.jsx')

diff --git a/web/src/js/components/ValueEditor/ValidateEditor.jsx b/web/src/js/components/ValueEditor/ValidateEditor.jsx
index 2f362986..7415c1b8 100755
--- a/web/src/js/components/ValueEditor/ValidateEditor.jsx
+++ b/web/src/js/components/ValueEditor/ValidateEditor.jsx
@@ -1,57 +1,57 @@
 import React, { Component, PropTypes } from 'react'
-import ReactDOM from 'react-dom'
-import EditorBase from './EditorBase'
+import ValueEditor from './ValueEditor'
+import classnames from 'classnames'
+
 
 export default class ValidateEditor extends Component {
 
     static propTypes = {
         content: PropTypes.string.isRequired,
+        readonly: PropTypes.bool,
         onDone: PropTypes.func.isRequired,
-        onInput: PropTypes.func,
-        isValid: PropTypes.func,
         className: PropTypes.string,
+        isValid: PropTypes.func.isRequired,
     }
 
     constructor(props) {
         super(props)
-        this.state = { currentContent: props.content }
+        this.state = { valid: props.isValid(props.content) }
         this.onInput = this.onInput.bind(this)
         this.onDone = this.onDone.bind(this)
     }
 
     componentWillReceiveProps(nextProps) {
-        this.setState({ currentContent: nextProps.content })
+        this.setState({ valid: nextProps.isValid(nextProps.content) })
     }
 
-    onInput(currentContent) {
-        this.setState({ currentContent })
-        this.props.onInput && this.props.onInput(currentContent)
+    onInput(content) {
+        this.setState({ valid: this.props.isValid(content) })
     }
 
     onDone(content) {
-        if (this.props.isValid && !this.props.isValid(content)) {
-            this.refs.editor.reset()
+        if (!this.props.isValid(content)) {
+            this.editor.reset()
             content = this.props.content
         }
         this.props.onDone(content)
     }
 
     render() {
-        let className = this.props.className || ''
-        if (this.props.isValid) {
-            if (this.props.isValid(this.state.currentContent)) {
-                className += ' has-success'
-            } else {
-                className += ' has-warning'
+        let className = classnames(
+            this.props.className,
+            {
+                'has-success': this.state.valid,
+                'has-warning': !this.state.valid
             }
-        }
+        )
         return (
-            <EditorBase
-                {...this.props}
-                ref="editor"
-                className={className}
+            <ValueEditor
+                content={this.props.content}
+                readonly={this.props.readonly}
                 onDone={this.onDone}
                 onInput={this.onInput}
+                className={className}
+                ref={(e) => this.editor = e}
             />
         )
     }
-- 
cgit v1.2.3

