1
0
mirror of https://github.com/element-hq/element-web.git synced 2025-11-29 21:23:11 +03:00

Enable @typescript-eslint/explicit-function-return-type in /src (#9788)

* Enable `@typescript-eslint/explicit-member-accessibility` on /src

* Prettier

* Enable `@typescript-eslint/explicit-function-return-type` in /src

* Fix types

* tsc strict fixes

* Delint

* Fix test

* Fix bad merge
This commit is contained in:
Michael Telatynski
2023-01-12 13:25:14 +00:00
committed by GitHub
parent 7a36ba0fde
commit 030b7e90bf
683 changed files with 3459 additions and 3013 deletions

View File

@@ -103,7 +103,7 @@ enum Phase {
PrivateExistingRooms,
}
const SpaceLandingAddButton = ({ space }) => {
const SpaceLandingAddButton: React.FC<{ space: Room }> = ({ space }) => {
const [menuDisplayed, handle, openMenu, closeMenu] = useContextMenu();
const canCreateRoom = shouldShowComponent(UIComponent.CreateRooms);
const canCreateSpace = shouldShowComponent(UIComponent.CreateSpaces);
@@ -128,7 +128,7 @@ const SpaceLandingAddButton = ({ space }) => {
<IconizedContextMenuOption
label={_t("New room")}
iconClassName="mx_RoomList_iconNewRoom"
onClick={async (e) => {
onClick={async (e): Promise<void> => {
e.preventDefault();
e.stopPropagation();
closeMenu();
@@ -143,7 +143,7 @@ const SpaceLandingAddButton = ({ space }) => {
<IconizedContextMenuOption
label={_t("New video room")}
iconClassName="mx_RoomList_iconNewVideoRoom"
onClick={async (e) => {
onClick={async (e): Promise<void> => {
e.preventDefault();
e.stopPropagation();
closeMenu();
@@ -210,7 +210,7 @@ const SpaceLandingAddButton = ({ space }) => {
);
};
const SpaceLanding = ({ space }: { space: Room }) => {
const SpaceLanding: React.FC<{ space: Room }> = ({ space }) => {
const cli = useContext(MatrixClientContext);
const myMembership = useMyRoomMembership(space);
const userId = cli.getUserId();
@@ -259,7 +259,7 @@ const SpaceLanding = ({ space }: { space: Room }) => {
);
}
const onMembersClick = () => {
const onMembersClick = (): void => {
RightPanelStore.instance.setCard({ phase: RightPanelPhases.SpaceMemberList });
};
@@ -297,7 +297,12 @@ const SpaceLanding = ({ space }: { space: Room }) => {
);
};
const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => {
const SpaceSetupFirstRooms: React.FC<{
space: Room;
title: string;
description: JSX.Element;
onFinished(firstRoomId?: string): void;
}> = ({ space, title, description, onFinished }) => {
const [busy, setBusy] = useState(false);
const [error, setError] = useState("");
const numFields = 3;
@@ -321,7 +326,7 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => {
);
});
const onNextClick = async (ev: ButtonEvent) => {
const onNextClick = async (ev: ButtonEvent): Promise<void> => {
ev.preventDefault();
if (busy) return;
setError("");
@@ -354,7 +359,7 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => {
setBusy(false);
};
let onClick = (ev: ButtonEvent) => {
let onClick = (ev: ButtonEvent): void => {
ev.preventDefault();
onFinished();
};
@@ -389,7 +394,10 @@ const SpaceSetupFirstRooms = ({ space, title, description, onFinished }) => {
);
};
const SpaceAddExistingRooms = ({ space, onFinished }) => {
const SpaceAddExistingRooms: React.FC<{
space: Room;
onFinished(): void;
}> = ({ space, onFinished }) => {
return (
<div>
<h1>{_t("What do you want to organise?")}</h1>
@@ -420,7 +428,12 @@ interface ISpaceSetupPublicShareProps extends Pick<IProps & IState, "justCreated
onFinished(): void;
}
const SpaceSetupPublicShare = ({ justCreatedOpts, space, onFinished, firstRoomId }: ISpaceSetupPublicShareProps) => {
const SpaceSetupPublicShare: React.FC<ISpaceSetupPublicShareProps> = ({
justCreatedOpts,
space,
onFinished,
firstRoomId,
}) => {
return (
<div className="mx_SpaceRoomView_publicShare">
<h1>
@@ -443,7 +456,11 @@ const SpaceSetupPublicShare = ({ justCreatedOpts, space, onFinished, firstRoomId
);
};
const SpaceSetupPrivateScope = ({ space, justCreatedOpts, onFinished }) => {
const SpaceSetupPrivateScope: React.FC<{
space: Room;
justCreatedOpts: IOpts;
onFinished(createRooms: boolean): void;
}> = ({ space, justCreatedOpts, onFinished }) => {
return (
<div className="mx_SpaceRoomView_privateScope">
<h1>{_t("Who are you working with?")}</h1>
@@ -485,7 +502,10 @@ const validateEmailRules = withValidation({
],
});
const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
const SpaceSetupPrivateInvite: React.FC<{
space: Room;
onFinished(): void;
}> = ({ space, onFinished }) => {
const [busy, setBusy] = useState(false);
const [error, setError] = useState("");
const numFields = 3;
@@ -501,7 +521,7 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
label={_t("Email address")}
placeholder={_t("Email")}
value={emailAddresses[i]}
onChange={(ev) => setEmailAddress(i, ev.target.value)}
onChange={(ev: React.ChangeEvent<HTMLInputElement>) => setEmailAddress(i, ev.target.value)}
ref={fieldRefs[i]}
onValidate={validateEmailRules}
autoFocus={i === 0}
@@ -510,7 +530,7 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
);
});
const onNextClick = async (ev) => {
const onNextClick = async (ev: ButtonEvent): Promise<void> => {
ev.preventDefault();
if (busy) return;
setError("");
@@ -548,7 +568,7 @@ const SpaceSetupPrivateInvite = ({ space, onFinished }) => {
setBusy(false);
};
let onClick = (ev) => {
let onClick = (ev: ButtonEvent): void => {
ev.preventDefault();
onFinished();
};
@@ -642,29 +662,29 @@ export default class SpaceRoomView extends React.PureComponent<IProps, IState> {
RightPanelStore.instance.on(UPDATE_EVENT, this.onRightPanelStoreUpdate);
}
public componentDidMount() {
public componentDidMount(): void {
this.context.on(RoomEvent.MyMembership, this.onMyMembership);
}
public componentWillUnmount() {
public componentWillUnmount(): void {
defaultDispatcher.unregister(this.dispatcherRef);
RightPanelStore.instance.off(UPDATE_EVENT, this.onRightPanelStoreUpdate);
this.context.off(RoomEvent.MyMembership, this.onMyMembership);
}
private onMyMembership = (room: Room, myMembership: string) => {
private onMyMembership = (room: Room, myMembership: string): void => {
if (room.roomId === this.props.space.roomId) {
this.setState({ myMembership });
}
};
private onRightPanelStoreUpdate = () => {
private onRightPanelStoreUpdate = (): void => {
this.setState({
showRightPanel: RightPanelStore.instance.isOpenForRoom(this.props.space.roomId),
});
};
private onAction = (payload: ActionPayload) => {
private onAction = (payload: ActionPayload): void => {
if (payload.action === Action.ViewRoom && payload.room_id === this.props.space.roomId) {
this.setState({ phase: Phase.Landing });
return;
@@ -698,7 +718,7 @@ export default class SpaceRoomView extends React.PureComponent<IProps, IState> {
}
};
private goToFirstRoom = async () => {
private goToFirstRoom = async (): Promise<void> => {
if (this.state.firstRoomId) {
defaultDispatcher.dispatch<ViewRoomPayload>({
action: Action.ViewRoom,
@@ -711,7 +731,7 @@ export default class SpaceRoomView extends React.PureComponent<IProps, IState> {
this.setState({ phase: Phase.Landing });
};
private renderBody() {
private renderBody(): JSX.Element {
switch (this.state.phase) {
case Phase.Landing:
if (this.state.myMembership === "join") {
@@ -794,7 +814,7 @@ export default class SpaceRoomView extends React.PureComponent<IProps, IState> {
}
}
public render() {
public render(): JSX.Element {
const rightPanel =
this.state.showRightPanel && this.state.phase === Phase.Landing ? (
<RightPanel room={this.props.space} resizeNotifier={this.props.resizeNotifier} />