From 8562806880341e941ae24c5c754ca650d9d23453 Mon Sep 17 00:00:00 2001 From: Kevin G Christiano Date: Thu, 22 Jul 2021 21:24:19 -0400 Subject: [PATCH] error checks --- .../Dropdown Fields/BaseDropdownEntryField.swift | 14 +++++++++----- .../Containers/Views/EntryFieldContainer.swift | 4 +++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/BaseDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/BaseDropdownEntryField.swift index 5a7f1702..d9b42a41 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/BaseDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/BaseDropdownEntryField.swift @@ -88,14 +88,18 @@ import UIKit } @objc public override func dismissFieldInput(_ sender: Any?) { - performDropdownAction() + if !textField.isFirstResponder { + performDropdownAction() + } super.dismissFieldInput(sender) } func performDropdownAction() { - if let baseDropdownEntryFieldModel = baseDropdownEntryFieldModel, let actionModel = baseDropdownEntryFieldModel.action { - let additionalDataWithSource = additionalData.dictionaryAdding(key: KeySourceModel, value: baseDropdownEntryFieldModel) - MVMCoreActionHandler.shared()?.asyncHandleAction(with: actionModel, additionalData: additionalDataWithSource, delegateObject: delegateObject) - } + guard let baseDropdownEntryFieldModel = baseDropdownEntryFieldModel, + let actionModel = baseDropdownEntryFieldModel.action + else { return } + + let additionalDataWithSource = additionalData.dictionaryAdding(key: KeySourceModel, value: baseDropdownEntryFieldModel) + MVMCoreActionHandler.shared()?.asyncHandleAction(with: actionModel, additionalData: additionalDataWithSource, delegateObject: delegateObject) } } diff --git a/MVMCoreUI/Containers/Views/EntryFieldContainer.swift b/MVMCoreUI/Containers/Views/EntryFieldContainer.swift index 9ccd1d25..50236e45 100644 --- a/MVMCoreUI/Containers/Views/EntryFieldContainer.swift +++ b/MVMCoreUI/Containers/Views/EntryFieldContainer.swift @@ -270,7 +270,9 @@ import UIKit bottomBar?.frame = CGRect(x: 0, y: bounds.height - size, width: bounds.width, height: size) if updateMoleculeLayout || heightChanged { - delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self) + DispatchQueue.main.async { [self] in + delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self) + } } setNeedsDisplay()