-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathupdate.js
99 lines (90 loc) · 2.4 KB
/
update.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import React, { Component } from 'react';
import { Row, Col} from 'reactstrap';
import { connect } from 'react-redux';
import { deleteMsg } from '../../actions/message';
import Icon from 'react-icons-kit';
import { bin } from 'react-icons-kit/icomoon';
import { enlarge } from 'react-icons-kit/icomoon';
import MessageWindow from './message_window';
class Messages extends Component {
state ={
show: false,
id:'',
uname:'',
uemail:'',
uphone:'',
uinterest:'',
umessage:''
}
enlargeMessage = (message) => {
let show = this.state.show;
this.setState({
show: !show,
id: message.id,
uname: message.uname,
uemail: message.uemail,
uphone: message.uphone,
uinterest: message.uinterest,
umessage: message.umessage
});
}
handleDelete = (id) => {
console.log("id is: ", id);
this.props.deleteMsg(id);
this.props.history.push('/admin/messages');
}
render(){
let messagesList = this.props.messages ? this.props.messages.map(message => {
return(
<div>
<Row>
<Col md="4">
{message.uname}
</Col>
<Col md="6">
{message.umessage ? message.umessage.substring(0, 50) : null}
</Col>
<Col md="1">
<Icon
className="text-success"
icon={enlarge}
onClick={(e) => this.enlargeMessage(message)}
/>
</Col>
<Col md="1">
<Icon
className="text-danger"
icon={bin}
onClick={(e)=>this.handleDelete(message.id)}
/>
</Col>
</Row>
</div>
)
}) : null;
return(
<div className="container">
<br/>
<Row>
<Col md="7">
<div className="card border-primary mb-3">
<div className="card-header text-white bg-primary">MESSAGES</div>
<div className="card-body text-primary">
{messagesList}
</div>
</div>
</Col>
<Col md="5">
{this.state.show ? <MessageWindow message={this.state}/> : null}
</Col>
</Row>
</div>
);
}
}
function mapStateToProps(state, props){
return{
messages: state.messages
}
}
export default connect(mapStateToProps, {deleteMsg})(Messages);