Skip to content

Commit cf68d97

Browse files
committed
Rename TargetElementInfo to TargetElement
1 parent e6b86d0 commit cf68d97

File tree

8 files changed

+21
-33
lines changed

8 files changed

+21
-33
lines changed

Sources/Navigator/EPUB/Assets/Static/scripts/readium-fixed.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/Navigator/EPUB/Assets/Static/scripts/readium-reflowable.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Sources/Navigator/EPUB/EPUBNavigatorViewController.swift

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1129,13 +1129,8 @@ extension EPUBNavigatorViewController: EPUBSpreadViewDelegate {
11291129
Task {
11301130
var event = event
11311131
event.location = view.convert(event.location, from: spreadView)
1132-
if let info = event.targetElementInfo {
1133-
event.targetElementInfo = PointerEvent.TargetElementInfo(
1134-
tag: info.tag,
1135-
src: info.src,
1136-
alt: info.alt,
1137-
frame: view.convert(info.frame, from: spreadView)
1138-
)
1132+
if let frame = event.targetElement?.frame {
1133+
event.targetElement?.frame = view.convert(frame, from: spreadView)
11391134
}
11401135
_ = await inputObservers.didReceive(event)
11411136
}

Sources/Navigator/EPUB/EPUBSpreadView.swift

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -241,21 +241,16 @@ class EPUBSpreadView: UIView, Loggable, PageView {
241241

242242
event.location = convertPointToNavigatorSpace(event.location)
243243

244-
if var info = PointerEvent.TargetElementInfo(json: json["targetElementInfo"]) {
244+
if var targetElement = PointerEvent.TargetElement(json: json["targetElement"]) {
245245
// The src from JS is a fully-resolved readium:// URL.
246246
// Relativize it against the publication base URL to get a
247247
// publication-relative href usable with Publication.get().
248-
let relativeSrc: String? = info.src.flatMap { src in
248+
targetElement.src = targetElement.src.flatMap { src in
249249
guard let srcURL = URL(string: src) else { return src }
250250
return viewModel.publicationBaseURL.relativize(srcURL)?.string ?? src
251251
}
252-
info = PointerEvent.TargetElementInfo(
253-
tag: info.tag,
254-
src: relativeSrc,
255-
alt: info.alt,
256-
frame: convertRectToNavigatorSpace(info.frame)
257-
)
258-
event.targetElementInfo = info
252+
targetElement.frame = convertRectToNavigatorSpace(targetElement.frame)
253+
event.targetElement = targetElement
259254
}
260255

261256
delegate?.spreadView(self, didReceive: event)
@@ -726,8 +721,8 @@ private extension PointerEvent {
726721
}
727722
}
728723

729-
/// Produced by gestures.js `extractTargetElementInfo`
730-
extension PointerEvent.TargetElementInfo {
724+
/// Produced by gestures.js `extractTargetElement`
725+
extension PointerEvent.TargetElement {
731726
init?(json: Any?) {
732727
guard
733728
let dict = json as? [String: Any],

Sources/Navigator/EPUB/Scripts/src/gestures.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,8 @@ function onPointerEvent(phase, event) {
8282
x: point.x,
8383
y: point.y,
8484
buttons: event.buttons,
85-
targetElement: event.target.outerHTML,
8685
interactiveElement: findNearestInteractiveElement(event.target),
87-
targetElementInfo: extractTargetElementInfo(event.target),
86+
targetElement: extractTargetElement(event.target),
8887
option: event.altKey,
8988
control: event.ctrlKey,
9089
shift: event.shiftKey,
@@ -109,8 +108,8 @@ function onPointerEvent(phase, event) {
109108
///
110109
/// Returns an object with the element's bounding rectangle, tag name, and
111110
/// media source URL if available. This information is used on the Swift side
112-
/// to build a `TargetElementInfo`.
113-
function extractTargetElementInfo(element) {
111+
/// to build a `TargetElement`.
112+
function extractTargetElement(element) {
114113
if (!element || !element.getBoundingClientRect) {
115114
return null;
116115
}

Sources/Navigator/Input/Pointer/PointerEvent.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@ public struct PointerEvent: Equatable {
2424
///
2525
/// This is typically provided by the EPUB navigator's JavaScript bridge
2626
/// when the pointer is over a media element (img, svg, video, etc.).
27-
public var targetElementInfo: TargetElementInfo?
27+
public var targetElement: TargetElement?
2828

2929
/// Metadata about the DOM element under a pointer event, extracted from
3030
/// the JavaScript layer.
31-
public struct TargetElementInfo: Equatable {
31+
public struct TargetElement: Equatable {
3232
/// Tag name of the element (e.g. "img", "svg").
33-
public let tag: String
33+
public var tag: String
3434

3535
/// Source URL of the media element, if available.
36-
public let src: String?
36+
public var src: String?
3737

3838
/// Alt text of the element, if available.
39-
public let alt: String?
39+
public var alt: String?
4040

4141
/// Frame of the element relative to the navigator's view.
42-
public let frame: CGRect
42+
public var frame: CGRect
4343

4444
public init(tag: String, src: String?, alt: String? = nil, frame: CGRect) {
4545
self.tag = tag

TestApp/Sources/Reader/Common/ImagePreview/ImagePreviewNavigationController.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ final class ImagePreviewNavigationController: UINavigationController {
2727
// MARK: - ImagePreviewTransitioning
2828

2929
extension ImagePreviewNavigationController: ImagePreviewTransitioning {
30-
3130
func prepareForTransition(isPresenting: Bool) {
3231
(topViewController as? ImagePreviewTransitioning)?
3332
.prepareForTransition(isPresenting: isPresenting)

TestApp/Sources/Reader/Common/VisualReaderViewController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class VisualReaderViewController<N: UIViewController & Navigator>: ReaderViewCon
8989
navigator.addObserver(.tap { [weak self] event in
9090
guard
9191
let self,
92-
let info = event.targetElementInfo,
92+
let info = event.targetElement,
9393
info.src != nil
9494
else {
9595
return false
@@ -215,7 +215,7 @@ class VisualReaderViewController<N: UIViewController & Navigator>: ReaderViewCon
215215

216216
// MARK: - VisualNavigatorDelegate
217217

218-
private func presentImagePreview(elementInfo info: PointerEvent.TargetElementInfo) {
218+
private func presentImagePreview(elementInfo info: PointerEvent.TargetElement) {
219219
guard let src = info.src else { return }
220220
let link = Link(href: src)
221221
// Convert the element frame from the navigator's coordinate space to

0 commit comments

Comments
 (0)