// // InheritanceViewShare.swift // PayCash // // Created by Igor on 15.03.2021. // Copyright © 2021 AM. All rights reserved. // import UIKit class InheritanceViewShare: CommonViewCustom { @IBOutlet private weak var accountTextField: CommonTextField! @IBOutlet private weak var valueTextField: CommonTextField! var share: Inheritance.Model.Share { didSet { reload() } } let completion: (Inheritance.Model.Share) -> Void var showDelete = false { didSet { accountTextField.accessoryView = showDelete ? .button( style: .tertiary, title: L10n.Common.Button.delete, image: Asset.inheritanceDelete.image, size: .small ) { [unowned self] in completion(share) } : nil } } init(share: Inheritance.Model.Share, delete: @escaping (Inheritance.Model.Share) -> Void) { self.share = share self.completion = delete super.init(frame: .zero) reload() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func update(error: String?) { if let error = error { if valueTextField.isFirstResponder { valueTextField.error = error } } else { valueTextField.error = nil } } func reload() { accountTextField.value = share.account valueTextField.value = share.value?.toString(max: 1) ?? "" } override func setup() { super.setup() accountTextField.action = .autocomplete( icon: Asset.commonArrowDown.image, title: L10n.Resources.Setup.Account.select, service: Account.Service.Contacts() ) { [unowned self] in endEditing(true);share.account = $0.uuid } valueTextField.keyboardType = .decimalPad valueTextField.precision = 1 valueTextField.suffix = "%" valueTextField.delegate = self } } extension InheritanceViewShare: CommonTextFieldDelegate { func textFieldDidChange(_ textField: CommonTextField) { share.value = ["", "0", "0.0", "0.00"].contains(textField.value) ? nil : textField.value.toDouble() } }