@risecx/carespace-chat-ui
Version:
carespace-chat-ui React component
47 lines (37 loc) • 1.81 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
import React, { Component, Fragment } from 'react';
import Message from './Messages';
import TimeIndicator from './TimeIndicator';
var MessageList = /*#__PURE__*/function (_Component) {
_inheritsLoose(MessageList, _Component);
function MessageList() {
return _Component.apply(this, arguments) || this;
}
var _proto = MessageList.prototype;
_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
this.scrollList.scrollTop = this.scrollList.scrollHeight;
};
_proto.render = function render() {
var _this = this;
return /*#__PURE__*/React.createElement("div", {
className: "sc-message-list",
ref: function ref(el) {
return _this.scrollList = el;
}
}, this.props.messageList.length > 0 && this.props.messageList.filter(function (m) {
return m && m.type !== 'typing' && m.type !== 'identify';
}).map(function (message, i) {
return /*#__PURE__*/React.createElement(Fragment, {
key: i
}, /*#__PURE__*/React.createElement(TimeIndicator, _extends({
message: message
}, _this.props)), /*#__PURE__*/React.createElement(Message, _extends({
message: message,
key: i
}, _this.props)));
}));
};
return MessageList;
}(Component);
export default MessageList;