matrix-react-sdk
Version:
SDK for matrix.org using React
54 lines (51 loc) • 6.21 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VoiceBroadcastPreRecordingStore = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _matrix = require("matrix-js-sdk/src/matrix");
/*
Copyright 2024 New Vector Ltd.
Copyright 2022 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.
*/
class VoiceBroadcastPreRecordingStore extends _matrix.TypedEventEmitter {
constructor(...args) {
super(...args);
(0, _defineProperty2.default)(this, "current", null);
(0, _defineProperty2.default)(this, "onCancel", voiceBroadcastPreRecording => {
if (this.current === voiceBroadcastPreRecording) {
this.clearCurrent();
}
});
}
setCurrent(current) {
if (this.current === current) return;
if (this.current) {
this.current.off("dismiss", this.onCancel);
}
this.current = current;
current.on("dismiss", this.onCancel);
this.emit("changed", current);
}
clearCurrent() {
if (this.current === null) return;
this.current.off("dismiss", this.onCancel);
this.current = null;
this.emit("changed", null);
}
getCurrent() {
return this.current;
}
destroy() {
this.removeAllListeners();
if (this.current) {
this.current.off("dismiss", this.onCancel);
}
}
}
exports.VoiceBroadcastPreRecordingStore = VoiceBroadcastPreRecordingStore;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbWF0cml4IiwicmVxdWlyZSIsIlZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nU3RvcmUiLCJUeXBlZEV2ZW50RW1pdHRlciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0Iiwidm9pY2VCcm9hZGNhc3RQcmVSZWNvcmRpbmciLCJjdXJyZW50IiwiY2xlYXJDdXJyZW50Iiwic2V0Q3VycmVudCIsIm9mZiIsIm9uQ2FuY2VsIiwib24iLCJlbWl0IiwiZ2V0Q3VycmVudCIsImRlc3Ryb3kiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZvaWNlLWJyb2FkY2FzdC9zdG9yZXMvVm9pY2VCcm9hZGNhc3RQcmVSZWNvcmRpbmdTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBUeXBlZEV2ZW50RW1pdHRlciB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhcIjtcblxuaW1wb3J0IHsgVm9pY2VCcm9hZGNhc3RQcmVSZWNvcmRpbmcgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IElEZXN0cm95YWJsZSB9IGZyb20gXCIuLi8uLi91dGlscy9JRGVzdHJveWFibGVcIjtcblxuZXhwb3J0IHR5cGUgVm9pY2VCcm9hZGNhc3RQcmVSZWNvcmRpbmdFdmVudCA9IFwiY2hhbmdlZFwiO1xuXG5pbnRlcmZhY2UgRXZlbnRNYXAge1xuICAgIGNoYW5nZWQ6IChwcmVSZWNvcmRpbmc6IFZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nIHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNsYXNzIFZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nU3RvcmVcbiAgICBleHRlbmRzIFR5cGVkRXZlbnRFbWl0dGVyPFZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nRXZlbnQsIEV2ZW50TWFwPlxuICAgIGltcGxlbWVudHMgSURlc3Ryb3lhYmxlXG57XG4gICAgcHJpdmF0ZSBjdXJyZW50OiBWb2ljZUJyb2FkY2FzdFByZVJlY29yZGluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgcHVibGljIHNldEN1cnJlbnQoY3VycmVudDogVm9pY2VCcm9hZGNhc3RQcmVSZWNvcmRpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudCA9PT0gY3VycmVudCkgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudC5vZmYoXCJkaXNtaXNzXCIsIHRoaXMub25DYW5jZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdXJyZW50ID0gY3VycmVudDtcbiAgICAgICAgY3VycmVudC5vbihcImRpc21pc3NcIiwgdGhpcy5vbkNhbmNlbCk7XG4gICAgICAgIHRoaXMuZW1pdChcImNoYW5nZWRcIiwgY3VycmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyQ3VycmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudCA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMuY3VycmVudC5vZmYoXCJkaXNtaXNzXCIsIHRoaXMub25DYW5jZWwpO1xuICAgICAgICB0aGlzLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB0aGlzLmVtaXQoXCJjaGFuZ2VkXCIsIG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDdXJyZW50KCk6IFZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuY3VycmVudCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Lm9mZihcImRpc21pc3NcIiwgdGhpcy5vbkNhbmNlbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2FuY2VsID0gKHZvaWNlQnJvYWRjYXN0UHJlUmVjb3JkaW5nOiBWb2ljZUJyb2FkY2FzdFByZVJlY29yZGluZyk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50ID09PSB2b2ljZUJyb2FkY2FzdFByZVJlY29yZGluZykge1xuICAgICAgICAgICAgdGhpcy5jbGVhckN1cnJlbnQoKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBYU8sTUFBTUMsK0JBQStCLFNBQ2hDQyx5QkFBaUIsQ0FFN0I7RUFBQUMsWUFBQSxHQUFBQyxJQUFBO0lBQUEsU0FBQUEsSUFBQTtJQUFBLElBQUFDLGdCQUFBLENBQUFDLE9BQUEsbUJBQ3lELElBQUk7SUFBQSxJQUFBRCxnQkFBQSxDQUFBQyxPQUFBLG9CQWtDckNDLDBCQUFzRCxJQUFXO01BQ2pGLElBQUksSUFBSSxDQUFDQyxPQUFPLEtBQUtELDBCQUEwQixFQUFFO1FBQzdDLElBQUksQ0FBQ0UsWUFBWSxDQUFDLENBQUM7TUFDdkI7SUFDSixDQUFDO0VBQUE7RUFwQ01DLFVBQVVBLENBQUNGLE9BQW1DLEVBQVE7SUFDekQsSUFBSSxJQUFJLENBQUNBLE9BQU8sS0FBS0EsT0FBTyxFQUFFO0lBRTlCLElBQUksSUFBSSxDQUFDQSxPQUFPLEVBQUU7TUFDZCxJQUFJLENBQUNBLE9BQU8sQ0FBQ0csR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUNDLFFBQVEsQ0FBQztJQUM5QztJQUVBLElBQUksQ0FBQ0osT0FBTyxHQUFHQSxPQUFPO0lBQ3RCQSxPQUFPLENBQUNLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDRCxRQUFRLENBQUM7SUFDcEMsSUFBSSxDQUFDRSxJQUFJLENBQUMsU0FBUyxFQUFFTixPQUFPLENBQUM7RUFDakM7RUFFT0MsWUFBWUEsQ0FBQSxFQUFTO0lBQ3hCLElBQUksSUFBSSxDQUFDRCxPQUFPLEtBQUssSUFBSSxFQUFFO0lBRTNCLElBQUksQ0FBQ0EsT0FBTyxDQUFDRyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBQzFDLElBQUksQ0FBQ0osT0FBTyxHQUFHLElBQUk7SUFDbkIsSUFBSSxDQUFDTSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztFQUM5QjtFQUVPQyxVQUFVQSxDQUFBLEVBQXNDO0lBQ25ELE9BQU8sSUFBSSxDQUFDUCxPQUFPO0VBQ3ZCO0VBRU9RLE9BQU9BLENBQUEsRUFBUztJQUNuQixJQUFJLENBQUNDLGtCQUFrQixDQUFDLENBQUM7SUFFekIsSUFBSSxJQUFJLENBQUNULE9BQU8sRUFBRTtNQUNkLElBQUksQ0FBQ0EsT0FBTyxDQUFDRyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQ0MsUUFBUSxDQUFDO0lBQzlDO0VBQ0o7QUFPSjtBQUFDTSxPQUFBLENBQUFqQiwrQkFBQSxHQUFBQSwrQkFBQSIsImlnbm9yZUxpc3QiOltdfQ==