move to onChange for controls
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
645c7d5815
commit
e6fa8a5930
@ -113,14 +113,12 @@ class ButtonGroupViewController: BaseViewController {
|
|||||||
addFormRow(label: "Row Quantity", view: rowQuantitySelectorView)
|
addFormRow(label: "Row Quantity", view: rowQuantitySelectorView)
|
||||||
addFormRow(label: "Percentage (1-100)", view: percentageTextField)
|
addFormRow(label: "Percentage (1-100)", view: percentageTextField)
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.largeLabel.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
self?.smallLabel.disabled = sender.isOn
|
||||||
self?.largeLabel.disabled = sender.isOn
|
self?.largeButtonGroup.disabled = sender.isOn
|
||||||
self?.smallLabel.disabled = sender.isOn
|
self?.smallButtonGroup.disabled = sender.isOn
|
||||||
self?.largeButtonGroup.disabled = sender.isOn
|
}
|
||||||
self?.smallButtonGroup.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
widthTextField
|
widthTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -53,11 +53,9 @@ class ButtonViewController: BaseViewController {
|
|||||||
addFormRow(label: "Size", view: buttonSizePickerSelectorView)
|
addFormRow(label: "Size", view: buttonSizePickerSelectorView)
|
||||||
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.button.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.button.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
textField
|
textField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -38,17 +38,13 @@ class CheckboxGroupViewController: BaseViewController {
|
|||||||
addFormRow(label: "Child Text", view: childTextField)
|
addFormRow(label: "Child Text", view: childTextField)
|
||||||
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
||||||
|
|
||||||
showErrorSwitch
|
showErrorSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.checkboxGroup.showError = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.checkboxGroup.showError = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.checkboxGroup.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.checkboxGroup.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
labelTextField
|
labelTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
@ -78,19 +74,17 @@ class CheckboxGroupViewController: BaseViewController {
|
|||||||
|
|
||||||
checkboxGroup.selectorViews = [checkbox1, checkbox2]
|
checkboxGroup.selectorViews = [checkbox1, checkbox2]
|
||||||
|
|
||||||
checkboxGroup
|
checkboxGroup.onChange = { [weak self] group in
|
||||||
.publisher(for: .valueChanged)
|
let selected = group.selectedHandlers?
|
||||||
.sink { [weak self] group in
|
.compactMap{"\($0.labelText!)"}
|
||||||
let selected = group.selectedHandlers?
|
.joined(separator: "\r") ?? "none selected"
|
||||||
.compactMap{"\($0.labelText!)"}
|
|
||||||
.joined(separator: "\r") ?? "none selected"
|
|
||||||
|
|
||||||
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
||||||
message: "Selected Checkboxes:\r\(selected)",
|
message: "Selected Checkboxes:\r\(selected)",
|
||||||
preferredStyle: UIAlertController.Style.alert)
|
preferredStyle: UIAlertController.Style.alert)
|
||||||
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
||||||
self?.present(alertController, animated: true)
|
self?.present(alertController, animated: true)
|
||||||
}.store(in: &subscribers)
|
}
|
||||||
|
|
||||||
//setup UI
|
//setup UI
|
||||||
surfacePickerSelectorView.text = checkboxGroup.surface.rawValue
|
surfacePickerSelectorView.text = checkboxGroup.surface.rawValue
|
||||||
|
|||||||
@ -40,21 +40,17 @@ class CheckboxViewController: BaseViewController {
|
|||||||
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
||||||
addFormRow(label: "Error Text", view: errorTextField)
|
addFormRow(label: "Error Text", view: errorTextField)
|
||||||
|
|
||||||
showErrorSwitch
|
showErrorSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let self else { return }
|
||||||
.sink { [weak self] sender in
|
self.checkbox.showError = sender.isOn
|
||||||
guard let self else { return }
|
if self.checkbox.showError != sender.isOn {
|
||||||
self.checkbox.showError = sender.isOn
|
self.showErrorSwitch.isOn = self.checkbox.showError
|
||||||
if self.checkbox.showError != sender.isOn {
|
}
|
||||||
self.showErrorSwitch.isOn = self.checkbox.showError
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.checkbox.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.checkbox.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
labelTextField
|
labelTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
@ -80,17 +76,15 @@ class CheckboxViewController: BaseViewController {
|
|||||||
checkbox.childText = "I agree to Verizon's terms and conditions click here"
|
checkbox.childText = "I agree to Verizon's terms and conditions click here"
|
||||||
checkbox.errorText = "Error Text"
|
checkbox.errorText = "Error Text"
|
||||||
|
|
||||||
checkbox
|
checkbox.onChange = { [weak self] checkbox in
|
||||||
.publisher(for: .valueChanged)
|
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
||||||
.sink { [weak self] checkbox in
|
message: "\(checkbox.labelText!): \(checkbox.isSelected)",
|
||||||
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
preferredStyle: UIAlertController.Style.alert)
|
||||||
message: "\(checkbox.labelText!): \(checkbox.isSelected)",
|
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
||||||
preferredStyle: UIAlertController.Style.alert)
|
self?.present(alertController, animated: true)
|
||||||
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
self?.showErrorSwitch.isOn = checkbox.showError
|
||||||
self?.present(alertController, animated: true)
|
print("checkbox selected: \(checkbox.isSelected)")
|
||||||
self?.showErrorSwitch.isOn = checkbox.showError
|
}
|
||||||
print("checkbox selected: \(checkbox.isSelected)")
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
//setup UI
|
//setup UI
|
||||||
surfacePickerSelectorView.text = checkbox.surface.rawValue
|
surfacePickerSelectorView.text = checkbox.surface.rawValue
|
||||||
|
|||||||
@ -58,37 +58,29 @@ class InputFieldViewController: BaseViewController {
|
|||||||
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
|
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
|
||||||
addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
|
addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
|
||||||
|
|
||||||
requiredSwitch
|
requiredSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textEntryField.required = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textEntryField.required = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showErrorSwitch
|
showErrorSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let self else { return }
|
||||||
.sink { [weak self] sender in
|
self.textEntryField.showError = sender.isOn
|
||||||
guard let self else { return }
|
if self.textEntryField.showError != sender.isOn {
|
||||||
self.textEntryField.showError = sender.isOn
|
self.showErrorSwitch.isOn = self.textEntryField.showError
|
||||||
if self.textEntryField.showError != sender.isOn {
|
}
|
||||||
self.showErrorSwitch.isOn = self.textEntryField.showError
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showSuccessSwitch
|
showSuccessSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let self else { return }
|
||||||
.sink { [weak self] sender in
|
self.textEntryField.showSuccess = sender.isOn
|
||||||
guard let self else { return }
|
if self.textEntryField.showSuccess != sender.isOn {
|
||||||
self.textEntryField.showSuccess = sender.isOn
|
self.showSuccessSwitch.isOn = self.textEntryField.showSuccess
|
||||||
if self.textEntryField.showSuccess != sender.isOn {
|
}
|
||||||
self.showSuccessSwitch.isOn = self.textEntryField.showSuccess
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textEntryField.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textEntryField.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
labelTextField
|
labelTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -48,11 +48,9 @@ class LabelViewController: BaseViewController {
|
|||||||
addFormRow(label: "Text Size", view: textSizePickerSelectorView)
|
addFormRow(label: "Text Size", view: textSizePickerSelectorView)
|
||||||
addFormRow(label: "Text", view: textField)
|
addFormRow(label: "Text", view: textField)
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.label.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.label.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
boldSwitch
|
boldSwitch
|
||||||
.publisher(for: .valueChanged)
|
.publisher(for: .valueChanged)
|
||||||
|
|||||||
@ -69,7 +69,7 @@ class NotificationViewController: BaseViewController {
|
|||||||
self.notificationView.subTitleText = newString
|
self.notificationView.subTitleText = newString
|
||||||
}.store(in: &subscribers)
|
}.store(in: &subscribers)
|
||||||
|
|
||||||
buttonGroupToggle.publisher(for: .valueChanged).sink { [weak self] toggle in
|
buttonGroupToggle.onChange = { [weak self] toggle in
|
||||||
if toggle.isOn {
|
if toggle.isOn {
|
||||||
self?.notificationView.primaryButtonModel = nil
|
self?.notificationView.primaryButtonModel = nil
|
||||||
self?.notificationView.secondaryButtonModel = nil
|
self?.notificationView.secondaryButtonModel = nil
|
||||||
@ -77,8 +77,7 @@ class NotificationViewController: BaseViewController {
|
|||||||
} else {
|
} else {
|
||||||
self?.setupButtons(with: self?.firstButtonDefaultText, secondButtonText: self?.secondButtonDefaultText)
|
self?.setupButtons(with: self?.firstButtonDefaultText, secondButtonText: self?.secondButtonDefaultText)
|
||||||
}
|
}
|
||||||
}.store(in: &subscribers)
|
}
|
||||||
|
|
||||||
|
|
||||||
firstButtonTextField.textPublisher.sink { newString in
|
firstButtonTextField.textPublisher.sink { newString in
|
||||||
|
|
||||||
|
|||||||
@ -41,17 +41,13 @@ class RadioBoxGroupViewController: BaseViewController {
|
|||||||
addFormRow(label: "Sub Text", view: subTextField)
|
addFormRow(label: "Sub Text", view: subTextField)
|
||||||
addFormRow(label: "Sub Text Right", view: subTextRightField)
|
addFormRow(label: "Sub Text Right", view: subTextRightField)
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioBoxGroup.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.radioBoxGroup.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
strikeThroughSwitch
|
strikeThroughSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioBox?.strikethrough = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.radioBox?.strikethrough = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
textField
|
textField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -38,17 +38,13 @@ class RadioButtonViewController: BaseViewController {
|
|||||||
addFormRow(label: "Child Text", view: childTextField)
|
addFormRow(label: "Child Text", view: childTextField)
|
||||||
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
addFormRow(label: "Error", view: .makeWrapper(for: showErrorSwitch))
|
||||||
|
|
||||||
showErrorSwitch
|
showErrorSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioButtonGroup.showError = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.radioButtonGroup.showError = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioButtonGroup.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.radioButtonGroup.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
labelTextField
|
labelTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
@ -85,17 +81,15 @@ class RadioButtonViewController: BaseViewController {
|
|||||||
|
|
||||||
radioButtonGroup.selectorViews = [radioButton1, radioButton2, radioButton3]
|
radioButtonGroup.selectorViews = [radioButton1, radioButton2, radioButton3]
|
||||||
|
|
||||||
radioButtonGroup
|
radioButtonGroup.onChange = { [weak self] group in
|
||||||
.publisher(for: .valueChanged)
|
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
||||||
.sink { [weak self] group in
|
message: "Selected:\r\(group.selectedHandler?.labelText ?? "none")",
|
||||||
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
preferredStyle: UIAlertController.Style.alert)
|
||||||
message: "Selected:\r\(group.selectedHandler?.labelText ?? "none")",
|
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
||||||
preferredStyle: UIAlertController.Style.alert)
|
self?.present(alertController, animated: true)
|
||||||
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
|
||||||
self?.present(alertController, animated: true)
|
|
||||||
|
|
||||||
print("Selected: \(group.selectedHandler?.labelText ?? "none")")
|
print("Selected: \(group.selectedHandler?.labelText ?? "none")")
|
||||||
}.store(in: &subscribers)
|
}
|
||||||
|
|
||||||
//set UI values
|
//set UI values
|
||||||
surfacePickerSelectorView.text = radioButtonGroup.surface.rawValue
|
surfacePickerSelectorView.text = radioButtonGroup.surface.rawValue
|
||||||
|
|||||||
@ -30,18 +30,14 @@ class RadioSwatchGroupViewController: BaseViewController {
|
|||||||
addFormRow(label: "Surface", view: surfacePickerSelectorView)
|
addFormRow(label: "Surface", view: surfacePickerSelectorView)
|
||||||
addFormRow(label: "Strikethrough", view: .makeWrapper(for: strikeThroughSwitch))
|
addFormRow(label: "Strikethrough", view: .makeWrapper(for: strikeThroughSwitch))
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioSwatchGroup.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.radioSwatchGroup.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
strikeThroughSwitch
|
strikeThroughSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.radioSwatchGroup.selectorViews.first?.strikethrough = sender.isOn
|
||||||
.sink { [weak self] sender in
|
self?.radioSwatchGroup.reload()
|
||||||
self?.radioSwatchGroup.selectorViews.first?.strikethrough = sender.isOn
|
}
|
||||||
self?.radioSwatchGroup.reload()
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupModel(){
|
func setupModel(){
|
||||||
@ -89,11 +85,9 @@ class RadioSwatchGroupViewController: BaseViewController {
|
|||||||
|
|
||||||
radioSwatchGroup.selectorViews = [radioSwatch1, radioSwatch2, radioSwatch3, radioSwatch4, radioSwatch5, radioSwatch6, radioSwatch7, radioSwatch8]
|
radioSwatchGroup.selectorViews = [radioSwatch1, radioSwatch2, radioSwatch3, radioSwatch4, radioSwatch5, radioSwatch6, radioSwatch7, radioSwatch8]
|
||||||
|
|
||||||
radioSwatchGroup
|
radioSwatchGroup.onChange = { group in
|
||||||
.publisher(for: .valueChanged)
|
print("Selected: \(group.selectedHandler?.text ?? "none")")
|
||||||
.sink { group in
|
}
|
||||||
print("Selected: \(group.selectedHandler?.text ?? "none")")
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
//set UI values
|
//set UI values
|
||||||
surfacePickerSelectorView.text = radioSwatchGroup.surface.rawValue
|
surfacePickerSelectorView.text = radioSwatchGroup.surface.rawValue
|
||||||
|
|||||||
@ -48,27 +48,21 @@ class TextAreaViewController: BaseViewController {
|
|||||||
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
|
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
|
||||||
addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
|
addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
|
||||||
|
|
||||||
requiredSwitch
|
requiredSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textArea.required = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textArea.required = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showErrorSwitch
|
showErrorSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let self else { return }
|
||||||
.sink { [weak self] sender in
|
self.textArea.showError = sender.isOn
|
||||||
guard let self else { return }
|
if self.textArea.showError != sender.isOn {
|
||||||
self.textArea.showError = sender.isOn
|
self.showErrorSwitch.isOn = self.textArea.showError
|
||||||
if self.textArea.showError != sender.isOn {
|
}
|
||||||
self.showErrorSwitch.isOn = self.textArea.showError
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textArea.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textArea.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
labelTextField
|
labelTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -43,11 +43,9 @@ class TextLinkCaretViewController: BaseViewController {
|
|||||||
addFormRow(label: "Label", view: textField)
|
addFormRow(label: "Label", view: textField)
|
||||||
addFormRow(label: "Caret Position", view: caretPositionPickerSelectorView)
|
addFormRow(label: "Caret Position", view: caretPositionPickerSelectorView)
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textLinkCaret.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textLinkCaret.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
textField
|
textField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -44,11 +44,9 @@ class TextLinkViewController: BaseViewController {
|
|||||||
addFormRow(label: "Label", view: textField)
|
addFormRow(label: "Label", view: textField)
|
||||||
addFormRow(label: "Size", view: buttonSizePickerSelectorView)
|
addFormRow(label: "Size", view: buttonSizePickerSelectorView)
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.textLink.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.textLink.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
textField
|
textField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -74,40 +74,32 @@ class TileContainerViewController: BaseViewController {
|
|||||||
addFormRow(label: "Background Image", view: .makeWrapper(for: showBackgroundImageSwitch))
|
addFormRow(label: "Background Image", view: .makeWrapper(for: showBackgroundImageSwitch))
|
||||||
addFormRow(label: "Image Fallback Color", view: imageFallbackColorPickerSelectorView)
|
addFormRow(label: "Image Fallback Color", view: imageFallbackColorPickerSelectorView)
|
||||||
|
|
||||||
clickableSwitch
|
clickableSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let self else { return }
|
||||||
.sink { [weak self] sender in
|
if sender.isOn {
|
||||||
guard let self else { return }
|
self.tileContainer.onClick = { _ in
|
||||||
if sender.isOn {
|
print("you click on me!")
|
||||||
self.tileContainer.onClick = { _ in
|
|
||||||
print("you click on me!")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
self.tileContainer.onClick = nil
|
|
||||||
}
|
}
|
||||||
}.store(in: &subscribers)
|
} else {
|
||||||
|
self.tileContainer.onClick = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
showBackgroundImageSwitch
|
showBackgroundImageSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
if let image = self?.backgroundImage, sender.isOn {
|
||||||
.sink { [weak self] sender in
|
self?.tileContainer.backgroundImage = image
|
||||||
if let image = self?.backgroundImage, sender.isOn {
|
} else {
|
||||||
self?.tileContainer.backgroundImage = image
|
self?.tileContainer.backgroundImage = nil
|
||||||
} else {
|
}
|
||||||
self?.tileContainer.backgroundImage = nil
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showBorderSwitch
|
showBorderSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
|
||||||
.sink { [weak self] sender in
|
|
||||||
self?.tileContainer.showBorder = sender.isOn
|
self?.tileContainer.showBorder = sender.isOn
|
||||||
}.store(in: &subscribers)
|
}
|
||||||
|
|
||||||
showDropShadowSwitch
|
showDropShadowSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.tileContainer.showDropShadows = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.tileContainer.showDropShadows = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
heightTextField
|
heightTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
@ -27,8 +27,8 @@ class TileletViewController: BaseViewController {
|
|||||||
|
|
||||||
lazy var subtitleColorPickerSelectorView = {
|
lazy var subtitleColorPickerSelectorView = {
|
||||||
PickerSelectorView<Use>(title: "",
|
PickerSelectorView<Use>(title: "",
|
||||||
picker: self.picker,
|
picker: self.picker,
|
||||||
items: [.primary, .secondary])
|
items: [.primary, .secondary])
|
||||||
}()
|
}()
|
||||||
|
|
||||||
var clickableSwitch = Toggle()
|
var clickableSwitch = Toggle()
|
||||||
@ -74,18 +74,17 @@ class TileletViewController: BaseViewController {
|
|||||||
addFormRow(label: "Description Icon", view: .makeWrapper(for: showDescriptionIconSwitch))
|
addFormRow(label: "Description Icon", view: .makeWrapper(for: showDescriptionIconSwitch))
|
||||||
addFormRow(label: "Directional Icon", view: .makeWrapper(for: showDirectionalIconSwitch))
|
addFormRow(label: "Directional Icon", view: .makeWrapper(for: showDirectionalIconSwitch))
|
||||||
|
|
||||||
clickableSwitch
|
clickableSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
guard let tilelet = self?.tilelet else { return }
|
||||||
.sink { [weak self] sender in
|
if sender.isOn {
|
||||||
guard let tilelet = self?.tilelet else { return }
|
tilelet.onClick = { t in
|
||||||
if sender.isOn {
|
print("you click on me!")
|
||||||
tilelet.onClick = { t in
|
|
||||||
print("you click on me!")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
tilelet.onClick = nil
|
|
||||||
}
|
}
|
||||||
}.store(in: &subscribers)
|
} else {
|
||||||
|
tilelet.onClick = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
widthTextField
|
widthTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
.sink { [weak self] text in
|
.sink { [weak self] text in
|
||||||
@ -145,27 +144,23 @@ class TileletViewController: BaseViewController {
|
|||||||
self?.setBadgeModel()
|
self?.setBadgeModel()
|
||||||
}.store(in: &subscribers)
|
}.store(in: &subscribers)
|
||||||
|
|
||||||
showDescriptionIconSwitch
|
showDescriptionIconSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
if sender.isOn {
|
||||||
.sink { [weak self] sender in
|
self?.showDirectionalIconSwitch.isOn = false
|
||||||
if sender.isOn {
|
self?.tilelet.descriptiveIconModel = .init(size: .medium, surface: .dark)
|
||||||
self?.showDirectionalIconSwitch.isOn = false
|
} else {
|
||||||
self?.tilelet.descriptiveIconModel = .init(size: .medium, surface: .dark)
|
self?.tilelet.descriptiveIconModel = nil
|
||||||
} else {
|
}
|
||||||
self?.tilelet.descriptiveIconModel = nil
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showDirectionalIconSwitch
|
showDirectionalIconSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
if sender.isOn {
|
||||||
.sink { [weak self] sender in
|
self?.showDescriptionIconSwitch.isOn = false
|
||||||
if sender.isOn {
|
self?.tilelet.directionalIconModel = .init(size: .medium, surface: .dark)
|
||||||
self?.showDescriptionIconSwitch.isOn = false
|
} else {
|
||||||
self?.tilelet.directionalIconModel = .init(size: .medium, surface: .dark)
|
self?.tilelet.directionalIconModel = nil
|
||||||
} else {
|
}
|
||||||
self?.tilelet.directionalIconModel = nil
|
}
|
||||||
}
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,34 +69,27 @@ class ToggleViewController: BaseViewController {
|
|||||||
//add textFormStackView to main form
|
//add textFormStackView to main form
|
||||||
formStackView.addArrangedSubview(textFormStackView)
|
formStackView.addArrangedSubview(textFormStackView)
|
||||||
|
|
||||||
toggle.publisher(for: .valueChanged)
|
toggle.onChange = { [weak self] toggle in
|
||||||
.sink { [weak self] toggle in
|
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
||||||
let alertController:UIAlertController = UIAlertController(title: "Alert",
|
message: "Toggle Value: \(toggle.isOn)",
|
||||||
message: "Toggle Value: \(toggle.isOn)",
|
preferredStyle: UIAlertController.Style.alert)
|
||||||
preferredStyle: UIAlertController.Style.alert)
|
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
||||||
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler:nil))
|
self?.present(alertController, animated: true)
|
||||||
self?.present(alertController, animated: true)
|
print("toggle changed: \(toggle.isOn)")
|
||||||
print("toggle changed: \(toggle.isOn)")
|
}
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
showTextSwitch
|
showTextSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.toggle.showText = sender.isOn
|
||||||
.sink { [weak self] sender in
|
self?.textFormStackView.isHidden = !sender.isOn
|
||||||
self?.toggle.showText = sender.isOn
|
}
|
||||||
self?.textFormStackView.isHidden = !sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
disabledSwitch
|
disabledSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.toggle.disabled = sender.isOn
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.toggle.disabled = sender.isOn
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
boldSwitch
|
boldSwitch.onChange = { [weak self] sender in
|
||||||
.publisher(for: .valueChanged)
|
self?.toggle.textWeight = sender.isOn ? .bold : .regular
|
||||||
.sink { [weak self] sender in
|
}
|
||||||
self?.toggle.textWeight = sender.isOn ? .bold : .regular
|
|
||||||
}.store(in: &subscribers)
|
|
||||||
|
|
||||||
onTextField
|
onTextField
|
||||||
.textPublisher
|
.textPublisher
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user