From a8ca38814681266dc1c7f37ee554978495a07c19 Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 17 Mar 2014 14:33:02 +0000 Subject: [PATCH] Allow shift-click to select multiple versions --- .../coffee/track-changes/ChangeListView.coffee | 12 +++++++++++- .../web/public/stylesheets/less/trackchanges.less | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/services/web/public/coffee/track-changes/ChangeListView.coffee b/services/web/public/coffee/track-changes/ChangeListView.coffee index ac8e918622..22bb129e03 100644 --- a/services/web/public/coffee/track-changes/ChangeListView.coffee +++ b/services/web/public/coffee/track-changes/ChangeListView.coffee @@ -39,7 +39,10 @@ define [ view.$el.insertBefore(elementAtIndex) view.on "click", (e, v) => - @setSelectionRange(index, index) + if e.shiftKey + @selectRangeTo(index) + else + @setSelectionRange(index, index) view.on "selected:to", (e, v) => @setSelectionRange(@selectedFromIndex, index) @@ -74,6 +77,13 @@ define [ @resetAllSelectors() @triggerChangeDiff() + selectRangeTo: (index) -> + return unless @selectedFromIndex? and @selectedToIndex? + if index < @selectedToIndex + @setSelectionRange(@selectedFromIndex, index) + else + @setSelectionRange(index, @selectedToIndex) + resetAllSelectors: () -> for view, i in @itemViews view.resetSelector(i, @selectedFromIndex, @selectedToIndex) diff --git a/services/web/public/stylesheets/less/trackchanges.less b/services/web/public/stylesheets/less/trackchanges.less index aa1f697d76..4c1afa70a5 100644 --- a/services/web/public/stylesheets/less/trackchanges.less +++ b/services/web/public/stylesheets/less/trackchanges.less @@ -96,6 +96,10 @@ position: relative; border-bottom: 1px solid #ccc; cursor: pointer; + user-select: none; + -ms-user-select: none; + -moz-user-select: none; + -webkit-user-select: none; .change-selectors { .change-selector-from { position: absolute;