protocol implementation

This commit is contained in:
Murugan, Vimal 2019-12-27 13:02:13 +05:30
parent 1d843ae29a
commit ccc535360c
2 changed files with 23 additions and 2 deletions

View File

@ -9,6 +9,10 @@
import UIKit import UIKit
import MVMCore import MVMCore
@objc public protocol TextFieldListHelperProtocol {
@objc optional func fieldForMap(_ map: [String: Any], textField: MFTextField)
@objc optional func spaceBetweenField() -> CGFloat
}
public class MFTextFieldListView: ViewConstrainingView { public class MFTextFieldListView: ViewConstrainingView {
@ -48,6 +52,8 @@ public class MFTextFieldListView: ViewConstrainingView {
for textFieldMap in textFieldMapList { for textFieldMap in textFieldMapList {
if let textField = getTextFieldForMap(textFieldMap) { if let textField = getTextFieldForMap(textFieldMap) {
(parentViewContoller as? TextFieldListHelperProtocol)?.fieldForMap?(textFieldMap, textField: textField)
if textFieldMap.boolForKey("required") { if textFieldMap.boolForKey("required") {
textFieldsToValidate.append(textField) textFieldsToValidate.append(textField)
} }
@ -60,11 +66,13 @@ public class MFTextFieldListView: ViewConstrainingView {
} }
} }
let spaceBtwField = (parentViewContoller as? TextFieldListHelperProtocol)?.spaceBetweenField?() ?? 0.0
StackableViewController.populateView(self, withUIArray: viewList) { (viewObject) -> UIEdgeInsets in StackableViewController.populateView(self, withUIArray: viewList) { (viewObject) -> UIEdgeInsets in
var edgeInsets = StackableViewController.standardSpaceAroundUIObject() var edgeInsets = StackableViewController.standardSpaceAroundUIObject()
edgeInsets.left = 0 edgeInsets.left = 0
edgeInsets.right = 0 edgeInsets.right = 0
edgeInsets.top = 0 edgeInsets.top = 0
edgeInsets.bottom = spaceBtwField
return edgeInsets return edgeInsets
} }

View File

@ -8,7 +8,7 @@
import UIKit import UIKit
open class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewController { open class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewController, TextFieldListHelperProtocol {
public var textFieldListView: MFTextFieldListView? public var textFieldListView: MFTextFieldListView?
@ -30,7 +30,7 @@ open class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewControl
open override func buildViewsBetweenLabelsAndButtons() -> [UIView]? { open override func buildViewsBetweenLabelsAndButtons() -> [UIView]? {
var viewList: [UIView] = [] var viewList: [UIView] = []
if let textFieldsList = loadObject?.pageJSON?.arrayForKey("textFieldList") as? [[String: Any]] { if let textFieldsList = textFieldsLists() {
let textFieldListView = MFTextFieldListView(textFieldMapList: textFieldsList, let textFieldListView = MFTextFieldListView(textFieldMapList: textFieldsList,
parentViewContoller: self, parentViewContoller: self,
primaryButton: self.primaryButton) primaryButton: self.primaryButton)
@ -49,4 +49,17 @@ open class TextFieldListFormViewController: TopLabelsAndBottomButtonsViewControl
return PaddingFour as NSNumber return PaddingFour as NSNumber
} }
open func textFieldsLists() -> [[String: Any]]? {
return loadObject?.pageJSON?.arrayForKey("textFieldList") as? [[String: Any]]
}
//MARK: - Textfield list protocol
open func spaceBetweenField() -> CGFloat {
return 0.0
}
open func fieldForMap(_ map: [String : Any], textField: MFTextField) {
}
} }