From 88110b6508c8aa7a985b09098cb0b28f3b655747 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Wed, 9 Dec 2020 14:58:46 -0500 Subject: [PATCH] formatting improvement. testing logic. --- MVMCoreUI.xcodeproj/project.pbxproj | 4 ++-- MVMCoreUI/Atomic/Atoms/Buttons/Link/Link.swift | 9 +++------ MVMCoreUI/Atomic/Atoms/Buttons/Link/LinkModel.swift | 4 ++++ .../TextFields/BaseDropdownEntryFieldModel.swift | 4 +--- .../TextFields/DateDropdownEntryField.swift | 4 ++-- .../TextFields/DateDropdownEntryFieldModel.swift | 4 +--- .../FormFields/TextFields/DigitEntryFieldModel.swift | 4 +--- .../Atoms/FormFields/TextFields/EntryField.swift | 4 +--- .../Atoms/FormFields/TextFields/EntryFieldModel.swift | 8 +++++--- .../TextFields/ItemDropdownEntryField.swift | 6 ++---- .../FormFields/TextFields/MdnEntryFieldModel.swift | 4 +--- .../Atoms/FormFields/TextFields/TextEntryField.swift | 11 +++++------ .../FormFields/TextFields/TextEntryFieldModel.swift | 4 +--- 13 files changed, 29 insertions(+), 41 deletions(-) diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index e97e3b20..9194a70a 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -2024,10 +2024,10 @@ D29DF22B21E6A0FA003B2FB9 /* TextFields */ = { isa = PBXGroup; children = ( - 0A7EF85C23D8A95600B2AAD1 /* TextEntryFieldModel.swift */, - 0A41BA7E23453A6400D4C0BC /* TextEntryField.swift */, 0A7EF85A23D8A52800B2AAD1 /* EntryFieldModel.swift */, 0A21DB7E235DECC500C160A2 /* EntryField.swift */, + 0A7EF85C23D8A95600B2AAD1 /* TextEntryFieldModel.swift */, + 0A41BA7E23453A6400D4C0BC /* TextEntryField.swift */, 0A7EF85E23D8ABC500B2AAD1 /* MdnEntryFieldModel.swift */, 0A21DB82235DFBC500C160A2 /* MdnEntryField.swift */, 0A8321AE2355FE9500CB7F00 /* DigitBox.swift */, diff --git a/MVMCoreUI/Atomic/Atoms/Buttons/Link/Link.swift b/MVMCoreUI/Atomic/Atoms/Buttons/Link/Link.swift index d484840d..362d646f 100644 --- a/MVMCoreUI/Atomic/Atoms/Buttons/Link/Link.swift +++ b/MVMCoreUI/Atomic/Atoms/Buttons/Link/Link.swift @@ -52,15 +52,14 @@ import UIKit setTitle(model.title, for: .normal) accessibilityLabel = model.title + accessibilityIdentifier = model.accessibilityIdentifier setTitleColor((model.inverted ? model.enabledColor_inverted : model.enabledColor).uiColor, for: .normal) setTitleColor((model.inverted ? model.disabledColor_inverted : model.disabledColor).uiColor, for: .disabled) isEnabled = model.enabled set(with: model.action, delegateObject: delegateObject, additionalData: additionalData) } - open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { - return 31 - } + open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { 31 } } // MARK: - MVMCoreViewProtocol @@ -98,7 +97,5 @@ extension Link { // MARK: - MVMCoreUIViewConstrainingProtocol extension Link: MVMCoreUIViewConstrainingProtocol { - open func horizontalAlignment() -> UIStackView.Alignment { - return .leading - } + open func horizontalAlignment() -> UIStackView.Alignment { .leading } } diff --git a/MVMCoreUI/Atomic/Atoms/Buttons/Link/LinkModel.swift b/MVMCoreUI/Atomic/Atoms/Buttons/Link/LinkModel.swift index bd1b601d..4519b030 100644 --- a/MVMCoreUI/Atomic/Atoms/Buttons/Link/LinkModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Buttons/Link/LinkModel.swift @@ -19,6 +19,7 @@ open class LinkModel: ButtonModelProtocol, MoleculeModelProtocol, EnableableMode } public var backgroundColor: Color? + public var accessibilityIdentifier: String? public var title: String public var action: ActionModelProtocol public var enabled = true @@ -44,6 +45,7 @@ open class LinkModel: ButtonModelProtocol, MoleculeModelProtocol, EnableableMode private enum CodingKeys: String, CodingKey { case moleculeName case backgroundColor + case accessibilityIdentifier case title case action case enabled @@ -62,6 +64,7 @@ open class LinkModel: ButtonModelProtocol, MoleculeModelProtocol, EnableableMode let typeContainer = try decoder.container(keyedBy: CodingKeys.self) backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor) + accessibilityIdentifier = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityIdentifier) title = try typeContainer.decode(String.self, forKey: .title) action = try typeContainer.decodeModel(codingKey: .action) @@ -95,6 +98,7 @@ open class LinkModel: ButtonModelProtocol, MoleculeModelProtocol, EnableableMode try container.encode(title, forKey: .title) try container.encode(moleculeName, forKey: .moleculeName) try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor) + try container.encodeIfPresent(accessibilityIdentifier, forKey: .accessibilityIdentifier) try container.encodeModel(action, forKey: .action) try container.encode(inverted, forKey: .inverted) try container.encode(enabled, forKey: .enabled) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/BaseDropdownEntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/BaseDropdownEntryFieldModel.swift index 0bb17284..f256544c 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/BaseDropdownEntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/BaseDropdownEntryFieldModel.swift @@ -14,9 +14,7 @@ public var caretView: CaretViewModel? public var action: ActionModelProtocol? - public override class var identifier: String { - return "" - } + public override class var identifier: String { "" } //-------------------------------------------------- // MARK: - Keys diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryField.swift index 6ff950f6..c1ea8080 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryField.swift @@ -23,15 +23,15 @@ import UIKit }() public var dateFormat: String? { + get { dateDropdownModel?.dateFormat } set { guard let newValue = newValue else { return } dateDropdownModel?.dateFormat = newValue } - get { return dateDropdownModel?.dateFormat } } public var dateDropdownModel: DateDropdownEntryFieldModel? { - return model as? DateDropdownEntryFieldModel + model as? DateDropdownEntryFieldModel } //-------------------------------------------------- diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryFieldModel.swift index 0ac448a2..53c7206c 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DateDropdownEntryFieldModel.swift @@ -11,9 +11,7 @@ // MARK: - Properties //-------------------------------------------------- - public override class var identifier: String { - return "dateDropdownEntryField" - } + public override class var identifier: String { "dateDropdownEntryField" } public var dateFormatter: DateFormatter = { let formatter = DateFormatter() diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DigitEntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DigitEntryFieldModel.swift index 4132a15e..8003c1b0 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DigitEntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/DigitEntryFieldModel.swift @@ -12,9 +12,7 @@ // MARK: - Properties //-------------------------------------------------- - public override class var identifier: String { - return "digitTextField" - } + public override class var identifier: String { "digitTextField" } public var digits: Int = 4 diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift index 65b13861..dc4e15de 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryField.swift @@ -327,9 +327,7 @@ import UIKit } } - open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { - return 115 - } + open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { 115 } } // MARK: - Accessibility diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift index d64f70ae..b7088c96 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/EntryFieldModel.swift @@ -19,6 +19,7 @@ import Foundation } public var backgroundColor: Color? + public var accessibilityIdentifier: String? public var title: String? public var feedback: String? public var errorMessage: String? @@ -48,6 +49,7 @@ import Foundation private enum CodingKeys: String, CodingKey { case moleculeName case backgroundColor + case accessibilityIdentifier case title case enabled case feedback @@ -66,9 +68,7 @@ import Foundation // MARK: - Validation Methods //-------------------------------------------------- - public func formFieldValue() -> AnyHashable? { - return text - } + public func formFieldValue() -> AnyHashable? { text } public func setValidity(_ valid: Bool, rule: RulesProtocol) { @@ -96,6 +96,7 @@ import Foundation required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor) + accessibilityIdentifier = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityIdentifier) title = try typeContainer.decodeIfPresent(String.self, forKey: .title) feedback = try typeContainer.decodeIfPresent(String.self, forKey: .feedback) errorMessage = try typeContainer.decodeIfPresent(String.self, forKey: .errorMessage) @@ -117,6 +118,7 @@ import Foundation var container = encoder.container(keyedBy: CodingKeys.self) try container.encodeIfPresent(moleculeName, forKey: .moleculeName) try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor) + try container.encodeIfPresent(accessibilityIdentifier, forKey: .accessibilityIdentifier) try container.encodeIfPresent(title, forKey: .title) try container.encodeIfPresent(feedback, forKey: .feedback) try container.encodeIfPresent(text, forKey: .text) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/ItemDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/ItemDropdownEntryField.swift index 47c59dae..9002d701 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/ItemDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/ItemDropdownEntryField.swift @@ -120,12 +120,10 @@ open class ItemDropdownEntryField: BaseDropdownEntryField { // MARK:- Base Picker Delegate extension ItemDropdownEntryField: UIPickerViewDelegate, UIPickerViewDataSource { - @objc public func numberOfComponents(in pickerView: UIPickerView) -> Int { - return 1 - } + @objc public func numberOfComponents(in pickerView: UIPickerView) -> Int { 1 } @objc public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { - return pickerData.count + pickerData.count } @objc public func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/MdnEntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/MdnEntryFieldModel.swift index 0541de8d..53d0703d 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/MdnEntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/MdnEntryFieldModel.swift @@ -11,7 +11,5 @@ // MARK: - Properties //-------------------------------------------------- - public override class var identifier: String { - return "mdnEntryField" - } + public override class var identifier: String { "mdnEntryField" } } diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift index 2c4aa736..84a19fb5 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryField.swift @@ -54,9 +54,7 @@ import UIKit /// Validate when user resigns editing. Default: true public var validateWhenDoneEditing: Bool = true - public var textEntryFieldModel: TextEntryFieldModel? { - return model as? TextEntryFieldModel - } + public var textEntryFieldModel: TextEntryFieldModel? { model as? TextEntryFieldModel } //-------------------------------------------------- // MARK: - Computed Properties @@ -96,7 +94,7 @@ import UIKit /// The text of this TextField. open override var text: String? { - get { return textField.text } + get { textField.text } set { textField.text = newValue textEntryFieldModel?.text = newValue @@ -105,7 +103,7 @@ import UIKit /// Placeholder access for the TextField. public var placeholder: String? { - get { return textField.placeholder } + get { textField.placeholder } set { textField.placeholder = newValue } } @@ -133,7 +131,7 @@ import UIKit /// If you're using a ViewController, you must set this to it public weak var uiTextFieldDelegate: UITextFieldDelegate? { - get { return textField.delegate } + get { textField.delegate } set { textField.delegate = newValue } } @@ -330,6 +328,7 @@ import UIKit break } + textField.accessibilityIdentifier = model.accessibilityIdentifier uiTextFieldDelegate = delegateObject?.uiTextFieldDelegate observingTextFieldDelegate = delegateObject?.observingTextFieldDelegate setupTextFieldToolbar() diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryFieldModel.swift index 6f54cb38..5bdc26cc 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextEntryFieldModel.swift @@ -25,9 +25,7 @@ // MARK: - Properties //-------------------------------------------------- - public override class var identifier: String { - return "textField" - } + public override class var identifier: String { "textField" } public var placeholder: String? public var enabledTextColor: Color = Color(uiColor: .mvmBlack)