added setDefaults() into protocol and implemented
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
0decdb5a16
commit
09886ffe26
@ -83,17 +83,25 @@ open class Control: UIControl, ViewProtocol, UserInfoable, Clickable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
open func setup() {
|
||||
backgroundColor = .clear
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
insetsLayoutMarginsFromSafeArea = false
|
||||
}
|
||||
|
||||
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
onClick = nil
|
||||
userInfo.removeAll()
|
||||
}
|
||||
|
||||
open func updateView() { }
|
||||
|
||||
open func updateAccessibility() {
|
||||
@ -110,13 +118,12 @@ open class Control: UIControl, ViewProtocol, UserInfoable, Clickable {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
open func reset() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
onClick = nil
|
||||
userInfo.removeAll()
|
||||
shouldUpdateView = false
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -62,17 +62,24 @@ open class View: UIView, ViewProtocol, UserInfoable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
open func setup() {
|
||||
backgroundColor = .clear
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
insetsLayoutMarginsFromSafeArea = false
|
||||
}
|
||||
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
userInfo.removeAll()
|
||||
}
|
||||
|
||||
open func updateView() { }
|
||||
|
||||
open func updateAccessibility() {
|
||||
@ -84,9 +91,10 @@ open class View: UIView, ViewProtocol, UserInfoable {
|
||||
}
|
||||
|
||||
open func reset() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
shouldUpdateView = false
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
open override func layoutSubviews() {
|
||||
|
||||
@ -102,6 +102,7 @@ open class ButtonBase: UIButton, ViewProtocol, UserInfoable, Clickable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
@ -109,12 +110,20 @@ open class ButtonBase: UIButton, ViewProtocol, UserInfoable, Clickable {
|
||||
|
||||
|
||||
open func setup() {
|
||||
backgroundColor = .clear
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
accessibilityCustomActions = []
|
||||
titleLabel?.adjustsFontSizeToFitWidth = false
|
||||
titleLabel?.lineBreakMode = .byTruncatingTail
|
||||
titleLabel?.numberOfLines = 1
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
text = nil
|
||||
onClick = nil
|
||||
userInfo.removeAll()
|
||||
}
|
||||
|
||||
open func updateView() {
|
||||
@ -131,12 +140,7 @@ open class ButtonBase: UIButton, ViewProtocol, UserInfoable, Clickable {
|
||||
|
||||
open func reset() {
|
||||
shouldUpdateView = false
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
text = nil
|
||||
accessibilityCustomActions = []
|
||||
onClick = nil
|
||||
userInfo.removeAll()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
@ -197,6 +197,7 @@ open class Label: UILabel, ViewProtocol, UserInfoable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
@ -209,27 +210,28 @@ open class Label: UILabel, ViewProtocol, UserInfoable {
|
||||
.sink { [weak self] notification in
|
||||
self?.setNeedsUpdate()
|
||||
}.store(in: &subscribers)
|
||||
backgroundColor = .clear
|
||||
numberOfLines = 0
|
||||
lineBreakMode = .byTruncatingTail
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
accessibilityCustomActions = []
|
||||
isAccessibilityElement = true
|
||||
accessibilityTraits = .staticText
|
||||
textAlignment = .left
|
||||
}
|
||||
|
||||
open func reset() {
|
||||
shouldUpdateView = false
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
accessibilityTraits = .staticText
|
||||
accessibilityCustomActions = []
|
||||
surface = .light
|
||||
isEnabled = true
|
||||
attributes = nil
|
||||
textStyle = .defaultStyle
|
||||
lineBreakMode = .byTruncatingTail
|
||||
textAlignment = .left
|
||||
text = nil
|
||||
attributedText = nil
|
||||
numberOfLines = 0
|
||||
backgroundColor = .clear
|
||||
}
|
||||
|
||||
open func reset() {
|
||||
shouldUpdateView = false
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
@ -103,13 +103,13 @@ open class TextField: UITextField, ViewProtocol, Errorable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
open func setup() {
|
||||
backgroundColor = .clear
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
|
||||
clipsToBounds = true
|
||||
@ -127,6 +127,17 @@ open class TextField: UITextField, ViewProtocol, Errorable {
|
||||
inputAccessoryView = accessView
|
||||
}
|
||||
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
text = nil
|
||||
formatText = nil
|
||||
useScaledFont = false
|
||||
showError = false
|
||||
errorText = nil
|
||||
textStyle = .defaultStyle
|
||||
}
|
||||
|
||||
@objc func doneButtonAction() {
|
||||
// Resigns the first responder status when 'Done' is tapped
|
||||
let _ = resignFirstResponder()
|
||||
@ -177,8 +188,7 @@ open class TextField: UITextField, ViewProtocol, Errorable {
|
||||
|
||||
open func reset() {
|
||||
shouldUpdateView = false
|
||||
surface = .light
|
||||
text = nil
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
@ -112,13 +112,13 @@ open class TextView: UITextView, ViewProtocol, Errorable {
|
||||
initialSetupPerformed = true
|
||||
shouldUpdateView = false
|
||||
setup()
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
}
|
||||
|
||||
open func setup() {
|
||||
backgroundColor = .clear
|
||||
translatesAutoresizingMaskIntoConstraints = false
|
||||
|
||||
let accessView = UIView(frame: .init(origin: .zero, size: .init(width: UIScreen.main.bounds.width, height: 44)))
|
||||
@ -137,6 +137,15 @@ open class TextView: UITextView, ViewProtocol, Errorable {
|
||||
placeholderLabel.pinToSuperView()
|
||||
}
|
||||
|
||||
open func setDefaults() {
|
||||
backgroundColor = .clear
|
||||
surface = .light
|
||||
text = nil
|
||||
placeholder = nil
|
||||
errorText = nil
|
||||
showError = false
|
||||
}
|
||||
|
||||
@objc func doneButtonAction() {
|
||||
// Resigns the first responder status when 'Done' is tapped
|
||||
resignFirstResponder()
|
||||
@ -156,8 +165,7 @@ open class TextView: UITextView, ViewProtocol, Errorable {
|
||||
|
||||
open func reset() {
|
||||
shouldUpdateView = false
|
||||
surface = .light
|
||||
text = nil
|
||||
setDefaults()
|
||||
shouldUpdateView = true
|
||||
setNeedsUpdate()
|
||||
}
|
||||
|
||||
@ -21,7 +21,10 @@ public protocol ViewProtocol: AnyObject, Initable, Resettable, Enabling, Surface
|
||||
|
||||
/// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations.
|
||||
func setup()
|
||||
|
||||
|
||||
/// Default configurations for values and properties. This is called in the setup() and reset().
|
||||
func setDefaults()
|
||||
|
||||
/// Used to make changes to the View based off a change events or from local properties.
|
||||
func updateView()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user