lay-editor@0.0.9

React editor based on draftjs

import React, { Component } from 'react'
import ReactDOM from 'react-dom'
import { LayEditor, valueToHtml } from '../src/index'
import '../assets/index.less'

class Test extends Component {
  state = {
    value: undefined
  }

  onChange = (value) => {
    this.setState({ value })
  }

  render () {
    const toolbar = {
      image: {
        // default is base64
        upto: 'server',
        // input accept attribute
        accept: 'image/gif,image/jpeg,image/jpg,image/png',
        // max file size, numeric bytes, m(MB), k(KB)
        maxSize: 2048 * 1024 || '2m' || '2048k',
        // upload config
        server: {
          // form action url
          url: 'http://',
          // request headers, available in modern browsers
          headers: {},
          // file param post to server
          file: 'file',
          // other data object to post or a function which returns a data object
          data: {},
          // ajax upload with cookie send
          withCredentials: false,
          // call after post success, return image url or throw exception to trigger error
          resultFn: (response) => {
            // custom response flag
            if (response.code == 0) {
              return response.data.url
            } else {
              throw 'upload failed'
            }
          },
        },
      },
    }
    return (
      <div style={{ padding: 20 }}>
        <LayEditor
          toolbar={toolbar}
          value={this.state.value}
          onChange={this.onChange}
          placeholder="write something..." />
      </div>
    )
  }
}

ReactDOM.render(<Test />, document.getElementById('__react-content'))
Fork me on GitHub