converted to models for titleLabel, subtitleLabel
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
f868312b1f
commit
6ec5b10c82
@ -53,6 +53,8 @@
|
||||
EA978EC5291D6AFE00ACC883 /* AnyLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA978EC4291D6AFE00ACC883 /* AnyLabelAttribute.swift */; };
|
||||
EA985BE429688F3300F2FF2E /* TiletTypographicalStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */; };
|
||||
EA985BE629688F6A00F2FF2E /* TiletBadgeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE529688F6A00F2FF2E /* TiletBadgeModel.swift */; };
|
||||
EA985BE82968951C00F2FF2E /* TiletTitleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE72968951C00F2FF2E /* TiletTitleModel.swift */; };
|
||||
EA985BEA29689B6D00F2FF2E /* TiletSubTitleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE929689B6D00F2FF2E /* TiletSubTitleModel.swift */; };
|
||||
EAA5EEB528ECBFB4003B3210 /* ImageLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */; };
|
||||
EAA5EEB728ECC03A003B3210 /* ToolTipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB628ECC03A003B3210 /* ToolTipLabelAttribute.swift */; };
|
||||
EAA5EEB928ECD24B003B3210 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEB828ECD24B003B3210 /* Icons.xcassets */; };
|
||||
@ -155,6 +157,8 @@
|
||||
EA978EC4291D6AFE00ACC883 /* AnyLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnyLabelAttribute.swift; sourceTree = "<group>"; };
|
||||
EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TiletTypographicalStyle.swift; sourceTree = "<group>"; };
|
||||
EA985BE529688F6A00F2FF2E /* TiletBadgeModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TiletBadgeModel.swift; sourceTree = "<group>"; };
|
||||
EA985BE72968951C00F2FF2E /* TiletTitleModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TiletTitleModel.swift; sourceTree = "<group>"; };
|
||||
EA985BE929689B6D00F2FF2E /* TiletSubTitleModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TiletSubTitleModel.swift; sourceTree = "<group>"; };
|
||||
EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageLabelAttribute.swift; sourceTree = "<group>"; };
|
||||
EAA5EEB628ECC03A003B3210 /* ToolTipLabelAttribute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToolTipLabelAttribute.swift; sourceTree = "<group>"; };
|
||||
EAA5EEB828ECD24B003B3210 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
|
||||
@ -471,6 +475,8 @@
|
||||
EA5E3057295105A40082B959 /* Tilet.swift */,
|
||||
EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */,
|
||||
EA985BE529688F6A00F2FF2E /* TiletBadgeModel.swift */,
|
||||
EA985BE72968951C00F2FF2E /* TiletTitleModel.swift */,
|
||||
EA985BE929689B6D00F2FF2E /* TiletSubTitleModel.swift */,
|
||||
);
|
||||
path = Tilet;
|
||||
sourceTree = "<group>";
|
||||
@ -720,6 +726,8 @@
|
||||
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */,
|
||||
EAC846F3294B95CE00F685BA /* ButtonGroupCollectionViewCell.swift in Sources */,
|
||||
EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */,
|
||||
EA985BE82968951C00F2FF2E /* TiletTitleModel.swift in Sources */,
|
||||
EA985BEA29689B6D00F2FF2E /* TiletSubTitleModel.swift in Sources */,
|
||||
EA3361C9289054C50071C351 /* Surfaceable.swift in Sources */,
|
||||
EAB5FEED2927E1B200998C17 /* ButtonGroupPositionLayout.swift in Sources */,
|
||||
EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */,
|
||||
|
||||
@ -154,13 +154,8 @@ open class Tilet: TileContainer {
|
||||
public var badgeModel: TiletBadgeModel? { didSet { didChange() }}
|
||||
|
||||
//text
|
||||
open var titleTypograpicalStyle: TiletTitleTypographicalStyle = .BoldTitleSmall { didSet { didChange() }}
|
||||
open var otherTypograpicalStyle: TiletOtherTypographicalStyle = .BodySmall { didSet { didChange() }}
|
||||
open var titleText: String = "" { didSet { didChange() }}
|
||||
open var titleTextAttributes: [any LabelAttributeModel]? { didSet { didChange() }}
|
||||
open var subTitleText: String = "" { didSet { didChange() }}
|
||||
open var subTitleTextAttributes: [any LabelAttributeModel]? { didSet { didChange() }}
|
||||
open var subTitleColor: Use = .primary { didSet { didChange() }}
|
||||
public var titleModel: TiletTitleModel? { didSet { didChange() }}
|
||||
public var subTitleModel: TiletSubTitleModel? { didSet { didChange() }}
|
||||
|
||||
//icons
|
||||
|
||||
@ -216,11 +211,8 @@ open class Tilet: TileContainer {
|
||||
|
||||
//titleLockup
|
||||
titleLockup.reset()
|
||||
titleText = ""
|
||||
titleTextAttributes = nil
|
||||
subTitleText = ""
|
||||
subTitleTextAttributes = nil
|
||||
subTitleColor = .primary
|
||||
titleModel = nil
|
||||
subTitleModel = nil
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -246,7 +238,17 @@ open class Tilet: TileContainer {
|
||||
badgeContainerView.removeFromSuperview()
|
||||
}
|
||||
|
||||
if !titleText.isEmpty || !subTitleText.isEmpty {
|
||||
var showTitleLockup = false
|
||||
|
||||
if let titleModel, !titleModel.text.isEmpty {
|
||||
showTitleLockup = true
|
||||
}
|
||||
|
||||
if let subTitleModel, !subTitleModel.text.isEmpty {
|
||||
showTitleLockup = true
|
||||
}
|
||||
|
||||
if showTitleLockup {
|
||||
if titleLockupContainerView.superview == nil {
|
||||
stackView.insertArrangedSubview(titleLockupContainerView, at: badgeContainerView.superview == nil ? 0 : 1)
|
||||
}
|
||||
@ -275,14 +277,8 @@ open class Tilet: TileContainer {
|
||||
titleLockupTrailingConstraint?.isActive = true
|
||||
}
|
||||
|
||||
titleLockup.titleText = titleText
|
||||
titleLockup.titleTypograpicalStyle = titleTypograpicalStyle.value
|
||||
titleLockup.titleTextAttributes = titleTextAttributes
|
||||
|
||||
titleLockup.subTitleText = subTitleText
|
||||
titleLockup.otherTypograpicalStyle = otherTypograpicalStyle.value
|
||||
titleLockup.subTitleTextAttributes = titleTextAttributes
|
||||
titleLockup.subTitleColor = subTitleColor
|
||||
titleLockup.set(with: titleModel)
|
||||
titleLockup.set(with: subTitleModel)
|
||||
|
||||
} else {
|
||||
titleLockupContainerView.removeFromSuperview()
|
||||
|
||||
49
VDS/Components/Tilet/TiletSubTitleModel.swift
Normal file
49
VDS/Components/Tilet/TiletSubTitleModel.swift
Normal file
@ -0,0 +1,49 @@
|
||||
//
|
||||
// TiletSubTitleModel.swift
|
||||
// VDS
|
||||
//
|
||||
// Created by Matt Bruce on 1/6/23.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
public struct TiletSubTitleModel {
|
||||
public enum SubTitleTypographicalStyle: String, Codable, EnumSubset {
|
||||
case BodyLarge
|
||||
case BoldBodyLarge
|
||||
case BodyMedium
|
||||
case BoldBodyMedium
|
||||
case BodySmall
|
||||
case BoldBodySmall
|
||||
|
||||
public var defaultValue: TitleLockupOtherTypographicalStyle { .BodySmall }
|
||||
}
|
||||
|
||||
public var text: String = ""
|
||||
public var textAttributes: [any LabelAttributeModel]?
|
||||
public var typographicalStyle: SubTitleTypographicalStyle
|
||||
public var textColor: Use
|
||||
|
||||
public init(text: String,
|
||||
textColor: Use = .primary,
|
||||
textAttributes: [any LabelAttributeModel]? = nil,
|
||||
typographicalStyle: SubTitleTypographicalStyle = .BodySmall) {
|
||||
self.text = text
|
||||
self.textColor = textColor
|
||||
self.textAttributes = textAttributes
|
||||
self.typographicalStyle = typographicalStyle
|
||||
}
|
||||
}
|
||||
|
||||
extension TitleLockup {
|
||||
public func set(with model: TiletSubTitleModel?) {
|
||||
if let model, !model.text.isEmpty {
|
||||
subTitleText = model.text
|
||||
subTitleTextAttributes = model.textAttributes
|
||||
otherTypograpicalStyle = model.typographicalStyle.value
|
||||
subTitleColor = model.textColor
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
}
|
||||
}
|
||||
47
VDS/Components/Tilet/TiletTitleModel.swift
Normal file
47
VDS/Components/Tilet/TiletTitleModel.swift
Normal file
@ -0,0 +1,47 @@
|
||||
//
|
||||
// TiletTitleModel.swift
|
||||
// VDS
|
||||
//
|
||||
// Created by Matt Bruce on 1/6/23.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
public struct TiletTitleModel {
|
||||
public enum TitleTypographicalStyle: String, EnumSubset {
|
||||
case TitleXLarge
|
||||
case BoldTitleXLarge
|
||||
case TitleLarge
|
||||
case BoldTitleLarge
|
||||
case TitleMedium
|
||||
case BoldTitleMedium
|
||||
case TitleSmall
|
||||
case BoldTitleSmall
|
||||
|
||||
public var defaultValue: TitleLockupTitleTypographicalStyle { .BoldTitleSmall }
|
||||
}
|
||||
|
||||
public var text: String = ""
|
||||
public var textAttributes: [any LabelAttributeModel]?
|
||||
public var typographicalStyle: TitleTypographicalStyle
|
||||
|
||||
public init(text: String,
|
||||
textAttributes: [any LabelAttributeModel]? = nil,
|
||||
typographicalStyle: TitleTypographicalStyle = .BoldTitleSmall) {
|
||||
self.text = text
|
||||
self.textAttributes = textAttributes
|
||||
self.typographicalStyle = typographicalStyle
|
||||
}
|
||||
}
|
||||
|
||||
extension TitleLockup {
|
||||
public func set(with model: TiletTitleModel?) {
|
||||
if let model, !model.text.isEmpty {
|
||||
titleText = model.text
|
||||
titleTextAttributes = model.textAttributes
|
||||
titleTypograpicalStyle = model.typographicalStyle.value
|
||||
} else {
|
||||
reset()
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7,19 +7,6 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
public enum TiletTitleTypographicalStyle: String, Codable, EnumSubset {
|
||||
case TitleXLarge
|
||||
case BoldTitleXLarge
|
||||
case TitleLarge
|
||||
case BoldTitleLarge
|
||||
case TitleMedium
|
||||
case BoldTitleMedium
|
||||
case TitleSmall
|
||||
case BoldTitleSmall
|
||||
|
||||
public var defaultValue: TitleLockupTitleTypographicalStyle { .BoldTitleSmall }
|
||||
}
|
||||
|
||||
public enum TiletOtherTypographicalStyle: String, Codable, EnumSubset {
|
||||
case BodyLarge
|
||||
case BoldBodyLarge
|
||||
|
||||
Loading…
Reference in New Issue
Block a user