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 }