matrix-react-sdk
Version:
SDK for matrix.org using React
46 lines (43 loc) • 5.72 kB
JavaScript
;
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==