UNPKG

matrix-react-sdk

Version:
30 lines (29 loc) 1.54 kB
import { SettingLevel } from "../SettingLevel"; import MatrixClientBackedController from "./MatrixClientBackedController"; import { WatchManager } from "../WatchManager"; /** * Disables a given setting if the server unstable feature it requires is not supported * When a setting gets disabled or enabled from this controller it notifies the given WatchManager */ export default class ServerSupportUnstableFeatureController extends MatrixClientBackedController { private readonly settingName; private readonly watchers; private readonly unstableFeatureGroups; private readonly stableVersion?; private readonly disabledMessage?; private readonly forcedValue; private enabled; /** * Construct a new ServerSupportUnstableFeatureController. * * @param unstableFeatureGroups - If any one of the feature groups is satisfied, * then the setting is considered enabled. A feature group is satisfied if all of * the features in the group are supported (all features in a group are required). */ constructor(settingName: string, watchers: WatchManager, unstableFeatureGroups: string[][], stableVersion?: string | undefined, disabledMessage?: string | undefined, forcedValue?: any); get disabled(): boolean; set disabled(newDisabledValue: boolean); protected initMatrixClient(): Promise<void>; getValueOverride(level: SettingLevel, roomId: string | null, calculatedValue: any, calculatedAtLevel: SettingLevel | null): any; get settingDisabled(): boolean | string; }