Merge pull request #2098 from matrix-org/dbkr/destroy_widget
Destroy non-persistent widgets when switching room
This commit is contained in:
commit
94c7ae2bf5
2 changed files with 4 additions and 3 deletions
|
@ -161,6 +161,8 @@ export default class AppTile extends React.Component {
|
||||||
// if it's not remaining on screen, get rid of the PersistedElement container
|
// if it's not remaining on screen, get rid of the PersistedElement container
|
||||||
if (!ActiveWidgetStore.getWidgetPersistence(this.props.id)) {
|
if (!ActiveWidgetStore.getWidgetPersistence(this.props.id)) {
|
||||||
ActiveWidgetStore.destroyPersistentWidget();
|
ActiveWidgetStore.destroyPersistentWidget();
|
||||||
|
const PersistedElement = sdk.getComponent("elements.PersistedElement");
|
||||||
|
PersistedElement.destroyElement(this._persistKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -437,6 +439,8 @@ export default class AppTile extends React.Component {
|
||||||
|
|
||||||
// Force the widget to be non-persistent
|
// Force the widget to be non-persistent
|
||||||
ActiveWidgetStore.destroyPersistentWidget();
|
ActiveWidgetStore.destroyPersistentWidget();
|
||||||
|
const PersistedElement = sdk.getComponent("elements.PersistedElement");
|
||||||
|
PersistedElement.destroyElement(this._persistKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
formatAppTileName() {
|
formatAppTileName() {
|
||||||
|
|
|
@ -17,7 +17,6 @@ limitations under the License.
|
||||||
import EventEmitter from 'events';
|
import EventEmitter from 'events';
|
||||||
|
|
||||||
import MatrixClientPeg from '../MatrixClientPeg';
|
import MatrixClientPeg from '../MatrixClientPeg';
|
||||||
import sdk from '../index';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stores information about the widgets active in the app right now:
|
* Stores information about the widgets active in the app right now:
|
||||||
|
@ -75,8 +74,6 @@ class ActiveWidgetStore extends EventEmitter {
|
||||||
destroyPersistentWidget() {
|
destroyPersistentWidget() {
|
||||||
const toDeleteId = this._persistentWidgetId;
|
const toDeleteId = this._persistentWidgetId;
|
||||||
|
|
||||||
const PersistedElement = sdk.getComponent("elements.PersistedElement");
|
|
||||||
PersistedElement.destroyElement('widget_' + toDeleteId);
|
|
||||||
this.setWidgetPersistence(toDeleteId, false);
|
this.setWidgetPersistence(toDeleteId, false);
|
||||||
this.delWidgetMessaging(toDeleteId);
|
this.delWidgetMessaging(toDeleteId);
|
||||||
this.delWidgetCapabilities(toDeleteId);
|
this.delWidgetCapabilities(toDeleteId);
|
||||||
|
|
Loading…
Reference in a new issue