mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Avoid error when selecting a non-existent range wrapper
This commit is contained in:
parent
60e8ddf968
commit
1f124726c2
@ -60,12 +60,17 @@ def unwrap_all_crw():
|
||||
|
||||
def select_crw(crw):
|
||||
nodes = document.querySelectorAll(f'span[data-calibre-range-wrapper="{crw}"]')
|
||||
r = document.createRange()
|
||||
r.setStart(nodes[0].firstChild, 0)
|
||||
r.setEnd(nodes[-1].lastChild, nodes[-1].lastChild.nodeValue.length)
|
||||
sel = window.getSelection()
|
||||
sel.removeAllRanges()
|
||||
sel.addRange(r)
|
||||
if nodes and nodes.length:
|
||||
r = document.createRange()
|
||||
r.setStart(nodes[0].firstChild, 0)
|
||||
r.setEnd(nodes[-1].lastChild, nodes[-1].lastChild.nodeValue.length)
|
||||
sel = window.getSelection()
|
||||
sel.removeAllRanges()
|
||||
sel.addRange(r)
|
||||
return True
|
||||
else:
|
||||
print(f'range-wrapper: {crw} does not exist')
|
||||
return False
|
||||
|
||||
|
||||
def create_wrapper_function(wrapper_elem, r, intersecting_wrappers, process_wrapper):
|
||||
|
@ -730,8 +730,7 @@ class IframeBoss:
|
||||
set_selection_style(data.style)
|
||||
elif data.type is 'edit-highlight':
|
||||
crw_ = {v: k for k, v in Object.entries(annot_id_uuid_map)}[data.uuid]
|
||||
if crw_:
|
||||
select_crw(crw_)
|
||||
if crw_ and select_crw(crw_):
|
||||
self.ensure_selection_visible()
|
||||
self.initiate_creation_of_annotation(data.uuid)
|
||||
elif data.type is 'remove-highlight':
|
||||
|
Loading…
x
Reference in New Issue
Block a user