From 48069dc89838780bc071d349abf9d451b752491c Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 24 Apr 2012 16:56:39 -0600 Subject: [PATCH] Right arrow expands the selected directory in TreeView --- spec/extensions/tree-view-spec.coffee | 14 ++++++++++++++ src/app/keymaps/tree-view.coffee | 4 ++++ src/extensions/tree-view.coffee | 5 +++++ 3 files changed, 23 insertions(+) create mode 100644 src/app/keymaps/tree-view.coffee diff --git a/spec/extensions/tree-view-spec.coffee b/spec/extensions/tree-view-spec.coffee index 36ba00973..e8ccf8b57 100644 --- a/spec/extensions/tree-view-spec.coffee +++ b/spec/extensions/tree-view-spec.coffee @@ -179,3 +179,17 @@ describe "TreeView", -> treeView.trigger 'move-up' expect(rootDirectoryView).toHaveClass 'selected' + describe "tree-view:expand-directory", -> + describe "when a directory entry is selected", -> + it "expands the current directory", -> + subdir = rootDirectoryView.find('.directory:first') + subdir.click() + + expect(subdir).not.toHaveClass 'expanded' + treeView.trigger 'tree-view:expand-directory' + expect(subdir).toHaveClass 'expanded' + + describe "when a file entry is selected", -> + it "does nothing", -> + rootDirectoryView.find('.file').click() + treeView.trigger 'tree-view:expand-directory' diff --git a/src/app/keymaps/tree-view.coffee b/src/app/keymaps/tree-view.coffee new file mode 100644 index 000000000..dd740c0bd --- /dev/null +++ b/src/app/keymaps/tree-view.coffee @@ -0,0 +1,4 @@ +window.keymap.bindKeys '.tree-view' + 'right': 'tree-view:expand-directory' + 'left': 'tree-view:contract-directory' + diff --git a/src/extensions/tree-view.coffee b/src/extensions/tree-view.coffee index 03ce4f86e..f4764b69b 100644 --- a/src/extensions/tree-view.coffee +++ b/src/extensions/tree-view.coffee @@ -21,6 +21,7 @@ class TreeView extends View @on 'move-up', => @moveUp() @on 'move-down', => @moveDown() + @on 'tree-view:expand-directory', => @expandDirectory() @rootView.on 'active-editor-path-change', => @selectActiveFile() selectActiveFile: -> @@ -45,6 +46,10 @@ class TreeView extends View else @selectEntry(@find('.entry').last()) + expandDirectory: -> + selectedEntry = @selectedEntry() + selectedEntry.view().expand() if selectedEntry.is('.directory') + selectedEntry: -> @find('.selected')