better check keypress canvas selection

This commit is contained in:
HF 2021-07-16 12:06:20 +02:00
parent 8c4b0a5149
commit cf865a0ba4
2 changed files with 7 additions and 8 deletions

View File

@ -30,13 +30,16 @@ function onKeyPress(event: KeyboardEvent) {
const num = Number(key);
if (!Number.isNaN(num) && num > 0) {
// switch to canvas on num keys
const { canvases } = store.getState().canvas;
const { canvases, canvasId: curCanvasId } = store.getState().canvas;
const canvasIds = Object.keys(canvases).filter((id) => !canvases[id].hid);
if (num <= canvasIds.length) {
const canvasId = canvasIds[num - 1];
store.dispatch(selectCanvas(canvasId));
const canvasName = canvases[canvasId].title;
store.dispatch(notify(t`Switched to ${canvasName}`));
// eslint-disable-next-line eqeqeq
if (canvasId != curCanvasId) {
store.dispatch(selectCanvas(canvasId));
const canvasName = canvases[canvasId].title;
store.dispatch(notify(t`Switched to ${canvasName}`));
}
}
return;
}

View File

@ -267,10 +267,6 @@ export default function canvasReducer(
case 'SELECT_CANVAS': {
let { canvasId } = action;
const { canvases, prevCanvasCoords, canvasId: prevCanvasId } = state;
if (canvasId === prevCanvasId) {
return state;
}
let canvas = canvases[canvasId];
if (!canvas) {
canvasId = DEFAULT_CANVAS_ID;