UNPKG

matrix-react-sdk

Version:
44 lines (40 loc) 5.22 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 _SettingController = _interopRequireDefault(require("./SettingController")); /* Copyright 2024 New Vector Ltd. Copyright 2023 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 controllers which need access to a MatrixClient. * This class performs no logic and should be overridden. */ class MatrixClientBackedController extends _SettingController.default { static set matrixClient(client) { const oldClient = MatrixClientBackedController._matrixClient; MatrixClientBackedController._matrixClient = client; for (const instance of MatrixClientBackedController.instances) { instance.initMatrixClient(client, oldClient); } } constructor() { super(); MatrixClientBackedController.instances.push(this); } get client() { return MatrixClientBackedController._matrixClient; } } exports.default = MatrixClientBackedController; (0, _defineProperty2.default)(MatrixClientBackedController, "_matrixClient", void 0); (0, _defineProperty2.default)(MatrixClientBackedController, "instances", []); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2V0dGluZ0NvbnRyb2xsZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIk1hdHJpeENsaWVudEJhY2tlZENvbnRyb2xsZXIiLCJTZXR0aW5nQ29udHJvbGxlciIsIm1hdHJpeENsaWVudCIsImNsaWVudCIsIm9sZENsaWVudCIsIl9tYXRyaXhDbGllbnQiLCJpbnN0YW5jZSIsImluc3RhbmNlcyIsImluaXRNYXRyaXhDbGllbnQiLCJjb25zdHJ1Y3RvciIsInB1c2giLCJleHBvcnRzIiwiZGVmYXVsdCIsIl9kZWZpbmVQcm9wZXJ0eTIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2V0dGluZ3MvY29udHJvbGxlcnMvTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMyBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbmltcG9ydCBTZXR0aW5nQ29udHJvbGxlciBmcm9tIFwiLi9TZXR0aW5nQ29udHJvbGxlclwiO1xuXG4vLyBEZXYgbm90ZTogVGhpcyB3aG9sZSBjbGFzcyBleGlzdHMgaW4gdGhlIGV2ZW50IHNvbWVvbmUgbG9ncyBvdXQgYW5kIGJhY2sgaW4gLSB3ZSB3YW50XG4vLyB0byBtYWtlIHN1cmUgdGhlIHJpZ2h0IE1hdHJpeENsaWVudCBpcyBsaXN0ZW5pbmcgZm9yIGNoYW5nZXMuXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYmFzZSBjbGFzcyBmb3Igc2V0dGluZ3MgY29udHJvbGxlcnMgd2hpY2ggbmVlZCBhY2Nlc3MgdG8gYSBNYXRyaXhDbGllbnQuXG4gKiBUaGlzIGNsYXNzIHBlcmZvcm1zIG5vIGxvZ2ljIGFuZCBzaG91bGQgYmUgb3ZlcnJpZGRlbi5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlciBleHRlbmRzIFNldHRpbmdDb250cm9sbGVyIHtcbiAgICBwcml2YXRlIHN0YXRpYyBfbWF0cml4Q2xpZW50PzogTWF0cml4Q2xpZW50O1xuICAgIHByaXZhdGUgc3RhdGljIGluc3RhbmNlczogTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlcltdID0gW107XG5cbiAgICBwdWJsaWMgc3RhdGljIHNldCBtYXRyaXhDbGllbnQoY2xpZW50OiBNYXRyaXhDbGllbnQpIHtcbiAgICAgICAgY29uc3Qgb2xkQ2xpZW50ID0gTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlci5fbWF0cml4Q2xpZW50O1xuICAgICAgICBNYXRyaXhDbGllbnRCYWNrZWRDb250cm9sbGVyLl9tYXRyaXhDbGllbnQgPSBjbGllbnQ7XG5cbiAgICAgICAgZm9yIChjb25zdCBpbnN0YW5jZSBvZiBNYXRyaXhDbGllbnRCYWNrZWRDb250cm9sbGVyLmluc3RhbmNlcykge1xuICAgICAgICAgICAgaW5zdGFuY2UuaW5pdE1hdHJpeENsaWVudChjbGllbnQsIG9sZENsaWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlci5pbnN0YW5jZXMucHVzaCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsaWVudCgpOiBNYXRyaXhDbGllbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gTWF0cml4Q2xpZW50QmFja2VkQ29udHJvbGxlci5fbWF0cml4Q2xpZW50O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBpbml0TWF0cml4Q2xpZW50KG5ld0NsaWVudDogTWF0cml4Q2xpZW50LCBvbGRDbGllbnQ/OiBNYXRyaXhDbGllbnQpOiB2b2lkO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVVBLElBQUFBLGtCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBZUMsNEJBQTRCLFNBQVNDLDBCQUFpQixDQUFDO0VBSWpGLFdBQWtCQyxZQUFZQSxDQUFDQyxNQUFvQixFQUFFO0lBQ2pELE1BQU1DLFNBQVMsR0FBR0osNEJBQTRCLENBQUNLLGFBQWE7SUFDNURMLDRCQUE0QixDQUFDSyxhQUFhLEdBQUdGLE1BQU07SUFFbkQsS0FBSyxNQUFNRyxRQUFRLElBQUlOLDRCQUE0QixDQUFDTyxTQUFTLEVBQUU7TUFDM0RELFFBQVEsQ0FBQ0UsZ0JBQWdCLENBQUNMLE1BQU0sRUFBRUMsU0FBUyxDQUFDO0lBQ2hEO0VBQ0o7RUFFVUssV0FBV0EsQ0FBQSxFQUFHO0lBQ3BCLEtBQUssQ0FBQyxDQUFDO0lBRVBULDRCQUE0QixDQUFDTyxTQUFTLENBQUNHLElBQUksQ0FBQyxJQUFJLENBQUM7RUFDckQ7RUFFQSxJQUFXUCxNQUFNQSxDQUFBLEVBQTZCO0lBQzFDLE9BQU9ILDRCQUE0QixDQUFDSyxhQUFhO0VBQ3JEO0FBR0o7QUFBQ00sT0FBQSxDQUFBQyxPQUFBLEdBQUFaLDRCQUFBO0FBQUEsSUFBQWEsZ0JBQUEsQ0FBQUQsT0FBQSxFQXhCNkJaLDRCQUE0QjtBQUFBLElBQUFhLGdCQUFBLENBQUFELE9BQUEsRUFBNUJaLDRCQUE0QixlQUVLLEVBQUUiLCJpZ25vcmVMaXN0IjpbXX0=