From 096c95f6e048b9231d4b10c66acfda0be59a33cd Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Wed, 28 Aug 2019 12:16:07 -0400 Subject: [PATCH 01/10] Setting up new molecule. --- MVMCoreUI.xcodeproj/project.pbxproj | 4 ++ .../Atoms/Buttons/HeadlineBodyButton.swift | 57 +++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index 22b92460..952f8826 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -19,6 +19,7 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */; }; 01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 0A1214A022C11A18007C7030 /* ActionDetailWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */; }; + 0A804A3D2316CB79009A8656 /* HeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */; }; B8200E152280C4CF007245F4 /* ProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E142280C4CF007245F4 /* ProgressBar.swift */; }; B8200E192281DC1A007245F4 /* CornerLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E182281DC1A007245F4 /* CornerLabels.swift */; }; D206997721FB8A0B00CAE0DE /* MVMCoreUINavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = D206997521FB8A0B00CAE0DE /* MVMCoreUINavigationController.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -197,6 +198,7 @@ 01DF55DF21F8FAA800CC099B /* MFTextFieldListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFTextFieldListView.swift; sourceTree = ""; }; 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldListFormViewController.swift; sourceTree = ""; }; 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionDetailWithImage.swift; sourceTree = ""; }; + 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyButton.swift; sourceTree = ""; }; B8200E142280C4CF007245F4 /* ProgressBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBar.swift; sourceTree = ""; }; B8200E182281DC1A007245F4 /* CornerLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CornerLabels.swift; sourceTree = ""; }; D206997521FB8A0B00CAE0DE /* MVMCoreUINavigationController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MVMCoreUINavigationController.h; sourceTree = ""; }; @@ -608,6 +610,7 @@ DBC4391A224421A0001AB423 /* CaretButton.swift */, D29DF25821E6A22D003B2FB9 /* MFButtonProtocol.h */, D29DF16B21E69E1F003B2FB9 /* ButtonDelegateProtocol.h */, + 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */, D29DF16A21E69E1F003B2FB9 /* MFCustomButton.h */, D29DF17021E69E1F003B2FB9 /* MFCustomButton.m */, D29DF16C21E69E1F003B2FB9 /* PrimaryButton.h */, @@ -953,6 +956,7 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */, D2A5145F2211DDC100345BFB /* MoleculeStackView.swift in Sources */, D29DF27621E79E81003B2FB9 /* MVMCoreUILoggingHandler.m in Sources */, + 0A804A3D2316CB79009A8656 /* HeadlineBodyButton.swift in Sources */, D29DF24D21E6A177003B2FB9 /* MFTextField.m in Sources */, D29DF2A221E7AF4E003B2FB9 /* MVMCoreUIUtility.m in Sources */, D29DF12B21E6851E003B2FB9 /* MVMCoreUITopAlertExpandableView.m in Sources */, diff --git a/MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift b/MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift new file mode 100644 index 00000000..78b11f67 --- /dev/null +++ b/MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift @@ -0,0 +1,57 @@ +// +// HeadlineBodyButton.swift +// MVMCoreUI +// +// Created by Kevin Christiano on 8/28/19. +// Copyright © 2019 Verizon Wireless. All rights reserved. +// + +import Foundation + + +@objcMembers open class HeadlineBodyButton: ViewConstrainingView { + //------------------------------------------------------ + // MARK: - Outlets + //------------------------------------------------------ + + + + //------------------------------------------------------ + // MARK: - Properties + //------------------------------------------------------ + + + + //------------------------------------------------------ + // MARK: - Lifecycle + //------------------------------------------------------ + + open override func setupView() { + super.setupView() + guard subviews.count == 0 else { + return + } + + } + + open override func updateView(_ size: CGFloat) { + super.updateView(size) + } + + //------------------------------------------------------ + // MARK: - JSON + //------------------------------------------------------ + + open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { + super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) + + } + + open override func reset() { + + } + + open override func setAsMolecule() { + super.setAsMolecule() + } +} From 9ca6ba50da9a486988e5e17ad3dc530f014508b6 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 29 Aug 2019 10:50:38 -0400 Subject: [PATCH 02/10] New class. --- MVMCoreUI.xcodeproj/project.pbxproj | 8 ++++---- ...utton.swift => HeadlineBodyPrimaryButton.swift} | 14 +++++--------- 2 files changed, 9 insertions(+), 13 deletions(-) rename MVMCoreUI/Atoms/Buttons/{HeadlineBodyButton.swift => HeadlineBodyPrimaryButton.swift} (72%) diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index 952f8826..16458819 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -19,7 +19,7 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */; }; 01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 0A1214A022C11A18007C7030 /* ActionDetailWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */; }; - 0A804A3D2316CB79009A8656 /* HeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */; }; + 0A804A3D2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */; }; B8200E152280C4CF007245F4 /* ProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E142280C4CF007245F4 /* ProgressBar.swift */; }; B8200E192281DC1A007245F4 /* CornerLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E182281DC1A007245F4 /* CornerLabels.swift */; }; D206997721FB8A0B00CAE0DE /* MVMCoreUINavigationController.h in Headers */ = {isa = PBXBuildFile; fileRef = D206997521FB8A0B00CAE0DE /* MVMCoreUINavigationController.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -198,7 +198,7 @@ 01DF55DF21F8FAA800CC099B /* MFTextFieldListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFTextFieldListView.swift; sourceTree = ""; }; 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldListFormViewController.swift; sourceTree = ""; }; 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionDetailWithImage.swift; sourceTree = ""; }; - 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyButton.swift; sourceTree = ""; }; + 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyPrimaryButton.swift; sourceTree = ""; }; B8200E142280C4CF007245F4 /* ProgressBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBar.swift; sourceTree = ""; }; B8200E182281DC1A007245F4 /* CornerLabels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CornerLabels.swift; sourceTree = ""; }; D206997521FB8A0B00CAE0DE /* MVMCoreUINavigationController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MVMCoreUINavigationController.h; sourceTree = ""; }; @@ -610,7 +610,7 @@ DBC4391A224421A0001AB423 /* CaretButton.swift */, D29DF25821E6A22D003B2FB9 /* MFButtonProtocol.h */, D29DF16B21E69E1F003B2FB9 /* ButtonDelegateProtocol.h */, - 0A804A3C2316CB79009A8656 /* HeadlineBodyButton.swift */, + 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */, D29DF16A21E69E1F003B2FB9 /* MFCustomButton.h */, D29DF17021E69E1F003B2FB9 /* MFCustomButton.m */, D29DF16C21E69E1F003B2FB9 /* PrimaryButton.h */, @@ -956,7 +956,7 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */, D2A5145F2211DDC100345BFB /* MoleculeStackView.swift in Sources */, D29DF27621E79E81003B2FB9 /* MVMCoreUILoggingHandler.m in Sources */, - 0A804A3D2316CB79009A8656 /* HeadlineBodyButton.swift in Sources */, + 0A804A3D2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift in Sources */, D29DF24D21E6A177003B2FB9 /* MFTextField.m in Sources */, D29DF2A221E7AF4E003B2FB9 /* MVMCoreUIUtility.m in Sources */, D29DF12B21E6851E003B2FB9 /* MVMCoreUITopAlertExpandableView.m in Sources */, diff --git a/MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift b/MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift similarity index 72% rename from MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift rename to MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift index 78b11f67..029a42c0 100644 --- a/MVMCoreUI/Atoms/Buttons/HeadlineBodyButton.swift +++ b/MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift @@ -1,5 +1,5 @@ // -// HeadlineBodyButton.swift +// HeadlineBodyPrimaryButton.swift // MVMCoreUI // // Created by Kevin Christiano on 8/28/19. @@ -9,7 +9,7 @@ import Foundation -@objcMembers open class HeadlineBodyButton: ViewConstrainingView { +@objcMembers open class HeadlineBodyPrimaryButton: ViewConstrainingView { //------------------------------------------------------ // MARK: - Outlets //------------------------------------------------------ @@ -28,9 +28,8 @@ import Foundation open override func setupView() { super.setupView() - guard subviews.count == 0 else { - return - } + + guard subviews.count == 0 else { return } } @@ -42,10 +41,7 @@ import Foundation // MARK: - JSON //------------------------------------------------------ - open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { - super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) - - } + open override func reset() { From bedd05daa6d947224a160bcce2ecdb1e471cb7c2 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 12 Sep 2019 14:42:10 -0400 Subject: [PATCH 03/10] Creation and inclusion of HeadlineBodyButton molecule. --- MVMCoreUI.xcodeproj/project.pbxproj | 5 +- .../Molecules/ActionDetailWithImage.swift | 60 ++------ MVMCoreUI/Molecules/HeadlineBodyButton.swift | 129 ++++++++++++++++++ .../MVMCoreUIMoleculeMappingObject.m | 3 +- 4 files changed, 148 insertions(+), 49 deletions(-) create mode 100644 MVMCoreUI/Molecules/HeadlineBodyButton.swift diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index f606284e..68d9e8f5 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */; }; 01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 0A1214A022C11A18007C7030 /* ActionDetailWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */; }; + 0A7BAD74232A8DC700FB8E22 /* HeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */; }; 948DB67E2326DCD90011F916 /* MultiProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948DB67D2326DCD90011F916 /* MultiProgress.swift */; }; B8200E152280C4CF007245F4 /* ProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E142280C4CF007245F4 /* ProgressBar.swift */; }; B8200E192281DC1A007245F4 /* CornerLabels.swift in Sources */ = {isa = PBXBuildFile; fileRef = B8200E182281DC1A007245F4 /* CornerLabels.swift */; }; @@ -202,6 +203,7 @@ 01DF55DF21F8FAA800CC099B /* MFTextFieldListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFTextFieldListView.swift; sourceTree = ""; }; 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldListFormViewController.swift; sourceTree = ""; }; 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionDetailWithImage.swift; sourceTree = ""; }; + 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyButton.swift; sourceTree = ""; }; 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyPrimaryButton.swift; sourceTree = ""; }; 948DB67D2326DCD90011F916 /* MultiProgress.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiProgress.swift; sourceTree = ""; }; B8200E142280C4CF007245F4 /* ProgressBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgressBar.swift; sourceTree = ""; }; @@ -562,6 +564,7 @@ D274CA322236A78900B01B62 /* StandardFooterView.swift */, D29B770F22C281F400D6ACE0 /* ModuleMolecule.swift */, D2D6CD3F22E78C1A00D701B8 /* Scroller.swift */, + 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */, ); path = Molecules; sourceTree = ""; @@ -1003,6 +1006,7 @@ D29770F221F7C6D600B2F0D0 /* TopLabelsAndBottomButtonsTableViewController.m in Sources */, D29B771022C281F400D6ACE0 /* ModuleMolecule.swift in Sources */, DBC4391922442197001AB423 /* DashLine.swift in Sources */, + 0A7BAD74232A8DC700FB8E22 /* HeadlineBodyButton.swift in Sources */, D29DF29621E7ADB8003B2FB9 /* StackableViewController.m in Sources */, D2E1FADB2260D3D200AEFD8C /* MVMCoreUIDelegateObject.swift in Sources */, D27CD40E2322EEAF00C1DC07 /* TabsTableViewCell.swift in Sources */, @@ -1024,7 +1028,6 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */, D2A5145F2211DDC100345BFB /* MoleculeStackView.swift in Sources */, D29DF27621E79E81003B2FB9 /* MVMCoreUILoggingHandler.m in Sources */, - 0A804A3D2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift in Sources */, D29DF24D21E6A177003B2FB9 /* MFTextField.m in Sources */, D29DF2A221E7AF4E003B2FB9 /* MVMCoreUIUtility.m in Sources */, D29DF12B21E6851E003B2FB9 /* MVMCoreUITopAlertExpandableView.m in Sources */, diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index ec91c479..76dde8e6 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -14,10 +14,8 @@ import UIKit // MARK: - Outlets //------------------------------------------------------ - let header = HeadlineBody(frame: .zero) - let button = PrimaryButton.primaryTinyButton(false)! + let headlineBodyButton = HeadlineBodyButton(frame: .zero) let imageLoader = MFLoadImageView(pinnedEdges: .all) - let leftContainer = ViewConstrainingView.empty() //------------------------------------------------------ // MARK: - Properties @@ -30,7 +28,6 @@ import UIKit //------------------------------------------------------ var imageLeadingConstraint: NSLayoutConstraint? - var buttonTopConstraint: NSLayoutConstraint? //------------------------------------------------------ // MARK: - Initialization @@ -64,33 +61,20 @@ import UIKit setDefaultState() - addSubview(leftContainer) addSubview(imageLoader) - leftContainer.addSubview(header) - leftContainer.addSubview(button) + addSubview(headlineBodyButton) - leftContainer.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true - leftContainer.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true + headlineBodyButton.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true + headlineBodyButton.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true - layoutMarginsGuide.bottomAnchor.constraint(greaterThanOrEqualTo: leftContainer.bottomAnchor).isActive = true - let leftContainerBottom = leftContainer.bottomAnchor.constraint(equalTo: bottomAnchor) + layoutMarginsGuide.bottomAnchor.constraint(greaterThanOrEqualTo: headlineBodyButton.bottomAnchor).isActive = true + let leftContainerBottom = headlineBodyButton.bottomAnchor.constraint(equalTo: bottomAnchor) leftContainerBottom.priority = UILayoutPriority(249) leftContainerBottom.isActive = true - header.topAnchor.constraint(equalTo: leftContainer.topAnchor).isActive = true - header.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true - leftContainer.trailingAnchor.constraint(equalTo: header.trailingAnchor).isActive = true - - buttonTopConstraint = button.topAnchor.constraint(equalTo: header.bottomAnchor, constant: buttonHeaderPadding) - buttonTopConstraint?.isActive = true - - button.leadingAnchor.constraint(equalTo: leftContainer.leadingAnchor).isActive = true - leftContainer.bottomAnchor.constraint(equalTo: button.bottomAnchor).isActive = true - leftContainer.trailingAnchor.constraint(greaterThanOrEqualTo: button.trailingAnchor).isActive = true - imageLoader.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true layoutMarginsGuide.trailingAnchor.constraint(equalTo: imageLoader.trailingAnchor).isActive = true - imageLeadingConstraint = imageLoader.leadingAnchor.constraint(greaterThanOrEqualTo: leftContainer.trailingAnchor, constant: 16) + imageLeadingConstraint = imageLoader.leadingAnchor.constraint(greaterThanOrEqualTo: headlineBodyButton.trailingAnchor, constant: 16) imageLeadingConstraint?.isActive = true imageLoader.topAnchor.constraint(greaterThanOrEqualTo: layoutMarginsGuide.topAnchor).isActive = true @@ -103,12 +87,8 @@ import UIKit override open func updateView(_ size: CGFloat) { super.updateView(size) - header.updateView(size) - button.updateView(size) + headlineBodyButton.updateView(size) imageLoader.updateView(size) - leftContainer.updateView(size) - - buttonTopConstraint?.constant = header.hasText() ? buttonHeaderPadding : 0 } public override static func estimatedHeight(forRow json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat { @@ -121,10 +101,8 @@ import UIKit private func setDefaultState() { - header.headlineLabel.font = MFStyler.fontH3() - header.messageLabel.font = MFStyler.fontB3() - button.setAsSecondaryCustom() - button.isHidden = false + headlineBodyButton.headline.headlineLabel.font = MFStyler.fontH3() + headlineBodyButton.headline.messageLabel.font = MFStyler.fontB3() imageLoader.imageView.contentMode = .scaleAspectFit imageLoader.addSizeConstraintsForAspectRatio = true buttonHeaderPadding = PaddingTwo @@ -133,8 +111,7 @@ import UIKit override open func reset() { super.reset() - header.reset() - button.reset() + headlineBodyButton.reset() imageLeadingConstraint?.constant = 16 imageLoader.reset() setDefaultState() @@ -143,8 +120,7 @@ import UIKit open override func setAsMolecule() { super.setAsMolecule() - header.setAsMolecule() - button.setAsMolecule() + headlineBodyButton.setAsMolecule() imageLoader.setAsMolecule() setDefaultState() } @@ -153,18 +129,8 @@ import UIKit super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) guard let dictionary = json else { return } - - if let padding = dictionary.optionalCGFloatForKey("buttonHeaderPadding") { - buttonHeaderPadding = padding - } - header.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) + headlineBodyButton.setWithJSON(dictionary.optionalDictionaryForKey("headlineBodyButton"), delegateObject: delegateObject, additionalData: additionalData) imageLoader.setWithJSON(dictionary.optionalDictionaryForKey("image"), delegateObject: delegateObject, additionalData: additionalData) - - if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { - button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) - } else { - button.isHidden = true - } } } diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift new file mode 100644 index 00000000..df8ae918 --- /dev/null +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -0,0 +1,129 @@ +// +// HeadlineBodyButton.swift +// MVMCoreUI +// +// Created by Kevin Christiano on 9/12/19. +// Copyright © 2019 Verizon Wireless. All rights reserved. +// + +import UIKit + + +@objcMembers open class HeadlineBodyButton: ViewConstrainingView { + //------------------------------------------------------ + // MARK: - Outlets + //------------------------------------------------------ + + let headline = HeadlineBody(frame: .zero) + let button = PrimaryButton.primaryTinyButton(false)! + + //------------------------------------------------------ + // MARK: - Properties + //------------------------------------------------------ + + var buttonHeadlinePadding: CGFloat = 16 + + //------------------------------------------------------ + // MARK: - Constraints + //------------------------------------------------------ + + var buttonTopConstraint: NSLayoutConstraint? + + //------------------------------------------------------ + // MARK: - Initialization + //------------------------------------------------------ + + public init() { + super.init(frame: .zero) + } + + public override init(frame: CGRect) { + super.init(frame: frame) + } + + required public init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + } + + public convenience init(json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { + self.init() + setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) + } + + //------------------------------------------------------ + // MARK: - View Lifecycle + //------------------------------------------------------ + + override open func setupView() { + super.setupView() + + guard subviews.isEmpty else { return } + + setDefaultState() + + addSubview(headline) + addSubview(button) + + headline.topAnchor.constraint(equalTo: topAnchor).isActive = true + headline.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true + trailingAnchor.constraint(equalTo: headline.trailingAnchor).isActive = true + + buttonTopConstraint = button.topAnchor.constraint(equalTo: headline.bottomAnchor, constant: buttonHeadlinePadding) + buttonTopConstraint?.isActive = true + + button.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true + bottomAnchor.constraint(equalTo: button.bottomAnchor).isActive = true + trailingAnchor.constraint(greaterThanOrEqualTo: button.trailingAnchor).isActive = true + } + + override open func updateView(_ size: CGFloat) { + super.updateView(size) + + headline.updateView(size) + button.updateView(size) + + buttonTopConstraint?.constant = headline.hasText() ? buttonHeadlinePadding : 0 + } + private func setDefaultState() { + + headline.headlineLabel.font = MFStyler.fontH3() + headline.messageLabel.font = MFStyler.fontB3() + button.setAsSecondaryCustom() + button.isHidden = false + buttonHeadlinePadding = PaddingTwo + } + + override open func reset() { + super.reset() + + headline.reset() + button.reset() + setDefaultState() + } + + open override func setAsMolecule() { + super.setAsMolecule() + + headline.setAsMolecule() + button.setAsMolecule() + setDefaultState() + } + + open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { + super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData) + + guard let dictionary = json else { return } + + if let padding = dictionary.optionalCGFloatForKey("buttonHeadlinePadding") { + buttonHeadlinePadding = padding + } + + headline.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) + + if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { + button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) + } else { + button.isHidden = true + } + } +} diff --git a/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m b/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m index 86267332..c80c25d6 100644 --- a/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m +++ b/MVMCoreUI/OtherHandlers/MVMCoreUIMoleculeMappingObject.m @@ -60,7 +60,8 @@ @"headlineBodySwitch": HeadlineBodySwitch.class, @"headlineBodyTextButton": HeadlineBodyTextButton.class, @"headlineBodyTextButtonSwitch": HeadlineBodyTextButtonSwitch.class, - @"tabsListItem": TabsTableViewCell.class + @"tabsListItem": TabsTableViewCell.class, + @"HeadlineBodyButton": HeadlineBodyButton.class } mutableCopy]; }); return mapping; From ad1def8ddc648b6866f54208302a695a2c4e597f Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 12 Sep 2019 16:38:18 -0400 Subject: [PATCH 04/10] changed default state name. --- MVMCoreUI/Molecules/HeadlineBodyButton.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift index df8ae918..1d1105c0 100644 --- a/MVMCoreUI/Molecules/HeadlineBodyButton.swift +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -59,7 +59,7 @@ import UIKit guard subviews.isEmpty else { return } - setDefaultState() + defaultState() addSubview(headline) addSubview(button) @@ -84,7 +84,8 @@ import UIKit buttonTopConstraint?.constant = headline.hasText() ? buttonHeadlinePadding : 0 } - private func setDefaultState() { + + private func defaultState() { headline.headlineLabel.font = MFStyler.fontH3() headline.messageLabel.font = MFStyler.fontB3() @@ -93,12 +94,16 @@ import UIKit buttonHeadlinePadding = PaddingTwo } + //------------------------------------------------------ + // MARK: - Molecule + //------------------------------------------------------ + override open func reset() { super.reset() headline.reset() button.reset() - setDefaultState() + defaultState() } open override func setAsMolecule() { @@ -106,7 +111,7 @@ import UIKit headline.setAsMolecule() button.setAsMolecule() - setDefaultState() + defaultState() } open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) { From cdc7ae2f1e7e0599e3a9ef09c932120da2cd6784 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Fri, 13 Sep 2019 09:08:33 -0400 Subject: [PATCH 05/10] added layoutMarginsGuide. --- MVMCoreUI/Molecules/HeadlineBodyButton.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift index 1d1105c0..feb0f751 100644 --- a/MVMCoreUI/Molecules/HeadlineBodyButton.swift +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -64,16 +64,16 @@ import UIKit addSubview(headline) addSubview(button) - headline.topAnchor.constraint(equalTo: topAnchor).isActive = true - headline.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true - trailingAnchor.constraint(equalTo: headline.trailingAnchor).isActive = true + headline.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true + headline.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true + layoutMarginsGuide.trailingAnchor.constraint(equalTo: headline.trailingAnchor).isActive = true buttonTopConstraint = button.topAnchor.constraint(equalTo: headline.bottomAnchor, constant: buttonHeadlinePadding) buttonTopConstraint?.isActive = true - button.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true - bottomAnchor.constraint(equalTo: button.bottomAnchor).isActive = true - trailingAnchor.constraint(greaterThanOrEqualTo: button.trailingAnchor).isActive = true + button.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true + layoutMarginsGuide.bottomAnchor.constraint(equalTo: button.bottomAnchor).isActive = true + layoutMarginsGuide.trailingAnchor.constraint(greaterThanOrEqualTo: button.trailingAnchor).isActive = true } override open func updateView(_ size: CGFloat) { From 720d17d7517bb795446d2621c59a67473ac96720 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 17 Oct 2019 15:35:14 -0400 Subject: [PATCH 06/10] revisions made. --- MVMCoreUI.xcodeproj/project.pbxproj | 6 +-- .../Buttons/HeadlineBodyPrimaryButton.swift | 53 ------------------- MVMCoreUI/Molecules/HeadlineBodyButton.swift | 28 +++++----- 3 files changed, 16 insertions(+), 71 deletions(-) delete mode 100644 MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift diff --git a/MVMCoreUI.xcodeproj/project.pbxproj b/MVMCoreUI.xcodeproj/project.pbxproj index ed3c634d..0eca06db 100644 --- a/MVMCoreUI.xcodeproj/project.pbxproj +++ b/MVMCoreUI.xcodeproj/project.pbxproj @@ -18,9 +18,9 @@ 01DF567021FA5AB300CC099B /* TextFieldListFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */; }; 01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; }; 0A1214A022C11A18007C7030 /* ActionDetailWithImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */; }; - 0A7BAD74232A8DC700FB8E22 /* HeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */; }; 0A1B4A96233BB18F005B3FB4 /* CheckboxWithLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAFA2232BE63400FB8E22 /* CheckboxWithLabelView.swift */; }; 0A41BA6E2344FCD400D4C0BC /* CATransaction+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A41BA6D2344FCD400D4C0BC /* CATransaction+Extension.swift */; }; + 0A7BAD74232A8DC700FB8E22 /* HeadlineBodyButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */; }; 0A7BAFA1232BE61800FB8E22 /* Checkbox.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7BAFA0232BE61800FB8E22 /* Checkbox.swift */; }; 9455B19C234F8A0400A574DB /* MVMAnimationFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9455B19B234F8A0400A574DB /* MVMAnimationFramework.framework */; }; 948DB67E2326DCD90011F916 /* MultiProgress.swift in Sources */ = {isa = PBXBuildFile; fileRef = 948DB67D2326DCD90011F916 /* MultiProgress.swift */; }; @@ -207,9 +207,8 @@ 01DF55DF21F8FAA800CC099B /* MFTextFieldListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MFTextFieldListView.swift; sourceTree = ""; }; 01DF566F21FA5AB300CC099B /* TextFieldListFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldListFormViewController.swift; sourceTree = ""; }; 0A12149F22C11A17007C7030 /* ActionDetailWithImage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ActionDetailWithImage.swift; sourceTree = ""; }; - 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyButton.swift; sourceTree = ""; }; - 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyPrimaryButton.swift; sourceTree = ""; }; 0A41BA6D2344FCD400D4C0BC /* CATransaction+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CATransaction+Extension.swift"; sourceTree = ""; }; + 0A7BAD73232A8DC700FB8E22 /* HeadlineBodyButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadlineBodyButton.swift; sourceTree = ""; }; 0A7BAFA0232BE61800FB8E22 /* Checkbox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Checkbox.swift; sourceTree = ""; }; 0A7BAFA2232BE63400FB8E22 /* CheckboxWithLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxWithLabelView.swift; sourceTree = ""; }; 9455B19B234F8A0400A574DB /* MVMAnimationFramework.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MVMAnimationFramework.framework; path = ../SharedFrameworks/MVMAnimationFramework.framework; sourceTree = ""; }; @@ -682,7 +681,6 @@ DBC4391A224421A0001AB423 /* CaretButton.swift */, D29DF25821E6A22D003B2FB9 /* MFButtonProtocol.h */, D29DF16B21E69E1F003B2FB9 /* ButtonDelegateProtocol.h */, - 0A804A3C2316CB79009A8656 /* HeadlineBodyPrimaryButton.swift */, D29DF16A21E69E1F003B2FB9 /* MFCustomButton.h */, D29DF17021E69E1F003B2FB9 /* MFCustomButton.m */, D29DF16C21E69E1F003B2FB9 /* PrimaryButton.h */, diff --git a/MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift b/MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift deleted file mode 100644 index 029a42c0..00000000 --- a/MVMCoreUI/Atoms/Buttons/HeadlineBodyPrimaryButton.swift +++ /dev/null @@ -1,53 +0,0 @@ -// -// HeadlineBodyPrimaryButton.swift -// MVMCoreUI -// -// Created by Kevin Christiano on 8/28/19. -// Copyright © 2019 Verizon Wireless. All rights reserved. -// - -import Foundation - - -@objcMembers open class HeadlineBodyPrimaryButton: ViewConstrainingView { - //------------------------------------------------------ - // MARK: - Outlets - //------------------------------------------------------ - - - - //------------------------------------------------------ - // MARK: - Properties - //------------------------------------------------------ - - - - //------------------------------------------------------ - // MARK: - Lifecycle - //------------------------------------------------------ - - open override func setupView() { - super.setupView() - - guard subviews.count == 0 else { return } - - } - - open override func updateView(_ size: CGFloat) { - super.updateView(size) - } - - //------------------------------------------------------ - // MARK: - JSON - //------------------------------------------------------ - - - - open override func reset() { - - } - - open override func setAsMolecule() { - super.setAsMolecule() - } -} diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift index feb0f751..2922f0f2 100644 --- a/MVMCoreUI/Molecules/HeadlineBodyButton.swift +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -14,7 +14,7 @@ import UIKit // MARK: - Outlets //------------------------------------------------------ - let headline = HeadlineBody(frame: .zero) + let headlineBody = HeadlineBody(frame: .zero) let button = PrimaryButton.primaryTinyButton(false)! //------------------------------------------------------ @@ -61,14 +61,14 @@ import UIKit defaultState() - addSubview(headline) + addSubview(headlineBody) addSubview(button) - headline.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true - headline.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true - layoutMarginsGuide.trailingAnchor.constraint(equalTo: headline.trailingAnchor).isActive = true + headlineBody.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor).isActive = true + headlineBody.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true + layoutMarginsGuide.trailingAnchor.constraint(equalTo: headlineBody.trailingAnchor).isActive = true - buttonTopConstraint = button.topAnchor.constraint(equalTo: headline.bottomAnchor, constant: buttonHeadlinePadding) + buttonTopConstraint = button.topAnchor.constraint(equalTo: headlineBody.bottomAnchor, constant: buttonHeadlinePadding) buttonTopConstraint?.isActive = true button.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true @@ -79,17 +79,17 @@ import UIKit override open func updateView(_ size: CGFloat) { super.updateView(size) - headline.updateView(size) + headlineBody.updateView(size) button.updateView(size) - buttonTopConstraint?.constant = headline.hasText() ? buttonHeadlinePadding : 0 + buttonTopConstraint?.constant = headlineBody.hasText() && !button.isHidden ? buttonHeadlinePadding : 0 } private func defaultState() { - headline.headlineLabel.font = MFStyler.fontH3() - headline.messageLabel.font = MFStyler.fontB3() - button.setAsSecondaryCustom() + headlineBody.headlineLabel.font = MFStyler.fontH3() + headlineBody.messageLabel.font = MFStyler.fontB3() + button.setAsTiny(true) button.isHidden = false buttonHeadlinePadding = PaddingTwo } @@ -101,7 +101,7 @@ import UIKit override open func reset() { super.reset() - headline.reset() + headlineBody.reset() button.reset() defaultState() } @@ -109,7 +109,7 @@ import UIKit open override func setAsMolecule() { super.setAsMolecule() - headline.setAsMolecule() + headlineBody.setAsMolecule() button.setAsMolecule() defaultState() } @@ -123,7 +123,7 @@ import UIKit buttonHeadlinePadding = padding } - headline.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) + headlineBody.setWithJSON(dictionary.optionalDictionaryForKey("headlineBodyBody"), delegateObject: delegateObject, additionalData: additionalData) if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) From b79b999910969344b908d81fa5e2d070cc94879c Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Tue, 22 Oct 2019 11:04:22 -0400 Subject: [PATCH 07/10] added secondary. --- MVMCoreUI/Molecules/HeadlineBodyButton.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift index 2922f0f2..e3281d35 100644 --- a/MVMCoreUI/Molecules/HeadlineBodyButton.swift +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -90,6 +90,7 @@ import UIKit headlineBody.headlineLabel.font = MFStyler.fontH3() headlineBody.messageLabel.font = MFStyler.fontB3() button.setAsTiny(true) + button.setAsSecondaryCustom() button.isHidden = false buttonHeadlinePadding = PaddingTwo } From 2248b36ccbd9fd2d51d0389bf359356501a09d7c Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Tue, 22 Oct 2019 11:10:06 -0400 Subject: [PATCH 08/10] one less body. --- MVMCoreUI/Molecules/HeadlineBodyButton.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MVMCoreUI/Molecules/HeadlineBodyButton.swift b/MVMCoreUI/Molecules/HeadlineBodyButton.swift index e3281d35..87efc9b6 100644 --- a/MVMCoreUI/Molecules/HeadlineBodyButton.swift +++ b/MVMCoreUI/Molecules/HeadlineBodyButton.swift @@ -124,7 +124,7 @@ import UIKit buttonHeadlinePadding = padding } - headlineBody.setWithJSON(dictionary.optionalDictionaryForKey("headlineBodyBody"), delegateObject: delegateObject, additionalData: additionalData) + headlineBody.setWithJSON(dictionary.optionalDictionaryForKey("headlineBody"), delegateObject: delegateObject, additionalData: additionalData) if let buttonDictionary = dictionary.optionalDictionaryForKey("button") { button.setWithJSON(buttonDictionary, delegateObject: delegateObject, additionalData: additionalData) From 9b86b4449fda763349a289f4c54de908ac3b14d4 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Tue, 22 Oct 2019 11:54:13 -0400 Subject: [PATCH 09/10] dcsds --- MVMCoreUI/Molecules/ActionDetailWithImage.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MVMCoreUI/Molecules/ActionDetailWithImage.swift b/MVMCoreUI/Molecules/ActionDetailWithImage.swift index 76dde8e6..86cee41b 100644 --- a/MVMCoreUI/Molecules/ActionDetailWithImage.swift +++ b/MVMCoreUI/Molecules/ActionDetailWithImage.swift @@ -101,8 +101,8 @@ import UIKit private func setDefaultState() { - headlineBodyButton.headline.headlineLabel.font = MFStyler.fontH3() - headlineBodyButton.headline.messageLabel.font = MFStyler.fontB3() + headlineBodyButton.headlineBody.headlineLabel.font = MFStyler.fontH3() + headlineBodyButton.headlineBody.messageLabel.font = MFStyler.fontB3() imageLoader.imageView.contentMode = .scaleAspectFit imageLoader.addSizeConstraintsForAspectRatio = true buttonHeaderPadding = PaddingTwo From b8bdf4829ec0efead7ed0f07efe1fde498ca0aa6 Mon Sep 17 00:00:00 2001 From: "Chintakrinda, Arun Kumar (Arun)" Date: Wed, 23 Oct 2019 18:21:38 +0530 Subject: [PATCH 10/10] Fix for label and molecule stack --- MVMCoreUI/Atoms/Views/Label.swift | 2 +- MVMCoreUI/Organisms/MoleculeStackView.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MVMCoreUI/Atoms/Views/Label.swift b/MVMCoreUI/Atoms/Views/Label.swift index 6fc496bd..52ee43d1 100644 --- a/MVMCoreUI/Atoms/Views/Label.swift +++ b/MVMCoreUI/Atoms/Views/Label.swift @@ -308,7 +308,7 @@ public typealias ActionBlock = () -> () guard let actionLabel = label as? Label else { continue } actionLabel.addActionAttributes(range: range, string: attributedString) - let actionBlock = actionLabel.createActionBlockFrom(actionMap: json, additionalData: additionalData, delegateObject: delegate) + let actionBlock = actionLabel.createActionBlockFrom(actionMap: attribute, additionalData: additionalData, delegateObject: delegate) actionLabel.appendActionableClause(range: range, actionBlock: actionBlock) default: diff --git a/MVMCoreUI/Organisms/MoleculeStackView.swift b/MVMCoreUI/Organisms/MoleculeStackView.swift index 14ad9e70..95855f52 100644 --- a/MVMCoreUI/Organisms/MoleculeStackView.swift +++ b/MVMCoreUI/Organisms/MoleculeStackView.swift @@ -190,7 +190,7 @@ public class MoleculeStackView: ViewConstrainingView { return "stack<>" } var name = "stack<" - for case let item as [AnyHashable: AnyHashable] in molecules { + for case let item as [AnyHashable: Any] in molecules { if let molecule = item.optionalDictionaryForKey(KeyMolecule), let moleculeName = MVMCoreUIMoleculeMappingObject.shared()?.getMoleculeClass(withJSON: molecule)?.name?(forReuse: molecule, delegateObject: delegateObject) ?? molecule.optionalStringForKey(KeyMoleculeName) { name.append(moleculeName + ",") }