History

Fix resizing left side list in Firefox

In Firefox drag events, different coordinates are always zeros. This change will add window level dragover listener inside dragstart handler of the resizer and removes the listener in dragend handler. With this change resizing the list works for Firefox and for Chrome.

Miko Nieminen committed 10 years ago

Commit 1a046561 parent d4831ea1 file · +2 −1Browse files

Unified · Split

assets/javascripts/views/layout/resizer.coffee+2−1
@@ -4,7 +4,6 @@ class app.views.Resizer extends app.View · 3 unmodified lines
4 @events:4 @events:
5 dragstart: 'onDragStart'5 dragstart: 'onDragStart'
6 dragend: 'onDragEnd'6 dragend: 'onDragEnd'
7 drag: 'onDrag'
8 7
9 @isSupported: ->8 @isSupported: ->
10 'ondragstart' of document.createElement('div') and !app.isMobile()9 'ondragstart' of document.createElement('div') and !app.isMobile()
@@ -36,6 +35,7 @@ class app.views.Resizer extends app.View · 25 unmodified lines
36 @style.removeAttribute('disabled')35 @style.removeAttribute('disabled')
37 event.dataTransfer.effectAllowed = 'link'36 event.dataTransfer.effectAllowed = 'link'
38 event.dataTransfer.setData('Text', '')37 event.dataTransfer.setData('Text', '')
38 window.addEventListener("dragover", @onDrag);
39 return39 return
40 40
41 onDrag: (event) =>41 onDrag: (event) =>
@@ -48,6 +48,7 @@ class app.views.Resizer extends app.View · 6 unmodified lines
48 return48 return
49 49
50 onDragEnd: (event) =>50 onDragEnd: (event) =>
51 window.removeEventListener("dragover", @onDrag);
51 value = event.pageX or (event.screenX - window.screenX)52 value = event.pageX or (event.screenX - window.screenX)
52 if @lastDragValue and not (@lastDragValue - 5 < value < @lastDragValue + 5) # https://github.com/Thibaut/devdocs/issues/26553 if @lastDragValue and not (@lastDragValue - 5 < value < @lastDragValue + 5) # https://github.com/Thibaut/devdocs/issues/265
53 value = @lastDragValue54 value = @lastDragValue