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.
Unified · Split
| @@ -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 | return | 39 | return |
| 40 | 40 | ||
| 41 | onDrag: (event) => | 41 | onDrag: (event) => |
| @@ -48,6 +48,7 @@ class app.views.Resizer extends app.View · 6 unmodified lines | |||
| 48 | return | 48 | 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/265 | 53 | if @lastDragValue and not (@lastDragValue - 5 < value < @lastDragValue + 5) # https://github.com/Thibaut/devdocs/issues/265 |
| 53 | value = @lastDragValue | 54 | value = @lastDragValue |