updated for item setting

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2023-03-30 17:24:36 -05:00
parent 4aa7c867a7
commit 706005fc66
2 changed files with 17 additions and 5 deletions

View File

@ -56,6 +56,7 @@ public class PickerSelectorView<EnumType: RawRepresentable>: UIStackView, Picker
updateSelectedIndex()
}
}
public var items: [EnumType] {
didSet { selectedIndex = 0 }
}
@ -117,6 +118,13 @@ public class PickerSelectorView<EnumType: RawRepresentable>: UIStackView, Picker
return label
}
public func set(item: EnumType) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.001) { [weak self] in
guard let self else { return }
self.text = "\(item.rawValue)"
}
}
private func title(for row: Int) -> String {
guard let item = items[row].rawValue as? String else { return "" }
return item

View File

@ -29,8 +29,8 @@ class NotificationViewController: BaseViewController {
items: Notification.NotificationStyle.allCases)
}()
lazy var buttonPositionTypePickerSelectorView = {
PickerSelectorView(title: "bottom", picker: self.picker, items: Notification.ButtonsPosition.allCases)
lazy var layoutTypePickerSelectorView = {
PickerSelectorView(title: "vertical", picker: self.picker, items: Notification.Layout.allCases)
}()
override func viewDidLoad() {
@ -54,7 +54,7 @@ class NotificationViewController: BaseViewController {
func setupForm() {
addFormRow(label: "Surface", view: surfacePickerSelectorView)
addFormRow(label: "Style", view: notificationTypePickerSelectorView)
addFormRow(label: "Button Position", view: buttonPositionTypePickerSelectorView)
addFormRow(label: "Layout", view: layoutTypePickerSelectorView)
addFormRow(label: "Title", view: titleTextField)
addFormRow(label: "SubTitle", view: subTitleTextField)
addFormRow(label: "Hide Button Group", view: buttonGroupToggle)
@ -113,8 +113,12 @@ class NotificationViewController: BaseViewController {
self?.notificationView.type = item
}
buttonPositionTypePickerSelectorView.onPickerDidSelect = { [weak self] item in
self?.notificationView.buttonPosition = item
layoutTypePickerSelectorView.onPickerDidSelect = { [weak self] item in
guard let self else { return }
self.notificationView.layout = item
if self.notificationView.layout != item {
self.layoutTypePickerSelectorView.set(item: self.notificationView.layout)
}
}
}