UNPKG

matrix-react-sdk

Version:
44 lines (40 loc) 5.29 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 _SettingsHandler = _interopRequireDefault(require("./SettingsHandler")); /* Copyright 2024 New Vector Ltd. Copyright 2019, 2020 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. */ // Dev note: This whole class exists in the event someone logs out and back in - we want // to make sure the right MatrixClient is listening for changes. /** * Represents the base class for settings handlers which need access to a MatrixClient. * This class performs no logic and should be overridden. */ class MatrixClientBackedSettingsHandler extends _SettingsHandler.default { static set matrixClient(client) { const oldClient = MatrixClientBackedSettingsHandler._matrixClient; MatrixClientBackedSettingsHandler._matrixClient = client; for (const instance of MatrixClientBackedSettingsHandler.instances) { instance.initMatrixClient(oldClient, client); } } constructor() { super(); MatrixClientBackedSettingsHandler.instances.push(this); } get client() { return MatrixClientBackedSettingsHandler._matrixClient; } } exports.default = MatrixClientBackedSettingsHandler; (0, _defineProperty2.default)(MatrixClientBackedSettingsHandler, "_matrixClient", void 0); (0, _defineProperty2.default)(MatrixClientBackedSettingsHandler, "instances", []); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2V0dGluZ3NIYW5kbGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJNYXRyaXhDbGllbnRCYWNrZWRTZXR0aW5nc0hhbmRsZXIiLCJTZXR0aW5nc0hhbmRsZXIiLCJtYXRyaXhDbGllbnQiLCJjbGllbnQiLCJvbGRDbGllbnQiLCJfbWF0cml4Q2xpZW50IiwiaW5zdGFuY2UiLCJpbnN0YW5jZXMiLCJpbml0TWF0cml4Q2xpZW50IiwiY29uc3RydWN0b3IiLCJwdXNoIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJfZGVmaW5lUHJvcGVydHkyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NldHRpbmdzL2hhbmRsZXJzL01hdHJpeENsaWVudEJhY2tlZFNldHRpbmdzSGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAxOSwgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCBTZXR0aW5nc0hhbmRsZXIgZnJvbSBcIi4vU2V0dGluZ3NIYW5kbGVyXCI7XG5cbi8vIERldiBub3RlOiBUaGlzIHdob2xlIGNsYXNzIGV4aXN0cyBpbiB0aGUgZXZlbnQgc29tZW9uZSBsb2dzIG91dCBhbmQgYmFjayBpbiAtIHdlIHdhbnRcbi8vIHRvIG1ha2Ugc3VyZSB0aGUgcmlnaHQgTWF0cml4Q2xpZW50IGlzIGxpc3RlbmluZyBmb3IgY2hhbmdlcy5cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBiYXNlIGNsYXNzIGZvciBzZXR0aW5ncyBoYW5kbGVycyB3aGljaCBuZWVkIGFjY2VzcyB0byBhIE1hdHJpeENsaWVudC5cbiAqIFRoaXMgY2xhc3MgcGVyZm9ybXMgbm8gbG9naWMgYW5kIHNob3VsZCBiZSBvdmVycmlkZGVuLlxuICovXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBNYXRyaXhDbGllbnRCYWNrZWRTZXR0aW5nc0hhbmRsZXIgZXh0ZW5kcyBTZXR0aW5nc0hhbmRsZXIge1xuICAgIHByaXZhdGUgc3RhdGljIF9tYXRyaXhDbGllbnQ6IE1hdHJpeENsaWVudDtcbiAgICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZXM6IE1hdHJpeENsaWVudEJhY2tlZFNldHRpbmdzSGFuZGxlcltdID0gW107XG5cbiAgICBwdWJsaWMgc3RhdGljIHNldCBtYXRyaXhDbGllbnQoY2xpZW50OiBNYXRyaXhDbGllbnQpIHtcbiAgICAgICAgY29uc3Qgb2xkQ2xpZW50ID0gTWF0cml4Q2xpZW50QmFja2VkU2V0dGluZ3NIYW5kbGVyLl9tYXRyaXhDbGllbnQ7XG4gICAgICAgIE1hdHJpeENsaWVudEJhY2tlZFNldHRpbmdzSGFuZGxlci5fbWF0cml4Q2xpZW50ID0gY2xpZW50O1xuXG4gICAgICAgIGZvciAoY29uc3QgaW5zdGFuY2Ugb2YgTWF0cml4Q2xpZW50QmFja2VkU2V0dGluZ3NIYW5kbGVyLmluc3RhbmNlcykge1xuICAgICAgICAgICAgaW5zdGFuY2UuaW5pdE1hdHJpeENsaWVudChvbGRDbGllbnQsIGNsaWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgTWF0cml4Q2xpZW50QmFja2VkU2V0dGluZ3NIYW5kbGVyLmluc3RhbmNlcy5wdXNoKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2xpZW50KCk6IE1hdHJpeENsaWVudCB7XG4gICAgICAgIHJldHVybiBNYXRyaXhDbGllbnRCYWNrZWRTZXR0aW5nc0hhbmRsZXIuX21hdHJpeENsaWVudDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1hdHJpeENsaWVudChvbGRDbGllbnQ6IE1hdHJpeENsaWVudCwgbmV3Q2xpZW50OiBNYXRyaXhDbGllbnQpOiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVVBLElBQUFBLGdCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBZUMsaUNBQWlDLFNBQVNDLHdCQUFlLENBQUM7RUFJcEYsV0FBa0JDLFlBQVlBLENBQUNDLE1BQW9CLEVBQUU7SUFDakQsTUFBTUMsU0FBUyxHQUFHSixpQ0FBaUMsQ0FBQ0ssYUFBYTtJQUNqRUwsaUNBQWlDLENBQUNLLGFBQWEsR0FBR0YsTUFBTTtJQUV4RCxLQUFLLE1BQU1HLFFBQVEsSUFBSU4saUNBQWlDLENBQUNPLFNBQVMsRUFBRTtNQUNoRUQsUUFBUSxDQUFDRSxnQkFBZ0IsQ0FBQ0osU0FBUyxFQUFFRCxNQUFNLENBQUM7SUFDaEQ7RUFDSjtFQUVVTSxXQUFXQSxDQUFBLEVBQUc7SUFDcEIsS0FBSyxDQUFDLENBQUM7SUFFUFQsaUNBQWlDLENBQUNPLFNBQVMsQ0FBQ0csSUFBSSxDQUFDLElBQUksQ0FBQztFQUMxRDtFQUVBLElBQVdQLE1BQU1BLENBQUEsRUFBaUI7SUFDOUIsT0FBT0gsaUNBQWlDLENBQUNLLGFBQWE7RUFDMUQ7QUFHSjtBQUFDTSxPQUFBLENBQUFDLE9BQUEsR0FBQVosaUNBQUE7QUFBQSxJQUFBYSxnQkFBQSxDQUFBRCxPQUFBLEVBeEI2QlosaUNBQWlDO0FBQUEsSUFBQWEsZ0JBQUEsQ0FBQUQsT0FBQSxFQUFqQ1osaUNBQWlDLGVBRUssRUFBRSIsImlnbm9yZUxpc3QiOltdfQ==