diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index 2eabe373f8..9573b9fd9f 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -50,6 +50,7 @@ export default React.createClass({ loading: false, widgetUrl: this.props.url, error: null, + deleting: false, }; }, @@ -101,6 +102,7 @@ export default React.createClass({ _onDeleteClick: function() { console.log("Delete widget %s", this.props.id); + this.setState({deleting: true}); MatrixClientPeg.get().sendStateEvent( this.props.room.roomId, 'im.vector.modular.widgets', @@ -110,6 +112,7 @@ export default React.createClass({ console.log('Deleted widget'); }, (e) => { console.error('Failed to delete widget', e); + this.setState({deleting: false}); }); }, @@ -124,6 +127,12 @@ export default React.createClass({ render: function() { let appTileBody; + + // Don't render widget if it is in the process of being deleted + if (this.state.deleting) { + return
; + } + if (this.state.loading) { appTileBody = (