mirror of
https://github.com/john-okeefe/foliate-js.git
synced 2026-09-09 11:29:14 -04:00
Replace deselect with more general content access method
This commit is contained in:
+5
-3
@@ -279,9 +279,11 @@ export class FixedLayout extends HTMLElement {
|
||||
if (s) this.#reportLocation()
|
||||
else return this.goToSpread(this.#index - 1, this.rtl ? 'left' : 'right')
|
||||
}
|
||||
deselect() {
|
||||
for (const frame of this.#root.querySelectorAll('iframe'))
|
||||
frame.contentWindow.getSelection().removeAllRanges()
|
||||
getContents() {
|
||||
return Array.from(this.#root.querySelectorAll('iframe'), frame => ({
|
||||
doc: frame.contentDocument,
|
||||
// TODO: index, overlayer
|
||||
}))
|
||||
}
|
||||
destroy() {
|
||||
this.#observer.unobserve(this)
|
||||
|
||||
+4
-7
@@ -792,12 +792,13 @@ export class Paginator extends HTMLElement {
|
||||
const index = this.sections.findLastIndex(section => section.linear !== 'no')
|
||||
return this.goTo({ index })
|
||||
}
|
||||
getOverlayer() {
|
||||
if (this.#view) return {
|
||||
getContents() {
|
||||
if (this.#view) return [{
|
||||
index: this.#index,
|
||||
overlayer: this.#view.overlayer,
|
||||
doc: this.#view.document,
|
||||
}
|
||||
}]
|
||||
return []
|
||||
}
|
||||
setStyle(styles) {
|
||||
const $$styles = this.#styleMap.get(this.#view?.document)
|
||||
@@ -809,10 +810,6 @@ export class Paginator extends HTMLElement {
|
||||
$style.textContent = style
|
||||
} else $style.textContent = styles
|
||||
}
|
||||
deselect() {
|
||||
const sel = this.#view.document.defaultView.getSelection()
|
||||
sel.removeAllRanges()
|
||||
}
|
||||
destroy() {
|
||||
this.#observer.unobserve(this)
|
||||
}
|
||||
|
||||
@@ -148,8 +148,8 @@ export class View extends HTMLElement {
|
||||
return this.addAnnotation(annotation, true)
|
||||
}
|
||||
#getOverlayer(index) {
|
||||
const obj = this.renderer.getOverlayer()
|
||||
if (obj.index === index) return obj
|
||||
return this.renderer.getContents()
|
||||
.find(x => x.index === index && x.overlayer)
|
||||
}
|
||||
#createOverlayer({ doc, index }) {
|
||||
const overlayer = new Overlayer()
|
||||
@@ -218,7 +218,8 @@ export class View extends HTMLElement {
|
||||
}
|
||||
}
|
||||
deselect() {
|
||||
return this.renderer.deselect?.()
|
||||
for (const { doc } of this.renderer.getContents())
|
||||
doc.defaultView.getSelection().removeAllRanges()
|
||||
}
|
||||
async getTOCItemOf(target) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user