1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00
joplin/packages/app-desktop/gui/NoteList/commands/focusElementNoteList.ts
Henry Heino 4a88d6ff7a
Desktop: Multiple window support (#11181)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2024-11-08 15:32:05 +00:00

26 lines
890 B
TypeScript

import { CommandRuntime, CommandDeclaration, CommandContext } from '@joplin/lib/services/CommandService';
import { _ } from '@joplin/lib/locale';
import { stateUtils } from '@joplin/lib/reducer';
import { FocusNote } from '../utils/useFocusNote';
import bridge from '../../../services/bridge';
export const declaration: CommandDeclaration = {
name: 'focusElementNoteList',
label: () => _('Note list'),
parentLabel: () => _('Focus'),
};
export const runtime = (focusNote: FocusNote): CommandRuntime => {
return {
execute: async (context: CommandContext, noteId: string = null) => {
noteId = noteId || stateUtils.selectedNoteId(context.state);
focusNote(noteId);
// The sidebar is only present in the main window. If a different window
// is active, the main window needs to be shown.
bridge().switchToMainWindow();
},
enabledCondition: 'noteListHasNotes',
};
};