UNPKG

matrix-react-sdk

Version:
46 lines (43 loc) 5.72 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")); /* Copyright 2024 New Vector Ltd. Copyright 2021 Šimon Brandner <simon.bra.ag@gmail.com> SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const getSpaceCollapsedKey = (roomId, parents) => { const separator = "/"; let path = ""; if (parents) { for (const entry of parents.entries()) { path += entry + separator; } } return `mx_space_collapsed_${path + roomId}`; }; class SpaceTreeLevelLayoutStore { static get instance() { if (!SpaceTreeLevelLayoutStore.internalInstance) { SpaceTreeLevelLayoutStore.internalInstance = new SpaceTreeLevelLayoutStore(); } return SpaceTreeLevelLayoutStore.internalInstance; } setSpaceCollapsedState(roomId, parents, collapsed) { // XXX: localStorage doesn't allow booleans localStorage.setItem(getSpaceCollapsedKey(roomId, parents), collapsed.toString()); } getSpaceCollapsedState(roomId, parents, fallback) { const collapsedLocalStorage = localStorage.getItem(getSpaceCollapsedKey(roomId, parents)); // XXX: localStorage doesn't allow booleans return collapsedLocalStorage ? collapsedLocalStorage === "true" : fallback; } } exports.default = SpaceTreeLevelLayoutStore; (0, _defineProperty2.default)(SpaceTreeLevelLayoutStore, "internalInstance", void 0); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRTcGFjZUNvbGxhcHNlZEtleSIsInJvb21JZCIsInBhcmVudHMiLCJzZXBhcmF0b3IiLCJwYXRoIiwiZW50cnkiLCJlbnRyaWVzIiwiU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZSIsImluc3RhbmNlIiwiaW50ZXJuYWxJbnN0YW5jZSIsInNldFNwYWNlQ29sbGFwc2VkU3RhdGUiLCJjb2xsYXBzZWQiLCJsb2NhbFN0b3JhZ2UiLCJzZXRJdGVtIiwidG9TdHJpbmciLCJnZXRTcGFjZUNvbGxhcHNlZFN0YXRlIiwiZmFsbGJhY2siLCJjb2xsYXBzZWRMb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJfZGVmaW5lUHJvcGVydHkyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3Jlcy9zcGFjZXMvU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSDFoGltb24gQnJhbmRuZXIgPHNpbW9uLmJyYS5hZ0BnbWFpbC5jb20+XG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmNvbnN0IGdldFNwYWNlQ29sbGFwc2VkS2V5ID0gKHJvb21JZDogc3RyaW5nLCBwYXJlbnRzPzogU2V0PHN0cmluZz4pOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHNlcGFyYXRvciA9IFwiL1wiO1xuICAgIGxldCBwYXRoID0gXCJcIjtcbiAgICBpZiAocGFyZW50cykge1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHBhcmVudHMuZW50cmllcygpKSB7XG4gICAgICAgICAgICBwYXRoICs9IGVudHJ5ICsgc2VwYXJhdG9yO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBgbXhfc3BhY2VfY29sbGFwc2VkXyR7cGF0aCArIHJvb21JZH1gO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZSB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgaW50ZXJuYWxJbnN0YW5jZTogU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IFNwYWNlVHJlZUxldmVsTGF5b3V0U3RvcmUge1xuICAgICAgICBpZiAoIVNwYWNlVHJlZUxldmVsTGF5b3V0U3RvcmUuaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgICAgICAgICAgU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZS5pbnRlcm5hbEluc3RhbmNlID0gbmV3IFNwYWNlVHJlZUxldmVsTGF5b3V0U3RvcmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU3BhY2VUcmVlTGV2ZWxMYXlvdXRTdG9yZS5pbnRlcm5hbEluc3RhbmNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTcGFjZUNvbGxhcHNlZFN0YXRlKHJvb21JZDogc3RyaW5nLCBwYXJlbnRzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCwgY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIFhYWDogbG9jYWxTdG9yYWdlIGRvZXNuJ3QgYWxsb3cgYm9vbGVhbnNcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oZ2V0U3BhY2VDb2xsYXBzZWRLZXkocm9vbUlkLCBwYXJlbnRzKSwgY29sbGFwc2VkLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTcGFjZUNvbGxhcHNlZFN0YXRlKHJvb21JZDogc3RyaW5nLCBwYXJlbnRzOiBTZXQ8c3RyaW5nPiB8IHVuZGVmaW5lZCwgZmFsbGJhY2s6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY29sbGFwc2VkTG9jYWxTdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oZ2V0U3BhY2VDb2xsYXBzZWRLZXkocm9vbUlkLCBwYXJlbnRzKSk7XG4gICAgICAgIC8vIFhYWDogbG9jYWxTdG9yYWdlIGRvZXNuJ3QgYWxsb3cgYm9vbGVhbnNcbiAgICAgICAgcmV0dXJuIGNvbGxhcHNlZExvY2FsU3RvcmFnZSA/IGNvbGxhcHNlZExvY2FsU3RvcmFnZSA9PT0gXCJ0cnVlXCIgOiBmYWxsYmFjaztcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTUEsb0JBQW9CLEdBQUdBLENBQUNDLE1BQWMsRUFBRUMsT0FBcUIsS0FBYTtFQUM1RSxNQUFNQyxTQUFTLEdBQUcsR0FBRztFQUNyQixJQUFJQyxJQUFJLEdBQUcsRUFBRTtFQUNiLElBQUlGLE9BQU8sRUFBRTtJQUNULEtBQUssTUFBTUcsS0FBSyxJQUFJSCxPQUFPLENBQUNJLE9BQU8sQ0FBQyxDQUFDLEVBQUU7TUFDbkNGLElBQUksSUFBSUMsS0FBSyxHQUFHRixTQUFTO0lBQzdCO0VBQ0o7RUFDQSxPQUFPLHNCQUFzQkMsSUFBSSxHQUFHSCxNQUFNLEVBQUU7QUFDaEQsQ0FBQztBQUVjLE1BQU1NLHlCQUF5QixDQUFDO0VBRzNDLFdBQWtCQyxRQUFRQSxDQUFBLEVBQThCO0lBQ3BELElBQUksQ0FBQ0QseUJBQXlCLENBQUNFLGdCQUFnQixFQUFFO01BQzdDRix5QkFBeUIsQ0FBQ0UsZ0JBQWdCLEdBQUcsSUFBSUYseUJBQXlCLENBQUMsQ0FBQztJQUNoRjtJQUNBLE9BQU9BLHlCQUF5QixDQUFDRSxnQkFBZ0I7RUFDckQ7RUFFT0Msc0JBQXNCQSxDQUFDVCxNQUFjLEVBQUVDLE9BQWdDLEVBQUVTLFNBQWtCLEVBQVE7SUFDdEc7SUFDQUMsWUFBWSxDQUFDQyxPQUFPLENBQUNiLG9CQUFvQixDQUFDQyxNQUFNLEVBQUVDLE9BQU8sQ0FBQyxFQUFFUyxTQUFTLENBQUNHLFFBQVEsQ0FBQyxDQUFDLENBQUM7RUFDckY7RUFFT0Msc0JBQXNCQSxDQUFDZCxNQUFjLEVBQUVDLE9BQWdDLEVBQUVjLFFBQWlCLEVBQVc7SUFDeEcsTUFBTUMscUJBQXFCLEdBQUdMLFlBQVksQ0FBQ00sT0FBTyxDQUFDbEIsb0JBQW9CLENBQUNDLE1BQU0sRUFBRUMsT0FBTyxDQUFDLENBQUM7SUFDekY7SUFDQSxPQUFPZSxxQkFBcUIsR0FBR0EscUJBQXFCLEtBQUssTUFBTSxHQUFHRCxRQUFRO0VBQzlFO0FBQ0o7QUFBQ0csT0FBQSxDQUFBQyxPQUFBLEdBQUFiLHlCQUFBO0FBQUEsSUFBQWMsZ0JBQUEsQ0FBQUQsT0FBQSxFQXBCb0JiLHlCQUF5QiIsImlnbm9yZUxpc3QiOltdfQ==