UNPKG

@forchange/aui

Version:

ai-boss 业务 ui 组件库

84 lines (68 loc) 2.32 kB
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;