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
|
//functions
|
||||||
private func onStateChange(viewModel: VDSLabelModel) {
|
private func onStateChange(viewModel: VDSLabelModel) {
|
||||||
|
text = model.text
|
||||||
textAlignment = viewModel.textPosition.textAlignment
|
textAlignment = viewModel.textPosition.textAlignment
|
||||||
textColor = getTextColor(for: viewModel.disabled, surface: viewModel.surface)
|
textColor = getTextColor(for: viewModel.disabled, surface: viewModel.surface)
|
||||||
|
|
||||||
|
|||||||
@ -9,9 +9,11 @@ import Foundation
|
|||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
public protocol VDSLabelModel: Labelable, Surfaceable, Disabling {
|
public protocol VDSLabelModel: Labelable, Surfaceable, Disabling {
|
||||||
|
var text: String? { get set }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class DefaultLabelModel: VDSLabelModel {
|
open class DefaultLabelModel: VDSLabelModel {
|
||||||
|
public var text: String?
|
||||||
public var fontCategory: VDSFontCategory = .body
|
public var fontCategory: VDSFontCategory = .body
|
||||||
public var fontSize: VDSFontSize = .small
|
public var fontSize: VDSFontSize = .small
|
||||||
public var fontWeight: VDSFontWeight = .regular
|
public var fontWeight: VDSFontWeight = .regular
|
||||||
|
|||||||
@ -338,8 +338,7 @@ import Combine
|
|||||||
open override func onStateChange(viewModel: ModelType) {
|
open override func onStateChange(viewModel: ModelType) {
|
||||||
let enabled = !viewModel.disabled
|
let enabled = !viewModel.disabled
|
||||||
|
|
||||||
label.set(with: viewModel)
|
label.set(with: viewModel.label)
|
||||||
label.text = viewModel.on ? viewModel.onText : viewModel.offText
|
|
||||||
|
|
||||||
setAccessibilityHint(!viewModel.disabled)
|
setAccessibilityHint(!viewModel.disabled)
|
||||||
setAccessibilityValue(viewModel.on)
|
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 id: String? { get set }
|
||||||
var showText: Bool { get set }
|
var showText: Bool { get set }
|
||||||
var on: Bool { get set }
|
var on: Bool { get set }
|
||||||
@ -27,6 +27,18 @@ extension VDSToggleModel {
|
|||||||
get { return .body }
|
get { return .body }
|
||||||
set { return }
|
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 {
|
public class DefaultToggleModel: DefaultLabelModel, VDSToggleModel {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user