finished up button group

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-12-13 12:12:38 -05:00
parent 1c677ac595
commit dc726ecb25
2 changed files with 22 additions and 5 deletions

View File

@ -62,6 +62,7 @@ class ButtonGroupViewController: BaseViewController {
var label = Label()
var disabledSwitch = Toggle()
var widthTextField = TextField()
var percentageTextField = TextField()
let buttonGroup = ButtonGroup()
@ -78,7 +79,7 @@ class ButtonGroupViewController: BaseViewController {
]
addContentTopView(view: buttonGroup)
percentageTextField.isEnabled = false
setupForm()
setupPicker()
setupModel()
@ -91,9 +92,9 @@ class ButtonGroupViewController: BaseViewController {
addFormRow(label: "Surface", view: surfacePickerSelectorView)
addFormRow(label: "Disabled", view: .makeWrapper(for: disabledSwitch))
addFormRow(label: "Position", view: buttonPositionSelectorView)
addFormRow(label: "Row Quantity", view: rowQuantitySelectorView)
addFormRow(label: "Width", view: widthTextField)
addFormRow(label: "Row Quantity", view: rowQuantitySelectorView)
addFormRow(label: "Percentage (1-100)", view: percentageTextField)
disabledSwitch
.publisher(for: .valueChanged)
@ -106,8 +107,21 @@ class ButtonGroupViewController: BaseViewController {
.sink { [weak self] text in
if let n = NumberFormatter().number(from: text) {
self?.buttonGroup.buttonWidth = CGFloat(truncating: n)
self?.percentageTextField.text = ""
} else {
self?.buttonGroup.buttonWidth = 0.0
self?.buttonGroup.buttonWidth = nil
}
}.store(in: &subscribers)
percentageTextField
.textPublisher
.sink { [weak self] text in
let rowQty = self?.buttonGroup.rowQuantity ?? 0
if let n = NumberFormatter().number(from: text), n.intValue <= 100, rowQty > 0 {
self?.buttonGroup.buttonPercentage = CGFloat(truncating: n)
self?.widthTextField.text = ""
} else {
self?.buttonGroup.buttonPercentage = nil
}
}.store(in: &subscribers)
@ -134,6 +148,9 @@ class ButtonGroupViewController: BaseViewController {
}
rowQuantitySelectorView.onPickerDidSelect = { [weak self] item in
self?.percentageTextField.isEnabled = item.intValue > 0
self?.widthTextField.isEnabled = item.intValue == 0
if UIDevice.isIPad {
self?.buttonGroup.rowQuantityTablet = item.intValue
} else {

View File

@ -73,7 +73,7 @@ class MenuViewController: UITableViewController {
let items: [MenuComponent] = [
MenuComponent(title: "Badge", completed: true, viewController: BadgeViewController.self),
MenuComponent(title: "Button", completed: true, viewController: ButtonViewController.self),
MenuComponent(title: "ButtonGroup", completed: false, viewController: ButtonGroupViewController.self),
MenuComponent(title: "ButtonGroup", completed: true, viewController: ButtonGroupViewController.self),
MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self),
MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self),
MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self),