mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-03 20:06:08 +01:00 
			
		
		
		
	chore(client): fix typecheck issues
This commit is contained in:
		@@ -266,6 +266,72 @@ export type CommandMappings = {
 | 
			
		||||
    jumpToNote: CommandData;
 | 
			
		||||
    commandPalette: CommandData;
 | 
			
		||||
 | 
			
		||||
    // Keyboard shortcuts
 | 
			
		||||
    backInNoteHistory: CommandData;
 | 
			
		||||
    forwardInNoteHistory: CommandData;
 | 
			
		||||
    forceSaveRevision: CommandData;
 | 
			
		||||
    scrollToActiveNote: CommandData;
 | 
			
		||||
    quickSearch: CommandData;
 | 
			
		||||
    collapseTree: CommandData;
 | 
			
		||||
    createNoteAfter: CommandData;
 | 
			
		||||
    createNoteInto: CommandData;
 | 
			
		||||
    addNoteAboveToSelection: CommandData;
 | 
			
		||||
    addNoteBelowToSelection: CommandData;
 | 
			
		||||
    openNewTab: CommandData;
 | 
			
		||||
    activateNextTab: CommandData;
 | 
			
		||||
    activatePreviousTab: CommandData;
 | 
			
		||||
    openNewWindow: CommandData;
 | 
			
		||||
    toggleTray: CommandData;
 | 
			
		||||
    firstTab: CommandData;
 | 
			
		||||
    secondTab: CommandData;
 | 
			
		||||
    thirdTab: CommandData;
 | 
			
		||||
    fourthTab: CommandData;
 | 
			
		||||
    fifthTab: CommandData;
 | 
			
		||||
    sixthTab: CommandData;
 | 
			
		||||
    seventhTab: CommandData;
 | 
			
		||||
    eigthTab: CommandData;
 | 
			
		||||
    ninthTab: CommandData;
 | 
			
		||||
    lastTab: CommandData;
 | 
			
		||||
    showNoteSource: CommandData;
 | 
			
		||||
    showSQLConsole: CommandData;
 | 
			
		||||
    showBackendLog: CommandData;
 | 
			
		||||
    showCheatsheet: CommandData;
 | 
			
		||||
    showHelp: CommandData;
 | 
			
		||||
    addLinkToText: CommandData;
 | 
			
		||||
    followLinkUnderCursor: CommandData;
 | 
			
		||||
    insertDateTimeToText: CommandData;
 | 
			
		||||
    pasteMarkdownIntoText: CommandData;
 | 
			
		||||
    cutIntoNote: CommandData;
 | 
			
		||||
    addIncludeNoteToText: CommandData;
 | 
			
		||||
    editReadOnlyNote: CommandData;
 | 
			
		||||
    toggleRibbonTabClassicEditor: CommandData;
 | 
			
		||||
    toggleRibbonTabBasicProperties: CommandData;
 | 
			
		||||
    toggleRibbonTabBookProperties: CommandData;
 | 
			
		||||
    toggleRibbonTabFileProperties: CommandData;
 | 
			
		||||
    toggleRibbonTabImageProperties: CommandData;
 | 
			
		||||
    toggleRibbonTabOwnedAttributes: CommandData;
 | 
			
		||||
    toggleRibbonTabInheritedAttributes: CommandData;
 | 
			
		||||
    toggleRibbonTabPromotedAttributes: CommandData;
 | 
			
		||||
    toggleRibbonTabNoteMap: CommandData;
 | 
			
		||||
    toggleRibbonTabNoteInfo: CommandData;
 | 
			
		||||
    toggleRibbonTabNotePaths: CommandData;
 | 
			
		||||
    toggleRibbonTabSimilarNotes: CommandData;
 | 
			
		||||
    toggleRightPane: CommandData;
 | 
			
		||||
    printActiveNote: CommandData;
 | 
			
		||||
    exportAsPdf: CommandData;
 | 
			
		||||
    openNoteExternally: CommandData;
 | 
			
		||||
    renderActiveNote: CommandData;
 | 
			
		||||
    unhoist: CommandData;
 | 
			
		||||
    reloadFrontendApp: CommandData;
 | 
			
		||||
    openDevTools: CommandData;
 | 
			
		||||
    findInText: CommandData;
 | 
			
		||||
    toggleLeftPane: CommandData;
 | 
			
		||||
    toggleFullscreen: CommandData;
 | 
			
		||||
    zoomOut: CommandData;
 | 
			
		||||
    zoomIn: CommandData;
 | 
			
		||||
    zoomReset: CommandData;
 | 
			
		||||
    copyWithoutFormatting: CommandData;
 | 
			
		||||
 | 
			
		||||
    // Geomap
 | 
			
		||||
    deleteFromMap: { noteId: string };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,10 +15,10 @@ const mockElement = {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const mockJQuery = vi.fn(() => [mockElement]);
 | 
			
		||||
mockJQuery.length = 1;
 | 
			
		||||
(mockJQuery as any).length = 1;
 | 
			
		||||
mockJQuery[0] = mockElement;
 | 
			
		||||
 | 
			
		||||
global.$ = mockJQuery as any;
 | 
			
		||||
(global as any).$ = mockJQuery as any;
 | 
			
		||||
global.document = mockElement as any;
 | 
			
		||||
 | 
			
		||||
describe("shortcuts", () => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
import utils from "./utils.js";
 | 
			
		||||
 | 
			
		||||
type ElementType = HTMLElement | Document;
 | 
			
		||||
type Handler = () => void;
 | 
			
		||||
type Handler = (e: KeyboardEvent) => void;
 | 
			
		||||
 | 
			
		||||
interface ShortcutBinding {
 | 
			
		||||
    element: HTMLElement | Document;
 | 
			
		||||
@@ -45,7 +45,7 @@ function bindElShortcut($el: JQuery<ElementType | Element>, keyboardShortcut: st
 | 
			
		||||
                if (matchesShortcut(e, keyboardShortcut)) {
 | 
			
		||||
                    e.preventDefault();
 | 
			
		||||
                    e.stopPropagation();
 | 
			
		||||
                    handler();
 | 
			
		||||
                    handler(e);
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,10 @@
 | 
			
		||||
import { ActionKeyboardShortcut } from "@triliumnext/commons";
 | 
			
		||||
import type { CommandNames } from "../../components/app_context.js";
 | 
			
		||||
import keyboardActionsService, { type Action } from "../../services/keyboard_actions.js";
 | 
			
		||||
import keyboardActionsService from "../../services/keyboard_actions.js";
 | 
			
		||||
import AbstractButtonWidget, { type AbstractButtonWidgetSettings } from "./abstract_button.js";
 | 
			
		||||
import type { ButtonNoteIdProvider } from "./button_from_note.js";
 | 
			
		||||
 | 
			
		||||
let actions: Action[];
 | 
			
		||||
let actions: ActionKeyboardShortcut[];
 | 
			
		||||
 | 
			
		||||
keyboardActionsService.getActions().then((as) => (actions = as));
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +50,7 @@ export default class CommandButtonWidget extends AbstractButtonWidget<CommandBut
 | 
			
		||||
 | 
			
		||||
        const action = actions.find((act) => act.actionName === this._command);
 | 
			
		||||
 | 
			
		||||
        if (action && action.effectiveShortcuts.length > 0) {
 | 
			
		||||
        if (action?.effectiveShortcuts && action.effectiveShortcuts.length > 0) {
 | 
			
		||||
            return `${title} (${action.effectiveShortcuts.join(", ")})`;
 | 
			
		||||
        } else {
 | 
			
		||||
            return title;
 | 
			
		||||
 
 | 
			
		||||
@@ -268,7 +268,7 @@ export default class RibbonContainer extends NoteContextAwareWidget {
 | 
			
		||||
                    const action = actions.find((act) => act.actionName === toggleCommandName);
 | 
			
		||||
                    const title = $(this).attr("data-title");
 | 
			
		||||
 | 
			
		||||
                    if (action && action.effectiveShortcuts.length > 0) {
 | 
			
		||||
                    if (action?.effectiveShortcuts && action.effectiveShortcuts.length > 0) {
 | 
			
		||||
                        return `${title} (${action.effectiveShortcuts.join(", ")})`;
 | 
			
		||||
                    } else {
 | 
			
		||||
                        return title ?? "";
 | 
			
		||||
 
 | 
			
		||||
@@ -187,7 +187,7 @@ export default class JumpToNoteDialog extends BasicWidget {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    showInFullText(e: JQuery.TriggeredEvent) {
 | 
			
		||||
    showInFullText(e: JQuery.TriggeredEvent | KeyboardEvent) {
 | 
			
		||||
        // stop from propagating upwards (dangerous, especially with ctrl+enter executable javascript notes)
 | 
			
		||||
        e.preventDefault();
 | 
			
		||||
        e.stopPropagation();
 | 
			
		||||
 
 | 
			
		||||
@@ -1552,7 +1552,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
 | 
			
		||||
        const hotKeyMap: Record<string, (node: Fancytree.FancytreeNode, e: JQuery.KeyDownEvent) => boolean> = {};
 | 
			
		||||
 | 
			
		||||
        for (const action of actions) {
 | 
			
		||||
            for (const shortcut of action.effectiveShortcuts) {
 | 
			
		||||
            for (const shortcut of action.effectiveShortcuts ?? []) {
 | 
			
		||||
                hotKeyMap[shortcutService.normalizeShortcut(shortcut)] = (node) => {
 | 
			
		||||
                    const notePath = treeService.getNotePath(node);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,8 @@ export default class DateTimeFormatOptions extends OptionsWidget {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    async optionsLoaded(options: OptionMap) {
 | 
			
		||||
        const shortcutKey = (await keyboardActionsService.getAction("insertDateTimeToText")).effectiveShortcuts.join(", ");
 | 
			
		||||
        const action = await keyboardActionsService.getAction("insertDateTimeToText");
 | 
			
		||||
        const shortcutKey = (action.effectiveShortcuts ?? []).join(", ");
 | 
			
		||||
        const $link = await linkService.createLink("_hidden/_options/_optionsShortcuts", {
 | 
			
		||||
            "title": shortcutKey,
 | 
			
		||||
            "showTooltip": false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user