Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/molecular_top_alert
This commit is contained in:
commit
a971f3daa9
@ -9,7 +9,7 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
|
|
||||||
@objcMembers open class RadioButton: Control {
|
@objcMembers open class RadioButton: Control, MFButtonProtocol {
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Properties
|
// MARK: - Properties
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -99,6 +99,9 @@ import UIKit
|
|||||||
} else {
|
} else {
|
||||||
isSelected = !isSelected
|
isSelected = !isSelected
|
||||||
}
|
}
|
||||||
|
if let actionModel = radioModel?.action, isSelected {
|
||||||
|
Button.performButtonAction(with: actionModel, button: self, delegateObject: delegateObject, additionalData: nil)
|
||||||
|
}
|
||||||
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
_ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate)
|
||||||
setNeedsDisplay()
|
setNeedsDisplay()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,6 +26,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
|
|||||||
public var baseValue: AnyHashable?
|
public var baseValue: AnyHashable?
|
||||||
public var groupName: String = FormValidator.defaultGroupName
|
public var groupName: String = FormValidator.defaultGroupName
|
||||||
public var fieldKey: String?
|
public var fieldKey: String?
|
||||||
|
public var action: ActionModelProtocol?
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Keys
|
// MARK: - Keys
|
||||||
@ -39,6 +40,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
|
|||||||
case fieldValue
|
case fieldValue
|
||||||
case fieldKey
|
case fieldKey
|
||||||
case groupName
|
case groupName
|
||||||
|
case action
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -81,6 +83,7 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
|
|||||||
self.groupName = groupName
|
self.groupName = groupName
|
||||||
}
|
}
|
||||||
fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue)
|
fieldValue = try typeContainer.decodeIfPresent(String.self, forKey: .fieldValue)
|
||||||
|
action = try typeContainer.decodeModelIfPresent(codingKey: .action)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
@ -92,5 +95,6 @@ open class RadioButtonModel: MoleculeModelProtocol, FormFieldProtocol {
|
|||||||
try container.encodeIfPresent(fieldKey, forKey: .fieldKey)
|
try container.encodeIfPresent(fieldKey, forKey: .fieldKey)
|
||||||
try container.encodeIfPresent(groupName, forKey: .groupName)
|
try container.encodeIfPresent(groupName, forKey: .groupName)
|
||||||
try container.encodeIfPresent(fieldValue, forKey: .fieldValue)
|
try container.encodeIfPresent(fieldValue, forKey: .fieldValue)
|
||||||
|
try container.encodeModelIfPresent(action, forKey: .action)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -128,7 +128,9 @@ extension WebView : WKUIDelegate {
|
|||||||
if !dynamicHeight {
|
if !dynamicHeight {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
/* was using "document.readyState" to check the state, while evaluateJavaScript "document.readyState",only works when webview contains userscrpt.otherwise, it would return WKErrorDomain Code=4 "A JavaScript exception occurred".
|
/*
|
||||||
|
was using "document.readyState" to check the state,
|
||||||
|
while evaluateJavaScript "document.readyState",only works when webview contains userscrpt.otherwise, it would return WKErrorDomain Code=4 "A JavaScript exception occurred".
|
||||||
so webView.isLoading to check load finished state
|
so webView.isLoading to check load finished state
|
||||||
*/
|
*/
|
||||||
if !webView.isLoading {
|
if !webView.isLoading {
|
||||||
@ -136,14 +138,18 @@ extension WebView : WKUIDelegate {
|
|||||||
guard let self = self else {
|
guard let self = self else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if let height = result as? CGFloat {
|
MVMCoreDispatchUtility.performBlock(onMainThread: { [weak self] in
|
||||||
self.webViewHeight?.constant = height
|
guard let self = self else {
|
||||||
} else {
|
return
|
||||||
//if failed to get height from javascript, using scrollview.contensize's height
|
}
|
||||||
let scrollHeight = self.webView?.scrollView.contentSize.height
|
if let height = result as? CGFloat {
|
||||||
self.webViewHeight?.constant = scrollHeight ?? 44
|
self.webViewHeight?.constant = height
|
||||||
}
|
} else {
|
||||||
self.delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self)
|
//if failed to get height from javascript, using scrollview.contensize's height
|
||||||
|
self.webViewHeight?.constant = webView.scrollView.contentSize.height
|
||||||
|
}
|
||||||
|
self.delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user