Newer
Older
import { LinkContainer } from "react-router-bootstrap";
import Nav from 'react-bootstrap/Nav';
// import Button from "react-bootstrap/esm/Button";
import Card from 'react-bootstrap/Card';
import ListGroup from 'react-bootstrap/ListGroup';
import { connect } from "react-redux";
import { bindActionCreators } from "redux";
import DeleteUserModal from './DeleteUserModal'
import * as userManagementActions from '../actions/UserManagementActions'
const mapStateToProps = state => {
return state;
}
class UserItem extends Component {
constructor(props) {
super(props);
this.MapAllUsers = this.MapAllUsers.bind(this);
this.handleShow = this.handleShow.bind(this);
this.handleClose = this.handleClose.bind(this);
}
handleShow(e, dialogModalData) {
e.preventDefault();
const { showDeleteUserModalAction } = this.props
showDeleteUserModalAction(dialogModalData)
}
handleClose() {
const { hideDeleteUserModalAction } = this.props;
hideDeleteUserModalAction();
}
MapAllUsers() {
const allUsers = this.props.userList
if (allUsers) {
var showDeleteUserModal = this.props.showDeleteUserModal
if (showDeleteUserModal === undefined) {
showDeleteUserModal = false
}
console.log("deleteModal:" + showDeleteUserModal)
var users = allUsers.map(user => {
let editButtonID = "EditButton" + user.userID
let deleteButtonID = "DeleteButton" + user.userID
let itemID = "UserItem" + user.userID
let dialogData = {
dialogID: "DeleteDialogUser" + user.userID,
name: user.firstName + " " + user.lastName,
userID: user.userID
}
<Card style={{ width: "18rem", background: '#ebebeb' }} id={itemID}>
<Card.Header>{user.firstName} {user.lastName}</Card.Header>
<ListGroup variant="flush">
<ListGroup.Item >User ID: {user.userID}</ListGroup.Item>
<ListGroup.Item >First Name: {user.firstName}</ListGroup.Item>
<ListGroup.Item >Last Name: {user.lastName}</ListGroup.Item>
</ListGroup>
<Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}>
<LinkContainer to="/editUserForm" id={editButtonID}>
<Nav.Link>Edit</Nav.Link>
</LinkContainer>
<Button variant="primary" type="submit" onClick={(e) => this.handleShow(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}>
</Card.Footer>
</Card>
</div>
)
})
return users
}
}
render() {
return (
<div>
{this.MapAllUsers()}
</div>
)
}
}
const mapDispatchToProps = dispatch => bindActionCreators({
showDeleteUserModalAction: userManagementActions.getShowDeleteUserModalAction,
hideDeleteUserModalAction: userManagementActions.getHideDeleteUserModalAction
}, dispatch)
const ConnectedUserItems = connect(mapStateToProps, mapDispatchToProps)(UserItem)