vds_ios_sample/VDSSample/ViewControllers/BreadcrumbsViewController.swift

88 lines
3.8 KiB
Swift

//
// BreadcrumbsViewController.swift
// VDSSample
//
// Created by Kanamarlapudi, Vasavi on 05/03/24.
//
import Foundation
import UIKit
import VDS
import VDSColorTokens
import Combine
class BreadcrumbsViewController: BaseViewController<Breadcrumbs> {
var selectedSwitch = Toggle()
let breadCrumbs = Breadcrumbs()
override func viewDidLoad() {
super.viewDidLoad()
let label = actionLabel
component.breadcrumbItems = [
makeBreadcrumbItem("Home", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("Support", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = false },
makeBreadcrumbItem("Servie & Apps", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("My Verizon", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = false },
makeBreadcrumbItem("Bill", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("Billing statement FAQs", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = true }
]
addContentTopView(view: component)
setupPicker()
setupModel()
}
override func setupForm(){
super.setupForm()
addActionRow()
addFormRow(label: "Surface", view: surfacePickerSelectorView)
addFormRow(label: "Last Crumb Selected", view: selectedSwitch)
selectedSwitch.onChange = { [weak self] sender in
guard let self else { return }
// self.component.selected = !self.component.selected
let label = actionLabel
print("switch flag: \(sender.isOn)")
component.breadcrumbItems = [
makeBreadcrumbItem("Home", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("Support", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = false },
makeBreadcrumbItem("Servie & Apps", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("My Verizon", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = false },
makeBreadcrumbItem("Bill", label: label).with{ $0.link = "https://www.verizon.com/" },
makeBreadcrumbItem("Bill History ", label: label).with{ $0.link = "https://www.verizon.com/"; $0.selectable = sender.isOn}
]
}
}
func setupPicker(){
surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in
self?.component.surface = item
self?.contentTopView.backgroundColor = item.color
}
}
func setupModel() {
//setup UI
selectedSwitch.isOn = true
surfacePickerSelectorView.text = component.surface.rawValue
}
}
//
//extension BreadcrumbsViewController: ComponentSampleable {
// static func makeSample() -> ComponentSample {
// let component = Self.makeComponent()
// let onClick: (ButtonBase) -> Void = { button in print("\(button.text!) clicked")}
// component.breadcrumbItems = [
// BreadcrumbItem().with { $0.text = "Home"; $0.onClick = onClick },
// BreadcrumbItem().with { $0.text = "Support"; $0.onClick = onClick },
// BreadcrumbItem().with { $0.text = "Servie & Apps"; $0.onClick = onClick },
// BreadcrumbItem().with { $0.text = "My Verizon"; $0.onClick = onClick },
// BreadcrumbItem().with { $0.text = "Bill"; $0.onClick = onClick },
// BreadcrumbItem().with { $0.text = "Billing statement FAQs"; $0.onClick = onClick }
// ]
// return ComponentSample(component: component)
// }
//}