Use IDialogProps

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
pull/21833/head
Šimon Brandner 2021-09-10 19:01:05 +02:00
parent ee90ff0b98
commit 6e11f2478c
No known key found for this signature in database
GPG Key ID: 55C211A1226CB17D
21 changed files with 41 additions and 64 deletions

View File

@ -27,14 +27,9 @@ import { _t } from "../../../languageHandler";
import MatrixClientContext from "../../../contexts/MatrixClientContext"; import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { replaceableComponent } from "../../../utils/replaceableComponent"; import { replaceableComponent } from "../../../utils/replaceableComponent";
import { MatrixClient } from "matrix-js-sdk/src/client"; import { MatrixClient } from "matrix-js-sdk/src/client";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
// onFinished callback to call when Escape is pressed
// Take a boolean which is true if the dialog was dismissed
// with a positive / confirm action or false if it was
// cancelled (BaseDialog itself only calls this with false).
onFinished: (confirm: any) => void;
// Whether the dialog should have a 'close' button that will // Whether the dialog should have a 'close' button that will
// cause the dialog to be cancelled. This should only be set // cause the dialog to be cancelled. This should only be set
// to false if there is nothing the app can sensibly do if the // to false if there is nothing the app can sensibly do if the

View File

@ -25,14 +25,13 @@ import Modal from "../../../Modal";
import BugReportDialog from "./BugReportDialog"; import BugReportDialog from "./BugReportDialog";
import InfoDialog from "./InfoDialog"; import InfoDialog from "./InfoDialog";
import StyledRadioGroup from "../elements/StyledRadioGroup"; import StyledRadioGroup from "../elements/StyledRadioGroup";
import { IDialogProps } from "./IDialogProps";
const existingIssuesUrl = "https://github.com/vector-im/element-web/issues" + const existingIssuesUrl = "https://github.com/vector-im/element-web/issues" +
"?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc"; "?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc";
const newIssueUrl = "https://github.com/vector-im/element-web/issues/new/choose"; const newIssueUrl = "https://github.com/vector-im/element-web/issues/new/choose";
interface IProps { interface IProps extends IDialogProps {}
onFinished: () => void;
}
const FeedbackDialog: React.FC<IProps> = (props: IProps) => { const FeedbackDialog: React.FC<IProps> = (props: IProps) => {
const [rating, setRating] = useState<string>(); const [rating, setRating] = useState<string>();

View File

@ -26,6 +26,7 @@ import Spinner from "../elements/Spinner";
import VerificationShowSas from "../verification/VerificationShowSas"; import VerificationShowSas from "../verification/VerificationShowSas";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import { IDialogProps } from "./IDialogProps";
const PHASE_START = 0; const PHASE_START = 0;
const PHASE_SHOW_SAS = 1; const PHASE_SHOW_SAS = 1;
@ -33,9 +34,8 @@ const PHASE_WAIT_FOR_PARTNER_TO_CONFIRM = 2;
const PHASE_VERIFIED = 3; const PHASE_VERIFIED = 3;
const PHASE_CANCELLED = 4; const PHASE_CANCELLED = 4;
interface IProps { interface IProps extends IDialogProps {
verifier: any; // TODO types verifier: any; // TODO types
onFinished: (confirmed: boolean) => void;
} }
interface IState { interface IState {

View File

@ -21,10 +21,9 @@ import { Action } from "../../../dispatcher/actions";
import { replaceableComponent } from "../../../utils/replaceableComponent"; import { replaceableComponent } from "../../../utils/replaceableComponent";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {}
onFinished: () => void;
}
@replaceableComponent("views.dialogs.IntegrationsDisabledDialog") @replaceableComponent("views.dialogs.IntegrationsDisabledDialog")
export default class IntegrationsDisabledDialog extends React.Component<IProps> { export default class IntegrationsDisabledDialog extends React.Component<IProps> {

View File

@ -19,11 +19,9 @@ 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"; import { replaceableComponent } from "../../../utils/replaceableComponent";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {}
onFinished: () => void;
}
@replaceableComponent("views.dialogs.IntegrationsImpossibleDialog") @replaceableComponent("views.dialogs.IntegrationsImpossibleDialog")
export default class IntegrationsImpossibleDialog extends React.Component<IProps> { export default class IntegrationsImpossibleDialog extends React.Component<IProps> {

View File

@ -27,8 +27,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
import { MatrixClient } from "matrix-js-sdk/src/client"; import { MatrixClient } from "matrix-js-sdk/src/client";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import { IAuthData } from "matrix-js-sdk/src/interactive-auth"; import { IAuthData } from "matrix-js-sdk/src/interactive-auth";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
// matrix client to use for UI auth requests // matrix client to use for UI auth requests
matrixClient: MatrixClient; matrixClient: MatrixClient;
@ -43,8 +44,6 @@ interface IProps {
// callback // callback
makeRequest: (auth: IAuthData) => Promise<IAuthData>; makeRequest: (auth: IAuthData) => Promise<IAuthData>;
onFinished: (confirmed: boolean, result?) => void;
// Optional title and body to show when not showing a particular stage // Optional title and body to show when not showing a particular stage
title?: string; title?: string;
body?: string; body?: string;

View File

@ -20,15 +20,15 @@ import SdkConfig from '../../../SdkConfig';
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import Spinner from "../elements/Spinner"; import Spinner from "../elements/Spinner";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
failures: Record<string, Record<string, { failures: Record<string, Record<string, {
errcode: string; errcode: string;
error: string; error: string;
}>>; }>>;
source: string; source: string;
continuation: () => void; continuation: () => void;
onFinished: () => void;
} }
const KeySignatureUploadFailedDialog: React.FC<IProps> = ({ const KeySignatureUploadFailedDialog: React.FC<IProps> = ({

View File

@ -20,8 +20,7 @@ import QuestionDialog from './QuestionDialog';
import { _t } from '../../../languageHandler'; import { _t } from '../../../languageHandler';
import SdkConfig from '../../../SdkConfig'; import SdkConfig from '../../../SdkConfig';
interface IProps { interface IProps extends IDialogProps {
onFinished: () => void;
host: string; host: string;
} }

View File

@ -19,10 +19,9 @@ import React from 'react';
import QuestionDialog from './QuestionDialog'; import QuestionDialog from './QuestionDialog';
import { _t } from '../../../languageHandler'; import { _t } from '../../../languageHandler';
import SdkConfig from '../../../SdkConfig'; import SdkConfig from '../../../SdkConfig';
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {}
onFinished: () => void;
}
const LazyLoadingResyncDialog: React.FC<IProps> = (props: IProps) => { const LazyLoadingResyncDialog: React.FC<IProps> = (props: IProps) => {
const brand = SdkConfig.get().brand; const brand = SdkConfig.get().brand;

View File

@ -25,11 +25,11 @@ import { _t } from '../../../languageHandler';
import { replaceableComponent } from "../../../utils/replaceableComponent"; import { replaceableComponent } from "../../../utils/replaceableComponent";
import QuestionDialog from "./QuestionDialog"; import QuestionDialog from "./QuestionDialog";
import { DeviceInfo } from "matrix-js-sdk/src/crypto/deviceinfo"; import { DeviceInfo } from "matrix-js-sdk/src/crypto/deviceinfo";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
userId: string; userId: string;
device: DeviceInfo; device: DeviceInfo;
onFinished: (confirmed: boolean) => void;
} }
@replaceableComponent("views.dialogs.ManualDeviceKeyVerificationDialog") @replaceableComponent("views.dialogs.ManualDeviceKeyVerificationDialog")

View File

@ -26,10 +26,10 @@ import ScrollPanel from "../../structures/ScrollPanel";
import Spinner from "../elements/Spinner"; import Spinner from "../elements/Spinner";
import EditHistoryMessage from "../messages/EditHistoryMessage"; import EditHistoryMessage from "../messages/EditHistoryMessage";
import DateSeparator from "../messages/DateSeparator"; import DateSeparator from "../messages/DateSeparator";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
mxEvent: MatrixEvent; mxEvent: MatrixEvent;
onFinished: () => void;
} }
interface IState { interface IState {

View File

@ -20,8 +20,9 @@ import classNames from "classnames";
import * as sdk from '../../../index'; import * as sdk from '../../../index';
import { _t } from '../../../languageHandler'; import { _t } from '../../../languageHandler';
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
title?: string; title?: string;
description?: React.ReactNode; description?: React.ReactNode;
extraButtons?: React.ReactNode; extraButtons?: React.ReactNode;
@ -29,7 +30,6 @@ interface IProps {
buttonDisabled?: boolean; buttonDisabled?: boolean;
danger?: boolean; danger?: boolean;
focus?: boolean; focus?: boolean;
onFinished: (confirmed: boolean) => void;
headerImage?: string; headerImage?: string;
quitOnly?: boolean; // quitOnly doesn't show the cancel button just the quit [x]. quitOnly?: boolean; // quitOnly doesn't show the cancel button just the quit [x].
fixedWidth?: boolean; fixedWidth?: boolean;

View File

@ -25,10 +25,10 @@ import QuestionDialog from "./QuestionDialog";
import BugReportDialog from "./BugReportDialog"; import BugReportDialog from "./BugReportDialog";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
error: string; error: string;
onFinished: () => void;
} }
@replaceableComponent("views.dialogs.SessionRestoreErrorDialog") @replaceableComponent("views.dialogs.SessionRestoreErrorDialog")

View File

@ -26,10 +26,10 @@ import ErrorDialog from "./ErrorDialog";
import QuestionDialog from "./QuestionDialog"; import QuestionDialog from "./QuestionDialog";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import EditableText from "../elements/EditableText"; import EditableText from "../elements/EditableText";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
title: string; title: string;
onFinished: (confirmed: boolean) => void;
} }
interface IState { interface IState {

View File

@ -17,11 +17,10 @@ limitations under the License.
import React from 'react'; import React from 'react';
import { _t } from "../../../languageHandler"; import { _t } from "../../../languageHandler";
import { CommandCategories, Commands } from "../../../SlashCommands"; import { CommandCategories, Commands } from "../../../SlashCommands";
import { IDialogProps } from "./IDialogProps";
import InfoDialog from "./InfoDialog"; import InfoDialog from "./InfoDialog";
interface IProps { interface IProps extends IDialogProps {}
onFinished: () => void;
}
const SlashCommandHelpDialog: React.FC<IProps> = ({ onFinished }) => { const SlashCommandHelpDialog: React.FC<IProps> = ({ onFinished }) => {
const categories = {}; const categories = {};

View File

@ -22,10 +22,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import BugReportDialog from "./BugReportDialog"; import BugReportDialog from "./BugReportDialog";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps { }
onFinished: (confirmed: boolean) => void;
}
@replaceableComponent("views.dialogs.StorageEvictedDialog") @replaceableComponent("views.dialogs.StorageEvictedDialog")
export default class StorageEvictedDialog extends React.Component<IProps> { export default class StorageEvictedDialog extends React.Component<IProps> {

View File

@ -25,15 +25,9 @@ import { IntegrationManagerInstance } from "../../../integrations/IntegrationMan
import ScalarAuthClient from "../../../ScalarAuthClient"; import ScalarAuthClient from "../../../ScalarAuthClient";
import AccessibleButton from "../elements/AccessibleButton"; import AccessibleButton from "../elements/AccessibleButton";
import IntegrationManager from "../settings/IntegrationManager"; import IntegrationManager from "../settings/IntegrationManager";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
/**
* Called with:
* * success {bool} True if the user accepted any douments, false if cancelled
* * agreedUrls {string[]} List of agreed URLs
*/
onFinished: () => void;
/** /**
* Optional room where the integration manager should be open to * Optional room where the integration manager should be open to
*/ */

View File

@ -21,8 +21,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
import { IFieldState, IValidationResult } from "../elements/Validation"; import { IFieldState, IValidationResult } from "../elements/Validation";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
title?: string; title?: string;
description?: string | JSX.Element; description?: string | JSX.Element;
value?: string; value?: string;
@ -30,7 +31,6 @@ import DialogButtons from "../elements/DialogButtons";
button?: string; button?: string;
busyMessage?: string; // pass _td string busyMessage?: string; // pass _td string
focus?: boolean; focus?: boolean;
onFinished: (success: boolean, value?: string) => void;
hasCancel?: boolean; hasCancel?: boolean;
validator?: (fieldState: IFieldState) => IValidationResult; // result of withValidation validator?: (fieldState: IFieldState) => IValidationResult; // result of withValidation
fixedWidth?: boolean; fixedWidth?: boolean;

View File

@ -22,12 +22,12 @@ import ContentMessages from '../../../ContentMessages';
import { replaceableComponent } from "../../../utils/replaceableComponent"; import { replaceableComponent } from "../../../utils/replaceableComponent";
import BaseDialog from "./BaseDialog"; import BaseDialog from "./BaseDialog";
import DialogButtons from "../elements/DialogButtons"; import DialogButtons from "../elements/DialogButtons";
import { IDialogProps } from "./IDialogProps";
interface IProps { interface IProps extends IDialogProps {
badFiles: File[]; badFiles: File[];
totalFiles: number; totalFiles: number;
contentMessages: ContentMessages; contentMessages: ContentMessages;
onFinished: (success: boolean) => void;
} }
/* /*

View File

@ -23,6 +23,7 @@ import { accessSecretStorage } from '../../../../SecurityManager';
import { IKeyBackupInfo, IKeyBackupRestoreResult } from "matrix-js-sdk/src/crypto/keybackup"; import { IKeyBackupInfo, IKeyBackupRestoreResult } from "matrix-js-sdk/src/crypto/keybackup";
import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/crypto/api"; import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/crypto/api";
import * as sdk from '../../../../index'; import * as sdk from '../../../../index';
import { IDialogProps } from "../IDialogProps";
enum RestoreType { enum RestoreType {
Passphrase = "passphrase", Passphrase = "passphrase",
@ -37,15 +38,13 @@ enum ProgressState {
} }
interface IProps { interface IProps extends IDialogProps {
// if false, will close the dialog as soon as the restore completes succesfully // if false, will close the dialog as soon as the restore completes succesfully
// default: true // default: true
showSummary?: boolean; showSummary?: boolean;
// If specified, gather the key from the user but then call the function with the backup // If specified, gather the key from the user but then call the function with the backup
// key rather than actually (necessarily) restoring the backup. // key rather than actually (necessarily) restoring the backup.
keyCallback?: (key: Uint8Array) => void; keyCallback?: (key: Uint8Array) => void;
onFinished: (success: boolean) => void;
} }
interface IState { interface IState {

View File

@ -20,6 +20,7 @@ import BaseDialog from '../BaseDialog';
import { _t } from '../../../../languageHandler'; import { _t } from '../../../../languageHandler';
import { SetupEncryptionStore, Phase } from '../../../../stores/SetupEncryptionStore'; import { SetupEncryptionStore, Phase } from '../../../../stores/SetupEncryptionStore';
import { replaceableComponent } from "../../../../utils/replaceableComponent"; import { replaceableComponent } from "../../../../utils/replaceableComponent";
import { IDialogProps } from "../IDialogProps";
function iconFromPhase(phase: Phase) { function iconFromPhase(phase: Phase) {
if (phase === Phase.Done) { if (phase === Phase.Done) {
@ -29,10 +30,7 @@ function iconFromPhase(phase: Phase) {
} }
} }
interface IProps { interface IProps extends IDialogProps {}
onFinished: (success: boolean) => void;
}
interface IState { interface IState {
icon: string; icon: string;
} }