|
@@ -39,7 +39,10 @@ define [
|
|
|
view.$el.insertBefore(elementAtIndex)
|
|
view.$el.insertBefore(elementAtIndex)
|
|
|
|
|
|
|
|
view.on "click", (e, v) =>
|
|
view.on "click", (e, v) =>
|
|
|
- @setSelectionRange(index, index)
|
|
|
|
|
|
|
+ if e.shiftKey
|
|
|
|
|
+ @selectRangeTo(index)
|
|
|
|
|
+ else
|
|
|
|
|
+ @setSelectionRange(index, index)
|
|
|
|
|
|
|
|
view.on "selected:to", (e, v) =>
|
|
view.on "selected:to", (e, v) =>
|
|
|
@setSelectionRange(@selectedFromIndex, index)
|
|
@setSelectionRange(@selectedFromIndex, index)
|
|
@@ -74,6 +77,13 @@ define [
|
|
|
@resetAllSelectors()
|
|
@resetAllSelectors()
|
|
|
@triggerChangeDiff()
|
|
@triggerChangeDiff()
|
|
|
|
|
|
|
|
|
|
+ selectRangeTo: (index) ->
|
|
|
|
|
+ return unless @selectedFromIndex? and @selectedToIndex?
|
|
|
|
|
+ if index < @selectedToIndex
|
|
|
|
|
+ @setSelectionRange(@selectedFromIndex, index)
|
|
|
|
|
+ else
|
|
|
|
|
+ @setSelectionRange(index, @selectedToIndex)
|
|
|
|
|
+
|
|
|
resetAllSelectors: () ->
|
|
resetAllSelectors: () ->
|
|
|
for view, i in @itemViews
|
|
for view, i in @itemViews
|
|
|
view.resetSelector(i, @selectedFromIndex, @selectedToIndex)
|
|
view.resetSelector(i, @selectedFromIndex, @selectedToIndex)
|