updated for components

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-05-10 11:07:33 -05:00
parent b069fff09f
commit 363397e12f
2 changed files with 45 additions and 16 deletions

View File

@ -10,6 +10,12 @@ import VDS
class DropdownSelectViewController: BaseViewController<DropdownSelect> { class DropdownSelectViewController: BaseViewController<DropdownSelect> {
lazy var helperTextPlacementPickerSelectorView = {
PickerSelectorView(title: "",
picker: self.picker,
items: InputField.HelperTextPlacement.allCases)
}()
var disabledSwitch = Toggle() var disabledSwitch = Toggle()
var requiredSwitch = Toggle() var requiredSwitch = Toggle()
var labelTextField = TextField() var labelTextField = TextField()
@ -21,6 +27,7 @@ class DropdownSelectViewController: BaseViewController<DropdownSelect> {
var errorSwitch = Toggle() var errorSwitch = Toggle()
var tooltipTitleTextField = TextField() var tooltipTitleTextField = TextField()
var tooltipContentTextField = TextField() var tooltipContentTextField = TextField()
var widthTextField = NumericField()
var optionsSwitch = Toggle() var optionsSwitch = Toggle()
var moreOptions: [DropdownSelect.DropdownOptionModel] = [ var moreOptions: [DropdownSelect.DropdownOptionModel] = [
.init(text: "Alabama"), .init(text: "Alabama"),
@ -60,12 +67,14 @@ class DropdownSelectViewController: BaseViewController<DropdownSelect> {
addFormRow(label: "Disabled", view: disabledSwitch) addFormRow(label: "Disabled", view: disabledSwitch)
addFormRow(label: "Required", view: requiredSwitch) addFormRow(label: "Required", view: requiredSwitch)
addFormRow(label: "Label Text", view: labelTextField) addFormRow(label: "Label Text", view: labelTextField)
addFormRow(label: "Helper Text Placement", view: helperTextPlacementPickerSelectorView)
addFormRow(label: "Helper Text", view: helperTextField) addFormRow(label: "Helper Text", view: helperTextField)
addFormRow(label: "Inline Label", view: .makeWrapper(for: inlineLabelSwitch)) addFormRow(label: "Inline Label", view: .makeWrapper(for: inlineLabelSwitch))
addFormRow(label: "Readonly", view: readonlySwitch) addFormRow(label: "Readonly", view: readonlySwitch)
addFormRow(label: "Transparent Background", view: transparentBgSwitch) addFormRow(label: "Transparent Background", view: transparentBgSwitch)
addFormRow(label: "Error", view: .makeWrapper(for: errorSwitch)) addFormRow(label: "Error", view: .makeWrapper(for: errorSwitch))
addFormRow(label: "Error Text", view: errorTextField) addFormRow(label: "Error Text", view: errorTextField)
addFormRow(label: "Width", view: widthTextField)
addFormRow(label: "ToolTip Title", view: tooltipTitleTextField) addFormRow(label: "ToolTip Title", view: tooltipTitleTextField)
addFormRow(label: "ToolTip Content", view: tooltipContentTextField) addFormRow(label: "ToolTip Content", view: tooltipContentTextField)
addFormRow(label: "More Options", view: optionsSwitch) addFormRow(label: "More Options", view: optionsSwitch)
@ -119,6 +128,12 @@ class DropdownSelectViewController: BaseViewController<DropdownSelect> {
self?.component.errorText = text self?.component.errorText = text
}.store(in: &subscribers) }.store(in: &subscribers)
widthTextField
.numberPublisher
.sink { [weak self] number in
self?.component.width = number?.cgFloatValue
}.store(in: &subscribers)
tooltipTitleTextField tooltipTitleTextField
.textPublisher .textPublisher
.sink { [weak self] text in .sink { [weak self] text in
@ -161,6 +176,7 @@ class DropdownSelectViewController: BaseViewController<DropdownSelect> {
requiredSwitch.isOn = component.isRequired requiredSwitch.isOn = component.isRequired
surfacePickerSelectorView.text = component.surface.rawValue surfacePickerSelectorView.text = component.surface.rawValue
labelTextField.text = component.labelText labelTextField.text = component.labelText
helperTextPlacementPickerSelectorView.text = component.helperTextPlacement.rawValue
helperTextField.text = component.helperText helperTextField.text = component.helperText
readonlySwitch.isOn = false readonlySwitch.isOn = false
transparentBgSwitch.isOn = false transparentBgSwitch.isOn = false
@ -176,6 +192,11 @@ class DropdownSelectViewController: BaseViewController<DropdownSelect> {
self?.component.surface = item self?.component.surface = item
self?.contentTopView.backgroundColor = item.color self?.contentTopView.backgroundColor = item.color
} }
helperTextPlacementPickerSelectorView.onPickerDidSelect = { [weak self] item in
self?.component.helperTextPlacement = item
}
} }
func updateTooltip() { func updateTooltip() {

View File

@ -70,6 +70,19 @@ class InputFieldViewController: BaseViewController<InputField> {
$0.isHidden = true $0.isHidden = true
} }
//securityCode
lazy var cardTypePickerSelectorView = {
PickerSelectorView(title: "",
picker: self.picker,
items: InputField.CreditCardType.allCases)
}()
lazy var securityCodeSection = FormSection().with {
$0.title = "Security Code Settings"
$0.addFormRow(label: "Card Type", view: cardTypePickerSelectorView)
$0.isHidden = true
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
addContentTopView(view: component) addContentTopView(view: component)
@ -108,6 +121,7 @@ class InputFieldViewController: BaseViewController<InputField> {
append(section: passwordSection) append(section: passwordSection)
append(section: dateSection) append(section: dateSection)
append(section: inlineActionSection) append(section: inlineActionSection)
append(section: securityCodeSection)
append(section: general) append(section: general)
requiredSwitch.onChange = { [weak self] sender in requiredSwitch.onChange = { [weak self] sender in
@ -257,6 +271,10 @@ class InputFieldViewController: BaseViewController<InputField> {
self?.component.dateFormat = item self?.component.dateFormat = item
self?.updateFormSections() self?.updateFormSections()
} }
cardTypePickerSelectorView.onPickerDidSelect = { [weak self] item in
self?.component.cardType = item
}
} }
func updateTooltip() { func updateTooltip() {
@ -268,20 +286,16 @@ class InputFieldViewController: BaseViewController<InputField> {
} }
func updateFormSections() { func updateFormSections() {
[passwordSection, dateSection, inlineActionSection].forEach { $0.isHidden = true } [passwordSection, dateSection, inlineActionSection, securityCodeSection].forEach { $0.isHidden = true }
//reset other fields //reset other fields
component.actionTextLinkModel = nil component.actionTextLinkModel = nil
component.tooltipModel = nil component.tooltipModel = nil
component.cardType = .generic
tooltipTitleTextField.text = nil tooltipTitleTextField.text = nil
tooltipContentTextField.text = nil tooltipContentTextField.text = nil
dateFormatPickerSelectorView.text = component.dateFormat.rawValue
cardTypePickerSelectorView.text = component.cardType.rawValue
switch component.fieldType { switch component.fieldType {
case .text:
break
case .number:
break
case .inlineAction: case .inlineAction:
inlineActionTextField.text = nil inlineActionTextField.text = nil
inlineActionSection.isHidden = false inlineActionSection.isHidden = false
@ -289,19 +303,13 @@ class InputFieldViewController: BaseViewController<InputField> {
case .password: case .password:
passwordSection.isHidden = false passwordSection.isHidden = false
case .creditCard:
break
case .telephone:
break
case .date: case .date:
dateSection.isHidden = false dateSection.isHidden = false
case .securityCode: case .securityCode:
break securityCodeSection.isHidden = false
@unknown default: default:
break break
} }
} }