mirror of
https://github.com/Ranchero-Software/NetNewsWire.git
synced 2025-02-09 00:28:53 +01:00
Add code to show the Feed Inspector when the feed icon in the article view is pressed. Issue #1931
This commit is contained in:
parent
5e4ebb7298
commit
a48cbfe1ca
@ -22,6 +22,7 @@ class WebViewController: UIViewController {
|
|||||||
private struct MessageName {
|
private struct MessageName {
|
||||||
static let imageWasClicked = "imageWasClicked"
|
static let imageWasClicked = "imageWasClicked"
|
||||||
static let imageWasShown = "imageWasShown"
|
static let imageWasShown = "imageWasShown"
|
||||||
|
static let showFeedInspector = "showFeedInspector"
|
||||||
}
|
}
|
||||||
|
|
||||||
private var topShowBarsView: UIView!
|
private var topShowBarsView: UIView!
|
||||||
@ -345,6 +346,10 @@ extension WebViewController: WKScriptMessageHandler {
|
|||||||
clickedImageCompletion?()
|
clickedImageCompletion?()
|
||||||
case MessageName.imageWasClicked:
|
case MessageName.imageWasClicked:
|
||||||
imageWasClicked(body: message.body as? String)
|
imageWasClicked(body: message.body as? String)
|
||||||
|
case MessageName.showFeedInspector:
|
||||||
|
if let webFeed = article?.webFeed {
|
||||||
|
coordinator.showFeedInspector(for: webFeed)
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -440,6 +445,7 @@ private extension WebViewController {
|
|||||||
|
|
||||||
webView.configuration.userContentController.add(WrapperScriptMessageHandler(self), name: MessageName.imageWasClicked)
|
webView.configuration.userContentController.add(WrapperScriptMessageHandler(self), name: MessageName.imageWasClicked)
|
||||||
webView.configuration.userContentController.add(WrapperScriptMessageHandler(self), name: MessageName.imageWasShown)
|
webView.configuration.userContentController.add(WrapperScriptMessageHandler(self), name: MessageName.imageWasShown)
|
||||||
|
webView.configuration.userContentController.add(WrapperScriptMessageHandler(self), name: MessageName.showFeedInspector)
|
||||||
|
|
||||||
self.renderPage(webView)
|
self.renderPage(webView)
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ class ImageViewer {
|
|||||||
|
|
||||||
// Add the click listener for images
|
// Add the click listener for images
|
||||||
window.onclick = function(event) {
|
window.onclick = function(event) {
|
||||||
if (event.target.matches("img") && event.target.id != "nnwImageIcon") {
|
if (event.target.matches("img")) {
|
||||||
if (activeImageViewer && activeImageViewer.img === event.target) {
|
if (activeImageViewer && activeImageViewer.img === event.target) {
|
||||||
cancelImageLoad();
|
cancelImageLoad();
|
||||||
} else {
|
} else {
|
||||||
@ -130,6 +130,13 @@ function showClickedImage() {
|
|||||||
window.webkit.messageHandlers.imageWasShown.postMessage("");
|
window.webkit.messageHandlers.imageWasShown.postMessage("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showFeedInspectorSetup() {
|
||||||
|
document.getElementById("nnwImageIcon").onclick = function(event) {
|
||||||
|
window.webkit.messageHandlers.showFeedInspector.postMessage("");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function postRenderProcessing() {
|
function postRenderProcessing() {
|
||||||
ImageViewer.init();
|
ImageViewer.init();
|
||||||
|
showFeedInspectorSetup();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user