refactored label
added label computer var off of toggle Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
ecdd57f094
commit
81d36f0096
@ -75,6 +75,7 @@ open class VDSLabel: UILabel, Modelable, Initable {
|
||||
|
||||
//functions
|
||||
private func onStateChange(viewModel: VDSLabelModel) {
|
||||
text = model.text
|
||||
textAlignment = viewModel.textPosition.textAlignment
|
||||
textColor = getTextColor(for: viewModel.disabled, surface: viewModel.surface)
|
||||
|
||||
|
||||
@ -9,9 +9,11 @@ import Foundation
|
||||
import UIKit
|
||||
|
||||
public protocol VDSLabelModel: Labelable, Surfaceable, Disabling {
|
||||
var text: String? { get set }
|
||||
}
|
||||
|
||||
open class DefaultLabelModel: VDSLabelModel {
|
||||
public var text: String?
|
||||
public var fontCategory: VDSFontCategory = .body
|
||||
public var fontSize: VDSFontSize = .small
|
||||
public var fontWeight: VDSFontWeight = .regular
|
||||
|
||||
@ -338,8 +338,7 @@ import Combine
|
||||
open override func onStateChange(viewModel: ModelType) {
|
||||
let enabled = !viewModel.disabled
|
||||
|
||||
label.set(with: viewModel)
|
||||
label.text = viewModel.on ? viewModel.onText : viewModel.offText
|
||||
label.set(with: viewModel.label)
|
||||
|
||||
setAccessibilityHint(!viewModel.disabled)
|
||||
setAccessibilityValue(viewModel.on)
|
||||
|
||||
@ -14,7 +14,7 @@ extension VDSToggle {
|
||||
}
|
||||
}
|
||||
|
||||
public protocol VDSToggleModel: VDSLabelModel, FormFieldable, DataTrackable, Accessable, Initable {
|
||||
public protocol VDSToggleModel: FormFieldable, DataTrackable, Accessable, Initable, Labelable, Surfaceable, Disabling {
|
||||
var id: String? { get set }
|
||||
var showText: Bool { get set }
|
||||
var on: Bool { get set }
|
||||
@ -27,6 +27,18 @@ extension VDSToggleModel {
|
||||
get { return .body }
|
||||
set { return }
|
||||
}
|
||||
|
||||
public var label: VDSLabelModel {
|
||||
let model = DefaultLabelModel()
|
||||
model.fontSize = fontSize
|
||||
model.textPosition = textPosition
|
||||
model.fontWeight = fontWeight
|
||||
model.fontCategory = .body
|
||||
model.text = on ? onText : offText
|
||||
model.surface = surface
|
||||
model.disabled = disabled
|
||||
return model
|
||||
}
|
||||
}
|
||||
|
||||
public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user