From a42a82c8c0e72999e9abaabe28ad2a59d21ded94 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 13 Feb 2013 17:27:53 -0800 Subject: [PATCH] Collapse selected path with left arrow --- src/packages/command-panel/keymaps/command-panel.cson | 3 +++ src/packages/command-panel/lib/preview-list.coffee | 7 +++++++ src/packages/command-panel/spec/command-panel-spec.coffee | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/src/packages/command-panel/keymaps/command-panel.cson b/src/packages/command-panel/keymaps/command-panel.cson index e1c9ab1db..d0c7f1b58 100644 --- a/src/packages/command-panel/keymaps/command-panel.cson +++ b/src/packages/command-panel/keymaps/command-panel.cson @@ -16,3 +16,6 @@ '.command-panel': 'ctrl-{': 'command-panel:collapse-all' 'ctrl-}': 'command-panel:expand-all' + +'.command-panel .preview-list': + 'left': 'command-panel:collapse-result' diff --git a/src/packages/command-panel/lib/preview-list.coffee b/src/packages/command-panel/lib/preview-list.coffee index e473000ed..23b653069 100644 --- a/src/packages/command-panel/lib/preview-list.coffee +++ b/src/packages/command-panel/lib/preview-list.coffee @@ -25,6 +25,13 @@ class PreviewList extends ScrollView @on 'mousedown', 'li.path', @onPathSelected @command 'command-panel:collapse-all', => @collapseAllPaths() @command 'command-panel:expand-all', => @expandAllPaths() + @command 'command-panel:collapse-result', @collapseSelectedPath + + collapseSelectedPath: (event) => + e = $('.selected').closest('.path') + return if e.hasClass 'is-collapsed' + e.children('ul.matches').hide 100, (e) -> + $(this).closest('li.path').add 'is-collapsed' onPathSelected: (event) => e = $(event.target) diff --git a/src/packages/command-panel/spec/command-panel-spec.coffee b/src/packages/command-panel/spec/command-panel-spec.coffee index aab4f3d22..797fc0c33 100644 --- a/src/packages/command-panel/spec/command-panel-spec.coffee +++ b/src/packages/command-panel/spec/command-panel-spec.coffee @@ -478,3 +478,10 @@ describe "CommandPanel", -> previewList.find('li.path:first-child').mousedown() expect(previewList.find('li.path:first-child ul.matches')).toBeVisible() + + describe "when command-panel:collapse-result is triggered", -> + it "collapses the path of the selected operation", -> + rootView.attachToDom() + expect(previewList.find('li.path:first-child ul.matches')).toBeVisible() + previewList.trigger 'command-panel:collapse-result' + expect(previewList.find('li.path:first-child ul.matches')).toBeHidden()