Properly type Modal props to ensure useful typescript checking (#10238

* Properly type Modal props to ensure useful typescript checking

* delint

* Iterate

* Iterate

* Fix modal.close loop

* Iterate

* Fix tests

* Add comment

* Fix test
This commit is contained in:
Michael Telatyński 2023-02-28 10:31:48 +00:00 committed by GitHub
parent ae5725b24c
commit 629e5cb01f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
124 changed files with 600 additions and 560 deletions

View file

@ -15,6 +15,7 @@ limitations under the License.
*/
import classnames from "classnames";
import { ComponentProps } from "react";
import defaultDispatcher from "../dispatcher/dispatcher";
import { ActionPayload } from "../dispatcher/payloads";
@ -114,7 +115,7 @@ export class DialogOpener {
kind: payload.kind,
call: payload.call,
roomId: payload.roomId,
},
} as Omit<ComponentProps<typeof InviteDialog>, "onFinished">,
classnames("mx_InviteDialog_flexWrapper", payload.className),
false,
true,

View file

@ -43,7 +43,7 @@ export function wrapRequestWithDialog<R, A = any>(
makeRequest: (authData?: IAuthData) => boundFunction(authData, ...args),
onFinished: (success, result) => {
if (success) {
resolve(result);
resolve(result as R);
} else {
reject(result);
}

View file

@ -23,7 +23,7 @@ import { ICreateRoomStateEvent } from "matrix-js-sdk/src/matrix";
import { calculateRoomVia } from "./permalinks/Permalinks";
import Modal from "../Modal";
import CreateRoomDialog from "../components/views/dialogs/CreateRoomDialog";
import createRoom, { IOpts } from "../createRoom";
import createRoom from "../createRoom";
import { _t } from "../languageHandler";
import SpacePublicShare from "../components/views/spaces/SpacePublicShare";
import InfoDialog from "../components/views/dialogs/InfoDialog";
@ -75,7 +75,7 @@ export const showAddExistingRooms = (space: Room): void => {
};
export const showCreateNewRoom = async (space: Room, type?: RoomType): Promise<boolean> => {
const modal = Modal.createDialog<[boolean, IOpts]>(CreateRoomDialog, {
const modal = Modal.createDialog(CreateRoomDialog, {
type,
defaultPublic: space.getJoinRule() === JoinRule.Public,
parentSpace: space,