diff --git a/TODO b/TODO index ef2f9e593..8730ffefc 100644 --- a/TODO +++ b/TODO @@ -21,6 +21,7 @@ Encryption: Bugs: - deleting cloned nodes ends with 500 (probably only on folders) +- Uncaught Error: cannot call methods on fancytree prior to initialization; attempted to call method 'getTree' Others: - dates should be stored in UTC to work correctly with time zones diff --git a/static/js/tree.js b/static/js/tree.js index ea59a6f86..eb30fdfd1 100644 --- a/static/js/tree.js +++ b/static/js/tree.js @@ -171,6 +171,52 @@ $(function(){ }); }); +function collapseTree() { + globalTree.fancytree("getRootNode").visit(function(node){ + node.setExpanded(false); + }); +} + +$(document).bind('keydown', 'alt+c', collapseTree); + +function scrollToCurrentNote() { + const node = getNodeByKey(globalCurrentNote.detail.note_id); + + if (node) { + node.makeVisible({scrollIntoView: true}); + + node.setFocus(); + } +} + +function showSearch() { + $("#search-box").show(); + + $("input[name=search]").focus(); +} + +$(document).bind('keydown', 'alt+s', showSearch); + +function toggleSearch() { + if ($("#search-box:hidden").length) { + showSearch(); + } + else { + resetSearch(); + + $("#search-box").hide(); + } +} + +function resetSearch() { + $("input[name=search]").val(""); + + const tree = globalTree.fancytree("getTree"); + tree.clearFilter(); +} + +$("button#btnResetSearch").click(resetSearch); + $("input[name=search]").keyup(function (e) { const searchString = $(this).val(); @@ -190,39 +236,4 @@ $("input[name=search]").keyup(function (e) { }); }); } -}).focus(); - -$("button#btnResetSearch").click(function () { - $("input[name=search]").val(""); - - const tree = globalTree.fancytree("getTree"); - tree.clearFilter(); -}); - -function collapseTree() { - globalTree.fancytree("getRootNode").visit(function(node){ - node.setExpanded(false); - }); -} - -function scrollToCurrentNote() { - const node = getNodeByKey(globalCurrentNote.detail.note_id); - - if (node) { - node.makeVisible({scrollIntoView: true}); - - node.setFocus(); - } -} - -$(document).bind('keydown', 'alt+s', function() { - $("#search-box").show(); - - $("input[name=search]").focus(); -}); - -function toggleSearch() { - $("#search-box").toggle(); -} - -$(document).bind('keydown', 'alt+c', collapseTree); \ No newline at end of file +}).focus(); \ No newline at end of file