From 9dcd7afbacfc852bcd2be019d422ef4d344f0dcd Mon Sep 17 00:00:00 2001 From: "Pfeil, Scott Robert" Date: Tue, 30 Mar 2021 14:41:22 -0400 Subject: [PATCH] move swap label to mf --- .../Atomic/Atoms/Views/Label/LabelModel.swift | 4 ++-- .../Atomic/Atoms/Views/Video/VideoModel.swift | 2 +- MVMCoreUI/Atomic/MoleculeObjectMapping.swift | 1 - MVMCoreUI/Behaviors/GetContactBehavior.swift | 23 ++----------------- 4 files changed, 5 insertions(+), 25 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/Views/Label/LabelModel.swift b/MVMCoreUI/Atomic/Atoms/Views/Label/LabelModel.swift index d38a90fd..fbbc9e03 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Label/LabelModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Label/LabelModel.swift @@ -7,12 +7,12 @@ // -@objcMembers public class LabelModel: MoleculeModelProtocol { +@objcMembers open class LabelModel: MoleculeModelProtocol { //-------------------------------------------------- // MARK: - Properties //-------------------------------------------------- - public class var identifier: String { "label" } + open class var identifier: String { "label" } public var backgroundColor: Color? public var text: String public var accessibilityText: String? diff --git a/MVMCoreUI/Atomic/Atoms/Views/Video/VideoModel.swift b/MVMCoreUI/Atomic/Atoms/Views/Video/VideoModel.swift index 472ab3de..7c348760 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Video/VideoModel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Video/VideoModel.swift @@ -80,7 +80,7 @@ open class VideoModel: MoleculeModelProtocol, PageBehaviorProtocolRequirer { } public func getRequiredBehaviors() -> [PageBehaviorModelProtocol] { - return [VisibleBehaviorForVideoModel(with: self), ScrollBehaviorForVideoModel(with: self)] + return [VisibleBehaviorForVideoModel(with: self)] } open func addVisibilityHalting(for view: Video, delegateObject: MVMCoreUIDelegateObject?) { diff --git a/MVMCoreUI/Atomic/MoleculeObjectMapping.swift b/MVMCoreUI/Atomic/MoleculeObjectMapping.swift index 13683ba3..539ed2ba 100644 --- a/MVMCoreUI/Atomic/MoleculeObjectMapping.swift +++ b/MVMCoreUI/Atomic/MoleculeObjectMapping.swift @@ -264,7 +264,6 @@ import Foundation // MARK:- Behaviors try? ModelRegistry.register(handler: ScreenBrightnessModifierBehavior.self, for: ScreenBrightnessModifierBehaviorModel.self) try? ModelRegistry.register(handler: PageGetContactBehavior.self, for: PageGetContactBehaviorModel.self) - MoleculeObjectMapping.shared()?.register(viewClass: Label.self, viewModelClass: SwapMDNWithContactNameLabelModel.self) } /// Convenience function to get required modules for a give model diff --git a/MVMCoreUI/Behaviors/GetContactBehavior.swift b/MVMCoreUI/Behaviors/GetContactBehavior.swift index 71eb7180..bc3247c7 100644 --- a/MVMCoreUI/Behaviors/GetContactBehavior.swift +++ b/MVMCoreUI/Behaviors/GetContactBehavior.swift @@ -9,27 +9,6 @@ import Foundation import Contacts -public class SwapMDNWithContactNameLabelModel: LabelModel, PageGetContactBehaviorConsumerProtocol, PageBehaviorProtocolRequirer { - public class override var identifier: String { "swapMDNWithContactNameLabel" } - - public func getRequiredBehaviors() -> [PageBehaviorModelProtocol] { - return [PageGetContactBehaviorModel()] - } - - public func getMatchParameters() -> (NSPredicate, [CNKeyDescriptor])? { - guard let mdn = MVMCoreUIUtility.removeMdnFormat(text) else { return nil } - return (CNContact.predicateForContacts(matching: CNPhoneNumber(stringValue: mdn)), [CNContactFormatter.descriptorForRequiredKeys(for: .fullName)]) - } - - public func consume(contacts: [CNContact]) { - guard let contact = contacts.first else { return } - let nameArray: [String?] = [contact.givenName, contact.middleName, contact.familyName] - let name = nameArray.compactMap { $0 }.joined(separator: " ") - guard name.count > 0 else { return } - text = name - } -} - public protocol PageGetContactBehaviorConsumerProtocol { func getMatchParameters() -> (NSPredicate, [CNKeyDescriptor])? func consume(contacts: [CNContact]) @@ -38,6 +17,8 @@ public protocol PageGetContactBehaviorConsumerProtocol { public class PageGetContactBehaviorModel: PageBehaviorModelProtocol { public class var identifier: String { "pageGetContactBehavior" } public var shouldAllowMultipleInstances: Bool { false } + + public init() {} } public class PageGetContactBehavior: PageVisibilityBehavior {