From 27bca4e4368ac68fb3bf9aa8b5a8cdb5500f20e0 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Thu, 16 Dec 2021 17:33:28 -0600 Subject: [PATCH] refactored CarouselItemModelProtocol to inherit FormFieldProtocol update CarouselItemModel with FormFieldProtocol requirements Signed-off-by: Matt Bruce --- .../Atomic/Molecules/Items/CarouselItemModel.swift | 13 ++++++++++++- .../ModelProtocols/CarouselItemModelProtocol.swift | 6 +----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/MVMCoreUI/Atomic/Molecules/Items/CarouselItemModel.swift b/MVMCoreUI/Atomic/Molecules/Items/CarouselItemModel.swift index ce62d174..f2122901 100644 --- a/MVMCoreUI/Atomic/Molecules/Items/CarouselItemModel.swift +++ b/MVMCoreUI/Atomic/Molecules/Items/CarouselItemModel.swift @@ -7,7 +7,8 @@ // -@objcMembers open class CarouselItemModel: MoleculeCollectionItemModel, CarouselItemModelProtocol, EnableableModelProtocol { +@objcMembers open class CarouselItemModel: MoleculeCollectionItemModel, CarouselItemModelProtocol { + //-------------------------------------------------- // MARK: - Properties //-------------------------------------------------- @@ -19,6 +20,9 @@ public var analyticsData: JSONValueDictionary? public var fieldValue: String? public var enabled: Bool = true + public var fieldKey: String? + public var groupName: String = FormValidator.defaultGroupName + public var baseValue: AnyHashable? public func formFieldValue() -> AnyHashable? { guard enabled else { return nil } @@ -34,6 +38,8 @@ case peakingArrowColor case analyticsData case fieldValue + case fieldKey + case groupName } //-------------------------------------------------- @@ -46,6 +52,11 @@ peakingArrowColor = try typeContainer.decodeIfPresent(Color.self, forKey: .peakingArrowColor) analyticsData = try typeContainer.decodeIfPresent(JSONValueDictionary.self, forKey: .analyticsData) fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue) + fieldKey = try typeContainer.decodeIfPresent(String.self, forKey: .fieldKey) + if let groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName) { + self.groupName = groupName + } + baseValue = fieldValue try super.init(from: decoder) } diff --git a/MVMCoreUI/Atomic/Protocols/ModelProtocols/CarouselItemModelProtocol.swift b/MVMCoreUI/Atomic/Protocols/ModelProtocols/CarouselItemModelProtocol.swift index afc5133c..ed09d90e 100644 --- a/MVMCoreUI/Atomic/Protocols/ModelProtocols/CarouselItemModelProtocol.swift +++ b/MVMCoreUI/Atomic/Protocols/ModelProtocols/CarouselItemModelProtocol.swift @@ -7,17 +7,13 @@ // -public protocol CarouselItemModelProtocol: ContainerModelProtocol { +public protocol CarouselItemModelProtocol: FormFieldProtocol, ContainerModelProtocol { var analyticsData: JSONValueDictionary? { get set } - func formFieldValue() -> AnyHashable? } public extension CarouselItemModelProtocol { - var analyticsData: JSONValueDictionary? { get { nil } set { analyticsData = newValue } } - - func formFieldValue() -> AnyHashable? { nil } }