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
44 @events:
55 dragstart: 'onDragStart'
66 dragend: 'onDragEnd'
7− drag: 'onDrag'
87
98 @isSupported: ->
109 'ondragstart' of document.createElement('div') and !app.isMobile()
@@ -36,6 +35,7 @@ class app.views.Resizer extends app.View · 25 unmodified lines
3635 @style.removeAttribute('disabled')
3736 event.dataTransfer.effectAllowed = 'link'
3837 event.dataTransfer.setData('Text', '')
38+ window.addEventListener("dragover", @onDrag);
3939 return
4040
4141 onDrag: (event) =>
@@ -48,6 +48,7 @@ class app.views.Resizer extends app.View · 6 unmodified lines
4848 return
4949
5050 onDragEnd: (event) =>
51+ window.removeEventListener("dragover", @onDrag);
5152 value = event.pageX or (event.screenX - window.screenX)
5253 if @lastDragValue and not (@lastDragValue - 5 < value < @lastDragValue + 5) # https://github.com/Thibaut/devdocs/issues/265
5354 value = @lastDragValue