UNPKG

matrix-react-sdk

Version:
70 lines (64 loc) 7.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /* Copyright 2024 New Vector Ltd. Copyright 2020 The Matrix.org Foundation C.I.C. Copyright 2017 Travis Ralston SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Represents a controller for individual settings to alter the reading behaviour * based upon environmental conditions, or to react to changes and therefore update * the working environment. * * This is not intended to replace the functionality of a SettingsHandler, it is only * intended to handle environmental factors for specific settings. */ class SettingController { /** * Gets the overridden value for the setting, if any. This must return null if the * value is not to be overridden, otherwise it must return the new value. * @param {string} level The level at which the value was requested at. * @param {String} roomId The room ID, may be null. * @param {*} calculatedValue The value that the handlers think the setting should be, * may be null. * @param {SettingLevel} calculatedAtLevel The level for which the calculated value was * calculated at. May be null. * @return {*} The value that should be used, or null if no override is applicable. */ getValueOverride(level, roomId, calculatedValue, calculatedAtLevel) { return null; // no override } /** * Called before the setting value has been changed, can abort the change. * @param {string} level The level at which the setting has been modified. * @param {String} roomId The room ID, may be null. * @param {*} newValue The new value for the setting, may be null. * @return {boolean} Whether the settings change should be accepted. */ async beforeChange(level, roomId, newValue) { return true; } /** * Called when the setting value has been changed. * @param {string} level The level at which the setting has been modified. * @param {String} roomId The room ID, may be null. * @param {*} newValue The new value for the setting, may be null. */ onChange(level, roomId, newValue) { // do nothing by default } /** * Gets whether the setting has been disabled due to this controller. * Can also return a string with the reason the setting is disabled. */ get settingDisabled() { return false; } } exports.default = SettingController; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZXR0aW5nQ29udHJvbGxlciIsImdldFZhbHVlT3ZlcnJpZGUiLCJsZXZlbCIsInJvb21JZCIsImNhbGN1bGF0ZWRWYWx1ZSIsImNhbGN1bGF0ZWRBdExldmVsIiwiYmVmb3JlQ2hhbmdlIiwibmV3VmFsdWUiLCJvbkNoYW5nZSIsInNldHRpbmdEaXNhYmxlZCIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NldHRpbmdzL2NvbnRyb2xsZXJzL1NldHRpbmdDb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5Db3B5cmlnaHQgMjAxNyBUcmF2aXMgUmFsc3RvblxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBTZXR0aW5nTGV2ZWwgfSBmcm9tIFwiLi4vU2V0dGluZ0xldmVsXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnRyb2xsZXIgZm9yIGluZGl2aWR1YWwgc2V0dGluZ3MgdG8gYWx0ZXIgdGhlIHJlYWRpbmcgYmVoYXZpb3VyXG4gKiBiYXNlZCB1cG9uIGVudmlyb25tZW50YWwgY29uZGl0aW9ucywgb3IgdG8gcmVhY3QgdG8gY2hhbmdlcyBhbmQgdGhlcmVmb3JlIHVwZGF0ZVxuICogdGhlIHdvcmtpbmcgZW52aXJvbm1lbnQuXG4gKlxuICogVGhpcyBpcyBub3QgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhIFNldHRpbmdzSGFuZGxlciwgaXQgaXMgb25seVxuICogaW50ZW5kZWQgdG8gaGFuZGxlIGVudmlyb25tZW50YWwgZmFjdG9ycyBmb3Igc3BlY2lmaWMgc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIFNldHRpbmdDb250cm9sbGVyIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBvdmVycmlkZGVuIHZhbHVlIGZvciB0aGUgc2V0dGluZywgaWYgYW55LiBUaGlzIG11c3QgcmV0dXJuIG51bGwgaWYgdGhlXG4gICAgICogdmFsdWUgaXMgbm90IHRvIGJlIG92ZXJyaWRkZW4sIG90aGVyd2lzZSBpdCBtdXN0IHJldHVybiB0aGUgbmV3IHZhbHVlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbCBUaGUgbGV2ZWwgYXQgd2hpY2ggdGhlIHZhbHVlIHdhcyByZXF1ZXN0ZWQgYXQuXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHJvb21JZCBUaGUgcm9vbSBJRCwgbWF5IGJlIG51bGwuXG4gICAgICogQHBhcmFtIHsqfSBjYWxjdWxhdGVkVmFsdWUgVGhlIHZhbHVlIHRoYXQgdGhlIGhhbmRsZXJzIHRoaW5rIHRoZSBzZXR0aW5nIHNob3VsZCBiZSxcbiAgICAgKiBtYXkgYmUgbnVsbC5cbiAgICAgKiBAcGFyYW0ge1NldHRpbmdMZXZlbH0gY2FsY3VsYXRlZEF0TGV2ZWwgVGhlIGxldmVsIGZvciB3aGljaCB0aGUgY2FsY3VsYXRlZCB2YWx1ZSB3YXNcbiAgICAgKiBjYWxjdWxhdGVkIGF0LiBNYXkgYmUgbnVsbC5cbiAgICAgKiBAcmV0dXJuIHsqfSBUaGUgdmFsdWUgdGhhdCBzaG91bGQgYmUgdXNlZCwgb3IgbnVsbCBpZiBubyBvdmVycmlkZSBpcyBhcHBsaWNhYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU92ZXJyaWRlKFxuICAgICAgICBsZXZlbDogU2V0dGluZ0xldmVsLFxuICAgICAgICByb29tSWQ6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIGNhbGN1bGF0ZWRWYWx1ZTogYW55LFxuICAgICAgICBjYWxjdWxhdGVkQXRMZXZlbDogU2V0dGluZ0xldmVsIHwgbnVsbCxcbiAgICApOiBhbnkge1xuICAgICAgICByZXR1cm4gbnVsbDsgLy8gbm8gb3ZlcnJpZGVcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYmVmb3JlIHRoZSBzZXR0aW5nIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQsIGNhbiBhYm9ydCB0aGUgY2hhbmdlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbCBUaGUgbGV2ZWwgYXQgd2hpY2ggdGhlIHNldHRpbmcgaGFzIGJlZW4gbW9kaWZpZWQuXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHJvb21JZCBUaGUgcm9vbSBJRCwgbWF5IGJlIG51bGwuXG4gICAgICogQHBhcmFtIHsqfSBuZXdWYWx1ZSBUaGUgbmV3IHZhbHVlIGZvciB0aGUgc2V0dGluZywgbWF5IGJlIG51bGwuXG4gICAgICogQHJldHVybiB7Ym9vbGVhbn0gV2hldGhlciB0aGUgc2V0dGluZ3MgY2hhbmdlIHNob3VsZCBiZSBhY2NlcHRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgYmVmb3JlQ2hhbmdlKGxldmVsOiBTZXR0aW5nTGV2ZWwsIHJvb21JZDogc3RyaW5nIHwgbnVsbCwgbmV3VmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgc2V0dGluZyB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBsZXZlbCBUaGUgbGV2ZWwgYXQgd2hpY2ggdGhlIHNldHRpbmcgaGFzIGJlZW4gbW9kaWZpZWQuXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHJvb21JZCBUaGUgcm9vbSBJRCwgbWF5IGJlIG51bGwuXG4gICAgICogQHBhcmFtIHsqfSBuZXdWYWx1ZSBUaGUgbmV3IHZhbHVlIGZvciB0aGUgc2V0dGluZywgbWF5IGJlIG51bGwuXG4gICAgICovXG4gICAgcHVibGljIG9uQ2hhbmdlKGxldmVsOiBTZXR0aW5nTGV2ZWwsIHJvb21JZDogc3RyaW5nIHwgbnVsbCwgbmV3VmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBkbyBub3RoaW5nIGJ5IGRlZmF1bHRcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHdoZXRoZXIgdGhlIHNldHRpbmcgaGFzIGJlZW4gZGlzYWJsZWQgZHVlIHRvIHRoaXMgY29udHJvbGxlci5cbiAgICAgKiBDYW4gYWxzbyByZXR1cm4gYSBzdHJpbmcgd2l0aCB0aGUgcmVhc29uIHRoZSBzZXR0aW5nIGlzIGRpc2FibGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2V0dGluZ0Rpc2FibGVkKCk6IGJvb2xlYW4gfCBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxNQUFlQSxpQkFBaUIsQ0FBQztFQUM1QztBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ1dDLGdCQUFnQkEsQ0FDbkJDLEtBQW1CLEVBQ25CQyxNQUFxQixFQUNyQkMsZUFBb0IsRUFDcEJDLGlCQUFzQyxFQUNuQztJQUNILE9BQU8sSUFBSSxDQUFDLENBQUM7RUFDakI7O0VBRUE7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDSSxNQUFhQyxZQUFZQSxDQUFDSixLQUFtQixFQUFFQyxNQUFxQixFQUFFSSxRQUFhLEVBQW9CO0lBQ25HLE9BQU8sSUFBSTtFQUNmOztFQUVBO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNXQyxRQUFRQSxDQUFDTixLQUFtQixFQUFFQyxNQUFxQixFQUFFSSxRQUFhLEVBQVE7SUFDN0U7RUFBQTs7RUFHSjtBQUNKO0FBQ0E7QUFDQTtFQUNJLElBQVdFLGVBQWVBLENBQUEsRUFBcUI7SUFDM0MsT0FBTyxLQUFLO0VBQ2hCO0FBQ0o7QUFBQ0MsT0FBQSxDQUFBQyxPQUFBLEdBQUFYLGlCQUFBIiwiaWdub3JlTGlzdCI6W119