mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
css-loader 0.28->3.5 del 4.1->5.1 eslint 5.18->6.8 eslint-config-airbnb 17.1->18.1 eslint-loader 2.1->4.0 file-loader 2.0->6.0 fs.extra 8.0->9.0 gulp 2.0->3.0 gulp-nunjucks 4.0->5.0 json-loader 0.5->Removed style-loader 0.23->1.1 uglifyjs-webpack-plugin 1.3->2.2 yargs 13.2->15.3 katex 0.10->0.11 react-monaco-editor 0.35->0.36 timeage-react 1.2->3.0 timeago.js 3.0->4.0 uuid 3.3->7.0
50 lines
1.3 KiB
JavaScript
50 lines
1.3 KiB
JavaScript
import React from 'react';
|
|
import { connect } from 'react-redux';
|
|
|
|
import i18n from 'vj/utils/i18n';
|
|
import DataInput from './DataInputComponent';
|
|
|
|
const mapStateToProps = (state) => ({
|
|
data: state.pretest.data,
|
|
});
|
|
|
|
const mapDispatchToProps = (dispatch) => ({
|
|
handleDataChange(id, type, value) {
|
|
dispatch({
|
|
type: 'SCRATCHPAD_PRETEST_DATA_CHANGE',
|
|
payload: {
|
|
id,
|
|
type,
|
|
value,
|
|
},
|
|
});
|
|
},
|
|
});
|
|
|
|
const mergeProps = (stateProps, dispatchProps, ownProps) => ({
|
|
...dispatchProps,
|
|
id: ownProps.id,
|
|
input: stateProps.data[ownProps.id] ? stateProps.data[ownProps.id].input : '',
|
|
output: stateProps.data[ownProps.id] ? stateProps.data[ownProps.id].output : '',
|
|
});
|
|
|
|
@connect(mapStateToProps, mapDispatchToProps, mergeProps)
|
|
export default class ScratchpadPretestTabPaneContainer extends React.PureComponent {
|
|
render() {
|
|
return (
|
|
<div className="flex-row flex-fill">
|
|
<DataInput
|
|
title={i18n('Sample Input')}
|
|
value={this.props.input}
|
|
onChange={(v) => this.props.handleDataChange(this.props.id, 'input', v)}
|
|
/>
|
|
<DataInput
|
|
title={i18n('Sample Output')}
|
|
value={this.props.output}
|
|
onChange={(v) => this.props.handleDataChange(this.props.id, 'output', v)}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
}
|