added isBold, height, text position options
This commit is contained in:
parent
7bf3bf4e3b
commit
6e01b697c3
@ -31,6 +31,12 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
items: [.primary, .secondary])
|
||||
}()
|
||||
|
||||
lazy var textPositionPickerSelectorView = {
|
||||
PickerSelectorView(title: "",
|
||||
picker: self.picker,
|
||||
items: Tilelet.TextPosition.allCases.sorted{ $0.rawValue < $1.rawValue })
|
||||
}()
|
||||
|
||||
var clickableSwitch = Toggle()
|
||||
|
||||
var titleTextField = TextField()
|
||||
@ -43,7 +49,8 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
var showDescriptionIconSwitch = Toggle()
|
||||
var showDirectionalIconSwitch = Toggle()
|
||||
var badgeTextField = TextField()
|
||||
|
||||
var titleIsBold = Toggle().with { $0.isOn = true }
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
addContentTopView(view: .makeWrapper(for: component))
|
||||
@ -62,12 +69,14 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
addFormRow(label: "Other Style", view: otherStandardStylePickerSelectorView)
|
||||
|
||||
addFormRow(label: "Title Text", view: titleTextField)
|
||||
addFormRow(label: "Title is Bold", view: titleIsBold)
|
||||
addFormRow(label: "Subtitle Color", view: subtitleColorPickerSelectorView)
|
||||
addFormRow(label: "Subtitle Text", view: subTitleTextField)
|
||||
addFormRow(label: "Width", view: widthTextField)
|
||||
//addFormRow(label: "Height", view: heightTextField)
|
||||
addFormRow(label: "Height", view: heightTextField)
|
||||
addFormRow(label: "Text Width", view: textWidthTextField)
|
||||
addFormRow(label: "Text Percentage", view: textPercentageTextField)
|
||||
addFormRow(label: "Text Position(Minimum height is configurable.)", view: textPositionPickerSelectorView)
|
||||
addFormRow(label: "Badge Text", view: badgeTextField)
|
||||
addFormRow(label: "Description Icon", view: showDescriptionIconSwitch)
|
||||
addFormRow(label: "Directional Icon", view: showDirectionalIconSwitch)
|
||||
@ -84,13 +93,21 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
heightTextField
|
||||
.numberPublisher
|
||||
.sink { [weak self] number in
|
||||
self?.component.height = number?.cgFloatValue
|
||||
guard let self else { return }
|
||||
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.height * 0.65 {
|
||||
self.component.height = value
|
||||
self.component.layoutIfNeeded()
|
||||
}
|
||||
}.store(in: &subscribers)
|
||||
|
||||
widthTextField
|
||||
.numberPublisher
|
||||
.sink { [weak self] number in
|
||||
self?.component.width = number?.cgFloatValue
|
||||
guard let self else { return }
|
||||
if let value = number?.cgFloatValue, value >= 100 && value < self.view.frame.width * 0.85 {
|
||||
self.component.width = value
|
||||
self.component.layoutIfNeeded()
|
||||
}
|
||||
}.store(in: &subscribers)
|
||||
|
||||
textWidthTextField
|
||||
@ -150,7 +167,10 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
self?.component.directionalIconModel = nil
|
||||
}
|
||||
}
|
||||
|
||||
titleIsBold.publisher(for: .valueChanged).sink { [weak self] toggle in
|
||||
self?.component.padding = .padding6X
|
||||
self?.setTitleModel()
|
||||
}.store(in: &subscribers)
|
||||
}
|
||||
|
||||
func setupModel() {
|
||||
@ -169,9 +189,8 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
titleTextField.text = titleModel.text
|
||||
subTitleTextField.text = subTitleModel.text
|
||||
widthTextField.text = component.width != nil ? "\(component.width!)" : ""
|
||||
|
||||
textPositionPickerSelectorView.text = component.textPostion.rawValue
|
||||
self.updateOtherTextStyles()
|
||||
|
||||
}
|
||||
|
||||
//sub models
|
||||
@ -185,7 +204,7 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
|
||||
func setTitleModel() {
|
||||
if let text = titleTextField.text, !text.isEmpty {
|
||||
component.titleModel = Tilelet.TitleModel(text: text, standardStyle: titleStandardStylePickerSelectorView.selectedItem)
|
||||
component.titleModel = Tilelet.TitleModel(text: text, isBold: titleIsBold.isOn, standardStyle: titleStandardStylePickerSelectorView.selectedItem)
|
||||
} else {
|
||||
component.titleModel = nil
|
||||
}
|
||||
@ -227,6 +246,11 @@ class TileletViewController: BaseViewController<Tilelet> {
|
||||
subtitleColorPickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||
self?.setSubTitleModel()
|
||||
}
|
||||
|
||||
textPositionPickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||
guard let self else { return }
|
||||
self.component.textPostion = item
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user