import React, { useState, useEffect } from "react"; import PropTypes from "prop-types"; import { Table, TableHead, TableBody, TableCell, TableRow, IconButton } from '@material-ui/core'; import { Edit as EditIcon, DeleteOutline as DeleteOutlineIcon } from "@material-ui/icons"; import TableRowSkeleton from "../../components/TableRowSkeleton"; function QuickMessagesTable(props) { const { messages, showLoading, editMessage, deleteMessage, readOnly } = props const [loading, setLoading] = useState(true) const [rows, setRows] = useState([]) useEffect(() => { if (Array.isArray(messages)) { setRows(messages) } if (showLoading !== undefined) { setLoading(showLoading) } }, [messages, showLoading]) const handleEdit = (message) => { editMessage(message) } const handleDelete = (message) => { deleteMessage(message) } const renderRows = () => { return rows.map((message) => { return ( {message.shortcode} {message.message} { !readOnly ? ( handleEdit(message)} > handleDelete(message)} > ) : null} ) }) } return ( Atalho Mensagem { !readOnly ? ( Ações ) : null} {loading ? : renderRows()}
) } QuickMessagesTable.propTypes = { messages: PropTypes.array.isRequired, showLoading: PropTypes.bool, editMessage: PropTypes.func.isRequired, deleteMessage: PropTypes.func.isRequired } export default QuickMessagesTable;