"use strict"; const treeUtils = (function() { const treeEl = $("#tree"); function getParentKey(node) { return (node.getParent() === null || node.getParent().key === "root_1") ? "root" : node.getParent().key; } function getParentProtectedStatus(node) { return node.getParent() === null ? 0 : node.getParent().data.is_protected; } function getNodeByKey(noteId) { return treeEl.fancytree('getNodeByKey', noteId); } function activateNode(noteId) { const node = treeUtils.getNodeByKey(noteId); node.setActive(); } function getNoteTitle(noteId) { const note = treeUtils.getNodeByKey(noteId); if (!note) { return; } let noteTitle = note.title; if (noteTitle.endsWith(" (clone)")) { noteTitle = noteTitle.substr(0, noteTitle.length - 8); } return noteTitle; } function getFullName(noteId) { let note = treeUtils.getNodeByKey(noteId); if (note === null) { return "[unknown]"; } // why? if (note.data.is_clone) { return null; } const path = []; while (note) { path.push(note.title); note = note.getParent(); } // remove "root" element path.pop(); return path.reverse().join(" > "); } return { getParentKey, getParentProtectedStatus, getNodeByKey, activateNode, getNoteTitle, getFullName }; })();