Merge branch 'feature/coding' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/coding

This commit is contained in:
Pfeil, Scott Robert 2020-01-23 11:01:49 -05:00
commit 6d81705c2e

View File

@ -8,50 +8,50 @@
import UIKit
@objcMembers public class LabelSwitch: View {
let label = Label.commonLabelB1(true)
let mvmSwitch = Toggle()
@objcMembers open class LabelSwitch: View {
public let label = Label.commonLabelB1(true)
public let toggle = Toggle()
// MARK: - MVMCoreViewProtocol
open override func updateView(_ size: CGFloat) {
super.updateView(size)
label.updateView(size)
mvmSwitch.updateView(size)
toggle.updateView(size)
}
public override func setupView() {
open override func setupView() {
super.setupView()
guard mvmSwitch.superview == nil else {
guard toggle.superview == nil else {
return
}
addSubview(label)
addSubview(mvmSwitch)
addSubview(toggle)
label.setContentHuggingPriority(UILayoutPriority.required, for: NSLayoutConstraint.Axis.vertical)
NSLayoutConstraint.pinSubviewsCenter(leftView: label, rightView: mvmSwitch)
NSLayoutConstraint.pinSubviewsCenter(leftView: label, rightView: toggle)
}
// MARK:- ModelMoleculeViewProtocol
public override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {
open override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {
guard let model = molecule as? LabelToggleModel,
let toggleHeight = Toggle.estimatedHeight(forRow: model.toggle, delegateObject: delegateObject),
let labelHeight = Label.estimatedHeight(forRow: model.label, delegateObject: delegateObject) else { return nil }
return max(toggleHeight, labelHeight)
}
public override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
open override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
guard let labelToggleModel = model as? LabelToggleModel else {
return
}
label.setWithModel(labelToggleModel.label, delegateObject, additionalData)
mvmSwitch.setWithModel(labelToggleModel.toggle, delegateObject, additionalData)
toggle.setWithModel(labelToggleModel.toggle, delegateObject, additionalData)
}
// MARK: - MVMCoreUIMoleculeViewProtocol
public override func reset() {
open override func reset() {
super.reset()
label.reset()
(mvmSwitch as MVMCoreUIMoleculeViewProtocol).reset?()
toggle.reset()
label.styleB1(true)
}
}