Fix some dragging bug on Opera. Fix the dump list wrapping on Chrome.

This commit is contained in:
Nicolas Stepien 2013-02-25 20:29:36 +01:00
parent 054777a754
commit 0ca98e684d
3 changed files with 17 additions and 25 deletions

File diff suppressed because one or more lines are too long

View File

@ -534,7 +534,7 @@ a[href="javascript:;"] {
top: 0; right: 0; bottom: 0; left: 0; top: 0; right: 0; bottom: 0; left: 0;
overflow: hidden; overflow: hidden;
position: absolute; position: absolute;
white-space: pre; white-space: nowrap;
} }
#dump-list:hover { #dump-list:hover {
bottom: -10px; bottom: -10px;
@ -561,6 +561,7 @@ a[href="javascript:;"] {
-webkit-transition: opacity .25s ease-in-out; -webkit-transition: opacity .25s ease-in-out;
transition: opacity .25s ease-in-out; transition: opacity .25s ease-in-out;
vertical-align: top; vertical-align: top;
white-space: pre;
} }
.qrpreview:hover, .qrpreview:focus { .qrpreview:hover, .qrpreview:focus {
opacity: .9; opacity: .9;

View File

@ -471,6 +471,8 @@ QR =
return return
dragStart: -> dragStart: ->
$.addClass @, 'drag' $.addClass @, 'drag'
dragEnd: ->
$.rmClass @, 'drag'
dragEnter: -> dragEnter: ->
$.addClass @, 'over' $.addClass @, 'over'
dragLeave: -> dragLeave: ->
@ -479,20 +481,15 @@ QR =
e.preventDefault() e.preventDefault()
e.dataTransfer.dropEffect = 'move' e.dataTransfer.dropEffect = 'move'
drop: -> drop: ->
el = $ '.drag', @parentNode el = $ '.drag', @parentNode
index = (el) -> Array::slice.call(el.parentNode.children).indexOf el index = (el) -> Array::slice.call(el.parentNode.children).indexOf el
oldIndex = index el oldIndex = index el
newIndex = index @ newIndex = index @
if oldIndex < newIndex $.rmClass el, 'drag' # Opera doesn't fire dragEnd if we drop it on something else
$.after @, el $.rmClass @, 'over'
else (if oldIndex < newIndex then $.after else $.before) @, el
$.before @, el
reply = QR.replies.splice(oldIndex, 1)[0] reply = QR.replies.splice(oldIndex, 1)[0]
QR.replies.splice newIndex, 0, reply QR.replies.splice newIndex, 0, reply
dragEnd: ->
$.rmClass @, 'drag'
if el = $ '.over', @parentNode
$.rmClass el, 'over'
rm: -> rm: ->
$.rm @nodes.el $.rm @nodes.el
index = QR.replies.indexOf @ index = QR.replies.indexOf @