updated for components
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
b069fff09f
commit
363397e12f
@ -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() {
|
||||||
|
|||||||
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user