Browse Source

Fix clicking on folded docs in the doc picker

Fixes #452.
Thibaut Courouble 9 years ago
parent
commit
68f7ce02aa
1 changed files with 5 additions and 6 deletions
  1. 5 6
      assets/javascripts/views/sidebar/doc_picker.coffee

+ 5 - 6
assets/javascripts/views/sidebar/doc_picker.coffee

@@ -8,6 +8,7 @@ class app.views.DocPicker extends app.View
 
   @events:
     click: 'onClick'
+    mousedown: 'onMouseDown'
 
   @shortcuts:
     enter: 'onEnter'
@@ -84,26 +85,24 @@ class app.views.DocPicker extends app.View
       input.name
 
   onClick: (event) =>
-    if @focusTimeout
-      clearTimeout @focusTimeout
-      @focusTimeout = null
     return if event.which isnt 1
     if event.target is @saveLink
       $.stopEvent(event)
       @save()
     return
 
+  onMouseDown: =>
+    @mouseDown = Date.now()
+
   onDOMFocus: (event) =>
     target = event.target
     if target.tagName is 'INPUT'
       $.scrollTo target.parentNode, null, 'continuous', bottomGap: 2
     else if target.classList.contains(app.views.ListFold.targetClass)
       target.blur()
-      @focusTimeout = setTimeout =>
+      unless @mouseDown and @mouseDown > Date.now() - 100
         @listFold.open(target) unless target.classList.contains(app.views.ListFold.activeClass)
         $('input', target.nextElementSibling).focus()
-        @focusTimeout = null
-      , 10
     return
 
   onEnter: =>