@risecx/carespace-chat-ui
Version:
carespace-chat-ui React component
59 lines (56 loc) • 2.47 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); }
import React from 'react';
import Button from '../../Button';
import './list.css';
var ListMessage = function ListMessage(props) {
var _props$data = props.data,
image_url = _props$data.image_url,
title = _props$data.title,
subtitle = _props$data.subtitle,
_props$data$elements = _props$data.elements,
elements = _props$data$elements === void 0 ? [] : _props$data$elements,
_props$data$buttons = _props$data.buttons,
buttons = _props$data$buttons === void 0 ? [] : _props$data$buttons;
var isImageList = elements.some(function (e) {
return e.hasOwnProperty('default_action');
});
return /*#__PURE__*/React.createElement("div", {
className: "card " + (!isImageList ? 'list' : '') + " sc-message--list"
}, /*#__PURE__*/React.createElement("div", {
className: "list-container"
}, /*#__PURE__*/React.createElement("ul", null, elements.map(function (_ref, index) {
var title = _ref.title,
subtitle = _ref.subtitle,
image_url = _ref.image_url,
_ref$buttons = _ref.buttons,
buttons = _ref$buttons === void 0 ? [] : _ref$buttons;
return /*#__PURE__*/React.createElement("li", {
key: index
}, /*#__PURE__*/React.createElement("img", {
src: image_url
}), /*#__PURE__*/React.createElement("div", {
className: "list-content"
}, /*#__PURE__*/React.createElement("h5", null, title), /*#__PURE__*/React.createElement("p", null, subtitle), buttons.map(function (button, index) {
return /*#__PURE__*/React.createElement("div", {
className: "buttons"
}, /*#__PURE__*/React.createElement(Button, _extends({
key: index
}, button, {
onClick: function onClick() {
return props.onPostBack(button);
}
})));
})));
})), buttons && /*#__PURE__*/React.createElement("div", {
className: "buttons"
}, buttons.map(function (button, index) {
return /*#__PURE__*/React.createElement(Button, _extends({
key: index
}, button, {
onClick: function onClick() {
return props.onPostBack(button);
}
}));
}))));
};
export default ListMessage;