diff --git a/src/components/structures/RoomSubList.js b/src/components/structures/RoomSubList.js index d119e271..70e5b185 100644 --- a/src/components/structures/RoomSubList.js +++ b/src/components/structures/RoomSubList.js @@ -194,26 +194,27 @@ var RoomSubList = React.createClass({ }, makeRoomTiles: function() { - var self = this; - var DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile"); - return this.state.sortedList.map(function(room, index) { - // XXX: is it evil to pass in self as a prop to RoomTile? - return ( - <DNDRoomTile - index={index} // For DND - room={ room } - roomSubList={ self } - tagName={self.props.tagName} - key={ room.roomId } - collapsed={ self.props.collapsed || false} - unread={ Unread.doesRoomHaveUnreadMessages(room) } - highlight={ room.getUnreadNotificationCount('highlight') > 0 || self.props.isInvite } - isInvite={ self.props.isInvite } - refreshSubList={ self._updateSubListCount } - incomingCall={ null } - onClick={ self.onRoomTileClick } - /> - ); + const DNDRoomTile = sdk.getComponent("rooms.DNDRoomTile"); + const RoomTile = sdk.getComponent("rooms.RoomTile"); + return this.state.sortedList.map((room, index) => { + // XXX: is it evil to pass in this as a prop to RoomTile? Yes. + + // We should only use <DNDRoomTile /> when editable + const RoomTileComponent = this.props.editable ? DNDRoomTile : RoomTile; + return <RoomTileComponent + index={index} // For DND + room={room} + roomSubList={this} + tagName={this.props.tagName} + key={room.roomId} + collapsed={this.props.collapsed || false} + unread={Unread.doesRoomHaveUnreadMessages(room)} + highlight={room.getUnreadNotificationCount('highlight') > 0 || this.props.isInvite} + isInvite={this.props.isInvite} + refreshSubList={this._updateSubListCount} + incomingCall={null} + onClick={this.onRoomTileClick} + />; }); },