diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index 57508395..644e5488 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -19,7 +19,7 @@ 01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 0A1214A022C11A18007C7030 /* ActionDetailWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */; }; 0A1B4A96233BB18F005B3FB4 /* CheckboxWithLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAFA2232BE63400FB8E22 /* CheckboxWithLabelView.swift */; }; - 0A21DB7F235DECC500C160A2 /* FieldEntryForm.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A21DB7E235DECC500C160A2 /* FieldEntryForm.swift */; }; + 0A21DB7F235DECC500C160A2 /* FieldEntryFormView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A21DB7E235DECC500C160A2 /* FieldEntryFormView.swift */; }; 0A21DB83235DFBC500C160A2 /* MdnEntryField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A21DB82235DFBC500C160A2 /* MdnEntryField.swift */; }; 0A21DB84235E06EF00C160A2 /* MFTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D29DF24C21E6A177003B2FB9 /* MFTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0A21DB85235E06EF00C160A2 /* MFTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D29DF24221E6A176003B2FB9 /* MFTextField.m */; }; @@ -32,6 +32,7 @@ 0A21DB8C235E06EF00C160A2 /* MFDigitTextField.h in Headers */ = {isa = PBXBuildFile; fileRef = D29DF24321E6A176003B2FB9 /* MFDigitTextField.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0A21DB8D235E06EF00C160A2 /* MFDigitTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = D29DF24821E6A177003B2FB9 /* MFDigitTextField.m */; }; 0A21DB8E235E06EF00C160A2 /* MFDigitTextField.xib in Resources */ = {isa = PBXBuildFile; fileRef = D29DF24A21E6A177003B2FB9 /* MFDigitTextField.xib */; }; + 0A21DB91235E0EDB00C160A2 /* DigitTextBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A8321AE2355FE9500CB7F00 /* DigitTextBox.swift */; }; 0A41BA6E2344FCD400D4C0BC /* CATransaction+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A41BA6D2344FCD400D4C0BC /* CATransaction+Extension.swift */; }; 0A41BA7F23453A6400D4C0BC /* TextEntryField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A41BA7E23453A6400D4C0BC /* TextEntryField.swift */; }; 0A7BAFA1232BE61800FB8E22 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAFA0232BE61800FB8E22 /* Checkbox.swift */; }; @@ -209,7 +210,7 @@ 01DF55DF21F8FAA800CC099B /* MFTextFieldListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFTextFieldListView.swift; sourceTree = ""; }; 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldListFormViewController.swift; sourceTree = ""; }; 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionDetailWithImage.swift; sourceTree = ""; }; - 0A21DB7E235DECC500C160A2 /* FieldEntryForm.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FieldEntryForm.swift; sourceTree = ""; }; + 0A21DB7E235DECC500C160A2 /* FieldEntryFormView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FieldEntryFormView.swift; sourceTree = ""; }; 0A21DB80235DF87300C160A2 /* TextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; 0A21DB82235DFBC500C160A2 /* MdnEntryField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MdnEntryField.swift; sourceTree = ""; }; 0A41BA6D2344FCD400D4C0BC /* CATransaction+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CATransaction+Extension.swift"; sourceTree = ""; }; @@ -763,7 +764,7 @@ 0A8321A72355062F00CB7F00 /* MdnTextField.swift */, 0A8321AC2355FC2600CB7F00 /* DigitTextField.swift */, 0A8321AE2355FE9500CB7F00 /* DigitTextBox.swift */, - 0A21DB7E235DECC500C160A2 /* FieldEntryForm.swift */, + 0A21DB7E235DECC500C160A2 /* FieldEntryFormView.swift */, 0A21DB80235DF87300C160A2 /* TextField.swift */, 0A21DB82235DFBC500C160A2 /* MdnEntryField.swift */, ); @@ -1044,10 +1045,11 @@ D29DF17C21E69E1F003B2FB9 /* MFTextButton.m in Sources */, D29DF2C521E7BF57003B2FB9 /* MFTabBarSwipeAnimator.m in Sources */, D29DF2B421E7B76D003B2FB9 /* MFLoadingSpinner.m in Sources */, - 0A21DB7F235DECC500C160A2 /* FieldEntryForm.swift in Sources */, + 0A21DB7F235DECC500C160A2 /* FieldEntryFormView.swift in Sources */, D2C5001921F8ECDD001DA659 /* MVMCoreUIViewControllerMappingObject.m in Sources */, D29DF12E21E6851E003B2FB9 /* MVMCoreUITopAlertView.m in Sources */, D29DF2CF21E7C104003B2FB9 /* MFLoadingViewController.m in Sources */, + 0A21DB91235E0EDB00C160A2 /* DigitTextBox.swift in Sources */, D22D1F572204CE5D0077CEC0 /* MVMCoreUIStackableViewController.m in Sources */, 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */, D2A5145F2211DDC100345BFB /* MoleculeStackView.swift in Sources */, diff --git a/MVMCoreUI/Atoms/TextFields/FieldEntryForm.swift b/MVMCoreUI/Atoms/TextFields/FieldEntryFormView.swift similarity index 98% rename from MVMCoreUI/Atoms/TextFields/FieldEntryForm.swift rename to MVMCoreUI/Atoms/TextFields/FieldEntryFormView.swift index 592051f6..53a3cda1 100644 --- a/MVMCoreUI/Atoms/TextFields/FieldEntryForm.swift +++ b/MVMCoreUI/Atoms/TextFields/FieldEntryFormView.swift @@ -13,7 +13,7 @@ import UIKit * This class is intended to be subclassed by a class that will add views subclassed under UIControl. * The FieldEntryForm provides the base logic for the description label, placeholder/error label and field container. */ -open class FieldEntryForm: ViewConstrainingView { +@objcMembers open class FieldEntryFormView: ViewConstrainingView { //-------------------------------------------------- // MARK: - Outlets //-------------------------------------------------- @@ -202,7 +202,7 @@ open class FieldEntryForm: ViewConstrainingView { /// Method to override. /// Intended to add the interactive content (textField) to the fieldContainer. - open func fieldContainerContent(_ container: UIView) { + open func setupFieldContainerContent(_ container: UIView) { } @@ -221,7 +221,7 @@ open class FieldEntryForm: ViewConstrainingView { parentView.trailingAnchor.constraint(equalTo: backgroundView.trailingAnchor, constant: 1), parentView.bottomAnchor.constraint(equalTo: backgroundView.bottomAnchor, constant: 1)]) - fieldContainerContent(parentView) + setupFieldContainerContent(parentView) let separatorView = UIView(frame: .zero) self.separatorView = separatorView @@ -421,10 +421,11 @@ open class FieldEntryForm: ViewConstrainingView { } // MARK: - Molecular -extension FieldEntryForm { +extension FieldEntryFormView { override open func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) + setWithMap(json) } override open class func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -433,7 +434,7 @@ extension FieldEntryForm { } // MARK: - Form Validation -extension FieldEntryForm: FormValidationProtocol { +extension FieldEntryFormView: FormValidationProtocol { public func isValidField() -> Bool { return isValid @@ -449,7 +450,7 @@ extension FieldEntryForm: FormValidationProtocol { } // MARK: - Accessibility -extension FieldEntryForm { +extension FieldEntryFormView { @objc open func pushAccessibilityNotification() { // To Be Overriden diff --git a/MVMCoreUI/Atoms/TextFields/TextEntryField.swift b/MVMCoreUI/Atoms/TextFields/TextEntryField.swift index 170aefc8..a03367ec 100644 --- a/MVMCoreUI/Atoms/TextFields/TextEntryField.swift +++ b/MVMCoreUI/Atoms/TextFields/TextEntryField.swift @@ -19,7 +19,7 @@ import UIKit } -@objcMembers open class TextEntryField: FieldEntryForm { +@objcMembers open class TextEntryField: FieldEntryFormView { //-------------------------------------------------- // MARK: - Outlets //-------------------------------------------------- @@ -83,7 +83,7 @@ import UIKit } /// Sets placeholder text in the textField. - public var placeholder: String? { + public override var placeholder: String? { get { guard let attributedPlaceholder = textField?.attributedPlaceholder else { return nil } return attributedPlaceholder.string @@ -130,7 +130,7 @@ import UIKit } /// - parameter bothDelegates: Sets both MF/UI Text Field Delegates. - public init(bothDelegates: (UITextFieldDelegate & TextEntryFieldDelegate)?) { + public init(bothDelegates: (UITextFieldDelegate & TextFieldDelegate)?) { super.init(frame: .zero) setupView() setBothTextFieldDelegates(bothDelegates) @@ -151,7 +151,7 @@ import UIKit // MARK: - Lifecycle //-------------------------------------------------- - open override func fieldContainerContent(_ container: UIView) { + open override func setupFieldContainerContent(_ container: UIView) { let textField = UITextField(frame: .zero) self.textField = textField @@ -167,9 +167,9 @@ import UIKit container.addSubview(textField) NSLayoutConstraint.activate([ - textField.topAnchor.constraint(equalTo: parentView.topAnchor, constant: 10), - textField.leadingAnchor.constraint(equalTo: parentView.leadingAnchor, constant: 16), - parentView.bottomAnchor.constraint(equalTo: textField.bottomAnchor, constant: 10)]) + textField.topAnchor.constraint(equalTo: container.topAnchor, constant: 10), + textField.leadingAnchor.constraint(equalTo: container.leadingAnchor, constant: 16), + container.bottomAnchor.constraint(equalTo: textField.bottomAnchor, constant: 10)]) let dropDownCaretLabel = Label() self.dropDownCaretLabel = dropDownCaretLabel @@ -504,11 +504,6 @@ extension TextEntryField { } } - /** - Adding missing accessibilityLabel value - if we have some value in accessibilityLabel, - then only can append regular and picker item - */ open override func setAccessibilityString(_ accessibilityString: String?) { guard let textField = textField else { return } diff --git a/MVMCoreUI/Atoms/TextFields/TextField.swift b/MVMCoreUI/Atoms/TextFields/TextField.swift index 1fcdbdc6..3418b757 100644 --- a/MVMCoreUI/Atoms/TextFields/TextField.swift +++ b/MVMCoreUI/Atoms/TextFields/TextField.swift @@ -214,6 +214,7 @@ import UIKit setWithMap(map, bothDelegates: bothDelegates) } + //-------------------------------------------------- // MARK: - Lifecycle //-------------------------------------------------- diff --git a/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m b/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m index d368cbfc..c57dd121 100644 --- a/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m +++ b/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m @@ -36,8 +36,8 @@ @"footer": StandardFooterView.class, @"caretView": CaretView.class, @"caretButton": CaretButton.class, - @"textField" : TextField.class, - @"digitTextField" : DigitTextField.class, + @"textField" : TextEntryField.class, +// @"digitTextField" : DigitTextField.class, @"checkbox" : Checkbox.class, @"checkboxWithLabelView" : CheckboxWithLabelView.class, @"cornerLabels" : CornerLabels.class,