Fix clicking on folded docs in the doc picker

Fixes #452.
pull/417/merge
Thibaut Courouble 9 years ago
parent 6f16945418
commit 68f7ce02aa

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

Loading…
Cancel
Save