cancel VRD at the Modal level, so clicking in the bg cancels it
parent
7673818400
commit
6df8157a40
|
@ -66,6 +66,10 @@ export default class NewSessionReviewDialog extends React.PureComponent {
|
||||||
Modal.createTrackedDialog('New Session Verification', 'Starting dialog', VerificationRequestDialog, {
|
Modal.createTrackedDialog('New Session Verification', 'Starting dialog', VerificationRequestDialog, {
|
||||||
verificationRequestPromise: requestPromise,
|
verificationRequestPromise: requestPromise,
|
||||||
member: cli.getUser(userId),
|
member: cli.getUser(userId),
|
||||||
|
onFinished: async () => {
|
||||||
|
const request = await requestPromise;
|
||||||
|
request.cancel();
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,11 +25,11 @@ export default class VerificationRequestDialog extends React.Component {
|
||||||
verificationRequest: PropTypes.object,
|
verificationRequest: PropTypes.object,
|
||||||
verificationRequestPromise: PropTypes.object,
|
verificationRequestPromise: PropTypes.object,
|
||||||
onFinished: PropTypes.func.isRequired,
|
onFinished: PropTypes.func.isRequired,
|
||||||
|
member: PropTypes.string,
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(...args) {
|
constructor(...args) {
|
||||||
super(...args);
|
super(...args);
|
||||||
this.onFinished = this.onFinished.bind(this);
|
|
||||||
this.state = {};
|
this.state = {};
|
||||||
if (this.props.verificationRequest) {
|
if (this.props.verificationRequest) {
|
||||||
this.state.verificationRequest = this.props.verificationRequest;
|
this.state.verificationRequest = this.props.verificationRequest;
|
||||||
|
@ -50,7 +50,7 @@ export default class VerificationRequestDialog extends React.Component {
|
||||||
const title = request && request.isSelfVerification ?
|
const title = request && request.isSelfVerification ?
|
||||||
_t("Verify other session") : _t("Verification Request");
|
_t("Verify other session") : _t("Verification Request");
|
||||||
|
|
||||||
return <BaseDialog className="mx_InfoDialog" onFinished={this.onFinished}
|
return <BaseDialog className="mx_InfoDialog" onFinished={this.props.onFinished}
|
||||||
contentId="mx_Dialog_content"
|
contentId="mx_Dialog_content"
|
||||||
title={title}
|
title={title}
|
||||||
hasCancel={true}
|
hasCancel={true}
|
||||||
|
@ -64,13 +64,4 @@ export default class VerificationRequestDialog extends React.Component {
|
||||||
/>
|
/>
|
||||||
</BaseDialog>;
|
</BaseDialog>;
|
||||||
}
|
}
|
||||||
|
|
||||||
async onFinished() {
|
|
||||||
this.props.onFinished();
|
|
||||||
let request = this.props.verificationRequest;
|
|
||||||
if (!request && this.props.verificationRequestPromise) {
|
|
||||||
request = await this.props.verificationRequestPromise;
|
|
||||||
}
|
|
||||||
request.cancel();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue