UNPKG

matrix-react-sdk

Version:
43 lines (40 loc) 4.72 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _SettingController = _interopRequireDefault(require("./SettingController")); var _SettingsStore = _interopRequireDefault(require("../SettingsStore")); /* 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. */ /** * Enforces that a boolean setting cannot be enabled if the corresponding * UI feature is disabled. If the UI feature is enabled, the setting value * is unchanged. * * Settings using this controller are assumed to return `false` when disabled. */ class UIFeatureController extends _SettingController.default { constructor(uiFeatureName, forcedValue = false) { super(); this.uiFeatureName = uiFeatureName; this.forcedValue = forcedValue; } getValueOverride(level, roomId, calculatedValue, calculatedAtLevel) { if (this.settingDisabled) { // per the docs: we force a disabled state when the feature isn't active return this.forcedValue; } return null; // no override } get settingDisabled() { return !_SettingsStore.default.getValue(this.uiFeatureName); } } exports.default = UIFeatureController; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2V0dGluZ0NvbnRyb2xsZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9TZXR0aW5nc1N0b3JlIiwiVUlGZWF0dXJlQ29udHJvbGxlciIsIlNldHRpbmdDb250cm9sbGVyIiwiY29uc3RydWN0b3IiLCJ1aUZlYXR1cmVOYW1lIiwiZm9yY2VkVmFsdWUiLCJnZXRWYWx1ZU92ZXJyaWRlIiwibGV2ZWwiLCJyb29tSWQiLCJjYWxjdWxhdGVkVmFsdWUiLCJjYWxjdWxhdGVkQXRMZXZlbCIsInNldHRpbmdEaXNhYmxlZCIsIlNldHRpbmdzU3RvcmUiLCJnZXRWYWx1ZSIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NldHRpbmdzL2NvbnRyb2xsZXJzL1VJRmVhdHVyZUNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFNldHRpbmdDb250cm9sbGVyIGZyb20gXCIuL1NldHRpbmdDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBTZXR0aW5nTGV2ZWwgfSBmcm9tIFwiLi4vU2V0dGluZ0xldmVsXCI7XG5pbXBvcnQgU2V0dGluZ3NTdG9yZSBmcm9tIFwiLi4vU2V0dGluZ3NTdG9yZVwiO1xuXG4vKipcbiAqIEVuZm9yY2VzIHRoYXQgYSBib29sZWFuIHNldHRpbmcgY2Fubm90IGJlIGVuYWJsZWQgaWYgdGhlIGNvcnJlc3BvbmRpbmdcbiAqIFVJIGZlYXR1cmUgaXMgZGlzYWJsZWQuIElmIHRoZSBVSSBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZSBzZXR0aW5nIHZhbHVlXG4gKiBpcyB1bmNoYW5nZWQuXG4gKlxuICogU2V0dGluZ3MgdXNpbmcgdGhpcyBjb250cm9sbGVyIGFyZSBhc3N1bWVkIHRvIHJldHVybiBgZmFsc2VgIHdoZW4gZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVJRmVhdHVyZUNvbnRyb2xsZXIgZXh0ZW5kcyBTZXR0aW5nQ29udHJvbGxlciB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHVpRmVhdHVyZU5hbWU6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBmb3JjZWRWYWx1ZSA9IGZhbHNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYWx1ZU92ZXJyaWRlKFxuICAgICAgICBsZXZlbDogU2V0dGluZ0xldmVsLFxuICAgICAgICByb29tSWQ6IHN0cmluZyxcbiAgICAgICAgY2FsY3VsYXRlZFZhbHVlOiBhbnksXG4gICAgICAgIGNhbGN1bGF0ZWRBdExldmVsOiBTZXR0aW5nTGV2ZWwgfCBudWxsLFxuICAgICk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLnNldHRpbmdEaXNhYmxlZCkge1xuICAgICAgICAgICAgLy8gcGVyIHRoZSBkb2NzOiB3ZSBmb3JjZSBhIGRpc2FibGVkIHN0YXRlIHdoZW4gdGhlIGZlYXR1cmUgaXNuJ3QgYWN0aXZlXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JjZWRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDsgLy8gbm8gb3ZlcnJpZGVcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNldHRpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFTZXR0aW5nc1N0b3JlLmdldFZhbHVlKHRoaXMudWlGZWF0dXJlTmFtZSk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsa0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTUUsbUJBQW1CLFNBQVNDLDBCQUFpQixDQUFDO0VBQ3hEQyxXQUFXQSxDQUNOQyxhQUFxQixFQUNyQkMsV0FBVyxHQUFHLEtBQUssRUFDN0I7SUFDRSxLQUFLLENBQUMsQ0FBQztJQUFDLEtBSEFELGFBQXFCLEdBQXJCQSxhQUFxQjtJQUFBLEtBQ3JCQyxXQUFXLEdBQVhBLFdBQVc7RUFHdkI7RUFFT0MsZ0JBQWdCQSxDQUNuQkMsS0FBbUIsRUFDbkJDLE1BQWMsRUFDZEMsZUFBb0IsRUFDcEJDLGlCQUFzQyxFQUNuQztJQUNILElBQUksSUFBSSxDQUFDQyxlQUFlLEVBQUU7TUFDdEI7TUFDQSxPQUFPLElBQUksQ0FBQ04sV0FBVztJQUMzQjtJQUNBLE9BQU8sSUFBSSxDQUFDLENBQUM7RUFDakI7RUFFQSxJQUFXTSxlQUFlQSxDQUFBLEVBQVk7SUFDbEMsT0FBTyxDQUFDQyxzQkFBYSxDQUFDQyxRQUFRLENBQUMsSUFBSSxDQUFDVCxhQUFhLENBQUM7RUFDdEQ7QUFDSjtBQUFDVSxPQUFBLENBQUFDLE9BQUEsR0FBQWQsbUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=