move canSendMessages into state so that it will re-render the composer
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
parent
150c941340
commit
7dfbf3feb2
1 changed files with 5 additions and 4 deletions
|
@ -68,6 +68,7 @@ export default class MessageComposer extends React.Component {
|
||||||
showFormatting: SettingsStore.getValue('MessageComposer.showFormatting'),
|
showFormatting: SettingsStore.getValue('MessageComposer.showFormatting'),
|
||||||
isQuoting: Boolean(RoomViewStore.getQuotingEvent()),
|
isQuoting: Boolean(RoomViewStore.getQuotingEvent()),
|
||||||
tombstone: this._getRoomTombstone(),
|
tombstone: this._getRoomTombstone(),
|
||||||
|
canSendMessages: this.props.room.maySendMessage(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,6 +121,9 @@ export default class MessageComposer extends React.Component {
|
||||||
if (ev.getType() === 'm.room.tombstone') {
|
if (ev.getType() === 'm.room.tombstone') {
|
||||||
this.setState({tombstone: this._getRoomTombstone()});
|
this.setState({tombstone: this._getRoomTombstone()});
|
||||||
}
|
}
|
||||||
|
if (ev.getType() === 'm.room.power_levels') {
|
||||||
|
this.setState({canSendMessages: this.props.room.maySendMessage()});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_getRoomTombstone() {
|
_getRoomTombstone() {
|
||||||
|
@ -359,9 +363,6 @@ export default class MessageComposer extends React.Component {
|
||||||
</AccessibleButton>;
|
</AccessibleButton>;
|
||||||
}
|
}
|
||||||
|
|
||||||
const canSendMessages = !this.state.tombstone &&
|
|
||||||
this.props.room.maySendMessage();
|
|
||||||
|
|
||||||
// TODO: Remove temporary logging for riot-web#7838
|
// TODO: Remove temporary logging for riot-web#7838
|
||||||
// Note: we rip apart the power level event ourselves because we don't want to
|
// Note: we rip apart the power level event ourselves because we don't want to
|
||||||
// log too much data about it - just the bits we care about. Many of the variables
|
// log too much data about it - just the bits we care about. Many of the variables
|
||||||
|
@ -390,7 +391,7 @@ export default class MessageComposer extends React.Component {
|
||||||
` myUserId=${room.myUserId} roomId=${room.roomId} hasPlEvent=${!!plEvent} powerLevels='${plEventString}'`
|
` myUserId=${room.myUserId} roomId=${room.roomId} hasPlEvent=${!!plEvent} powerLevels='${plEventString}'`
|
||||||
);
|
);
|
||||||
|
|
||||||
if (canSendMessages) {
|
if (!this.state.tombstone && this.state.canSendMessages) {
|
||||||
// This also currently includes the call buttons. Really we should
|
// This also currently includes the call buttons. Really we should
|
||||||
// check separately for whether we can call, but this is slightly
|
// check separately for whether we can call, but this is slightly
|
||||||
// complex because of conference calls.
|
// complex because of conference calls.
|
||||||
|
|
Loading…
Reference in a new issue