From fd8b8fb7b7de43513b4934dfeea0dc51c4d11bff Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Mon, 12 Aug 2019 12:47:21 -0400 Subject: [PATCH] updates made to padding and reset/module functionality. --- .../Atoms/Views/ActionDetailWithImage.swift | 45 +++++++++++++------ 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/MVMCoreUI/Atoms/Views/ActionDetailWithImage.swift b/MVMCoreUI/Atoms/Views/ActionDetailWithImage.swift index 5e32bc00..e02e2278 100644 --- a/MVMCoreUI/Atoms/Views/ActionDetailWithImage.swift +++ b/MVMCoreUI/Atoms/Views/ActionDetailWithImage.swift @@ -24,7 +24,7 @@ import UIKit // MARK: - Properties //------------------------------------------------------ - var titlePadding: CGFloat = PaddingOne + var bottomTitlePadding: CGFloat = PaddingOne //------------------------------------------------------ // MARK: - Constraints @@ -64,10 +64,7 @@ import UIKit guard subviews.isEmpty else { return } - button.setAsSecondaryCustom() - button.isHidden = false - imageLoader.imageView.contentMode = .scaleAspectFit - imageLoader.addSizeConstraintsForAspectRatio = true + setDefaultState() addSubview(leftContainer) addSubview(imageLoader) @@ -121,9 +118,11 @@ import UIKit imageLoader.updateView(size) leftContainer.updateView(size) - let topPadding = title.hasText ? titlePadding : 0 - messageTopConstraint?.constant = topPadding - buttonTopConstraint?.constant = message.hasText ? PaddingTwo : topPadding + let titleMessagePadding = title.hasText ? bottomTitlePadding : 0 + let messageButtonPadding = message.hasText ? titleMessagePadding : 0 + + messageTopConstraint?.constant = messageButtonPadding + buttonTopConstraint?.constant = message.hasText ? PaddingTwo : messageButtonPadding } public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -134,17 +133,38 @@ import UIKit // MARK: - Methods //------------------------------------------------------ + private func setDefaultState() { + + title.font = MFStyler.fontH3() + message.font = MFStyler.fontB3() + button.setAsSecondaryCustom() + button.isHidden = false + imageLoader.imageView.contentMode = .scaleAspectFit + imageLoader.addSizeConstraintsForAspectRatio = true + bottomTitlePadding = PaddingOne + } + override open func reset() { super.reset() - title.text = "" - message.text = "" + title.reset() + message.reset() + button.reset() imageLeadingConstraint?.constant = 16 imageLoader.reset() + + setDefaultState() } open override func setAsMolecule() { super.setAsMolecule() + + title.setAsMolecule() + message.setAsMolecule() + button.setAsMolecule() + imageLoader.setAsMolecule() + + setDefaultState() } open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { @@ -152,8 +172,8 @@ import UIKit guard let dictionary = json else { return } - if let padding = dictionary.optionalCGFloatForKey("titlePadding") { - titlePadding = padding + if let padding = dictionary.optionalCGFloatForKey("bottomTitlePadding") { + bottomTitlePadding = padding } title.setWithJSON(dictionary.optionalDictionaryForKey("title"), delegateObject: delegateObject, additionalData: additionalData) @@ -161,7 +181,6 @@ import UIKit imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData) if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) - button.isHidden = false } else { button.isHidden = true }