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

View File

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