/
withMessages.js
104 lines (84 loc) 路 2.29 KB
/
withMessages.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
100
101
102
103
104
// /*
// HoC that provides access to flash messages stored in Redux state and actions to operate on them
// */
// import { getActions, addAction, addReducer } from 'meteor/vulcan:lib';
// import { bindActionCreators } from 'redux';
// import { connect } from 'react-redux';
// /*
// Messages actions
// */
// addAction({
// messages: {
// flash(content) {
// return {
// type: 'FLASH',
// content,
// };
// },
// clear(i) {
// return {
// type: 'CLEAR',
// i,
// };
// },
// markAsSeen(i) {
// return {
// type: 'MARK_AS_SEEN',
// i,
// };
// },
// clearSeen() {
// return {
// type: 'CLEAR_SEEN'
// };
// },
// }
// });
// /*
// Messages reducers
// */
// addReducer({
// messages: (state = [], action) => {
// // default values
// const flashType = action.content && typeof action.content.type !== 'undefined' ? action.content.type : 'error';
// const currentMsg = typeof action.i === 'undefined' ? {} : state[action.i];
// switch(action.type) {
// case 'FLASH':
// return [
// ...state,
// {
// _id: state.length,
// ...action.content,
// type: flashType,
// seen: false,
// show: true,
// },
// ];
// case 'MARK_AS_SEEN':
// return [
// ...state.slice(0, action.i),
// { ...currentMsg, seen: true },
// ...state.slice(action.i + 1),
// ];
// case 'CLEAR':
// return [
// ...state.slice(0, action.i),
// { ...currentMsg, show: false },
// ...state.slice(action.i + 1),
// ];
// case 'CLEAR_SEEN':
// return state.map(message => message.seen ? { ...message, show: false } : message);
// default:
// return state;
// }
// },
// });
// /*
// withMessages HOC
// */
// const mapStateToProps = state => ({ messages: state.messages, });
// const mapDispatchToProps = dispatch => bindActionCreators(getActions().messages, dispatch);
// const withMessages = component => connect(mapStateToProps, mapDispatchToProps)(component);
// export default withMessages;
const withMessages = (x) => x;
export default withMessages;