node-swallowjs
Version:
epp portal
60 lines (59 loc) • 1.77 kB
JSX
var Load = React.createClass({
mixins: [FormMixin],
getInitialState() {
return {name:'', value:''}
},
handleSubmit(e) {
var line = this.state.name.split(/\r?\n/);
var name = [];
var value = '';
for(var i in line) {
var word = line[i].trim().split(/\s+/);
if(word.length===2) name.push({name:word[1], user:word[0]});
else value+= 'Line '+i+': '+line[i]+' Error\n';
}
this.setState({value: value});
if(!name.length) return;
api.load(this.props.obj, name, function(code, data) {
switch(code) {
case '2501':
logout();
break;
default:
this.setState({value: value+data});
}
}.bind(this));
},
render() {
return (
<div>
<table align="center" border="0">
<tbody>
<tr>
<td align="center">{this.props.children}</td>
</tr>
<tr>
<td align="center">
<textarea {...this.linkState({
name: 'name',
rows: '10',
cols: '80',
onFocus: this.onSetState({name:'', value:''})
})}/>
</td>
</tr>
<tr>
<td height="16"></td>
</tr>
<tr>
<td align="center">
<input type="button" value="提交" onClick={this.handleSubmit}/>
</td>
</tr>
</tbody>
</table>
<OpResult content={this.state.value} />
</div>
);
}
});