get new hover working in catalog
This commit is contained in:
parent
904af13063
commit
e1c9330250
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -311,7 +311,7 @@ UI = do ->
|
||||
$.off d, 'mouseup', @up
|
||||
$.set "#{@id}.position", @style.cssText
|
||||
|
||||
hoverstart = ({root, el, latestEvent, endEvents, asapTest, cb, offsetX, offsetY}) ->
|
||||
hoverstart = ({root, el, latestEvent, endEvents, asapTest, cb, offsetX, offsetY, noRemove}) ->
|
||||
o = {
|
||||
root
|
||||
el
|
||||
@ -323,6 +323,7 @@ UI = do ->
|
||||
clientWidth: doc.clientWidth
|
||||
offsetX: offsetX or 45
|
||||
offsetY: offsetY or -120
|
||||
noRemove
|
||||
}
|
||||
o.hover = hover.bind o
|
||||
o.hoverend = hoverend.bind o
|
||||
@ -339,7 +340,7 @@ UI = do ->
|
||||
$.on root, 'mousemove', o.hover
|
||||
<% if (type === 'userscript') { %>
|
||||
# Workaround for https://github.com/MayhemYDG/4chan-x/issues/377
|
||||
o.workaround = (e) -> o.hoverend() unless root.contains e.target
|
||||
o.workaround = (e) -> o.hoverend(e) unless root.contains e.target
|
||||
$.on doc, 'mousemove', o.workaround
|
||||
<% } %>
|
||||
|
||||
@ -368,7 +369,7 @@ UI = do ->
|
||||
|
||||
hoverend = (e) ->
|
||||
return if e.type is 'keydown' and e.keyCode isnt 13 or e.target.nodeName is "TEXTAREA"
|
||||
$.rm @el if @el.parentNode is Header.hover
|
||||
$.rm @el unless @noRemove
|
||||
$.off @root, @endEvents, @hoverend
|
||||
$.off d, 'keydown', @hoverend
|
||||
$.off @root, 'mousemove', @hover
|
||||
|
||||
@ -824,10 +824,15 @@ span.hide-announcement {
|
||||
/* File */
|
||||
.fileText:hover .fntrunc,
|
||||
.fileText:not(:hover) .fnfull,
|
||||
.expanded-image > .post > .file > .fileThumb > img[data-md5],
|
||||
:not(.expanded-image) > .post > .file .full-image:not(#ihover) {
|
||||
.expanded-image > .post > .file > .fileThumb > img[data-md5] {
|
||||
display: none;
|
||||
}
|
||||
.full-image:not(#ihover) {
|
||||
display: none;
|
||||
}
|
||||
.expanded-image > .post > .file .full-image:not(#ihover) {
|
||||
display: inline;
|
||||
}
|
||||
.expanding {
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ ImageExpand =
|
||||
video.pause()
|
||||
for eventName, cb of ImageExpand.videoCB
|
||||
$.off video, eventName, cb
|
||||
TrashQueue.add video
|
||||
TrashQueue.add video, post
|
||||
post.file.videoControls?.map($.rm)
|
||||
delete post.file.videoControls
|
||||
$.rmClass post.nodes.root, 'expanded-image'
|
||||
|
||||
@ -12,7 +12,7 @@ ImageHover =
|
||||
return unless @file?.isImage or @file?.isVideo
|
||||
$.on @file.thumb, 'mouseover', ImageHover.mouseover
|
||||
catalogNode: ->
|
||||
return unless @thread.OP.file?.isImage
|
||||
return unless @thread.OP.file?.isImage or @thread.OP.file?.isVideo
|
||||
$.on @nodes.thumb, 'mouseover', ImageHover.mouseover
|
||||
mouseover: (e) ->
|
||||
post = if $.hasClass @, 'thumb'
|
||||
@ -29,7 +29,10 @@ ImageHover =
|
||||
src: post.file.URL
|
||||
post.file.fullImage = el
|
||||
{thumb} = post.file
|
||||
$.after (if isVideo and Conf['Show Controls'] then thumb.parentNode else thumb), el
|
||||
if d.body.contains thumb
|
||||
$.after (if isVideo and Conf['Show Controls'] then thumb.parentNode else thumb), el
|
||||
else
|
||||
$.add Header.hover, el
|
||||
el.id = 'ihover'
|
||||
el.dataset.fullID = post.fullID
|
||||
if isVideo
|
||||
@ -44,10 +47,11 @@ ImageHover =
|
||||
latestEvent: e
|
||||
endEvents: 'mouseout click'
|
||||
asapTest: -> el[naturalHeight]
|
||||
noRemove: true
|
||||
cb: ->
|
||||
if isVideo
|
||||
el.pause()
|
||||
TrashQueue.add el
|
||||
TrashQueue.add el, post
|
||||
el.removeAttribute 'id'
|
||||
$.on el, 'error', ImageHover.error
|
||||
error: ->
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
TrashQueue =
|
||||
init: -> return
|
||||
|
||||
add: (video) ->
|
||||
if video isnt @killNext and @killNext
|
||||
post = Get.postFromNode @killNext
|
||||
delete post?.file?.fullImage
|
||||
add: (video, post) ->
|
||||
if @killNext and video isnt @killNext
|
||||
delete @killNextPost?.file?.fullImage
|
||||
$.rm @killNext
|
||||
@killNext = video
|
||||
@killNextPost = post
|
||||
|
||||
remove: (video) ->
|
||||
if video is @killNext
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user