Listen for removed relations

The JS SDK has learned how to remove relations when cancelled, so we should also
listen for those as well.

Part of https://github.com/vector-im/riot-web/issues/9731
This commit is contained in:
J. Ryan Stinnett 2019-05-16 13:03:05 +01:00
parent 2e7e71556b
commit e942939be9
2 changed files with 12 additions and 0 deletions

View file

@ -37,6 +37,7 @@ export default class ReactionDimension extends React.PureComponent {
if (props.reactions) { if (props.reactions) {
props.reactions.on("Relations.add", this.onReactionsChange); props.reactions.on("Relations.add", this.onReactionsChange);
props.reactions.on("Relations.remove", this.onReactionsChange);
props.reactions.on("Relations.redaction", this.onReactionsChange); props.reactions.on("Relations.redaction", this.onReactionsChange);
} }
} }
@ -44,6 +45,7 @@ export default class ReactionDimension extends React.PureComponent {
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
if (prevProps.reactions !== this.props.reactions) { if (prevProps.reactions !== this.props.reactions) {
this.props.reactions.on("Relations.add", this.onReactionsChange); this.props.reactions.on("Relations.add", this.onReactionsChange);
this.props.reactions.on("Relations.remove", this.onReactionsChange);
this.props.reactions.on("Relations.redaction", this.onReactionsChange); this.props.reactions.on("Relations.redaction", this.onReactionsChange);
this.onReactionsChange(); this.onReactionsChange();
} }
@ -55,6 +57,10 @@ export default class ReactionDimension extends React.PureComponent {
"Relations.add", "Relations.add",
this.onReactionsChange, this.onReactionsChange,
); );
this.props.reactions.removeListener(
"Relations.remove",
this.onReactionsChange,
);
this.props.reactions.removeListener( this.props.reactions.removeListener(
"Relations.redaction", "Relations.redaction",
this.onReactionsChange, this.onReactionsChange,

View file

@ -34,6 +34,7 @@ export default class ReactionsRow extends React.PureComponent {
if (props.reactions) { if (props.reactions) {
props.reactions.on("Relations.add", this.onReactionsChange); props.reactions.on("Relations.add", this.onReactionsChange);
props.reactions.on("Relations.remove", this.onReactionsChange);
props.reactions.on("Relations.redaction", this.onReactionsChange); props.reactions.on("Relations.redaction", this.onReactionsChange);
} }
@ -45,6 +46,7 @@ export default class ReactionsRow extends React.PureComponent {
componentDidUpdate(prevProps) { componentDidUpdate(prevProps) {
if (prevProps.reactions !== this.props.reactions) { if (prevProps.reactions !== this.props.reactions) {
this.props.reactions.on("Relations.add", this.onReactionsChange); this.props.reactions.on("Relations.add", this.onReactionsChange);
this.props.reactions.on("Relations.remove", this.onReactionsChange);
this.props.reactions.on("Relations.redaction", this.onReactionsChange); this.props.reactions.on("Relations.redaction", this.onReactionsChange);
this.onReactionsChange(); this.onReactionsChange();
} }
@ -56,6 +58,10 @@ export default class ReactionsRow extends React.PureComponent {
"Relations.add", "Relations.add",
this.onReactionsChange, this.onReactionsChange,
); );
this.props.reactions.removeListener(
"Relations.remove",
this.onReactionsChange,
);
this.props.reactions.removeListener( this.props.reactions.removeListener(
"Relations.redaction", "Relations.redaction",
this.onReactionsChange, this.onReactionsChange,