UNPKG

matrix-react-sdk

Version:
75 lines (68 loc) 6.96 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _events = require("events"); var _lodash = require("lodash"); /* Copyright 2024 New Vector Ltd. Copyright 2019-2021 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * 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" */ class ResizeNotifier extends _events.EventEmitter { constructor(...args) { super(...args); (0, _defineProperty2.default)(this, "_isResizing", false); // with default options, will call fn once at first call, and then every x ms // if there was another call in that timespan (0, _defineProperty2.default)(this, "throttledMiddlePanel", (0, _lodash.throttle)(() => this.emit("middlePanelResized"), 200)); } get isResizing() { return this._isResizing; } startResizing() { this._isResizing = true; this.emit("isResizing", true); } stopResizing() { this._isResizing = false; this.emit("isResizing", false); } noisyMiddlePanel() { this.emit("middlePanelResizedNoisy"); } updateMiddlePanel() { this.throttledMiddlePanel(); this.noisyMiddlePanel(); } // can be called in quick succession notifyLeftHandleResized() { // don't emit event for own region this.updateMiddlePanel(); } // can be called in quick succession notifyRightHandleResized() { this.updateMiddlePanel(); } notifyTimelineHeightChanged() { this.updateMiddlePanel(); } // can be called in quick succession notifyWindowResized() { this.updateMiddlePanel(); } } exports.default = ResizeNotifier; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwicmVxdWlyZSIsIl9sb2Rhc2giLCJSZXNpemVOb3RpZmllciIsIkV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwidGhyb3R0bGUiLCJlbWl0IiwiaXNSZXNpemluZyIsIl9pc1Jlc2l6aW5nIiwic3RhcnRSZXNpemluZyIsInN0b3BSZXNpemluZyIsIm5vaXN5TWlkZGxlUGFuZWwiLCJ1cGRhdGVNaWRkbGVQYW5lbCIsInRocm90dGxlZE1pZGRsZVBhbmVsIiwibm90aWZ5TGVmdEhhbmRsZVJlc2l6ZWQiLCJub3RpZnlSaWdodEhhbmRsZVJlc2l6ZWQiLCJub3RpZnlUaW1lbGluZUhlaWdodENoYW5nZWQiLCJub3RpZnlXaW5kb3dSZXNpemVkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9SZXNpemVOb3RpZmllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOS0yMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbi8qKlxuICogRmlyZXMgd2hlbiB0aGUgbWlkZGxlIHBhbmVsIGhhcyBiZWVuIHJlc2l6ZWQgKHRocm90dGxlZCkuXG4gKiBAZXZlbnQgbW9kdWxlOnV0aWxzflJlc2l6ZU5vdGlmaWVyI1wibWlkZGxlUGFuZWxSZXNpemVkXCJcbiAqL1xuLyoqXG4gKiBGaXJlcyB3aGVuIHRoZSBtaWRkbGUgcGFuZWwgaGFzIGJlZW4gcmVzaXplZCBieSBhIHBpeGVsLlxuICogQGV2ZW50IG1vZHVsZTp1dGlsc35SZXNpemVOb3RpZmllciNcIm1pZGRsZVBhbmVsUmVzaXplZE5vaXN5XCJcbiAqL1xuXG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgeyB0aHJvdHRsZSB9IGZyb20gXCJsb2Rhc2hcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVzaXplTm90aWZpZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAgIHByaXZhdGUgX2lzUmVzaXppbmcgPSBmYWxzZTtcblxuICAgIC8vIHdpdGggZGVmYXVsdCBvcHRpb25zLCB3aWxsIGNhbGwgZm4gb25jZSBhdCBmaXJzdCBjYWxsLCBhbmQgdGhlbiBldmVyeSB4IG1zXG4gICAgLy8gaWYgdGhlcmUgd2FzIGFub3RoZXIgY2FsbCBpbiB0aGF0IHRpbWVzcGFuXG4gICAgcHJpdmF0ZSB0aHJvdHRsZWRNaWRkbGVQYW5lbCA9IHRocm90dGxlKCgpID0+IHRoaXMuZW1pdChcIm1pZGRsZVBhbmVsUmVzaXplZFwiKSwgMjAwKTtcblxuICAgIHB1YmxpYyBnZXQgaXNSZXNpemluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUmVzaXppbmc7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXJ0UmVzaXppbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzUmVzaXppbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmVtaXQoXCJpc1Jlc2l6aW5nXCIsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdG9wUmVzaXppbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzUmVzaXppbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5lbWl0KFwiaXNSZXNpemluZ1wiLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBub2lzeU1pZGRsZVBhbmVsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVtaXQoXCJtaWRkbGVQYW5lbFJlc2l6ZWROb2lzeVwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU1pZGRsZVBhbmVsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRocm90dGxlZE1pZGRsZVBhbmVsKCk7XG4gICAgICAgIHRoaXMubm9pc3lNaWRkbGVQYW5lbCgpO1xuICAgIH1cblxuICAgIC8vIGNhbiBiZSBjYWxsZWQgaW4gcXVpY2sgc3VjY2Vzc2lvblxuICAgIHB1YmxpYyBub3RpZnlMZWZ0SGFuZGxlUmVzaXplZCgpOiB2b2lkIHtcbiAgICAgICAgLy8gZG9uJ3QgZW1pdCBldmVudCBmb3Igb3duIHJlZ2lvblxuICAgICAgICB0aGlzLnVwZGF0ZU1pZGRsZVBhbmVsKCk7XG4gICAgfVxuXG4gICAgLy8gY2FuIGJlIGNhbGxlZCBpbiBxdWljayBzdWNjZXNzaW9uXG4gICAgcHVibGljIG5vdGlmeVJpZ2h0SGFuZGxlUmVzaXplZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaWRkbGVQYW5lbCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBub3RpZnlUaW1lbGluZUhlaWdodENoYW5nZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTWlkZGxlUGFuZWwoKTtcbiAgICB9XG5cbiAgICAvLyBjYW4gYmUgY2FsbGVkIGluIHF1aWNrIHN1Y2Nlc3Npb25cbiAgICBwdWJsaWMgbm90aWZ5V2luZG93UmVzaXplZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVNaWRkbGVQYW5lbCgpO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFpQkEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBbEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS2UsTUFBTUUsY0FBYyxTQUFTQyxvQkFBWSxDQUFDO0VBQUFDLFlBQUEsR0FBQUMsSUFBQTtJQUFBLFNBQUFBLElBQUE7SUFBQSxJQUFBQyxnQkFBQSxDQUFBQyxPQUFBLHVCQUMvQixLQUFLO0lBRTNCO0lBQ0E7SUFBQSxJQUFBRCxnQkFBQSxDQUFBQyxPQUFBLGdDQUMrQixJQUFBQyxnQkFBUSxFQUFDLE1BQU0sSUFBSSxDQUFDQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxHQUFHLENBQUM7RUFBQTtFQUVuRixJQUFXQyxVQUFVQSxDQUFBLEVBQVk7SUFDN0IsT0FBTyxJQUFJLENBQUNDLFdBQVc7RUFDM0I7RUFFT0MsYUFBYUEsQ0FBQSxFQUFTO0lBQ3pCLElBQUksQ0FBQ0QsV0FBVyxHQUFHLElBQUk7SUFDdkIsSUFBSSxDQUFDRixJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztFQUNqQztFQUVPSSxZQUFZQSxDQUFBLEVBQVM7SUFDeEIsSUFBSSxDQUFDRixXQUFXLEdBQUcsS0FBSztJQUN4QixJQUFJLENBQUNGLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDO0VBQ2xDO0VBRVFLLGdCQUFnQkEsQ0FBQSxFQUFTO0lBQzdCLElBQUksQ0FBQ0wsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0VBQ3hDO0VBRVFNLGlCQUFpQkEsQ0FBQSxFQUFTO0lBQzlCLElBQUksQ0FBQ0Msb0JBQW9CLENBQUMsQ0FBQztJQUMzQixJQUFJLENBQUNGLGdCQUFnQixDQUFDLENBQUM7RUFDM0I7O0VBRUE7RUFDT0csdUJBQXVCQSxDQUFBLEVBQVM7SUFDbkM7SUFDQSxJQUFJLENBQUNGLGlCQUFpQixDQUFDLENBQUM7RUFDNUI7O0VBRUE7RUFDT0csd0JBQXdCQSxDQUFBLEVBQVM7SUFDcEMsSUFBSSxDQUFDSCxpQkFBaUIsQ0FBQyxDQUFDO0VBQzVCO0VBRU9JLDJCQUEyQkEsQ0FBQSxFQUFTO0lBQ3ZDLElBQUksQ0FBQ0osaUJBQWlCLENBQUMsQ0FBQztFQUM1Qjs7RUFFQTtFQUNPSyxtQkFBbUJBLENBQUEsRUFBUztJQUMvQixJQUFJLENBQUNMLGlCQUFpQixDQUFDLENBQUM7RUFDNUI7QUFDSjtBQUFDTSxPQUFBLENBQUFkLE9BQUEsR0FBQUwsY0FBQSIsImlnbm9yZUxpc3QiOltdfQ==