From 1d843ae29a6c2eafcaf5227ef4f97d2e3009fbb9 Mon Sep 17 00:00:00 2001 From: "Murugan, Vimal" Date: Thu, 26 Dec 2019 19:33:37 +0530 Subject: [PATCH] main thread update access modifier update --- MVMCoreUI/Molecules/MFTextFieldListView.swift | 24 ++++++++++++++----- .../TextFieldListFormViewController.swift | 14 +++++------ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/MVMCoreUI/Molecules/MFTextFieldListView.swift b/MVMCoreUI/Molecules/MFTextFieldListView.swift index 6d24e19a..6655cf01 100644 --- a/MVMCoreUI/Molecules/MFTextFieldListView.swift +++ b/MVMCoreUI/Molecules/MFTextFieldListView.swift @@ -46,7 +46,7 @@ public class MFTextFieldListView: ViewConstrainingView { var viewList: [UIView] = [] for textFieldMap in textFieldMapList { - if let textField = MFTextField(map: textFieldMap, bothDelegates: self) { + if let textField = getTextFieldForMap(textFieldMap) { if textFieldMap.boolForKey("required") { textFieldsToValidate.append(textField) @@ -76,13 +76,25 @@ public class MFTextFieldListView: ViewConstrainingView { } public func getTextParamsList() -> [String: Any] { - var extraParam: [String: Any] = [:] - for textField in textFields { - if let fieldKey = textField.fieldKey { - extraParam[fieldKey as String] = textField.text ?? "" + return DispatchQueue.main.sync { + var extraParam: [String: Any] = [:] + for textField in textFields { + if let fieldKey = textField.fieldKey { + extraParam[fieldKey as String] = textField.text ?? "" + } } + return extraParam } - return extraParam + } + + private func getTextFieldForMap(_ map: [String: Any]) -> MFTextField? { + if map.boolForKey("dropDown") { + let dropDownFld = DropDown(map: map, bothDelegates: self) + dropDownFld?.setWithJSON(map, delegateObject: parentViewContoller?.delegateObject() as? MVMCoreUIDelegateObject, additionalData: nil) + dropDownFld?.showDropDown(true) + return dropDownFld + } + return MFTextField(map: map, bothDelegates: self) } } diff --git a/MVMCoreUI/Templates/TextFieldListFormViewController.swift b/MVMCoreUI/Templates/TextFieldListFormViewController.swift index bf3b0bea..6aa3eec7 100644 --- a/MVMCoreUI/Templates/TextFieldListFormViewController.swift +++ b/MVMCoreUI/Templates/TextFieldListFormViewController.swift @@ -8,26 +8,26 @@ import UIKit -public class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewController { +open class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewController { public var textFieldListView: MFTextFieldListView? - public override func viewDidLoad() { + open override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } - public override func updateViews() { + open override func updateViews() { super.updateViews() } - public override func newDataBuildScreen() { + open override func newDataBuildScreen() { super.newDataBuildScreen() topLabelsView?.separatorView?.isHidden = true } - public override func buildViewsBetweenLabelsAndButtons() -> [UIView]? { + open override func buildViewsBetweenLabelsAndButtons() -> [UIView]? { var viewList: [UIView] = [] if let textFieldsList = loadObject?.pageJSON?.arrayForKey("textFieldList") as? [[String: Any]] { @@ -40,12 +40,12 @@ public class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewContr return viewList } - public override func handleOpenPage(for requestParameters: MVMCoreRequestParameters, actionInformation: [AnyHashable : Any]?, additionalData: [AnyHashable : Any]?) { + open override func handleOpenPage(for requestParameters: MVMCoreRequestParameters, actionInformation: [AnyHashable : Any]?, additionalData: [AnyHashable : Any]?) { textFieldListView?.addParams(requestParameters: requestParameters) super.handleOpenPage(for: requestParameters, actionInformation: actionInformation, additionalData: additionalData) } - public override func spaceAboveBetweenView() -> NSNumber? { + open override func spaceAboveBetweenView() -> NSNumber? { return PaddingFour as NSNumber }