You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.2 KiB
89 lines
2.2 KiB
//
|
|
// WebLinksViewController.swift
|
|
//
|
|
//
|
|
// Created by shishir sapkota
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
import Alamofire
|
|
|
|
class WebLinksViewController: UIViewController {
|
|
|
|
// MARK: Properties
|
|
|
|
// MARK: Outlets
|
|
|
|
// @IBOutlet weak var webView: UIWebView!
|
|
// @IBOutlet weak var activityIndicator: UIActivityIndicatorView!
|
|
|
|
var navTitle: String = ""
|
|
var url: String?
|
|
var titleString: String = ""
|
|
// MARK: VC's Life cycle
|
|
|
|
var webView: UIWebView?
|
|
var activityIndicator: UIActivityIndicatorView?
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
let barButton = UIBarButtonItem.init(
|
|
title: "penny_test_close_text".localized(),
|
|
style: UIBarButtonItem.Style.plain,
|
|
target: self,
|
|
action: #selector(self.cancel)
|
|
)
|
|
|
|
self.navigationItem.rightBarButtonItem = barButton
|
|
webView = UIWebView(frame: self.view.frame)
|
|
webView?.delegate = self
|
|
activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)
|
|
activityIndicator?.center = self.view.center
|
|
self.view.addSubview(webView!)
|
|
self.view.addSubview(activityIndicator!)
|
|
}
|
|
|
|
private func setupWebView() {
|
|
self.webView?.delegate = self
|
|
}
|
|
|
|
// MARK: IBActions
|
|
|
|
override func viewWillAppear(_ animated: Bool) {
|
|
self.navigationItem.title = titleString
|
|
self.openURLInWebView()
|
|
}
|
|
|
|
@objc func cancel() {
|
|
self.dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
func openURLInWebView() {
|
|
if NetworkReachabilityManager()?.isReachable == true {
|
|
if let url = URL.init(string: self.url ?? "") {
|
|
let request = URLRequest(url: url)
|
|
|
|
webView?.loadRequest(request)
|
|
}
|
|
} else {
|
|
self.alert(type: .error, message: "no_internet_connection_error".localized(), title: "")
|
|
}
|
|
}
|
|
}
|
|
|
|
// MARK: UIWebViewDelegate
|
|
extension WebLinksViewController: UIWebViewDelegate {
|
|
func webViewDidStartLoad(_ webView: UIWebView) {
|
|
self.activityIndicator?.startAnimating()
|
|
}
|
|
|
|
func webViewDidFinishLoad(_ webView: UIWebView) {
|
|
self.activityIndicator?.stopAnimating()
|
|
}
|
|
|
|
func webView(_ webView: UIWebView, didFailLoadWithError error: Error) {
|
|
self.activityIndicator?.stopAnimating()
|
|
self.alert(type: .error, message: error.localizedDescription)
|
|
}
|
|
}
|