Fixed up the Add Feed and Add Folder functionality so that it functions again.

This commit is contained in:
Maurice Parker
2019-04-16 16:03:30 -05:00
parent 615e183242
commit 41926b4c69
5 changed files with 113 additions and 137 deletions

View File

@@ -10,15 +10,16 @@ import UIKit
import Account
import RSCore
class AddFolderViewController: UITableViewController {
class AddFolderViewController: UITableViewController, AddContainerViewControllerChild {
@IBOutlet weak var addButton: UIBarButtonItem!
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var accountLabel: UILabel!
@IBOutlet weak var accountPickerView: UIPickerView!
private var accounts: [Account]!
var delegate: AddContainerViewControllerChildDelegate?
override func viewDidLoad() {
super.viewDidLoad()
@@ -31,21 +32,25 @@ class AddFolderViewController: UITableViewController {
// I couldn't figure out the gap at the top of the UITableView, so I took a hammer to it.
tableView.contentInset = UIEdgeInsets(top: -28, left: 0, bottom: 0, right: 0)
NotificationCenter.default.addObserver(self, selector: #selector(textDidChange(_:)), name: UITextField.textDidChangeNotification, object: nameTextField)
}
@IBAction func cancel(_ sender: Any) {
dismiss(animated: true)
func cancel() {
delegate?.processingDidEnd()
}
@IBAction func add(_ sender: Any) {
func add() {
let account = accounts[accountPickerView.selectedRow(inComponent: 0)]
if let folderName = nameTextField.text {
account.ensureFolder(with: folderName)
}
dismiss(animated: true)
delegate?.processingDidEnd()
}
@objc func textDidChange(_ note: Notification) {
delegate?.readyToAdd(state: !(nameTextField.text?.isEmpty ?? false))
}
}
@@ -69,24 +74,3 @@ extension AddFolderViewController: UIPickerViewDataSource, UIPickerViewDelegate
}
}
extension AddFolderViewController: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
updateUI()
return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
updateUI()
}
}
private extension AddFolderViewController {
private func updateUI() {
addButton.isEnabled = !(nameTextField.text?.isEmpty ?? false)
}
}