Fix sticky headers over/under extending themselves in the new room list

Fixes https://github.com/vector-im/riot-web/issues/14095
This commit is contained in:
Travis Ralston 2020-06-22 13:09:42 -06:00
parent de227c0650
commit 1a427b8ff7
3 changed files with 49 additions and 12 deletions

View file

@ -15,9 +15,13 @@ limitations under the License.
*/
/**
* Fires when the middle panel has been resized.
* Fires when the middle panel has been resized (throttled).
* @event module:utils~ResizeNotifier#"middlePanelResized"
*/
/**
* Fires when the middle panel has been resized by a pixel.
* @event module:utils~ResizeNotifier#"middlePanelResizedNoisy"
*/
import { EventEmitter } from "events";
import { throttle } from "lodash";
@ -29,15 +33,24 @@ export default class ResizeNotifier extends EventEmitter {
this._throttledMiddlePanel = throttle(() => this.emit("middlePanelResized"), 200);
}
_noisyMiddlePanel() {
this.emit("middlePanelResizedNoisy");
}
_updateMiddlePanel() {
this._throttledMiddlePanel();
this._noisyMiddlePanel();
}
// can be called in quick succession
notifyLeftHandleResized() {
// don't emit event for own region
this._throttledMiddlePanel();
this._updateMiddlePanel();
}
// can be called in quick succession
notifyRightHandleResized() {
this._throttledMiddlePanel();
this._updateMiddlePanel();
}
// can be called in quick succession
@ -48,7 +61,7 @@ export default class ResizeNotifier extends EventEmitter {
// taller than the available space
this.emit("leftPanelResized");
this._throttledMiddlePanel();
this._updateMiddlePanel();
}
}