UNPKG

matrix-react-sdk

Version:
63 lines (58 loc) 7.77 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 _logger = require("matrix-js-sdk/src/logger"); var _ListLayout = require("./ListLayout"); var _AsyncStoreWithClient = require("../AsyncStoreWithClient"); var _dispatcher = _interopRequireDefault(require("../../dispatcher/dispatcher")); /* Copyright 2024 New Vector Ltd. Copyright 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. */ class RoomListLayoutStore extends _AsyncStoreWithClient.AsyncStoreWithClient { constructor() { super(_dispatcher.default); (0, _defineProperty2.default)(this, "layoutMap", new Map()); } static get instance() { if (!this.internalInstance) { this.internalInstance = new RoomListLayoutStore(); this.internalInstance.start(); } return RoomListLayoutStore.internalInstance; } ensureLayoutExists(tagId) { if (!this.layoutMap.has(tagId)) { this.layoutMap.set(tagId, new _ListLayout.ListLayout(tagId)); } } getLayoutFor(tagId) { if (!this.layoutMap.has(tagId)) { this.layoutMap.set(tagId, new _ListLayout.ListLayout(tagId)); } return this.layoutMap.get(tagId); } // Note: this primarily exists for debugging, and isn't really intended to be used by anything. async resetLayouts() { _logger.logger.warn("Resetting layouts for room list"); for (const layout of this.layoutMap.values()) { layout.reset(); } } async onNotReady() { // On logout, clear the map. this.layoutMap.clear(); } // We don't need this function, but our contract says we do async onAction(payload) {} } exports.default = RoomListLayoutStore; (0, _defineProperty2.default)(RoomListLayoutStore, "internalInstance", void 0); window.mxRoomListLayoutStore = RoomListLayoutStore.instance; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwicmVxdWlyZSIsIl9MaXN0TGF5b3V0IiwiX0FzeW5jU3RvcmVXaXRoQ2xpZW50IiwiX2Rpc3BhdGNoZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiUm9vbUxpc3RMYXlvdXRTdG9yZSIsIkFzeW5jU3RvcmVXaXRoQ2xpZW50IiwiY29uc3RydWN0b3IiLCJkZWZhdWx0RGlzcGF0Y2hlciIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwiTWFwIiwiaW5zdGFuY2UiLCJpbnRlcm5hbEluc3RhbmNlIiwic3RhcnQiLCJlbnN1cmVMYXlvdXRFeGlzdHMiLCJ0YWdJZCIsImxheW91dE1hcCIsImhhcyIsInNldCIsIkxpc3RMYXlvdXQiLCJnZXRMYXlvdXRGb3IiLCJnZXQiLCJyZXNldExheW91dHMiLCJsb2dnZXIiLCJ3YXJuIiwibGF5b3V0IiwidmFsdWVzIiwicmVzZXQiLCJvbk5vdFJlYWR5IiwiY2xlYXIiLCJvbkFjdGlvbiIsInBheWxvYWQiLCJleHBvcnRzIiwid2luZG93IiwibXhSb29tTGlzdExheW91dFN0b3JlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3Jlcy9yb29tLWxpc3QvUm9vbUxpc3RMYXlvdXRTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbG9nZ2VyXCI7XG5cbmltcG9ydCB7IFRhZ0lEIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMaXN0TGF5b3V0IH0gZnJvbSBcIi4vTGlzdExheW91dFwiO1xuaW1wb3J0IHsgQXN5bmNTdG9yZVdpdGhDbGllbnQgfSBmcm9tIFwiLi4vQXN5bmNTdG9yZVdpdGhDbGllbnRcIjtcbmltcG9ydCBkZWZhdWx0RGlzcGF0Y2hlciBmcm9tIFwiLi4vLi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5pbXBvcnQgeyBBY3Rpb25QYXlsb2FkIH0gZnJvbSBcIi4uLy4uL2Rpc3BhdGNoZXIvcGF5bG9hZHNcIjtcblxuaW50ZXJmYWNlIElTdGF0ZSB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSb29tTGlzdExheW91dFN0b3JlIGV4dGVuZHMgQXN5bmNTdG9yZVdpdGhDbGllbnQ8SVN0YXRlPiB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxJbnN0YW5jZTogUm9vbUxpc3RMYXlvdXRTdG9yZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0TWFwID0gbmV3IE1hcDxUYWdJRCwgTGlzdExheW91dD4oKTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoZGVmYXVsdERpc3BhdGNoZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IFJvb21MaXN0TGF5b3V0U3RvcmUge1xuICAgICAgICBpZiAoIXRoaXMuaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbEluc3RhbmNlID0gbmV3IFJvb21MaXN0TGF5b3V0U3RvcmUoKTtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxJbnN0YW5jZS5zdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBSb29tTGlzdExheW91dFN0b3JlLmludGVybmFsSW5zdGFuY2U7XG4gICAgfVxuXG4gICAgcHVibGljIGVuc3VyZUxheW91dEV4aXN0cyh0YWdJZDogVGFnSUQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxheW91dE1hcC5oYXModGFnSWQpKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dE1hcC5zZXQodGFnSWQsIG5ldyBMaXN0TGF5b3V0KHRhZ0lkKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGF5b3V0Rm9yKHRhZ0lkOiBUYWdJRCk6IExpc3RMYXlvdXQge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0TWFwLmhhcyh0YWdJZCkpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0TWFwLnNldCh0YWdJZCwgbmV3IExpc3RMYXlvdXQodGFnSWQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRNYXAuZ2V0KHRhZ0lkKSE7XG4gICAgfVxuXG4gICAgLy8gTm90ZTogdGhpcyBwcmltYXJpbHkgZXhpc3RzIGZvciBkZWJ1Z2dpbmcsIGFuZCBpc24ndCByZWFsbHkgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBhbnl0aGluZy5cbiAgICBwdWJsaWMgYXN5bmMgcmVzZXRMYXlvdXRzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBsb2dnZXIud2FybihcIlJlc2V0dGluZyBsYXlvdXRzIGZvciByb29tIGxpc3RcIik7XG4gICAgICAgIGZvciAoY29uc3QgbGF5b3V0IG9mIHRoaXMubGF5b3V0TWFwLnZhbHVlcygpKSB7XG4gICAgICAgICAgICBsYXlvdXQucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBvbk5vdFJlYWR5KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIE9uIGxvZ291dCwgY2xlYXIgdGhlIG1hcC5cbiAgICAgICAgdGhpcy5sYXlvdXRNYXAuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvLyBXZSBkb24ndCBuZWVkIHRoaXMgZnVuY3Rpb24sIGJ1dCBvdXIgY29udHJhY3Qgc2F5cyB3ZSBkb1xuICAgIHByb3RlY3RlZCBhc3luYyBvbkFjdGlvbihwYXlsb2FkOiBBY3Rpb25QYXlsb2FkKTogUHJvbWlzZTx2b2lkPiB7fVxufVxuXG53aW5kb3cubXhSb29tTGlzdExheW91dFN0b3JlID0gUm9vbUxpc3RMYXlvdXRTdG9yZS5pbnN0YW5jZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFRQSxJQUFBQSxPQUFBLEdBQUFDLE9BQUE7QUFHQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxxQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBYkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBWWUsTUFBTUssbUJBQW1CLFNBQVNDLDBDQUFvQixDQUFTO0VBS25FQyxXQUFXQSxDQUFBLEVBQUc7SUFDakIsS0FBSyxDQUFDQyxtQkFBaUIsQ0FBQztJQUFDLElBQUFDLGdCQUFBLENBQUFDLE9BQUEscUJBSEEsSUFBSUMsR0FBRyxDQUFvQixDQUFDO0VBSXpEO0VBRUEsV0FBa0JDLFFBQVFBLENBQUEsRUFBd0I7SUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQ0MsZ0JBQWdCLEVBQUU7TUFDeEIsSUFBSSxDQUFDQSxnQkFBZ0IsR0FBRyxJQUFJUixtQkFBbUIsQ0FBQyxDQUFDO01BQ2pELElBQUksQ0FBQ1EsZ0JBQWdCLENBQUNDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDO0lBQ0EsT0FBT1QsbUJBQW1CLENBQUNRLGdCQUFnQjtFQUMvQztFQUVPRSxrQkFBa0JBLENBQUNDLEtBQVksRUFBUTtJQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDQyxTQUFTLENBQUNDLEdBQUcsQ0FBQ0YsS0FBSyxDQUFDLEVBQUU7TUFDNUIsSUFBSSxDQUFDQyxTQUFTLENBQUNFLEdBQUcsQ0FBQ0gsS0FBSyxFQUFFLElBQUlJLHNCQUFVLENBQUNKLEtBQUssQ0FBQyxDQUFDO0lBQ3BEO0VBQ0o7RUFFT0ssWUFBWUEsQ0FBQ0wsS0FBWSxFQUFjO0lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0MsR0FBRyxDQUFDRixLQUFLLENBQUMsRUFBRTtNQUM1QixJQUFJLENBQUNDLFNBQVMsQ0FBQ0UsR0FBRyxDQUFDSCxLQUFLLEVBQUUsSUFBSUksc0JBQVUsQ0FBQ0osS0FBSyxDQUFDLENBQUM7SUFDcEQ7SUFDQSxPQUFPLElBQUksQ0FBQ0MsU0FBUyxDQUFDSyxHQUFHLENBQUNOLEtBQUssQ0FBQztFQUNwQzs7RUFFQTtFQUNBLE1BQWFPLFlBQVlBLENBQUEsRUFBa0I7SUFDdkNDLGNBQU0sQ0FBQ0MsSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQzlDLEtBQUssTUFBTUMsTUFBTSxJQUFJLElBQUksQ0FBQ1QsU0FBUyxDQUFDVSxNQUFNLENBQUMsQ0FBQyxFQUFFO01BQzFDRCxNQUFNLENBQUNFLEtBQUssQ0FBQyxDQUFDO0lBQ2xCO0VBQ0o7RUFFQSxNQUFnQkMsVUFBVUEsQ0FBQSxFQUFpQjtJQUN2QztJQUNBLElBQUksQ0FBQ1osU0FBUyxDQUFDYSxLQUFLLENBQUMsQ0FBQztFQUMxQjs7RUFFQTtFQUNBLE1BQWdCQyxRQUFRQSxDQUFDQyxPQUFzQixFQUFpQixDQUFDO0FBQ3JFO0FBQUNDLE9BQUEsQ0FBQXZCLE9BQUEsR0FBQUwsbUJBQUE7QUFBQSxJQUFBSSxnQkFBQSxDQUFBQyxPQUFBLEVBN0NvQkwsbUJBQW1CO0FBK0N4QzZCLE1BQU0sQ0FBQ0MscUJBQXFCLEdBQUc5QixtQkFBbUIsQ0FBQ08sUUFBUSIsImlnbm9yZUxpc3QiOltdfQ==