added buttonSize

Signed-off-by: Jarrod Courtney <jarrod.courtney@gmail.com>
This commit is contained in:
Jarrod Courtney 2022-09-23 13:42:10 -05:00
parent 4a32b4df69
commit fba9567de7
2 changed files with 32 additions and 4 deletions

View File

@ -102,3 +102,10 @@ class UsePicker: PickerBase<Use> {
}
}
class ButtonSizePicker: PickerBase<Use.Size> {
init(){
super.init(items: [.large, .small])
}
}

View File

@ -13,10 +13,11 @@ import VDSColorTokens
class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
enum PickerType {
case surface, use
case surface, use, buttonSize
}
var surfacePickerSelectorView = PickerSelectorView(title: "")
var usePickerSelectorView = PickerSelectorView(title: "")
var buttonSizePickerSelectorView = PickerSelectorView(title: "")
var disabledSwitch = UISwitch()
var textField = TextField()
@ -26,8 +27,13 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
override func viewDidLoad() {
super.viewDidLoad()
//addContentTopView(view: button)
contentTopView.addSubview(button)
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(button)
button.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
button.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
button.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
addContentTopView(view: view)
setupForm()
setupPicker()
@ -40,6 +46,7 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
addFormRow(label: "Disabled", view: disabledSwitch)
addFormRow(label: "Label", view: textField)
addFormRow(label: "Width", view: widthTextField)
addFormRow(label: "Size", view: buttonSizePickerSelectorView)
disabledSwitch
@ -73,6 +80,12 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
self?.button.buttonWidth = CGFloat(truncating: n)
}
}.store(in: &subscribers)
buttonSizePickerSelectorView.button
.publisher(for: .touchUpInside)
.sink { [weak self] _ in
self?.pickerType = .buttonSize
}.store(in: &subscribers)
}
@ -93,6 +106,7 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
textField.text = model.text
usePickerSelectorView.text = model.use.rawValue
widthTextField.text = "200"
buttonSizePickerSelectorView.text = Use.Size.large.rawValue
}
override func updateView(viewModel: DefaultButtonModel) {
@ -102,7 +116,7 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
//Picker
var surfacePicker = SurfacePicker()
var usePicker = UsePicker()
var buttonSizePicker = TextSizePicker()
var buttonSizePicker = ButtonSizePicker()
var pickerType: PickerType = .surface {
didSet {
@ -116,6 +130,8 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
update(object: surfacePicker)
case .use:
update(object: usePicker)
case .buttonSize:
update(object: buttonSizePicker)
}
picker.reloadAllComponents()
picker.selectRow(0, inComponent: 0, animated: false)
@ -135,5 +151,10 @@ class ButtonViewController: ModelScrollViewController<DefaultButtonModel> {
self?.button.backgroundColor = item.color
self?.usePickerSelectorView.text = item.rawValue
}
buttonSizePicker.onPickerDidSelect = { [weak self] item in
self?.button.buttonSize = item
self?.buttonSizePickerSelectorView.text = item.rawValue
}
}
}