From b70d2f8addaefce80035793da2ba01b5543c0351 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Thu, 22 Aug 2024 13:10:49 -0500 Subject: [PATCH] added isEqual Signed-off-by: Matt Bruce --- .../Atoms/FormFields/FormFieldModel.swift | 34 ++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/FormFieldModel.swift b/MVMCoreUI/Atomic/Atoms/FormFields/FormFieldModel.swift index 7f43b8bb..7ac83f1d 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/FormFieldModel.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/FormFieldModel.swift @@ -136,7 +136,39 @@ import VDS try container.encode(required, forKey: .required) try container.encode(inverted, forKey: .inverted) } -} + + open func isEqual(to model: any ModelComparisonProtocol) -> Bool { + guard let model = model as? Self else { return false } + return moleculeName == model.moleculeName + && enabled == model.enabled + && showError == model.showError + && errorMessage == model.errorMessage + && readOnly == model.readOnly + && required == model.required + && inverted == model.inverted + && fieldKey == model.fieldKey + && groupName == model.groupName + && accessibilityText == model.accessibilityText + && accessibilityIdentifier == model.accessibilityIdentifier + && accessibilityTraits == model.accessibilityTraits + } + + open func isVisuallyEquivalent(to model: any MoleculeModelComparisonProtocol) -> Bool { + guard let model = model as? Self else { return false } + return moleculeName == model.moleculeName + && enabled == model.enabled + && showError == model.showError + && errorMessage == model.errorMessage + && readOnly == model.readOnly + && required == model.required + && inverted == model.inverted + && fieldKey == model.fieldKey + && groupName == model.groupName + && accessibilityText == model.accessibilityText + && accessibilityIdentifier == model.accessibilityIdentifier + && accessibilityTraits == model.accessibilityTraits + } +} extension FormFieldModel { public var isEnabled: Bool { enabled && !readOnly }