mirror of
https://github.com/zadam/trilium.git
synced 2025-10-12 00:18:26 +08:00
refactor(note_tree): improve type safety
This commit is contained in:
parent
bb55544f25
commit
f55e33f303
2 changed files with 10 additions and 10 deletions
2
apps/client/src/types-fancytree.d.ts
vendored
2
apps/client/src/types-fancytree.d.ts
vendored
|
@ -113,7 +113,7 @@ declare namespace Fancytree {
|
|||
generateFormElements(selected?: boolean, active?: boolean): void;
|
||||
|
||||
/** Return the currently active node or null. */
|
||||
getActiveNode(): FancytreeNode;
|
||||
getActiveNode(): FancytreeNode | null;
|
||||
|
||||
/** Return the first top level node if any (not the invisible root node). */
|
||||
getFirstChild(): FancytreeNode;
|
||||
|
|
|
@ -382,7 +382,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
if (event.shiftKey && !ctrlKey) {
|
||||
const activeNode = this.getActiveNode();
|
||||
|
||||
if (activeNode.getParent() !== node.getParent()) {
|
||||
if (activeNode?.getParent() !== node.getParent()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -729,7 +729,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
|
||||
shortcutService.bindElShortcut($(this.tree.$container), key, () => {
|
||||
const node = this.tree.getActiveNode();
|
||||
return handler(node, {} as JQuery.KeyDownEvent);
|
||||
return node && handler(node, {} as JQuery.KeyDownEvent);
|
||||
// return false from the handler will stop default handling.
|
||||
});
|
||||
}
|
||||
|
@ -921,8 +921,9 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
nodes.push(node);
|
||||
}
|
||||
|
||||
if (nodes.length === 0) {
|
||||
nodes.push(this.getActiveNode());
|
||||
const activeNode = this.getActiveNode();
|
||||
if (nodes.length === 0 && activeNode) {
|
||||
nodes.push(activeNode);
|
||||
}
|
||||
|
||||
// hidden subtree is hackily hidden via CSS when hoisted to root
|
||||
|
@ -967,9 +968,6 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
this.collapseTree();
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {FancytreeNode|null}
|
||||
*/
|
||||
getActiveNode() {
|
||||
return this.tree.getActiveNode();
|
||||
}
|
||||
|
@ -1219,7 +1217,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
}
|
||||
|
||||
const activeNode = this.getActiveNode();
|
||||
const activeNodeFocused = activeNode?.hasFocus();
|
||||
const activeNodeFocused = !!activeNode?.hasFocus();
|
||||
const activeNotePath = activeNode ? treeService.getNotePath(activeNode) : null;
|
||||
|
||||
const refreshCtx: RefreshContext = {
|
||||
|
@ -1531,7 +1529,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
|
||||
// Automatically expand the hoisted note by default
|
||||
const node = this.getActiveNode();
|
||||
if (node.data.noteId === this.noteContext.hoistedNoteId){
|
||||
if (node?.data.noteId === this.noteContext.hoistedNoteId){
|
||||
this.setExpanded(node.data.branchId, true);
|
||||
}
|
||||
}
|
||||
|
@ -1809,6 +1807,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
buildTouchBarCommand({ TouchBar, buildIcon }: CommandListenerData<"buildTouchBar">) {
|
||||
const triggerCommand = (command: TreeCommandNames) => {
|
||||
const node = this.getActiveNode();
|
||||
if (!node) return;
|
||||
const notePath = treeService.getNotePath(node);
|
||||
|
||||
this.triggerCommand<TreeCommandNames>(command, {
|
||||
|
@ -1825,6 +1824,7 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
|
|||
icon: buildIcon("NSImageNameTouchBarAddTemplate"),
|
||||
click: () => {
|
||||
const node = this.getActiveNode();
|
||||
if (!node) return;
|
||||
const notePath = treeService.getNotePath(node);
|
||||
noteCreateService.createNote(notePath, {
|
||||
isProtected: node.data.isProtected
|
||||
|
|
Loading…
Add table
Reference in a new issue