mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 21:24:59 +08:00
Use a static prop on Stickerpicker to track the current widget
This commit is contained in:
parent
ad777782b8
commit
10369170ed
@ -37,6 +37,9 @@ const STICKERPICKER_Z_INDEX = 3500;
|
||||
const PERSISTED_ELEMENT_KEY = "stickerPicker";
|
||||
|
||||
export default class Stickerpicker extends React.Component {
|
||||
|
||||
static currentWidget;
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this._onShowStickersClick = this._onShowStickersClick.bind(this);
|
||||
@ -131,12 +134,12 @@ export default class Stickerpicker extends React.Component {
|
||||
_updateWidget() {
|
||||
const stickerpickerWidget = WidgetUtils.getStickerpickerWidgets()[0];
|
||||
if (!stickerpickerWidget) {
|
||||
ActiveWidgetStore.delStickerPickerWidget();
|
||||
Stickerpicker.currentWidget = null;
|
||||
this.setState({stickerpickerWidget: null, widgetId: null});
|
||||
return;
|
||||
}
|
||||
|
||||
const currentWidget = ActiveWidgetStore.getStickerPickerWidget();
|
||||
const currentWidget = Stickerpicker.currentWidget;
|
||||
let currentUrl = null;
|
||||
if (currentWidget && currentWidget.content && currentWidget.content.url) {
|
||||
currentUrl = currentWidget.content.url;
|
||||
@ -152,7 +155,7 @@ export default class Stickerpicker extends React.Component {
|
||||
PersistedElement.destroyElement(PERSISTED_ELEMENT_KEY);
|
||||
}
|
||||
|
||||
ActiveWidgetStore.setStickerPickerWidget(stickerpickerWidget);
|
||||
Stickerpicker.currentWidget = stickerpickerWidget;
|
||||
this.setState({
|
||||
stickerpickerWidget,
|
||||
widgetId: stickerpickerWidget ? stickerpickerWidget.id : null,
|
||||
|
@ -42,9 +42,6 @@ class ActiveWidgetStore extends EventEmitter {
|
||||
// What room ID each widget is associated with (if it's a room widget)
|
||||
this._roomIdByWidgetId = {};
|
||||
|
||||
// The sticker picker widget definition the app is currently using, if any
|
||||
this._stickerPickerWidget = null;
|
||||
|
||||
this.onRoomStateEvents = this.onRoomStateEvents.bind(this);
|
||||
|
||||
this.dispatcherRef = null;
|
||||
@ -151,18 +148,6 @@ class ActiveWidgetStore extends EventEmitter {
|
||||
delete this._roomIdByWidgetId[widgetId];
|
||||
this.emit('update');
|
||||
}
|
||||
|
||||
getStickerPickerWidget() {
|
||||
return this._stickerPickerWidget;
|
||||
}
|
||||
|
||||
setStickerPickerWidget(widget) {
|
||||
this._stickerPickerWidget = widget;
|
||||
}
|
||||
|
||||
delStickerPickerWidget() {
|
||||
this._stickerPickerWidget = null;
|
||||
}
|
||||
}
|
||||
|
||||
if (global.singletonActiveWidgetStore === undefined) {
|
||||
|
Loading…
Reference in New Issue
Block a user