Advertisement
jpss

TableUser.js

May 27th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from 'react'
  2. import { Alert, Container, Row, Col, Table,Progress, Button, ButtonGroup} from 'reactstrap';
  3. import { Link } from 'react-router-dom';
  4. import api from './Api';
  5.  
  6. export default class TableUser extends Component {
  7.     constructor(props){
  8.         super(props);
  9.         this.deleteContact = this.deleteContact.bind(this);
  10.         this.state = {
  11.           users: [],
  12.           isLoading: false
  13.         }  
  14.       }
  15.     componentDidMount(){
  16.         this.setState({ isLoading: true});
  17.         api.loadUser().then((res)=>
  18.         this.setState({
  19.             isLoading: false,
  20.             users: res.data
  21.         })
  22.         );
  23.     }
  24.     showUsers(users){
  25.         return(
  26.             <tr>
  27.                 <td>{users.nome}</td>
  28.                 <td>{users.email}</td>
  29.                 <td>{users.telefone}</td>
  30.                 <td>  
  31.                     <ButtonGroup>
  32.                         <Link className='btn btn-primary' to={`/edit/${users.id}`}>Editar</Link>
  33.                         <Button color="danger" onClick={()=> this.deleteContact(users.id)}>Apagar</Button>
  34.                     </ButtonGroup>
  35.                 </td>
  36.           </tr>
  37.         );
  38.     }
  39.     deleteContact(id){
  40.         alert(id);
  41.     }
  42.      
  43.     render() {
  44.         return (
  45.             <Container>
  46.                 <Row>
  47.                 <Col sm="12" md={{ size: 10, offset: 1 }}>
  48.                     <Alert color="primary" style={{marginTop: '2%',}}>
  49.                         Seja bem-vindo João Pedro
  50.                     </Alert>
  51.                     <Table striped>
  52.                         <thead>
  53.                             <tr>
  54.                             <th>Nome</th>
  55.                             <th>E-mail</th>
  56.                             <th>Telefone</th>
  57.                             <th>Ação</th>
  58.                             </tr>
  59.                         </thead>
  60.                         <tbody>
  61.                             {
  62.                                 this.state.isLoading &&  
  63.                                 <h4 className='text-center'>Aguarde....</h4>
  64.                             }
  65.                             {
  66.                                 !this.state.isLoading &&
  67.                                 this.state.users.map(this.showUsers)
  68.                             }
  69.                         </tbody>
  70.                     </Table>
  71.                 </Col>
  72.                 </Row>
  73.                 <Row>
  74.             </Row>
  75.         </Container>
  76.         )
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement