Batch of views getting replaceableComponent decorators
This commit is contained in:
parent
3e189d2728
commit
c359dff738
82 changed files with 164 additions and 2 deletions
|
@ -18,7 +18,9 @@ import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import {_t} from "../../../languageHandler";
|
import {_t} from "../../../languageHandler";
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ConfirmWipeDeviceDialog")
|
||||||
export default class ConfirmWipeDeviceDialog extends React.Component {
|
export default class ConfirmWipeDeviceDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -25,6 +25,7 @@ import InfoTooltip from "../elements/InfoTooltip";
|
||||||
import dis from "../../../dispatcher/dispatcher";
|
import dis from "../../../dispatcher/dispatcher";
|
||||||
import {showCommunityRoomInviteDialog} from "../../../RoomInvite";
|
import {showCommunityRoomInviteDialog} from "../../../RoomInvite";
|
||||||
import GroupStore from "../../../stores/GroupStore";
|
import GroupStore from "../../../stores/GroupStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps extends IDialogProps {
|
interface IProps extends IDialogProps {
|
||||||
}
|
}
|
||||||
|
@ -38,6 +39,7 @@ interface IState {
|
||||||
avatarPreview: string;
|
avatarPreview: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.CreateCommunityPrototypeDialog")
|
||||||
export default class CreateCommunityPrototypeDialog extends React.PureComponent<IProps, IState> {
|
export default class CreateCommunityPrototypeDialog extends React.PureComponent<IProps, IState> {
|
||||||
private avatarUploadRef: React.RefObject<HTMLInputElement> = React.createRef();
|
private avatarUploadRef: React.RefObject<HTMLInputElement> = React.createRef();
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,9 @@ import * as sdk from '../../../index';
|
||||||
import dis from '../../../dispatcher/dispatcher';
|
import dis from '../../../dispatcher/dispatcher';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.CreateGroupDialog")
|
||||||
export default class CreateGroupDialog extends React.Component {
|
export default class CreateGroupDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -27,7 +27,9 @@ import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
import {privateShouldBeEncrypted} from "../../../createRoom";
|
import {privateShouldBeEncrypted} from "../../../createRoom";
|
||||||
import {CommunityPrototypeStore} from "../../../stores/CommunityPrototypeStore";
|
import {CommunityPrototypeStore} from "../../../stores/CommunityPrototypeStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.CreateRoomDialog")
|
||||||
export default class CreateRoomDialog extends React.Component {
|
export default class CreateRoomDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -26,7 +26,9 @@ import { _t } from '../../../languageHandler';
|
||||||
import InteractiveAuth, {ERROR_USER_CANCELLED} from "../../structures/InteractiveAuth";
|
import InteractiveAuth, {ERROR_USER_CANCELLED} from "../../structures/InteractiveAuth";
|
||||||
import {DEFAULT_PHASE, PasswordAuthEntry, SSOAuthEntry} from "../auth/InteractiveAuthEntryComponents";
|
import {DEFAULT_PHASE, PasswordAuthEntry, SSOAuthEntry} from "../auth/InteractiveAuthEntryComponents";
|
||||||
import StyledCheckbox from "../elements/StyledCheckbox";
|
import StyledCheckbox from "../elements/StyledCheckbox";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.DeactivateAccountDialog")
|
||||||
export default class DeactivateAccountDialog extends React.Component {
|
export default class DeactivateAccountDialog extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -38,6 +38,7 @@ import {SETTINGS} from "../../../settings/Settings";
|
||||||
import SettingsStore, {LEVEL_ORDER} from "../../../settings/SettingsStore";
|
import SettingsStore, {LEVEL_ORDER} from "../../../settings/SettingsStore";
|
||||||
import Modal from "../../../Modal";
|
import Modal from "../../../Modal";
|
||||||
import ErrorDialog from "./ErrorDialog";
|
import ErrorDialog from "./ErrorDialog";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
class GenericEditor extends React.PureComponent {
|
class GenericEditor extends React.PureComponent {
|
||||||
// static propTypes = {onBack: PropTypes.func.isRequired};
|
// static propTypes = {onBack: PropTypes.func.isRequired};
|
||||||
|
@ -1089,6 +1090,7 @@ const Entries = [
|
||||||
SettingsExplorer,
|
SettingsExplorer,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.DevtoolsDialog")
|
||||||
export default class DevtoolsDialog extends React.PureComponent {
|
export default class DevtoolsDialog extends React.PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
roomId: PropTypes.string.isRequired,
|
roomId: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -23,6 +23,7 @@ import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
||||||
import { CommunityPrototypeStore } from "../../../stores/CommunityPrototypeStore";
|
import { CommunityPrototypeStore } from "../../../stores/CommunityPrototypeStore";
|
||||||
import FlairStore from "../../../stores/FlairStore";
|
import FlairStore from "../../../stores/FlairStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps extends IDialogProps {
|
interface IProps extends IDialogProps {
|
||||||
communityId: string;
|
communityId: string;
|
||||||
|
@ -38,6 +39,7 @@ interface IState {
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX: This is a lot of duplication from the create dialog, just in a different shape
|
// XXX: This is a lot of duplication from the create dialog, just in a different shape
|
||||||
|
@replaceableComponent("views.dialogs.EditCommunityPrototypeDialog")
|
||||||
export default class EditCommunityPrototypeDialog extends React.PureComponent<IProps, IState> {
|
export default class EditCommunityPrototypeDialog extends React.PureComponent<IProps, IState> {
|
||||||
private avatarUploadRef: React.RefObject<HTMLInputElement> = React.createRef();
|
private avatarUploadRef: React.RefObject<HTMLInputElement> = React.createRef();
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,9 @@ import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ErrorDialog")
|
||||||
export default class ErrorDialog extends React.Component {
|
export default class ErrorDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
title: PropTypes.string,
|
title: PropTypes.string,
|
||||||
|
|
|
@ -31,6 +31,7 @@ import {
|
||||||
IPostmessageResponseData,
|
IPostmessageResponseData,
|
||||||
PostmessageAction,
|
PostmessageAction,
|
||||||
} from "./HostSignupDialogTypes";
|
} from "./HostSignupDialogTypes";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
const HOST_SIGNUP_KEY = "host_signup";
|
const HOST_SIGNUP_KEY = "host_signup";
|
||||||
|
|
||||||
|
@ -42,6 +43,7 @@ interface IState {
|
||||||
minimized: boolean;
|
minimized: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.HostSignupDialog")
|
||||||
export default class HostSignupDialog extends React.PureComponent<IProps, IState> {
|
export default class HostSignupDialog extends React.PureComponent<IProps, IState> {
|
||||||
private iframeRef: React.RefObject<HTMLIFrameElement> = React.createRef();
|
private iframeRef: React.RefObject<HTMLIFrameElement> = React.createRef();
|
||||||
private readonly config: IHostSignupConfig;
|
private readonly config: IHostSignupConfig;
|
||||||
|
|
|
@ -19,6 +19,7 @@ import PropTypes from 'prop-types';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
const PHASE_START = 0;
|
const PHASE_START = 0;
|
||||||
const PHASE_SHOW_SAS = 1;
|
const PHASE_SHOW_SAS = 1;
|
||||||
|
@ -26,6 +27,7 @@ const PHASE_WAIT_FOR_PARTNER_TO_CONFIRM = 2;
|
||||||
const PHASE_VERIFIED = 3;
|
const PHASE_VERIFIED = 3;
|
||||||
const PHASE_CANCELLED = 4;
|
const PHASE_CANCELLED = 4;
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.IncomingSasDialog")
|
||||||
export default class IncomingSasDialog extends React.Component {
|
export default class IncomingSasDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
verifier: PropTypes.object.isRequired,
|
verifier: PropTypes.object.isRequired,
|
||||||
|
|
|
@ -20,7 +20,9 @@ import {_t} from "../../../languageHandler";
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
import dis from '../../../dispatcher/dispatcher';
|
import dis from '../../../dispatcher/dispatcher';
|
||||||
import {Action} from "../../../dispatcher/actions";
|
import {Action} from "../../../dispatcher/actions";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.IntegrationsDisabledDialog")
|
||||||
export default class IntegrationsDisabledDialog extends React.Component {
|
export default class IntegrationsDisabledDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -19,7 +19,9 @@ import PropTypes from 'prop-types';
|
||||||
import {_t} from "../../../languageHandler";
|
import {_t} from "../../../languageHandler";
|
||||||
import SdkConfig from "../../../SdkConfig";
|
import SdkConfig from "../../../SdkConfig";
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.IntegrationsImpossibleDialog")
|
||||||
export default class IntegrationsImpossibleDialog extends React.Component {
|
export default class IntegrationsImpossibleDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -25,7 +25,9 @@ import { _t } from '../../../languageHandler';
|
||||||
import AccessibleButton from '../elements/AccessibleButton';
|
import AccessibleButton from '../elements/AccessibleButton';
|
||||||
import {ERROR_USER_CANCELLED} from "../../structures/InteractiveAuth";
|
import {ERROR_USER_CANCELLED} from "../../structures/InteractiveAuth";
|
||||||
import {SSOAuthEntry} from "../auth/InteractiveAuthEntryComponents";
|
import {SSOAuthEntry} from "../auth/InteractiveAuthEntryComponents";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.InteractiveAuthDialog")
|
||||||
export default class InteractiveAuthDialog extends React.Component {
|
export default class InteractiveAuthDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// matrix client to use for UI auth requests
|
// matrix client to use for UI auth requests
|
||||||
|
|
|
@ -42,6 +42,7 @@ import {UIFeature} from "../../../settings/UIFeature";
|
||||||
import CountlyAnalytics from "../../../CountlyAnalytics";
|
import CountlyAnalytics from "../../../CountlyAnalytics";
|
||||||
import {Room} from "matrix-js-sdk/src/models/room";
|
import {Room} from "matrix-js-sdk/src/models/room";
|
||||||
import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call';
|
import { MatrixCall } from 'matrix-js-sdk/src/webrtc/call';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
// we have a number of types defined from the Matrix spec which can't reasonably be altered here.
|
// we have a number of types defined from the Matrix spec which can't reasonably be altered here.
|
||||||
/* eslint-disable camelcase */
|
/* eslint-disable camelcase */
|
||||||
|
@ -337,6 +338,7 @@ interface IInviteDialogState {
|
||||||
errorText: string,
|
errorText: string,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.InviteDialog")
|
||||||
export default class InviteDialog extends React.PureComponent<IInviteDialogProps, IInviteDialogState> {
|
export default class InviteDialog extends React.PureComponent<IInviteDialogProps, IInviteDialogState> {
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
kind: KIND_DM,
|
kind: KIND_DM,
|
||||||
|
|
|
@ -22,7 +22,9 @@ import dis from '../../../dispatcher/dispatcher';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import { MatrixClientPeg } from '../../../MatrixClientPeg';
|
import { MatrixClientPeg } from '../../../MatrixClientPeg';
|
||||||
import RestoreKeyBackupDialog from './security/RestoreKeyBackupDialog';
|
import RestoreKeyBackupDialog from './security/RestoreKeyBackupDialog';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.LogoutDialog")
|
||||||
export default class LogoutDialog extends React.Component {
|
export default class LogoutDialog extends React.Component {
|
||||||
defaultProps = {
|
defaultProps = {
|
||||||
onFinished: function() {},
|
onFinished: function() {},
|
||||||
|
|
|
@ -24,7 +24,9 @@ import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import * as FormattingUtils from '../../../utils/FormattingUtils';
|
import * as FormattingUtils from '../../../utils/FormattingUtils';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ManualDeviceKeyVerificationDialog")
|
||||||
export default class ManualDeviceKeyVerificationDialog extends React.Component {
|
export default class ManualDeviceKeyVerificationDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
userId: PropTypes.string.isRequired,
|
userId: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -21,7 +21,9 @@ import { _t } from '../../../languageHandler';
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
import {wantsDateSeparator} from '../../../DateUtils';
|
import {wantsDateSeparator} from '../../../DateUtils';
|
||||||
import SettingsStore from '../../../settings/SettingsStore';
|
import SettingsStore from '../../../settings/SettingsStore';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.MessageEditHistoryDialog")
|
||||||
export default class MessageEditHistoryDialog extends React.PureComponent {
|
export default class MessageEditHistoryDialog extends React.PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
mxEvent: PropTypes.object.isRequired,
|
mxEvent: PropTypes.object.isRequired,
|
||||||
|
|
|
@ -38,6 +38,7 @@ import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import {OwnProfileStore} from "../../../stores/OwnProfileStore";
|
import {OwnProfileStore} from "../../../stores/OwnProfileStore";
|
||||||
import { arrayFastClone } from "../../../utils/arrays";
|
import { arrayFastClone } from "../../../utils/arrays";
|
||||||
import { ElementWidget } from "../../../stores/widgets/StopGapWidget";
|
import { ElementWidget } from "../../../stores/widgets/StopGapWidget";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
widgetDefinition: IModalWidgetOpenRequestData;
|
widgetDefinition: IModalWidgetOpenRequestData;
|
||||||
|
@ -53,6 +54,7 @@ interface IState {
|
||||||
|
|
||||||
const MAX_BUTTONS = 3;
|
const MAX_BUTTONS = 3;
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ModalWidgetDialog")
|
||||||
export default class ModalWidgetDialog extends React.PureComponent<IProps, IState> {
|
export default class ModalWidgetDialog extends React.PureComponent<IProps, IState> {
|
||||||
private readonly widget: Widget;
|
private readonly widget: Widget;
|
||||||
private readonly possibleButtons: ModalButtonID[];
|
private readonly possibleButtons: ModalButtonID[];
|
||||||
|
|
|
@ -22,10 +22,12 @@ import {MatrixEvent} from "matrix-js-sdk";
|
||||||
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import Markdown from '../../../Markdown';
|
import Markdown from '../../../Markdown';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A dialog for reporting an event.
|
* A dialog for reporting an event.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.dialogs.ReportEventDialog")
|
||||||
export default class ReportEventDialog extends PureComponent {
|
export default class ReportEventDialog extends PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
mxEvent: PropTypes.instanceOf(MatrixEvent).isRequired,
|
mxEvent: PropTypes.instanceOf(MatrixEvent).isRequired,
|
||||||
|
|
|
@ -30,6 +30,7 @@ import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import dis from "../../../dispatcher/dispatcher";
|
import dis from "../../../dispatcher/dispatcher";
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import {UIFeature} from "../../../settings/UIFeature";
|
import {UIFeature} from "../../../settings/UIFeature";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
export const ROOM_GENERAL_TAB = "ROOM_GENERAL_TAB";
|
export const ROOM_GENERAL_TAB = "ROOM_GENERAL_TAB";
|
||||||
export const ROOM_SECURITY_TAB = "ROOM_SECURITY_TAB";
|
export const ROOM_SECURITY_TAB = "ROOM_SECURITY_TAB";
|
||||||
|
@ -38,6 +39,7 @@ export const ROOM_NOTIFICATIONS_TAB = "ROOM_NOTIFICATIONS_TAB";
|
||||||
export const ROOM_BRIDGES_TAB = "ROOM_BRIDGES_TAB";
|
export const ROOM_BRIDGES_TAB = "ROOM_BRIDGES_TAB";
|
||||||
export const ROOM_ADVANCED_TAB = "ROOM_ADVANCED_TAB";
|
export const ROOM_ADVANCED_TAB = "ROOM_ADVANCED_TAB";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.RoomSettingsDialog")
|
||||||
export default class RoomSettingsDialog extends React.Component {
|
export default class RoomSettingsDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
roomId: PropTypes.string.isRequired,
|
roomId: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -20,7 +20,9 @@ import * as sdk from '../../../index';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.RoomUpgradeDialog")
|
||||||
export default class RoomUpgradeDialog extends React.Component {
|
export default class RoomUpgradeDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
room: PropTypes.object.isRequired,
|
room: PropTypes.object.isRequired,
|
||||||
|
|
|
@ -22,7 +22,9 @@ import * as sdk from "../../../index";
|
||||||
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
||||||
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import Modal from "../../../Modal";
|
import Modal from "../../../Modal";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.RoomUpgradeWarningDialog")
|
||||||
export default class RoomUpgradeWarningDialog extends React.Component {
|
export default class RoomUpgradeWarningDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -28,10 +28,12 @@ import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import { UPDATE_EVENT } from "../../../stores/AsyncStore";
|
import { UPDATE_EVENT } from "../../../stores/AsyncStore";
|
||||||
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
import { MatrixClientPeg } from "../../../MatrixClientPeg";
|
||||||
import { IDialogProps } from "./IDialogProps";
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps extends IDialogProps {
|
interface IProps extends IDialogProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ServerOfflineDialog")
|
||||||
export default class ServerOfflineDialog extends React.PureComponent<IProps> {
|
export default class ServerOfflineDialog extends React.PureComponent<IProps> {
|
||||||
public componentDidMount() {
|
public componentDidMount() {
|
||||||
EchoStore.instance.on(UPDATE_EVENT, this.onEchosUpdated);
|
EchoStore.instance.on(UPDATE_EVENT, this.onEchosUpdated);
|
||||||
|
|
|
@ -26,6 +26,7 @@ import Field from "../elements/Field";
|
||||||
import StyledRadioButton from "../elements/StyledRadioButton";
|
import StyledRadioButton from "../elements/StyledRadioButton";
|
||||||
import TextWithTooltip from "../elements/TextWithTooltip";
|
import TextWithTooltip from "../elements/TextWithTooltip";
|
||||||
import withValidation, {IFieldState} from "../elements/Validation";
|
import withValidation, {IFieldState} from "../elements/Validation";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
title?: string;
|
title?: string;
|
||||||
|
@ -38,6 +39,7 @@ interface IState {
|
||||||
otherHomeserver: string;
|
otherHomeserver: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ServerPickerDialog")
|
||||||
export default class ServerPickerDialog extends React.PureComponent<IProps, IState> {
|
export default class ServerPickerDialog extends React.PureComponent<IProps, IState> {
|
||||||
private readonly defaultServer: ValidatedServerConfig;
|
private readonly defaultServer: ValidatedServerConfig;
|
||||||
private readonly fieldRef = createRef<Field>();
|
private readonly fieldRef = createRef<Field>();
|
||||||
|
|
|
@ -22,8 +22,9 @@ import * as sdk from '../../../index';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.SessionRestoreErrorDialog")
|
||||||
export default class SessionRestoreErrorDialog extends React.Component {
|
export default class SessionRestoreErrorDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
error: PropTypes.string.isRequired,
|
error: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -22,6 +22,7 @@ import * as Email from '../../../email';
|
||||||
import AddThreepid from '../../../AddThreepid';
|
import AddThreepid from '../../../AddThreepid';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -29,6 +30,7 @@ import Modal from '../../../Modal';
|
||||||
*
|
*
|
||||||
* On success, `onFinished(true)` is called.
|
* On success, `onFinished(true)` is called.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.dialogs.SetEmailDialog")
|
||||||
export default class SetEmailDialog extends React.Component {
|
export default class SetEmailDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -34,6 +34,7 @@ import AccessibleTooltipButton from '../elements/AccessibleTooltipButton';
|
||||||
import { IDialogProps } from "./IDialogProps";
|
import { IDialogProps } from "./IDialogProps";
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import {UIFeature} from "../../../settings/UIFeature";
|
import {UIFeature} from "../../../settings/UIFeature";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
const socials = [
|
const socials = [
|
||||||
{
|
{
|
||||||
|
@ -73,6 +74,7 @@ interface IState {
|
||||||
permalinkCreator: RoomPermalinkCreator;
|
permalinkCreator: RoomPermalinkCreator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.ShareDialog")
|
||||||
export default class ShareDialog extends React.PureComponent<IProps, IState> {
|
export default class ShareDialog extends React.PureComponent<IProps, IState> {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -20,7 +20,9 @@ import * as sdk from '../../../index';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.StorageEvictedDialog")
|
||||||
export default class StorageEvictedDialog extends React.Component {
|
export default class StorageEvictedDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -22,7 +22,9 @@ import * as sdk from '../../../index';
|
||||||
import {dialogTermsInteractionCallback, TermsNotSignedError} from "../../../Terms";
|
import {dialogTermsInteractionCallback, TermsNotSignedError} from "../../../Terms";
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import * as ScalarMessaging from "../../../ScalarMessaging";
|
import * as ScalarMessaging from "../../../ScalarMessaging";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.TabbedIntegrationManagerDialog")
|
||||||
export default class TabbedIntegrationManagerDialog extends React.Component {
|
export default class TabbedIntegrationManagerDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,6 +21,7 @@ import * as sdk from '../../../index';
|
||||||
import { _t, pickBestLanguage } from '../../../languageHandler';
|
import { _t, pickBestLanguage } from '../../../languageHandler';
|
||||||
|
|
||||||
import Matrix from 'matrix-js-sdk';
|
import Matrix from 'matrix-js-sdk';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
class TermsCheckbox extends React.PureComponent {
|
class TermsCheckbox extends React.PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -41,6 +42,7 @@ class TermsCheckbox extends React.PureComponent {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.TermsDialog")
|
||||||
export default class TermsDialog extends React.PureComponent {
|
export default class TermsDialog extends React.PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -19,7 +19,9 @@ import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import Field from "../elements/Field";
|
import Field from "../elements/Field";
|
||||||
import { _t, _td } from '../../../languageHandler';
|
import { _t, _td } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.TextInputDialog")
|
||||||
export default class TextInputDialog extends React.Component {
|
export default class TextInputDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
title: PropTypes.string,
|
title: PropTypes.string,
|
||||||
|
|
|
@ -20,7 +20,9 @@ import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import filesize from "filesize";
|
import filesize from "filesize";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.UploadConfirmDialog")
|
||||||
export default class UploadConfirmDialog extends React.Component {
|
export default class UploadConfirmDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
file: PropTypes.object.isRequired,
|
file: PropTypes.object.isRequired,
|
||||||
|
|
|
@ -21,12 +21,14 @@ import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import ContentMessages from '../../../ContentMessages';
|
import ContentMessages from '../../../ContentMessages';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tells the user about files we know cannot be uploaded before we even try uploading
|
* Tells the user about files we know cannot be uploaded before we even try uploading
|
||||||
* them. This is named fairly generically but the only thing we check right now is
|
* them. This is named fairly generically but the only thing we check right now is
|
||||||
* the size of the file.
|
* the size of the file.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.dialogs.UploadFailureDialog")
|
||||||
export default class UploadFailureDialog extends React.Component {
|
export default class UploadFailureDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
badFiles: PropTypes.arrayOf(PropTypes.object).isRequired,
|
badFiles: PropTypes.arrayOf(PropTypes.object).isRequired,
|
||||||
|
|
|
@ -33,6 +33,7 @@ import * as sdk from "../../../index";
|
||||||
import SdkConfig from "../../../SdkConfig";
|
import SdkConfig from "../../../SdkConfig";
|
||||||
import MjolnirUserSettingsTab from "../settings/tabs/user/MjolnirUserSettingsTab";
|
import MjolnirUserSettingsTab from "../settings/tabs/user/MjolnirUserSettingsTab";
|
||||||
import {UIFeature} from "../../../settings/UIFeature";
|
import {UIFeature} from "../../../settings/UIFeature";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
export const USER_GENERAL_TAB = "USER_GENERAL_TAB";
|
export const USER_GENERAL_TAB = "USER_GENERAL_TAB";
|
||||||
export const USER_APPEARANCE_TAB = "USER_APPEARANCE_TAB";
|
export const USER_APPEARANCE_TAB = "USER_APPEARANCE_TAB";
|
||||||
|
@ -45,6 +46,7 @@ export const USER_LABS_TAB = "USER_LABS_TAB";
|
||||||
export const USER_MJOLNIR_TAB = "USER_MJOLNIR_TAB";
|
export const USER_MJOLNIR_TAB = "USER_MJOLNIR_TAB";
|
||||||
export const USER_HELP_TAB = "USER_HELP_TAB";
|
export const USER_HELP_TAB = "USER_HELP_TAB";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.UserSettingsDialog")
|
||||||
export default class UserSettingsDialog extends React.Component {
|
export default class UserSettingsDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -19,7 +19,9 @@ import PropTypes from 'prop-types';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.VerificationRequestDialog")
|
||||||
export default class VerificationRequestDialog extends React.Component {
|
export default class VerificationRequestDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
verificationRequest: PropTypes.object,
|
verificationRequest: PropTypes.object,
|
||||||
|
|
|
@ -29,6 +29,7 @@ import StyledCheckbox from "../elements/StyledCheckbox";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
||||||
import { CapabilityText } from "../../../widgets/CapabilityText";
|
import { CapabilityText } from "../../../widgets/CapabilityText";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
export function getRememberedCapabilitiesForWidget(widget: Widget): Capability[] {
|
export function getRememberedCapabilitiesForWidget(widget: Widget): Capability[] {
|
||||||
return JSON.parse(localStorage.getItem(`widget_${widget.id}_approved_caps`) || "[]");
|
return JSON.parse(localStorage.getItem(`widget_${widget.id}_approved_caps`) || "[]");
|
||||||
|
@ -54,6 +55,7 @@ interface IState {
|
||||||
rememberSelection: boolean;
|
rememberSelection: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.WidgetCapabilitiesPromptDialog")
|
||||||
export default class WidgetCapabilitiesPromptDialog extends React.PureComponent<IProps, IState> {
|
export default class WidgetCapabilitiesPromptDialog extends React.PureComponent<IProps, IState> {
|
||||||
private eventPermissionsMap = new Map<Capability, WidgetEventCapability>();
|
private eventPermissionsMap = new Map<Capability, WidgetEventCapability>();
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,9 @@ import * as sdk from "../../../index";
|
||||||
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
import LabelledToggleSwitch from "../elements/LabelledToggleSwitch";
|
||||||
import {Widget} from "matrix-widget-api";
|
import {Widget} from "matrix-widget-api";
|
||||||
import {OIDCState, WidgetPermissionStore} from "../../../stores/widgets/WidgetPermissionStore";
|
import {OIDCState, WidgetPermissionStore} from "../../../stores/widgets/WidgetPermissionStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.dialogs.WidgetOpenIDPermissionsDialog")
|
||||||
export default class WidgetOpenIDPermissionsDialog extends React.Component {
|
export default class WidgetOpenIDPermissionsDialog extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -20,6 +20,7 @@ import classNames from 'classnames';
|
||||||
|
|
||||||
import AccessibleButton from "./AccessibleButton";
|
import AccessibleButton from "./AccessibleButton";
|
||||||
import Tooltip from './Tooltip';
|
import Tooltip from './Tooltip';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface ITooltipProps extends React.ComponentProps<typeof AccessibleButton> {
|
interface ITooltipProps extends React.ComponentProps<typeof AccessibleButton> {
|
||||||
title: string;
|
title: string;
|
||||||
|
@ -33,6 +34,7 @@ interface IState {
|
||||||
hover: boolean;
|
hover: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.AccessibleTooltipButton")
|
||||||
export default class AccessibleTooltipButton extends React.PureComponent<ITooltipProps, IState> {
|
export default class AccessibleTooltipButton extends React.PureComponent<ITooltipProps, IState> {
|
||||||
constructor(props: ITooltipProps) {
|
constructor(props: ITooltipProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -20,7 +20,9 @@ import AccessibleButton from './AccessibleButton';
|
||||||
import dis from '../../../dispatcher/dispatcher';
|
import dis from '../../../dispatcher/dispatcher';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import Analytics from '../../../Analytics';
|
import Analytics from '../../../Analytics';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.ActionButton")
|
||||||
export default class ActionButton extends React.Component {
|
export default class ActionButton extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
size: PropTypes.string,
|
size: PropTypes.string,
|
||||||
|
|
|
@ -20,7 +20,9 @@ import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { UserAddressType } from '../../../UserAddress';
|
import { UserAddressType } from '../../../UserAddress';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.AddressSelector")
|
||||||
export default class AddressSelector extends React.Component {
|
export default class AddressSelector extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onSelected: PropTypes.func.isRequired,
|
onSelected: PropTypes.func.isRequired,
|
||||||
|
|
|
@ -22,8 +22,9 @@ import * as sdk from "../../../index";
|
||||||
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import { UserAddressType } from '../../../UserAddress.js';
|
import { UserAddressType } from '../../../UserAddress.js';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.AddressTile")
|
||||||
export default class AddressTile extends React.Component {
|
export default class AddressTile extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
address: UserAddressType.isRequired,
|
address: UserAddressType.isRequired,
|
||||||
|
|
|
@ -24,7 +24,9 @@ import { _t } from '../../../languageHandler';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
import WidgetUtils from "../../../utils/WidgetUtils";
|
import WidgetUtils from "../../../utils/WidgetUtils";
|
||||||
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.AppPermission")
|
||||||
export default class AppPermission extends React.Component {
|
export default class AppPermission extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
url: PropTypes.string.isRequired,
|
url: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -38,7 +38,9 @@ import {ElementWidgetActions} from "../../../stores/widgets/ElementWidgetActions
|
||||||
import {MatrixCapabilities} from "matrix-widget-api";
|
import {MatrixCapabilities} from "matrix-widget-api";
|
||||||
import RoomWidgetContextMenu from "../context_menus/WidgetContextMenu";
|
import RoomWidgetContextMenu from "../context_menus/WidgetContextMenu";
|
||||||
import WidgetAvatar from "../avatars/WidgetAvatar";
|
import WidgetAvatar from "../avatars/WidgetAvatar";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.AppTile")
|
||||||
export default class AppTile extends React.Component {
|
export default class AppTile extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -19,6 +19,7 @@ import { _t } from '../../../languageHandler';
|
||||||
import BaseDialog from "..//dialogs/BaseDialog"
|
import BaseDialog from "..//dialogs/BaseDialog"
|
||||||
import AccessibleButton from './AccessibleButton';
|
import AccessibleButton from './AccessibleButton';
|
||||||
import {getDesktopCapturerSources} from "matrix-js-sdk/src/webrtc/call";
|
import {getDesktopCapturerSources} from "matrix-js-sdk/src/webrtc/call";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
export interface DesktopCapturerSource {
|
export interface DesktopCapturerSource {
|
||||||
id: string;
|
id: string;
|
||||||
|
@ -69,6 +70,7 @@ export interface DesktopCapturerSourcePickerIProps {
|
||||||
onFinished(source: DesktopCapturerSource): void;
|
onFinished(source: DesktopCapturerSource): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.DesktopCapturerSourcePicker")
|
||||||
export default class DesktopCapturerSourcePicker extends React.Component<
|
export default class DesktopCapturerSourcePicker extends React.Component<
|
||||||
DesktopCapturerSourcePickerIProps,
|
DesktopCapturerSourcePickerIProps,
|
||||||
DesktopCapturerSourcePickerIState
|
DesktopCapturerSourcePickerIState
|
||||||
|
|
|
@ -19,10 +19,12 @@ limitations under the License.
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Basic container for buttons in modal dialogs.
|
* Basic container for buttons in modal dialogs.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.elements.DialogButtons")
|
||||||
export default class DialogButtons extends React.Component {
|
export default class DialogButtons extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// The primary button which is styled differently and has default focus.
|
// The primary button which is styled differently and has default focus.
|
||||||
|
|
|
@ -18,7 +18,9 @@ import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.DirectorySearchBox")
|
||||||
export default class DirectorySearchBox extends React.Component {
|
export default class DirectorySearchBox extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
className: string;
|
className: string;
|
||||||
|
@ -33,6 +34,7 @@ export interface ILocationState {
|
||||||
currentY: number;
|
currentY: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Draggable")
|
||||||
export default class Draggable extends React.Component<IProps, IState> {
|
export default class Draggable extends React.Component<IProps, IState> {
|
||||||
constructor(props: IProps) {
|
constructor(props: IProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -22,6 +22,7 @@ import classnames from 'classnames';
|
||||||
import AccessibleButton from './AccessibleButton';
|
import AccessibleButton from './AccessibleButton';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
class MenuOption extends React.Component {
|
class MenuOption extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
@ -83,6 +84,7 @@ MenuOption.propTypes = {
|
||||||
*
|
*
|
||||||
* TODO: Port NetworkDropdown to use this.
|
* TODO: Port NetworkDropdown to use this.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.elements.Dropdown")
|
||||||
export default class Dropdown extends React.Component {
|
export default class Dropdown extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -19,6 +19,7 @@ import PropTypes from 'prop-types';
|
||||||
import {_t} from '../../../languageHandler';
|
import {_t} from '../../../languageHandler';
|
||||||
import Field from "./Field";
|
import Field from "./Field";
|
||||||
import AccessibleButton from "./AccessibleButton";
|
import AccessibleButton from "./AccessibleButton";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
export class EditableItem extends React.Component {
|
export class EditableItem extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
|
@ -85,6 +86,7 @@ export class EditableItem extends React.Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.EditableItemList")
|
||||||
export default class EditableItemList extends React.Component {
|
export default class EditableItemList extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
id: PropTypes.string.isRequired,
|
id: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -18,7 +18,9 @@ limitations under the License.
|
||||||
import React, {createRef} from 'react';
|
import React, {createRef} from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.EditableText")
|
||||||
export default class EditableText extends React.Component {
|
export default class EditableText extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
onValueChanged: PropTypes.func,
|
onValueChanged: PropTypes.func,
|
||||||
|
|
|
@ -17,6 +17,7 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A component which wraps an EditableText, with a spinner while updates take
|
* A component which wraps an EditableText, with a spinner while updates take
|
||||||
|
@ -29,6 +30,7 @@ import * as sdk from '../../../index';
|
||||||
* similarly asynchronous way. If this is not provided, the initial value is
|
* similarly asynchronous way. If this is not provided, the initial value is
|
||||||
* taken from the 'initialValue' property.
|
* taken from the 'initialValue' property.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.elements.EditableTextContainer")
|
||||||
export default class EditableTextContainer extends React.Component {
|
export default class EditableTextContainer extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -21,11 +21,13 @@ import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
import PlatformPeg from '../../../PlatformPeg';
|
import PlatformPeg from '../../../PlatformPeg';
|
||||||
import Modal from '../../../Modal';
|
import Modal from '../../../Modal';
|
||||||
import SdkConfig from "../../../SdkConfig";
|
import SdkConfig from "../../../SdkConfig";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This error boundary component can be used to wrap large content areas and
|
* This error boundary component can be used to wrap large content areas and
|
||||||
* catch exceptions during rendering in the component tree below them.
|
* catch exceptions during rendering in the component tree below them.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.elements.ErrorBoundary")
|
||||||
export default class ErrorBoundary extends React.PureComponent {
|
export default class ErrorBoundary extends React.PureComponent {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -24,6 +24,7 @@ import EventTile from '../rooms/EventTile';
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import {Layout} from "../../../settings/Layout";
|
import {Layout} from "../../../settings/Layout";
|
||||||
import {UIFeature} from "../../../settings/UIFeature";
|
import {UIFeature} from "../../../settings/UIFeature";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
/**
|
/**
|
||||||
|
@ -52,6 +53,7 @@ interface IState {
|
||||||
|
|
||||||
const AVATAR_SIZE = 32;
|
const AVATAR_SIZE = 32;
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.EventTilePreview")
|
||||||
export default class EventTilePreview extends React.Component<IProps, IState> {
|
export default class EventTilePreview extends React.Component<IProps, IState> {
|
||||||
constructor(props: IProps) {
|
constructor(props: IProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -21,6 +21,7 @@ import PropTypes from 'prop-types';
|
||||||
import FlairStore from '../../../stores/FlairStore';
|
import FlairStore from '../../../stores/FlairStore';
|
||||||
import dis from '../../../dispatcher/dispatcher';
|
import dis from '../../../dispatcher/dispatcher';
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
|
||||||
class FlairAvatar extends React.Component {
|
class FlairAvatar extends React.Component {
|
||||||
|
@ -64,6 +65,7 @@ FlairAvatar.propTypes = {
|
||||||
|
|
||||||
FlairAvatar.contextType = MatrixClientContext;
|
FlairAvatar.contextType = MatrixClientContext;
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Flair")
|
||||||
export default class Flair extends React.Component {
|
export default class Flair extends React.Component {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
super();
|
||||||
|
|
|
@ -18,6 +18,7 @@ import React from 'react';
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import Draggable, {ILocationState} from './Draggable';
|
import Draggable, {ILocationState} from './Draggable';
|
||||||
import { SettingLevel } from "../../../settings/SettingLevel";
|
import { SettingLevel } from "../../../settings/SettingLevel";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
// Current room
|
// Current room
|
||||||
|
@ -31,6 +32,7 @@ interface IState {
|
||||||
IRCLayoutRoot: HTMLElement;
|
IRCLayoutRoot: HTMLElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.IRCTimelineProfileResizer")
|
||||||
export default class IRCTimelineProfileResizer extends React.Component<IProps, IState> {
|
export default class IRCTimelineProfileResizer extends React.Component<IProps, IState> {
|
||||||
constructor(props: IProps) {
|
constructor(props: IProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -26,7 +26,9 @@ import Modal from "../../../Modal";
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
import FocusLock from "react-focus-lock";
|
import FocusLock from "react-focus-lock";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.ImageView")
|
||||||
export default class ImageView extends React.Component {
|
export default class ImageView extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
src: PropTypes.string.isRequired, // the source of the image being displayed
|
src: PropTypes.string.isRequired, // the source of the image being displayed
|
||||||
|
|
|
@ -20,6 +20,7 @@ import classNames from 'classnames';
|
||||||
|
|
||||||
import Tooltip from './Tooltip';
|
import Tooltip from './Tooltip';
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface ITooltipProps {
|
interface ITooltipProps {
|
||||||
tooltip?: React.ReactNode;
|
tooltip?: React.ReactNode;
|
||||||
|
@ -30,6 +31,7 @@ interface IState {
|
||||||
hover: boolean;
|
hover: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.InfoTooltip")
|
||||||
export default class InfoTooltip extends React.PureComponent<ITooltipProps, IState> {
|
export default class InfoTooltip extends React.PureComponent<ITooltipProps, IState> {
|
||||||
constructor(props: ITooltipProps) {
|
constructor(props: ITooltipProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -17,7 +17,9 @@ limitations under the License.
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import {_t} from "../../../languageHandler";
|
import {_t} from "../../../languageHandler";
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.InlineSpinner")
|
||||||
export default class InlineSpinner extends React.Component {
|
export default class InlineSpinner extends React.Component {
|
||||||
render() {
|
render() {
|
||||||
const w = this.props.w || 16;
|
const w = this.props.w || 16;
|
||||||
|
|
|
@ -17,7 +17,9 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.LabelledToggleSwitch")
|
||||||
export default class LabelledToggleSwitch extends React.Component {
|
export default class LabelledToggleSwitch extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// The value for the toggle switch
|
// The value for the toggle switch
|
||||||
|
|
|
@ -22,6 +22,7 @@ import * as sdk from '../../../index';
|
||||||
import * as languageHandler from '../../../languageHandler';
|
import * as languageHandler from '../../../languageHandler';
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
function languageMatchesSearchQuery(query, language) {
|
function languageMatchesSearchQuery(query, language) {
|
||||||
if (language.label.toUpperCase().includes(query.toUpperCase())) return true;
|
if (language.label.toUpperCase().includes(query.toUpperCase())) return true;
|
||||||
|
@ -29,6 +30,7 @@ function languageMatchesSearchQuery(query, language) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.LanguageDropdown")
|
||||||
export default class LanguageDropdown extends React.Component {
|
export default class LanguageDropdown extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
class ItemRange {
|
class ItemRange {
|
||||||
constructor(topCount, renderCount, bottomCount) {
|
constructor(topCount, renderCount, bottomCount) {
|
||||||
|
@ -55,6 +56,7 @@ class ItemRange {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.LazyRenderList")
|
||||||
export default class LazyRenderList extends React.Component {
|
export default class LazyRenderList extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -24,6 +24,7 @@ import { _t } from '../../../languageHandler';
|
||||||
import { formatCommaSeparatedList } from '../../../utils/FormattingUtils';
|
import { formatCommaSeparatedList } from '../../../utils/FormattingUtils';
|
||||||
import { isValid3pidInvite } from "../../../RoomInvite";
|
import { isValid3pidInvite } from "../../../RoomInvite";
|
||||||
import EventListSummary from "./EventListSummary";
|
import EventListSummary from "./EventListSummary";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
// An array of member events to summarise
|
// An array of member events to summarise
|
||||||
|
@ -69,6 +70,7 @@ enum TransitionType {
|
||||||
|
|
||||||
const SEP = ",";
|
const SEP = ",";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.MemberEventListSummary")
|
||||||
export default class MemberEventListSummary extends React.Component<IProps> {
|
export default class MemberEventListSummary extends React.Component<IProps> {
|
||||||
static defaultProps = {
|
static defaultProps = {
|
||||||
summaryLength: 1,
|
summaryLength: 1,
|
||||||
|
|
|
@ -24,6 +24,7 @@ import dis from '../../../dispatcher/dispatcher';
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
import {isNullOrUndefined} from "matrix-js-sdk/src/utils";
|
import {isNullOrUndefined} from "matrix-js-sdk/src/utils";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
// Shamelessly ripped off Modal.js. There's probably a better way
|
// Shamelessly ripped off Modal.js. There's probably a better way
|
||||||
// of doing reusable widgets like dialog boxes & menus where we go and
|
// of doing reusable widgets like dialog boxes & menus where we go and
|
||||||
|
@ -56,6 +57,7 @@ function getOrCreateContainer(containerId) {
|
||||||
* children are made visible and are positioned into a div that is given the same
|
* children are made visible and are positioned into a div that is given the same
|
||||||
* bounding rect as the parent of PE.
|
* bounding rect as the parent of PE.
|
||||||
*/
|
*/
|
||||||
|
@replaceableComponent("views.elements.PersistedElement")
|
||||||
export default class PersistedElement extends React.Component {
|
export default class PersistedElement extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// Unique identifier for this PersistedElement instance
|
// Unique identifier for this PersistedElement instance
|
||||||
|
|
|
@ -21,7 +21,9 @@ import ActiveWidgetStore from '../../../stores/ActiveWidgetStore';
|
||||||
import WidgetUtils from '../../../utils/WidgetUtils';
|
import WidgetUtils from '../../../utils/WidgetUtils';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.PersistentApp")
|
||||||
export default class PersistentApp extends React.Component {
|
export default class PersistentApp extends React.Component {
|
||||||
state = {
|
state = {
|
||||||
roomId: RoomViewStore.getRoomId(),
|
roomId: RoomViewStore.getRoomId(),
|
||||||
|
|
|
@ -27,7 +27,9 @@ import {getPrimaryPermalinkEntity, parseAppLocalLink} from "../../../utils/perma
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
import {Action} from "../../../dispatcher/actions";
|
import {Action} from "../../../dispatcher/actions";
|
||||||
import Tooltip from './Tooltip';
|
import Tooltip from './Tooltip';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Pill")
|
||||||
class Pill extends React.Component {
|
class Pill extends React.Component {
|
||||||
static roomNotifPos(text) {
|
static roomNotifPos(text) {
|
||||||
return text.indexOf("@room");
|
return text.indexOf("@room");
|
||||||
|
|
|
@ -20,7 +20,9 @@ import * as Roles from '../../../Roles';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import Field from "./Field";
|
import Field from "./Field";
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.PowerSelector")
|
||||||
export default class PowerSelector extends React.Component {
|
export default class PowerSelector extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
value: PropTypes.number.isRequired,
|
value: PropTypes.number.isRequired,
|
||||||
|
|
|
@ -31,10 +31,12 @@ import {Action} from "../../../dispatcher/actions";
|
||||||
import sanitizeHtml from "sanitize-html";
|
import sanitizeHtml from "sanitize-html";
|
||||||
import {UIFeature} from "../../../settings/UIFeature";
|
import {UIFeature} from "../../../settings/UIFeature";
|
||||||
import {PERMITTED_URL_SCHEMES} from "../../../HtmlUtils";
|
import {PERMITTED_URL_SCHEMES} from "../../../HtmlUtils";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
// This component does no cycle detection, simply because the only way to make such a cycle would be to
|
// This component does no cycle detection, simply because the only way to make such a cycle would be to
|
||||||
// craft event_id's, using a homeserver that generates predictable event IDs; even then the impact would
|
// craft event_id's, using a homeserver that generates predictable event IDs; even then the impact would
|
||||||
// be low as each event being loaded (after the first) is triggered by an explicit user action.
|
// be low as each event being loaded (after the first) is triggered by an explicit user action.
|
||||||
|
@replaceableComponent("views.elements.ReplyThread")
|
||||||
export default class ReplyThread extends React.Component {
|
export default class ReplyThread extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// the latest event in this chain of replies
|
// the latest event in this chain of replies
|
||||||
|
|
|
@ -19,8 +19,10 @@ import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import withValidation from './Validation';
|
import withValidation from './Validation';
|
||||||
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
import {MatrixClientPeg} from '../../../MatrixClientPeg';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
// Controlled form component wrapping Field for inputting a room alias scoped to a given domain
|
// Controlled form component wrapping Field for inputting a room alias scoped to a given domain
|
||||||
|
@replaceableComponent("views.elements.RoomAliasField")
|
||||||
export default class RoomAliasField extends React.PureComponent {
|
export default class RoomAliasField extends React.PureComponent {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
domain: PropTypes.string.isRequired,
|
domain: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -21,6 +21,7 @@ import { _t } from '../../../languageHandler';
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
import StyledCheckbox from "./StyledCheckbox";
|
import StyledCheckbox from "./StyledCheckbox";
|
||||||
import { SettingLevel } from "../../../settings/SettingLevel";
|
import { SettingLevel } from "../../../settings/SettingLevel";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
// The setting must be a boolean
|
// The setting must be a boolean
|
||||||
|
@ -39,6 +40,7 @@ interface IState {
|
||||||
value: boolean;
|
value: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.SettingsFlag")
|
||||||
export default class SettingsFlag extends React.Component<IProps, IState> {
|
export default class SettingsFlag extends React.Component<IProps, IState> {
|
||||||
constructor(props: IProps) {
|
constructor(props: IProps) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -15,6 +15,7 @@ limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
// A callback for the selected value
|
// A callback for the selected value
|
||||||
|
@ -34,6 +35,7 @@ interface IProps {
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Slider")
|
||||||
export default class Slider extends React.Component<IProps> {
|
export default class Slider extends React.Component<IProps> {
|
||||||
// offset is a terrible inverse approximation.
|
// offset is a terrible inverse approximation.
|
||||||
// if the values represents some function f(x) = y where x is the
|
// if the values represents some function f(x) = y where x is the
|
||||||
|
|
|
@ -21,6 +21,7 @@ import * as sdk from '../../../index';
|
||||||
import PlatformPeg from "../../../PlatformPeg";
|
import PlatformPeg from "../../../PlatformPeg";
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
function languageMatchesSearchQuery(query, language) {
|
function languageMatchesSearchQuery(query, language) {
|
||||||
if (language.label.toUpperCase().includes(query.toUpperCase())) return true;
|
if (language.label.toUpperCase().includes(query.toUpperCase())) return true;
|
||||||
|
@ -39,6 +40,7 @@ interface SpellCheckLanguagesDropdownIState {
|
||||||
languages: any,
|
languages: any,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.SpellCheckLanguagesDropdown")
|
||||||
export default class SpellCheckLanguagesDropdown extends React.Component<SpellCheckLanguagesDropdownIProps,
|
export default class SpellCheckLanguagesDropdown extends React.Component<SpellCheckLanguagesDropdownIProps,
|
||||||
SpellCheckLanguagesDropdownIState> {
|
SpellCheckLanguagesDropdownIState> {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
|
|
|
@ -15,7 +15,9 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Spoiler")
|
||||||
export default class Spoiler extends React.Component {
|
export default class Spoiler extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { randomString } from "matrix-js-sdk/src/randomstring";
|
import { randomString } from "matrix-js-sdk/src/randomstring";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
||||||
}
|
}
|
||||||
|
@ -23,6 +24,7 @@ interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
||||||
interface IState {
|
interface IState {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.StyledCheckbox")
|
||||||
export default class StyledCheckbox extends React.PureComponent<IProps, IState> {
|
export default class StyledCheckbox extends React.PureComponent<IProps, IState> {
|
||||||
private id: string;
|
private id: string;
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import classnames from 'classnames';
|
import classnames from 'classnames';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
||||||
outlined?: boolean;
|
outlined?: boolean;
|
||||||
|
@ -24,6 +25,7 @@ interface IProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
||||||
interface IState {
|
interface IState {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.StyledRadioButton")
|
||||||
export default class StyledRadioButton extends React.PureComponent<IProps, IState> {
|
export default class StyledRadioButton extends React.PureComponent<IProps, IState> {
|
||||||
public static readonly defaultProps = {
|
public static readonly defaultProps = {
|
||||||
className: '',
|
className: '',
|
||||||
|
|
|
@ -17,7 +17,9 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import {highlightBlock} from 'highlight.js';
|
import {highlightBlock} from 'highlight.js';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.SyntaxHighlight")
|
||||||
export default class SyntaxHighlight extends React.Component {
|
export default class SyntaxHighlight extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
className: PropTypes.string,
|
className: PropTypes.string,
|
||||||
|
|
|
@ -30,12 +30,14 @@ import GroupFilterOrderStore from '../../../stores/GroupFilterOrderStore';
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
import AccessibleButton from "./AccessibleButton";
|
import AccessibleButton from "./AccessibleButton";
|
||||||
import SettingsStore from "../../../settings/SettingsStore";
|
import SettingsStore from "../../../settings/SettingsStore";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
// A class for a child of GroupFilterPanel (possibly wrapped in a DNDTagTile) that represents
|
// A class for a child of GroupFilterPanel (possibly wrapped in a DNDTagTile) that represents
|
||||||
// a thing to click on for the user to filter the visible rooms in the RoomList to:
|
// a thing to click on for the user to filter the visible rooms in the RoomList to:
|
||||||
// - Rooms that are part of the group
|
// - Rooms that are part of the group
|
||||||
// - Direct messages with members of the group
|
// - Direct messages with members of the group
|
||||||
// with the intention that this could be expanded to arbitrary tags in future.
|
// with the intention that this could be expanded to arbitrary tags in future.
|
||||||
|
@replaceableComponent("views.elements.TagTile")
|
||||||
export default class TagTile extends React.Component {
|
export default class TagTile extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// A string tag such as "m.favourite" or a group ID such as "+groupid:domain.bla"
|
// A string tag such as "m.favourite" or a group ID such as "+groupid:domain.bla"
|
||||||
|
|
|
@ -17,7 +17,9 @@
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.TextWithTooltip")
|
||||||
export default class TextWithTooltip extends React.Component {
|
export default class TextWithTooltip extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
class: PropTypes.string,
|
class: PropTypes.string,
|
||||||
|
|
|
@ -18,7 +18,9 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import Tinter from "../../../Tinter";
|
import Tinter from "../../../Tinter";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.TintableSvg")
|
||||||
class TintableSvg extends React.Component {
|
class TintableSvg extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
src: PropTypes.string.isRequired,
|
src: PropTypes.string.isRequired,
|
||||||
|
|
|
@ -21,6 +21,7 @@ limitations under the License.
|
||||||
import React, {Component, CSSProperties} from 'react';
|
import React, {Component, CSSProperties} from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
const MIN_TOOLTIP_HEIGHT = 25;
|
const MIN_TOOLTIP_HEIGHT = 25;
|
||||||
|
|
||||||
|
@ -39,6 +40,7 @@ interface IProps {
|
||||||
yOffset?: number;
|
yOffset?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.Tooltip")
|
||||||
export default class Tooltip extends React.Component<IProps> {
|
export default class Tooltip extends React.Component<IProps> {
|
||||||
private tooltipContainer: HTMLElement;
|
private tooltipContainer: HTMLElement;
|
||||||
private tooltip: void | Element | Component<Element, any, any>;
|
private tooltip: void | Element | Component<Element, any, any>;
|
||||||
|
|
|
@ -17,7 +17,9 @@ limitations under the License.
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.TooltipButton")
|
||||||
export default class TooltipButton extends React.Component {
|
export default class TooltipButton extends React.Component {
|
||||||
state = {
|
state = {
|
||||||
hover: false,
|
hover: false,
|
||||||
|
|
|
@ -18,7 +18,9 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.TruncatedList")
|
||||||
export default class TruncatedList extends React.Component {
|
export default class TruncatedList extends React.Component {
|
||||||
static propTypes = {
|
static propTypes = {
|
||||||
// The number of elements to show before truncating. If negative, no truncation is done.
|
// The number of elements to show before truncating. If negative, no truncation is done.
|
||||||
|
|
|
@ -21,6 +21,7 @@ import GroupFilterOrderStore from "../../../stores/GroupFilterOrderStore";
|
||||||
import AccessibleTooltipButton from "./AccessibleTooltipButton";
|
import AccessibleTooltipButton from "./AccessibleTooltipButton";
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps {
|
||||||
}
|
}
|
||||||
|
@ -29,6 +30,7 @@ interface IState {
|
||||||
selected: boolean;
|
selected: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@replaceableComponent("views.elements.UserTagTile")
|
||||||
export default class UserTagTile extends React.PureComponent<IProps, IState> {
|
export default class UserTagTile extends React.PureComponent<IProps, IState> {
|
||||||
private tagStoreRef: fbEmitter.EventSubscription;
|
private tagStoreRef: fbEmitter.EventSubscription;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue