Improve typing
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
parent
ec4f672a13
commit
24df63abd7
3 changed files with 8 additions and 10 deletions
|
@ -33,7 +33,7 @@ interface IProps {
|
||||||
|
|
||||||
// should the user be able to change the value? false by default.
|
// should the user be able to change the value? false by default.
|
||||||
disabled?: boolean;
|
disabled?: boolean;
|
||||||
onChange?: (value: string, powerLevelKey: string) => void;
|
onChange?: (value: number, powerLevelKey: string) => void;
|
||||||
|
|
||||||
// Optional key to pass as the second argument to `onChange`
|
// Optional key to pass as the second argument to `onChange`
|
||||||
powerLevelKey?: string;
|
powerLevelKey?: string;
|
||||||
|
@ -111,8 +111,9 @@ export default class PowerSelector extends React.Component<IProps, IState> {
|
||||||
if (isCustom) {
|
if (isCustom) {
|
||||||
this.setState({ custom: true });
|
this.setState({ custom: true });
|
||||||
} else {
|
} else {
|
||||||
this.props.onChange(event.target.value, this.props.powerLevelKey);
|
const powerLevel = parseInt(event.target.value);
|
||||||
this.setState({ selectValue: parseInt(event.target.value) });
|
this.props.onChange(powerLevel, this.props.powerLevelKey);
|
||||||
|
this.setState({ selectValue: powerLevel });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -124,7 +125,7 @@ export default class PowerSelector extends React.Component<IProps, IState> {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
|
|
||||||
this.props.onChange(String(this.state.customValue), this.props.powerLevelKey);
|
this.props.onChange(this.state.customValue, this.props.powerLevelKey);
|
||||||
};
|
};
|
||||||
|
|
||||||
private onCustomKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {
|
private onCustomKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {
|
||||||
|
|
|
@ -1052,8 +1052,7 @@ const PowerLevelEditor: React.FC<{
|
||||||
const cli = useContext(MatrixClientContext);
|
const cli = useContext(MatrixClientContext);
|
||||||
|
|
||||||
const [selectedPowerLevel, setSelectedPowerLevel] = useState(user.powerLevel);
|
const [selectedPowerLevel, setSelectedPowerLevel] = useState(user.powerLevel);
|
||||||
const onPowerChange = useCallback(async (powerLevelStr: string) => {
|
const onPowerChange = useCallback(async (powerLevel: number) => {
|
||||||
const powerLevel = parseInt(powerLevelStr, 10);
|
|
||||||
setSelectedPowerLevel(powerLevel);
|
setSelectedPowerLevel(powerLevel);
|
||||||
|
|
||||||
const applyPowerChange = (roomId, target, powerLevel, powerLevelEvent) => {
|
const applyPowerChange = (roomId, target, powerLevel, powerLevelEvent) => {
|
||||||
|
|
|
@ -137,7 +137,7 @@ export default class RolesRoomSettingsTab extends React.Component<IProps> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private onPowerLevelsChanged = (inputValue: string, powerLevelKey: string) => {
|
private onPowerLevelsChanged = (value: number, powerLevelKey: string) => {
|
||||||
const client = MatrixClientPeg.get();
|
const client = MatrixClientPeg.get();
|
||||||
const room = client.getRoom(this.props.roomId);
|
const room = client.getRoom(this.props.roomId);
|
||||||
const plEvent = room.currentState.getStateEvents(EventType.RoomPowerLevels, '');
|
const plEvent = room.currentState.getStateEvents(EventType.RoomPowerLevels, '');
|
||||||
|
@ -148,8 +148,6 @@ export default class RolesRoomSettingsTab extends React.Component<IProps> {
|
||||||
|
|
||||||
const eventsLevelPrefix = "event_levels_";
|
const eventsLevelPrefix = "event_levels_";
|
||||||
|
|
||||||
const value = parseInt(inputValue);
|
|
||||||
|
|
||||||
if (powerLevelKey.startsWith(eventsLevelPrefix)) {
|
if (powerLevelKey.startsWith(eventsLevelPrefix)) {
|
||||||
// deep copy "events" object, Object.assign itself won't deep copy
|
// deep copy "events" object, Object.assign itself won't deep copy
|
||||||
plContent["events"] = Object.assign({}, plContent["events"] || {});
|
plContent["events"] = Object.assign({}, plContent["events"] || {});
|
||||||
|
@ -181,7 +179,7 @@ export default class RolesRoomSettingsTab extends React.Component<IProps> {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
private onUserPowerLevelChanged = (value: string, powerLevelKey: string) => {
|
private onUserPowerLevelChanged = (value: number, powerLevelKey: string) => {
|
||||||
const client = MatrixClientPeg.get();
|
const client = MatrixClientPeg.get();
|
||||||
const room = client.getRoom(this.props.roomId);
|
const room = client.getRoom(this.props.roomId);
|
||||||
const plEvent = room.currentState.getStateEvents(EventType.RoomPowerLevels, '');
|
const plEvent = room.currentState.getStateEvents(EventType.RoomPowerLevels, '');
|
||||||
|
|
Loading…
Reference in a new issue