matrix-react-sdk
Version:
SDK for matrix.org using React
30 lines (29 loc) • 1.54 kB
TypeScript
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;
}