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 */; };
|
EA978EC5291D6AFE00ACC883 /* AnyLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA978EC4291D6AFE00ACC883 /* AnyLabelAttribute.swift */; };
|
||||||
EA985BE429688F3300F2FF2E /* TiletTypographicalStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */; };
|
EA985BE429688F3300F2FF2E /* TiletTypographicalStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */; };
|
||||||
EA985BE629688F6A00F2FF2E /* TiletBadgeModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985BE529688F6A00F2FF2E /* TiletBadgeModel.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 */; };
|
EAA5EEB528ECBFB4003B3210 /* ImageLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB428ECBFB4003B3210 /* ImageLabelAttribute.swift */; };
|
||||||
EAA5EEB728ECC03A003B3210 /* ToolTipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB628ECC03A003B3210 /* ToolTipLabelAttribute.swift */; };
|
EAA5EEB728ECC03A003B3210 /* ToolTipLabelAttribute.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEB628ECC03A003B3210 /* ToolTipLabelAttribute.swift */; };
|
||||||
EAA5EEB928ECD24B003B3210 /* Icons.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAA5EEB828ECD24B003B3210 /* Icons.xcassets */; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
EAA5EEB828ECD24B003B3210 /* Icons.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Icons.xcassets; sourceTree = "<group>"; };
|
||||||
@ -471,6 +475,8 @@
|
|||||||
EA5E3057295105A40082B959 /* Tilet.swift */,
|
EA5E3057295105A40082B959 /* Tilet.swift */,
|
||||||
EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */,
|
EA985BE329688F3300F2FF2E /* TiletTypographicalStyle.swift */,
|
||||||
EA985BE529688F6A00F2FF2E /* TiletBadgeModel.swift */,
|
EA985BE529688F6A00F2FF2E /* TiletBadgeModel.swift */,
|
||||||
|
EA985BE72968951C00F2FF2E /* TiletTitleModel.swift */,
|
||||||
|
EA985BE929689B6D00F2FF2E /* TiletSubTitleModel.swift */,
|
||||||
);
|
);
|
||||||
path = Tilet;
|
path = Tilet;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -720,6 +726,8 @@
|
|||||||
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */,
|
EAB1D2CD28ABE76100DAE764 /* Withable.swift in Sources */,
|
||||||
EAC846F3294B95CE00F685BA /* ButtonGroupCollectionViewCell.swift in Sources */,
|
EAC846F3294B95CE00F685BA /* ButtonGroupCollectionViewCell.swift in Sources */,
|
||||||
EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */,
|
EAF7F0952899861000B287F5 /* Checkbox.swift in Sources */,
|
||||||
|
EA985BE82968951C00F2FF2E /* TiletTitleModel.swift in Sources */,
|
||||||
|
EA985BEA29689B6D00F2FF2E /* TiletSubTitleModel.swift in Sources */,
|
||||||
EA3361C9289054C50071C351 /* Surfaceable.swift in Sources */,
|
EA3361C9289054C50071C351 /* Surfaceable.swift in Sources */,
|
||||||
EAB5FEED2927E1B200998C17 /* ButtonGroupPositionLayout.swift in Sources */,
|
EAB5FEED2927E1B200998C17 /* ButtonGroupPositionLayout.swift in Sources */,
|
||||||
EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */,
|
EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */,
|
||||||
|
|||||||
@ -154,13 +154,8 @@ open class Tilet: TileContainer {
|
|||||||
public var badgeModel: TiletBadgeModel? { didSet { didChange() }}
|
public var badgeModel: TiletBadgeModel? { didSet { didChange() }}
|
||||||
|
|
||||||
//text
|
//text
|
||||||
open var titleTypograpicalStyle: TiletTitleTypographicalStyle = .BoldTitleSmall { didSet { didChange() }}
|
public var titleModel: TiletTitleModel? { didSet { didChange() }}
|
||||||
open var otherTypograpicalStyle: TiletOtherTypographicalStyle = .BodySmall { didSet { didChange() }}
|
public var subTitleModel: TiletSubTitleModel? { 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() }}
|
|
||||||
|
|
||||||
//icons
|
//icons
|
||||||
|
|
||||||
@ -216,11 +211,8 @@ open class Tilet: TileContainer {
|
|||||||
|
|
||||||
//titleLockup
|
//titleLockup
|
||||||
titleLockup.reset()
|
titleLockup.reset()
|
||||||
titleText = ""
|
titleModel = nil
|
||||||
titleTextAttributes = nil
|
subTitleModel = nil
|
||||||
subTitleText = ""
|
|
||||||
subTitleTextAttributes = nil
|
|
||||||
subTitleColor = .primary
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -246,7 +238,17 @@ open class Tilet: TileContainer {
|
|||||||
badgeContainerView.removeFromSuperview()
|
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 {
|
if titleLockupContainerView.superview == nil {
|
||||||
stackView.insertArrangedSubview(titleLockupContainerView, at: badgeContainerView.superview == nil ? 0 : 1)
|
stackView.insertArrangedSubview(titleLockupContainerView, at: badgeContainerView.superview == nil ? 0 : 1)
|
||||||
}
|
}
|
||||||
@ -275,14 +277,8 @@ open class Tilet: TileContainer {
|
|||||||
titleLockupTrailingConstraint?.isActive = true
|
titleLockupTrailingConstraint?.isActive = true
|
||||||
}
|
}
|
||||||
|
|
||||||
titleLockup.titleText = titleText
|
titleLockup.set(with: titleModel)
|
||||||
titleLockup.titleTypograpicalStyle = titleTypograpicalStyle.value
|
titleLockup.set(with: subTitleModel)
|
||||||
titleLockup.titleTextAttributes = titleTextAttributes
|
|
||||||
|
|
||||||
titleLockup.subTitleText = subTitleText
|
|
||||||
titleLockup.otherTypograpicalStyle = otherTypograpicalStyle.value
|
|
||||||
titleLockup.subTitleTextAttributes = titleTextAttributes
|
|
||||||
titleLockup.subTitleColor = subTitleColor
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
titleLockupContainerView.removeFromSuperview()
|
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
|
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 {
|
public enum TiletOtherTypographicalStyle: String, Codable, EnumSubset {
|
||||||
case BodyLarge
|
case BodyLarge
|
||||||
case BoldBodyLarge
|
case BoldBodyLarge
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user