removed unused private layout properties

This commit is contained in:
Krishna Kishore Bandaru 2024-03-13 13:51:52 +05:30
parent ee41a6555e
commit 26a0ca220f

View File

@ -53,12 +53,6 @@ open class Notification: View {
} }
} }
/// Enum used to describe the orientation of Notification.
/// Only horizontal orientation is supported for iPhone & iPad devices only.
private enum Layout: String, CaseIterable {
case vertical, horizontal
}
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Private Properties // MARK: - Private Properties
//-------------------------------------------------- //--------------------------------------------------
@ -81,20 +75,10 @@ open class Notification: View {
$0.translatesAutoresizingMaskIntoConstraints = false $0.translatesAutoresizingMaskIntoConstraints = false
} }
private var labelButtonViewSpacing: CGFloat { private var labelButtonViewSpacing: CGFloat { UIDevice.isIPad ? 20 : 16 }
let spacing: CGFloat = UIDevice.isIPad ? 20 : 16
return switch layout {
case .vertical:
0
case .horizontal:
spacing
}
}
internal var onCloseSubscriber: AnyCancellable? internal var onCloseSubscriber: AnyCancellable?
private var maxWidthConstraint: NSLayoutConstraint?
private var leadingConstraint: NSLayoutConstraint? private var leadingConstraint: NSLayoutConstraint?
private var trailingConstraint: NSLayoutConstraint? private var trailingConstraint: NSLayoutConstraint?
@ -174,20 +158,6 @@ open class Notification: View {
/// Add this attribute determine your type of Notification. /// Add this attribute determine your type of Notification.
open var style: Style = .info { didSet { setNeedsUpdate()}} open var style: Style = .info { didSet { setNeedsUpdate()}}
private var _layout: Layout = .vertical
/// Determines the orientation of buttons and text in the Notification.
/// Only horizontal orientation is supported for iPhone & iPad devices only.
private var layout: Layout {
set {
if !UIDevice.isIPad, newValue == .horizontal { return }
_layout = newValue
buttonGroup.alignment = _layout == .horizontal ? .center : .left
setNeedsUpdate()
}
get { _layout }
}
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Configuration // MARK: - Configuration
//-------------------------------------------------- //--------------------------------------------------
@ -221,18 +191,11 @@ open class Notification: View {
return 288 return 288
} }
private var maxViewWidth: CGFloat {
return 1232
}
private var labelViewWidthConstraint: NSLayoutConstraint?
private var labelViewBottomConstraint: NSLayoutConstraint? private var labelViewBottomConstraint: NSLayoutConstraint?
private var labelViewAndButtonViewConstraint: NSLayoutConstraint? private var labelViewAndButtonViewConstraint: NSLayoutConstraint?
private var buttonViewTopConstraint: NSLayoutConstraint? private var buttonViewTopConstraint: NSLayoutConstraint?
private var typeIconWidthConstraint: NSLayoutConstraint? private var typeIconWidthConstraint: NSLayoutConstraint?
private var closeIconWidthConstraint: NSLayoutConstraint? private var closeIconWidthConstraint: NSLayoutConstraint?
private var buttonGroupCenterYConstraint: NSLayoutConstraint?
private var buttonGroupBottomConstraint: NSLayoutConstraint?
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Overrides // MARK: - Overrides
@ -257,21 +220,18 @@ open class Notification: View {
mainStackView.heightAnchor.constraint(greaterThanOrEqualToConstant: minContentHeight), mainStackView.heightAnchor.constraint(greaterThanOrEqualToConstant: minContentHeight),
layoutGuide.widthAnchor.constraint(greaterThanOrEqualToConstant: minViewWidth) layoutGuide.widthAnchor.constraint(greaterThanOrEqualToConstant: minViewWidth)
]) ])
maxWidthConstraint = layoutGuide.widthAnchor.constraint(lessThanOrEqualToConstant: maxViewWidth)
labelButtonView.addSubview(labelsView) labelButtonView.addSubview(labelsView)
labelsView labelsView
.pinTop() .pinTop()
.pinLeading() .pinLeading()
labelViewWidthConstraint = labelsView.widthAnchor.constraint(equalTo: labelButtonView.widthAnchor, multiplier: 1.0) labelsView.widthAnchor.constraint(equalTo: labelButtonView.widthAnchor, multiplier: 1.0).activate()
labelViewWidthConstraint?.activate()
labelViewBottomConstraint = labelButtonView.bottomAnchor.constraint(equalTo: labelsView.bottomAnchor) labelViewBottomConstraint = labelButtonView.bottomAnchor.constraint(equalTo: labelsView.bottomAnchor)
labelButtonView.addSubview(buttonGroup) labelButtonView.addSubview(buttonGroup)
buttonGroup buttonGroup
.pinTrailing() .pinTrailing()
buttonGroupBottomConstraint = labelButtonView.bottomAnchor.constraint(equalTo: buttonGroup.bottomAnchor) labelButtonView.bottomAnchor.constraint(equalTo: buttonGroup.bottomAnchor).activate()
buttonGroupCenterYConstraint = buttonGroup.centerYAnchor.constraint(equalTo: labelButtonView.centerYAnchor)
labelViewAndButtonViewConstraint = buttonGroup.topAnchor.constraint(equalTo: labelsView.bottomAnchor, constant: VDSLayout.Spacing.space3X.value) labelViewAndButtonViewConstraint = buttonGroup.topAnchor.constraint(equalTo: labelsView.bottomAnchor, constant: VDSLayout.Spacing.space3X.value)
buttonGroup.widthAnchor.constraint(equalTo: labelsView.widthAnchor).activate() buttonGroup.widthAnchor.constraint(equalTo: labelsView.widthAnchor).activate()
@ -316,7 +276,6 @@ open class Notification: View {
closeButton.size = UIDevice.isIPad ? .medium : .small closeButton.size = UIDevice.isIPad ? .medium : .small
closeButton.name = .close closeButton.name = .close
layout = .vertical
hideCloseButton = false hideCloseButton = false
shouldUpdateView = true shouldUpdateView = true
@ -385,33 +344,22 @@ open class Notification: View {
secondaryButton.onClick = secondaryButtonModel.onClick secondaryButton.onClick = secondaryButtonModel.onClick
buttons.append(secondaryButton) buttons.append(secondaryButton)
} }
labelViewWidthConstraint?.deactivate()
if buttons.isEmpty { if buttons.isEmpty {
buttonGroup.isHidden = true buttonGroup.isHidden = true
labelViewWidthConstraint = labelsView.widthAnchor.constraint(equalTo: labelButtonView.widthAnchor)
buttonGroup.buttons.removeAll() buttonGroup.buttons.removeAll()
} else { } else {
labelsView.setCustomSpacing(VDSLayout.Spacing.space3X.value, after: subTitleLabel) labelsView.setCustomSpacing(VDSLayout.Spacing.space3X.value, after: subTitleLabel)
buttonGroup.buttons = buttons buttonGroup.buttons = buttons
buttonGroup.isHidden = false buttonGroup.isHidden = false
labelViewWidthConstraint = labelsView.widthAnchor.constraint(equalTo: labelButtonView.widthAnchor, multiplier: layout == .vertical ? 1.0 : 0.5, constant: layout == .vertical ? 0 : -labelButtonViewSpacing)
} }
labelViewWidthConstraint?.activate()
} }
private func setConstraints() { private func setConstraints() {
labelViewAndButtonViewConstraint?.deactivate() labelViewAndButtonViewConstraint?.deactivate()
labelViewBottomConstraint?.deactivate() labelViewBottomConstraint?.deactivate()
buttonGroupCenterYConstraint?.deactivate() labelViewAndButtonViewConstraint?.isActive = !buttonGroup.buttons.isEmpty
buttonGroupBottomConstraint?.deactivate() labelViewBottomConstraint?.isActive = buttonGroup.buttons.isEmpty
labelViewAndButtonViewConstraint?.isActive = layout == .vertical && !buttonGroup.buttons.isEmpty
labelViewBottomConstraint?.isActive = layout == .horizontal || buttonGroup.buttons.isEmpty
buttonGroupCenterYConstraint?.isActive = layout == .horizontal
buttonGroupBottomConstraint?.isActive = layout == .vertical
typeIconWidthConstraint?.constant = typeIcon.size.dimensions.width typeIconWidthConstraint?.constant = typeIcon.size.dimensions.width
closeIconWidthConstraint?.constant = closeButton.size.dimensions.width closeIconWidthConstraint?.constant = closeButton.size.dimensions.width
//iPad 12.9 inches is more than the configured maxViewWidth(1232), verified with designer on the same. Suggested to remove max width constraint
//maxWidthConstraint?.constant = maxViewWidth
//maxWidthConstraint?.isActive = UIDevice.isIPad
} }
} }