refactored enabled/disabled

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-17 13:14:56 -05:00
parent 43c60fe895
commit 42e417b043
5 changed files with 50 additions and 33 deletions

View File

@ -28,7 +28,22 @@ open class Control<ModelType: Modelable>: UIControl, ModelHandlerable, ViewProto
open var surface: Surface
@Proxy(\.model.disabled)
open var disabled: Bool
open var disabled: Bool {
didSet {
self.isEnabled = !disabled
}
}
open override var isEnabled: Bool {
get { !model.disabled }
set {
//create local vars for clear coding
let disabled = !newValue
if model.disabled != disabled {
model.disabled = disabled
}
}
}
//--------------------------------------------------
// MARK: - Initializers

View File

@ -28,8 +28,23 @@ open class View<ModelType: Modelable>: UIView, ModelHandlerable, ViewProtocol, R
open var surface: Surface
@Proxy(\.model.disabled)
open var disabled: Bool
open var disabled: Bool {
didSet {
self.isEnabled = !disabled
}
}
open var isEnabled: Bool {
get { !model.disabled }
set {
//create local vars for clear coding
let disabled = !newValue
if model.disabled != disabled {
model.disabled = disabled
}
}
}
//--------------------------------------------------
// MARK: - Initializers
//--------------------------------------------------

View File

@ -28,7 +28,22 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, ViewProt
open var surface: Surface
@Proxy(\.model.disabled)
open var disabled: Bool
open var disabled: Bool {
didSet {
self.isEnabled = !disabled
}
}
open override var isEnabled: Bool {
get { !model.disabled }
set {
//create local vars for clear coding
let disabled = !newValue
if model.disabled != disabled {
model.disabled = disabled
}
}
}
@Proxy(\.model.attributes)
open var attributes: [LabelAttributeModel]?

View File

@ -125,21 +125,7 @@ open class SelectorBase<ModelType: SelectorModel>: Control<ModelType>, Changable
@Proxy(\.model.accessibilityLabelDisabled)
open var accessibilityLabelDisabled: String?
//--------------------------------------------------
// MARK: - Computed Properties
//--------------------------------------------------
open override var isEnabled: Bool {
get { !model.disabled }
set {
//create local vars for clear coding
let disabled = !newValue
if model.disabled != disabled {
model.disabled = disabled
}
}
}
//--------------------------------------------------
// MARK: - Constraints
//--------------------------------------------------

View File

@ -163,20 +163,6 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
@Proxy(\.model.accessibilityLabelDisabled)
open var accessibilityLabelDisabled: String?
//--------------------------------------------------
// MARK: - Computed Properties
//--------------------------------------------------
open override var isEnabled: Bool {
get { !model.disabled }
set {
//create local vars for clear coding
let disabled = !newValue
if model.disabled != disabled {
model.disabled = disabled
}
}
}
//only allows
//fontSize: small, large
//fontWeight: regular, bold