Merge pull request #3441 from matrix-org/bwindels/fixroomdir-itemclick-bis

Fix: stop propagation click handler for <TR> doesn't run
This commit is contained in:
Bruno Windels 2019-09-13 13:08:42 +00:00 committed by GitHub
commit 40bd1845d2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -368,25 +368,27 @@ module.exports = createReactClass({
} }
}, },
onPreviewClick: function(room) { onPreviewClick: function(ev, room) {
this.props.onFinished(); this.props.onFinished();
dis.dispatch({ dis.dispatch({
action: 'view_room', action: 'view_room',
room_id: room.room_id, room_id: room.room_id,
should_peek: true, should_peek: true,
}); });
ev.stopPropagation();
}, },
onViewClick: function(room) { onViewClick: function(ev, room) {
this.props.onFinished(); this.props.onFinished();
dis.dispatch({ dis.dispatch({
action: 'view_room', action: 'view_room',
room_id: room.room_id, room_id: room.room_id,
should_peek: false, should_peek: false,
}); });
ev.stopPropagation();
}, },
onJoinClick: function(room) { onJoinClick: function(ev, room) {
this.props.onFinished(); this.props.onFinished();
MatrixClientPeg.get().joinRoom(room.room_id); MatrixClientPeg.get().joinRoom(room.room_id);
dis.dispatch({ dis.dispatch({
@ -394,6 +396,7 @@ module.exports = createReactClass({
room_id: room.room_id, room_id: room.room_id,
joining: true, joining: true,
}); });
ev.stopPropagation();
}, },
onCreateRoomClick: function(room) { onCreateRoomClick: function(room) {
@ -457,16 +460,16 @@ module.exports = createReactClass({
if (room.world_readable && !hasJoinedRoom) { if (room.world_readable && !hasJoinedRoom) {
previewButton = ( previewButton = (
<AccessibleButton kind="secondary" onClick={() => this.onPreviewClick(room)}>{_t("Preview")}</AccessibleButton> <AccessibleButton kind="secondary" onClick={(ev) => this.onPreviewClick(ev, room)}>{_t("Preview")}</AccessibleButton>
); );
} }
if (hasJoinedRoom) { if (hasJoinedRoom) {
joinOrViewButton = ( joinOrViewButton = (
<AccessibleButton kind="secondary" onClick={() => this.onViewClick(room)}>{_t("View")}</AccessibleButton> <AccessibleButton kind="secondary" onClick={(ev) => this.onViewClick(ev, room)}>{_t("View")}</AccessibleButton>
); );
} else if (!isGuest || room.guest_can_join) { } else if (!isGuest || room.guest_can_join) {
joinOrViewButton = ( joinOrViewButton = (
<AccessibleButton kind="primary" onClick={() => this.onJoinClick(room)}>{_t("Join")}</AccessibleButton> <AccessibleButton kind="primary" onClick={(ev) => this.onJoinClick(ev, room)}>{_t("Join")}</AccessibleButton>
); );
} }