Files
Hydro/ui/components/messagepad/index.js
T
masnn f9468536de upgrade dep:
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
2020-04-15 12:47:55 +08:00

53 lines
1.4 KiB
JavaScript

import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import request from 'vj/utils/request';
import i18n from 'vj/utils/i18n';
import Icon from 'vj/components/react/IconComponent';
import MessagePadDialogueList from './MessagePadDialogueListContainer';
import MessagePadDialogueContent from './MessagePadDialogueContentContainer';
import MessagePadInput from './MessagePadInputContainer';
const mapDispatchToProps = (dispatch) => ({
loadDialogues() {
dispatch({
type: 'DIALOGUES_LOAD_DIALOGUES',
payload: request.get(''),
});
},
});
@connect(null, mapDispatchToProps)
export default class MessagePadContainer extends React.PureComponent {
static propTypes = {
onAdd: PropTypes.func.isRequired,
};
componentDidMount() {
this.props.loadDialogues();
}
render() {
return (
<div className="messagepad clearfix">
<div className="messagepad__sidebar">
<div className="section__header">
<button
onClick={() => this.props.onAdd()}
className="primary rounded button"
>
<Icon name="add" />
{' '}
{i18n('New')}
</button>
</div>
<MessagePadDialogueList />
</div>
<MessagePadDialogueContent />
<MessagePadInput />
</div>
);
}
}