Newer
Older
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'
return {
showDeleteUserModal: state.UserManagementReducer.showDeleteUserModal,
userList: state.UserManagementReducer.userList
};
this.handleShowDeleteModal = this.handleShowDeleteModal.bind(this);
this.handleSwitchToList = this.handleSwitchToList.bind(this);
this.handleShowCreatePage = this.handleShowCreatePage.bind(this);
e.preventDefault();
const { showDeleteUserModalAction } = this.props
showDeleteUserModalAction(dialogModalData)
}
handleShowCreatePage(e) {
e.preventDefault();
this.setState({ displayingPage: DISPLAY.CREATE })
}
handleClose() {
const { hideDeleteUserModalAction } = this.props;
hideDeleteUserModalAction();
handleSwitchToList(e) {
this.setState({ displayingPage: DISPLAY.LIST })
}
MapAllUsers() {
const allUsers = this.props.userList
if (allUsers) {
var showDeleteUserModal = this.props.showDeleteUserModal
if (showDeleteUserModal === undefined) {
showDeleteUserModal = false
}
console.log("deleteModal:" + showDeleteUserModal)
let editButtonID = "UserItemEditButton" + user.userID
let deleteButtonID = "UserItemDeleteButton" + user.userID
let dialogData = {
dialogID: "DeleteDialogUser" + user.userID,
name: user.firstName + " " + user.lastName,
userID: user.userID
}
return (
<div key={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' }}>
<Button variant="primary" onClick={(e) => this.handleShowEditPage(e, user)} id={editButtonID} >Edit</Button>
<Button variant="primary" type="submit" onClick={(e) => this.handleShowDeleteModal(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}>
Delete
</Button>
</Card.Footer>
</Card>
</div>
)
workspace =
(<>
<Button id="UserManagementPageCreateUserButton" onClick={this.handleShowCreatePage}>
<img alt="Add-User-Button" src="https://cdn.icon-icons.com/icons2/933/PNG/512/round-add-button_icon-icons.com_72595.png" style={{ width: '2rem' }}></img>
</Button>
{this.MapAllUsers()}
<DeleteUserModal />
</>)
workspace = <CreateNewUser id="UserManagementPageCreateComponent" goBack={this.handleSwitchToList} />
workspace = <EditUser id="UserManagementPageEditComponent" goBack={this.handleSwitchToList} editUser={this.state.editingUser} />
break
default:
workspace = <Button onClick={this.handleShowCreatePage}>
<img alt="Add-User-Button" src="https://cdn.icon-icons.com/icons2/933/PNG/512/round-add-button_icon-icons.com_72595.png" style={{ width: '2rem' }}></img>
</Button>
(<>
<Button id="UserManagementPageCreateUserButton" onClick={this.handleShowCreatePage}>
<img alt="Add-User-Button" src="https://cdn.icon-icons.com/icons2/933/PNG/512/round-add-button_icon-icons.com_72595.png" style={{ width: '2rem' }}></img>
</Button>
{this.MapAllUsers()}
<DeleteUserModal />
</>)
const mapDispatchToProps = dispatch => bindActionCreators({
showDeleteUserModalAction: userManagementActions.getShowDeleteUserModalAction,
hideDeleteUserModalAction: userManagementActions.getHideDeleteUserModalAction
}, dispatch)
const ConnectedUserItems = connect(mapStateToProps, mapDispatchToProps)(UserItem)