Package Exports
- react-edit-inplace
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-edit-inplace) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
This is a fork to the now unmaintained project react-inline-edit. Only minimal maintainance will be provided, and no new features will be accepted.
Inline Edit Component for React
This is a simple React component for in-place text editing. It turns into an <input /> when focused, and tries to validate and save input on Enter or blur. Esc works as well for cancelling.

Watch a demo, then check out demo/index.jsx for a quick example.
Installation
npm install --save react-edit-replace
Required props
text:stringinitial textparamName:stringname of the parameter to be returned tochangefunctionchange:functionfunction to call when new text is changed and validated, it will receive{paramName: value}
Optional props
className:string CSS class nameactiveClassName:string CSS class replacement for when in edit modevalidate:function boolean function for custom validation, using this overrides the two props belowminLength:number minimum text length, default1maxLength:number maximum text length, default256editingElement:string element name to use when in edit mode (DOM must havevalueproperty) defaultinputstaticElement:string element name for displaying data defaultspanediting:boolean If true, element will be in edit modetabIndex:number tab index used for focusing with TAB key default0stopPropagation:boolean If true, the event onClick will not be further propagated.
Usage example
import React from 'react';
import InlineEdit from 'react-edit-inline';
class MyParentComponent extends React.Component {
constructor(props){
super(props);
this.dataChanged = this.dataChanged.bind(this);
this.state = {
message: 'ReactInline demo'
}
}
dataChanged(data) {
// data = { description: "New validated text comes here" }
// Update your model from here
console.log(data)
this.setState({...data})
}
customValidateText(text) {
return (text.length > 0 && text.length < 64);
}
render() {
return (<div>
<h2>{this.state.message}</h2>
<span>Edit me: </span>
<InlineEdit
validate={this.customValidateText}
activeClassName="editing"
text={this.state.message}
paramName="message"
change={this.dataChanged}
style={{
backgroundColor: 'yellow',
minWidth: 150,
display: 'inline-block',
margin: 0,
padding: 0,
fontSize: 15,
outline: 0,
border: 0
}}
/>
</div>)
}
}