Trim quoted text to be fully inside post. #1108
Also add multirange support because why not.
This commit is contained in:
parent
fe6a8336fa
commit
c971496f51
@ -297,9 +297,20 @@ QR =
|
|||||||
return unless QR.postingIsEnabled
|
return unless QR.postingIsEnabled
|
||||||
sel = d.getSelection()
|
sel = d.getSelection()
|
||||||
post = Get.postFromNode @
|
post = Get.postFromNode @
|
||||||
|
{root} = post.nodes
|
||||||
|
postRange = new Range()
|
||||||
|
postRange.selectNode root
|
||||||
text = if post.board.ID is g.BOARD.ID then ">>#{post}\n" else ">>>/#{post.board}/#{post}\n"
|
text = if post.board.ID is g.BOARD.ID then ">>#{post}\n" else ">>>/#{post.board}/#{post}\n"
|
||||||
if sel.toString().trim() and post is Get.postFromNode sel.anchorNode
|
for i in [0...sel.rangeCount]
|
||||||
range = sel.getRangeAt 0
|
range = sel.getRangeAt i
|
||||||
|
# Trim range to be fully inside post
|
||||||
|
if range.compareBoundaryPoints(Range.START_TO_START, postRange) < 0
|
||||||
|
range.setStartBefore root
|
||||||
|
if range.compareBoundaryPoints(Range.END_TO_END, postRange) > 0
|
||||||
|
range.setEndAfter root
|
||||||
|
|
||||||
|
continue unless range.toString().trim()
|
||||||
|
|
||||||
frag = range.cloneContents()
|
frag = range.cloneContents()
|
||||||
ancestor = range.commonAncestorContainer
|
ancestor = range.commonAncestorContainer
|
||||||
# Quoting the insides of a spoiler/code tag.
|
# Quoting the insides of a spoiler/code tag.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user