Authored by shangjf

修复站内信bug review by 于良

... ... @@ -128,7 +128,7 @@ export default class MessageList extends Component {
<MessageListTextCell
itemData={rowData}
onLongPressListItem={(itemData) =>{
this.onLongPressListItem(itemData);
this.onLongPressListItem(itemData, rowID);
}}
/>
);
... ... @@ -143,7 +143,7 @@ export default class MessageList extends Component {
_copy(rowData) {
this.setState({showToolTips: false});
let copyString = rowData.get('title','') + ' ' +rowData.get('body',{}).get('content','');
let copyString = rowData.get('body',{}).get('content','');
Clipboard.setString(copyString);
}
... ...
... ... @@ -43,6 +43,7 @@ export default class MessageListBigIconCell extends Component {
<Image
style={styles.iconStyle}
source={{uri: imageUri}}
resizeMode="contain"
/>
<View style={styles.descContainer}>
<Text
... ...
... ... @@ -43,6 +43,7 @@ export default class MessageListOrderCell extends Component {
<Image
style={styles.iconStyle}
source={{uri: imageUri}}
resizeMode="contain"
/>
<Text
style={styles.detail}
... ...
... ... @@ -45,6 +45,7 @@ export default class MessageListSmallIconCell extends Component {
<Image
style={styles.iconStyle}
source={{uri: imageUri}}
resizeMode="contain"
/>
<Text
style={styles.detail}
... ...
... ... @@ -75,6 +75,7 @@ export default class MessageCell extends Component {
<Image
style={styles.iconStyle}
source={rowID < images.length ? images[rowID] : null}
resizeMode="contain"
/>
{this.renderUnreaderMsg(data)}
</View>
... ...
... ... @@ -11,6 +11,8 @@ export default keyMirror({
LATEST_MESSAGE_SUCCESS: null,
LATEST_MESSAGE_FAILURE: null,
MESSAGE_CATEGORY_SELECT: null,
SET_LIST_ID: null,
SET_CATEGORY_NAME: null,
... ...
... ... @@ -61,10 +61,11 @@ class MessageContainer extends Component {
onRefresh() {
InteractionManager.runAfterInteractions(() => {
this.props.actions.latestMessage();
});
});
}
onPressListItem(item) {
this.props.actions.selectMessageCategory(item);
NativeModules.YH_CommonHelper.jumpToMessageList(item.toJS());
}
... ...
... ... @@ -8,7 +8,7 @@ const {
LATEST_MESSAGE_SUCCESS,
LATEST_MESSAGE_FAILURE,
MESSAGE_CATEGORY_SELECT,
} = require('../../constants/actionTypes').default;
... ... @@ -32,6 +32,13 @@ export function latestMessageFailure(error) {
};
}
export function selectMessageCategorySucc(data) {
return {
type: MESSAGE_CATEGORY_SELECT,
payload: data
}
}
export function latestMessage() {
return (dispatch, getState) => {
let {app, message} = getState();
... ... @@ -69,3 +76,21 @@ export function latestMessage() {
});
};
}
export function selectMessageCategory(item) {
return (dispatch, getState) => {
let {app, message} = getState();
let {latest} = message;
let data = latest.data.toJS();
for (var i = 0; i < data.length; i++) {
let category = data[i]
if (item.get('id') === category.id) {
category.unReadCount = 0;
}
}
dispatch(selectMessageCategorySucc(data))
}
}
... ...
... ... @@ -8,6 +8,8 @@ const {
LATEST_MESSAGE_SUCCESS,
LATEST_MESSAGE_FAILURE,
MESSAGE_CATEGORY_SELECT,
} = require('../../constants/actionTypes').default;
const initialState = new InitialState;
... ... @@ -30,6 +32,9 @@ export default function messageReducer(state=initialState, action) {
.setIn(['latest', 'error'], action.payload);
}
case MESSAGE_CATEGORY_SELECT: {
return state.setIn(['latest', 'data'], Immutable.fromJS(action.payload));
}
}
return state;
}
... ...