95 lines
2.7 KiB
Swift
95 lines
2.7 KiB
Swift
//
|
|
// WebViewController.swift
|
|
// Befund
|
|
//
|
|
// Created by Artur Savitskiy on 31.08.22.
|
|
// Copyright © 2022 MVZ Dr. Stein und Kollegen. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
import WebKit
|
|
|
|
protocol UpdatingParentCheckBox: AnyObject {
|
|
var confirmCheckBox: CheckBoxButton! {get}
|
|
}
|
|
|
|
class WebViewController: UIViewController {
|
|
|
|
private let webView: WKWebView = {
|
|
let preferences = WKPreferences()
|
|
preferences.javaScriptEnabled = true
|
|
let configuration = WKWebViewConfiguration()
|
|
configuration.preferences = preferences
|
|
let webView = WKWebView(frame: .zero, configuration: configuration)
|
|
|
|
return webView
|
|
}()
|
|
|
|
private let url: URL
|
|
private let localUrl: URL
|
|
private let btnDoneTitle: String
|
|
|
|
public var parentView: UpdatingParentCheckBox? = nil
|
|
|
|
init(url: URL, title: String, localUrl: URL)
|
|
{
|
|
self.url = url
|
|
self.btnDoneTitle = title
|
|
self.localUrl = localUrl
|
|
super.init(nibName: nil, bundle: nil)
|
|
}
|
|
|
|
required init?(coder: NSCoder)
|
|
{
|
|
fatalError()
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
view.backgroundColor = .systemBackground
|
|
view.addSubview(webView)
|
|
webView.load(URLRequest(url: url))
|
|
configurateButtons()
|
|
}
|
|
|
|
private func configurateButtons()
|
|
{
|
|
|
|
let btnDone = UIButton(frame: CGRect(x: 0, y: 0, width: self.view.frame.width-30, height: 45))
|
|
btnDone.setTitle(btnDoneTitle, for: .normal)
|
|
btnDone.titleLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping
|
|
btnDone.titleLabel?.textAlignment = .center
|
|
btnDone.backgroundColor = UIColor(red: 153/255, green: 19/255, blue: 85/255, alpha: 1)
|
|
btnDone.setTitleColor(.white, for: .normal)
|
|
btnDone.layer.cornerRadius = 5
|
|
btnDone.clipsToBounds = true
|
|
btnDone.addTarget(self, action: #selector(didTapAccept), for: .touchUpInside)
|
|
let barButton = UIBarButtonItem(customView: btnDone)
|
|
|
|
navigationItem.leftBarButtonItem = barButton
|
|
}
|
|
|
|
@objc private func didTapAccept()
|
|
{
|
|
if (parentView!.confirmCheckBox != nil)
|
|
{
|
|
parentView!.confirmCheckBox.setChecked(flag: true)
|
|
|
|
let settings = Core.Models.Settings.loadFromFile(atPath: Core.System.SettingsPath())
|
|
if (!settings!.policyAGBExplained)
|
|
{
|
|
settings!.policyAGBExplained = true
|
|
_ = settings!.save(atPath: Core.System.SettingsPath())
|
|
}
|
|
}
|
|
|
|
dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
override func viewDidLayoutSubviews() {
|
|
super.viewDidLayoutSubviews()
|
|
webView.frame = view.bounds
|
|
}
|
|
|
|
}
|