refmoved shouldUpdateView bools

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-07-14 09:10:22 -05:00
parent abc7f409e7
commit 76c3205921
16 changed files with 23 additions and 42 deletions

View File

@ -77,7 +77,6 @@ open class Badge: View {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
label.reset() label.reset()
label.lineBreakMode = .byTruncatingTail label.lineBreakMode = .byTruncatingTail
label.textPosition = .left label.textPosition = .left
@ -86,7 +85,6 @@ open class Badge: View {
text = "" text = ""
maxWidth = nil maxWidth = nil
numberOfLines = 1 numberOfLines = 1
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -280,13 +280,11 @@ open class BadgeIndicator: View {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
label.reset() label.reset()
label.lineBreakMode = .byTruncatingTail label.lineBreakMode = .byTruncatingTail
label.textPosition = .center label.textPosition = .center
fillColor = .red fillColor = .red
number = nil number = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -132,11 +132,9 @@ open class Button: ButtonBase, Useable {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
use = .primary use = .primary
width = nil width = nil
size = .large size = .large
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -28,7 +28,9 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Combine Properties // MARK: - Combine Properties
//-------------------------------------------------- //--------------------------------------------------
public var subject = PassthroughSubject<Void, Never>() public var delayedSubject = PassthroughSubject<Void, Never>()
public var immediateSubject = PassthroughSubject<Void, Never>()
public var updateStrategy: HandlerableUpdateStrategy = .immediate
public var subscribers = Set<AnyCancellable>() public var subscribers = Set<AnyCancellable>()
public var onClickSubscriber: AnyCancellable? { public var onClickSubscriber: AnyCancellable? {
willSet { willSet {
@ -45,9 +47,7 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------
open var shouldUpdateView: Bool = true
open var availableSizes: [ButtonSize] { [] } open var availableSizes: [ButtonSize] { [] }
open var text: String? { didSet { setNeedsUpdate() } } open var text: String? { didSet { setNeedsUpdate() } }
@ -139,18 +139,23 @@ open class ButtonBase: UIButton, Buttonable, Handlerable, ViewProtocol, Resettab
} }
open func reset() { open func reset() {
shouldUpdateView = false
surface = .light surface = .light
disabled = false disabled = false
text = nil text = nil
accessibilityCustomActions = [] accessibilityCustomActions = []
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Overrides // MARK: - Overrides
//-------------------------------------------------- //--------------------------------------------------
open override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
updateStrategy = .delayed
}
}
override open var intrinsicContentSize: CGSize { override open var intrinsicContentSize: CGSize {
let intrinsicContentSize = super.intrinsicContentSize let intrinsicContentSize = super.intrinsicContentSize
let adjustedWidth = intrinsicContentSize.width + titleEdgeInsets.left + titleEdgeInsets.right let adjustedWidth = intrinsicContentSize.width + titleEdgeInsets.left + titleEdgeInsets.right

View File

@ -89,13 +89,11 @@ open class TextLink: ButtonBase {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
text = nil text = nil
size = .large size = .large
accessibilityCustomActions = [] accessibilityCustomActions = []
isAccessibilityElement = true isAccessibilityElement = true
accessibilityTraits = .link accessibilityTraits = .link
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -255,7 +255,6 @@ open class ButtonIcon: Control {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
kind = .ghost kind = .ghost
surfaceType = .colorFill surfaceType = .colorFill
size = .large size = .large
@ -263,7 +262,6 @@ open class ButtonIcon: Control {
hideBorder = true hideBorder = true
iconOffset = .init(x: 0, y: 0) iconOffset = .init(x: 0, y: 0)
iconName = nil iconName = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -16,16 +16,16 @@ open class Label: UILabel, Handlerable, ViewProtocol, Resettable, UserInfoable {
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Combine Properties // MARK: - Combine Properties
//-------------------------------------------------- //--------------------------------------------------
public var subject = PassthroughSubject<Void, Never>() public var delayedSubject = PassthroughSubject<Void, Never>()
public var immediateSubject = PassthroughSubject<Void, Never>()
public var subscribers = Set<AnyCancellable>() public var subscribers = Set<AnyCancellable>()
public var updateStrategy: HandlerableUpdateStrategy = .immediate
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Properties // MARK: - Properties
//-------------------------------------------------- //--------------------------------------------------
private var initialSetupPerformed = false private var initialSetupPerformed = false
open var shouldUpdateView: Bool = true
open var useAttributedText: Bool = false open var useAttributedText: Bool = false
open var surface: Surface = .light { didSet { setNeedsUpdate() }} open var surface: Surface = .light { didSet { setNeedsUpdate() }}
@ -93,7 +93,6 @@ open class Label: UILabel, Handlerable, ViewProtocol, Resettable, UserInfoable {
open func setup() {} open func setup() {}
open func reset() { open func reset() {
shouldUpdateView = false
surface = .light surface = .light
disabled = false disabled = false
attributes = nil attributes = nil
@ -103,13 +102,19 @@ open class Label: UILabel, Handlerable, ViewProtocol, Resettable, UserInfoable {
attributedText = nil attributedText = nil
numberOfLines = 0 numberOfLines = 0
backgroundColor = .clear backgroundColor = .clear
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Overrides // MARK: - Overrides
//-------------------------------------------------- //--------------------------------------------------
open override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
updateStrategy = .delayed
}
}
open func updateView() { open func updateView() {
if !useAttributedText { if !useAttributedText {
if let text = text { if let text = text {

View File

@ -230,9 +230,7 @@ open class Notification: View {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
titleLabel.reset() titleLabel.reset()
titleLabel.text = "" titleLabel.text = ""
titleLabel.textStyle = UIDevice.isIPad ? .boldBodyLarge : .boldBodySmall titleLabel.textStyle = UIDevice.isIPad ? .boldBodyLarge : .boldBodySmall
@ -258,7 +256,6 @@ open class Notification: View {
hideCloseButton = false hideCloseButton = false
fullBleed = false fullBleed = false
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -202,7 +202,6 @@ open class RadioBoxItem: Control, Changeable {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
textLabel.reset() textLabel.reset()
subTextLabel.reset() subTextLabel.reset()
subTextRightLabel.reset() subTextRightLabel.reset()
@ -226,7 +225,6 @@ open class RadioBoxItem: Control, Changeable {
isSelected = false isSelected = false
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -91,7 +91,6 @@ open class RadioSwatch: Control {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
fillImage = nil fillImage = nil
text = "" text = ""
primaryColor = nil primaryColor = nil
@ -99,7 +98,6 @@ open class RadioSwatch: Control {
strikethrough = false strikethrough = false
inputId = nil inputId = nil
value = nil value = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
setNeedsDisplay() setNeedsDisplay()
} }

View File

@ -191,7 +191,6 @@ open class TileContainer: Control {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
color = .white color = .white
padding = .padding4X padding = .padding4X
aspectRatio = .ratio1x1 aspectRatio = .ratio1x1
@ -200,7 +199,6 @@ open class TileContainer: Control {
height = nil height = nil
showBorder = false showBorder = false
showDropShadows = false showDropShadows = false
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -241,7 +241,6 @@ open class Tilelet: TileContainer {
} }
open override func reset() { open override func reset() {
shouldUpdateView = false
aspectRatio = .none aspectRatio = .none
color = .black color = .black
//models //models
@ -250,7 +249,6 @@ open class Tilelet: TileContainer {
subTitleModel = nil subTitleModel = nil
descriptiveIconModel = nil descriptiveIconModel = nil
directionalIconModel = nil directionalIconModel = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -198,12 +198,10 @@ open class TitleLockup: View {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
textPosition = .left textPosition = .left
eyebrowModel = nil eyebrowModel = nil
titleModel = nil titleModel = nil
subTitleModel = nil subTitleModel = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -278,7 +278,6 @@ open class Toggle: Control, Changeable {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
label.reset() label.reset()
isOn = false isOn = false
isAnimated = true isAnimated = true
@ -292,7 +291,6 @@ open class Toggle: Control, Changeable {
value = nil value = nil
toggleView.backgroundColor = toggleColorConfiguration.getColor(self) toggleView.backgroundColor = toggleColorConfiguration.getColor(self)
knobView.backgroundColor = knobColorConfiguration.getColor(self) knobView.backgroundColor = knobColorConfiguration.getColor(self)
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -141,14 +141,12 @@ open class Tooltip: Control, TooltipLaunchable {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
size = .medium size = .medium
title = "" title = ""
content = "" content = ""
fillColor = .primary fillColor = .primary
closeButtonText = "Close" closeButtonText = "Close"
imageView.image = nil imageView.image = nil
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }

View File

@ -79,7 +79,6 @@ open class TrailingTooltipLabel: View, TooltipLaunchable {
open override func reset() { open override func reset() {
super.reset() super.reset()
shouldUpdateView = false
labelText = nil labelText = nil
labelAttributes = nil labelAttributes = nil
labelTextStyle = .defaultStyle labelTextStyle = .defaultStyle
@ -87,7 +86,6 @@ open class TrailingTooltipLabel: View, TooltipLaunchable {
tooltipCloseButtonText = "Close" tooltipCloseButtonText = "Close"
tooltipTitle = "" tooltipTitle = ""
tooltipContent = "" tooltipContent = ""
shouldUpdateView = true
setNeedsUpdate() setNeedsUpdate()
} }
} }