Merge branch 'feature/forms_server_value' into 'develop'

added new method for sending the server value

See merge request BPHV_MIPS/mvm_core_ui!888
This commit is contained in:
Hedden, Kyle Matthew 2022-07-22 16:49:08 +00:00
commit 2f10bf0ffe
11 changed files with 70 additions and 5 deletions

View File

@ -96,6 +96,10 @@ import Foundation
return text
}
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
public func setValidity(_ valid: Bool, errorMessage: String?) {
if let ruleErrorMessage = errorMessage, fieldKey != nil {

View File

@ -84,6 +84,13 @@
return selected
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Initializer
//--------------------------------------------------

View File

@ -25,7 +25,7 @@ import MVMCore
public var readOnly: Bool = false
//--------------------------------------------------
// MARK: - Methods
// MARK: - Form Validation
//--------------------------------------------------
/// Returns the fieldValue of the selected box, otherwise the text of the selected box.
@ -37,6 +37,13 @@ import MVMCore
return selectedBox?.fieldValue ?? selectedBox?.text
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Keys
//--------------------------------------------------

View File

@ -64,6 +64,13 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
return fieldValue
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Codec
//--------------------------------------------------

View File

@ -83,4 +83,8 @@ extension RadioButtonSelectionHelper {
guard enabled else { return nil }
return selectedRadioButtonModel?.fieldValue
}
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
}

View File

@ -21,11 +21,10 @@ import MVMCore
public var baseValue: AnyHashable?
public var enabled: Bool = true
public var readOnly: Bool = false
//--------------------------------------------------
// MARK: - Methods
// MARK: - Form Validation
//--------------------------------------------------
/// Returns the fieldValue of the selected swatch, otherwise the text of selected swatch.
public func formFieldValue() -> AnyHashable? {
guard enabled else { return nil }
@ -35,6 +34,10 @@ import MVMCore
return selectedSwatch?.fieldValue ?? selectedSwatch?.text
}
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Keys
//--------------------------------------------------

View File

@ -63,6 +63,13 @@ public class ToggleModel: MoleculeModelProtocol, FormFieldProtocol {
return selected
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Initializer
//--------------------------------------------------

View File

@ -25,11 +25,21 @@
public var groupName: String = FormValidator.defaultGroupName
public var baseValue: AnyHashable?
//--------------------------------------------------
// MARK: - Validation
//--------------------------------------------------
public func formFieldValue() -> AnyHashable? {
guard enabled else { return nil }
return fieldValue
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Keys
//--------------------------------------------------

View File

@ -47,6 +47,9 @@ import UIKit
self.molecules = molecules
}
//--------------------------------------------------
// MARK: - Validation
//--------------------------------------------------
public func formFieldValue() -> AnyHashable? {
guard enabled else { return nil }
@ -63,6 +66,13 @@ import UIKit
return fieldValue
}
//--------------------------------------------------
// MARK: - Server Value
//--------------------------------------------------
open func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
//--------------------------------------------------
// MARK: - Keys
//--------------------------------------------------

View File

@ -23,11 +23,17 @@ public protocol FormFieldProtocol: FormItemProtocol {
/// Returns the value of the field. Used for validations and possibly for sending to server.
func formFieldValue() -> AnyHashable?
/// Returns the value of the field. Used sending to server.
func formFieldServerValue() -> AnyHashable?
}
public extension FormFieldProtocol {
var baseValue: AnyHashable? { nil }
func formFieldServerValue() -> AnyHashable? {
return formFieldValue()
}
}
public class FormFieldValidity{

View File

@ -209,7 +209,7 @@ public extension FormValidator {
var extraParam: [String: Any] = [:]
for (fieldKey, field) in fields {
if let formFieldValue = field.formFieldValue(),
if let formFieldValue = field.formFieldServerValue(),
groupName == field.groupName {
extraParam[fieldKey] = formFieldValue
}