Create and use DetailWebViewControllerDelegate.
This commit is contained in:
parent
15d682e0ff
commit
2dfec50261
|
@ -153,15 +153,20 @@ extension DetailViewController: WKScriptMessageHandler {
|
|||
mouseDidExit(link)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private func mouseDidEnter(_ link: String) {
|
||||
// MARK: DetailWebViewControllerDelegate
|
||||
|
||||
extension DetailViewController: DetailWebViewControllerDelegate {
|
||||
|
||||
func mouseDidEnter(_ link: String) {
|
||||
guard !link.isEmpty else {
|
||||
return
|
||||
}
|
||||
statusBarView.mouseoverLink = link
|
||||
}
|
||||
|
||||
private func mouseDidExit(_ link: String) {
|
||||
func mouseDidExit(_ link: String) {
|
||||
statusBarView.mouseoverLink = nil
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,8 +17,14 @@ enum DetailWebViewState: Equatable {
|
|||
case article(Article)
|
||||
}
|
||||
|
||||
protocol DetailWebViewControllerDelegate: class {
|
||||
func mouseDidEnter(_ link: String)
|
||||
func mouseDidExit(_ link: String)
|
||||
}
|
||||
|
||||
final class DetailWebViewController: NSViewController, WKUIDelegate {
|
||||
|
||||
weak var delegate: DetailWebViewControllerDelegate?
|
||||
var webview: DetailWebView!
|
||||
var state: DetailWebViewState = .noSelection {
|
||||
didSet {
|
||||
|
@ -66,25 +72,13 @@ final class DetailWebViewController: NSViewController, WKUIDelegate {
|
|||
extension DetailWebViewController: WKScriptMessageHandler {
|
||||
|
||||
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
|
||||
|
||||
if message.name == MessageName.mouseDidEnter, let link = message.body as? String {
|
||||
mouseDidEnter(link)
|
||||
delegate?.mouseDidEnter(link)
|
||||
}
|
||||
else if message.name == MessageName.mouseDidExit, let link = message.body as? String{
|
||||
mouseDidExit(link)
|
||||
delegate?.mouseDidExit(link)
|
||||
}
|
||||
}
|
||||
|
||||
private func mouseDidEnter(_ link: String) {
|
||||
guard !link.isEmpty else {
|
||||
return
|
||||
}
|
||||
// statusBarView.mouseoverLink = link
|
||||
}
|
||||
|
||||
private func mouseDidExit(_ link: String) {
|
||||
// statusBarView.mouseoverLink = nil
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - WKNavigationDelegate
|
||||
|
|
Loading…
Reference in New Issue