@forchange/aui
Version:
ai-boss 业务 ui 组件库
84 lines (68 loc) • 2.32 kB
JavaScript
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import * as React from 'react';
import { getPrefixCls } from '../style/config';
import Header from './header';
import Content from './content';
import Input from './input';
import "./style/index.css"; // 发送对象
var EMessageType; // 消息类型
(function (EMessageType) {
EMessageType["friend"] = "friend";
EMessageType["self"] = "self";
})(EMessageType || (EMessageType = {}));
var EMessageContentType; // 发送的图片成功或失败(可选)
(function (EMessageContentType) {
EMessageContentType["text"] = "text";
EMessageContentType["image"] = "image";
})(EMessageContentType || (EMessageContentType = {}));
var EMessageContentStatus;
(function (EMessageContentStatus) {
EMessageContentStatus["fail"] = "fail";
EMessageContentStatus["success"] = "success";
})(EMessageContentStatus || (EMessageContentStatus = {}));
class Chat extends React.Component {
constructor(props) {
super(props);
_defineProperty(this, "onEnterSendMessage", text => {
if (this.props.onEnterSendMessage) {
this.props.onEnterSendMessage(text);
}
});
_defineProperty(this, "onScrollToTop", () => {
if (this.props.onScrollToTop) {
this.props.onScrollToTop();
}
});
this.state = {
className: 'chat-component' // 当前组件类名
};
} // 发送消息
render() {
const {
width = '50%',
height = '80%',
userName = '昵称',
placeholder = '按 Enter 发送,Ctrl + Enter 换行',
placement = 'topRight',
messageList = []
} = this.props;
const className = getPrefixCls(this.state.className);
return React.createElement("div", {
className: className,
style: {
width,
height
}
}, React.createElement(Header, {
userName: userName
}), React.createElement(Content, {
messageList: messageList,
handleScrollToTop: this.onScrollToTop
}), React.createElement(Input, {
placement: placement,
placeholder: placeholder,
handleEnterSendMessage: this.onEnterSendMessage
}));
}
}
export default Chat;