diff --git a/VDSSample/ViewControllers/CarouselViewController.swift b/VDSSample/ViewControllers/CarouselViewController.swift index 6679808..60168ff 100644 --- a/VDSSample/ViewControllers/CarouselViewController.swift +++ b/VDSSample/ViewControllers/CarouselViewController.swift @@ -13,8 +13,117 @@ import VDSTokens class CarouselViewController: BaseViewController { + let label = Label() + + lazy var scalingTypePickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.AspectRatio.allCases) + }() + + lazy var layoutPickerSelectorView = { + PickerSelectorView(title: "1UP", + picker: self.picker, + items: UIDevice.isIPad ? Carousel.Layout.allCases : [Carousel.Layout.oneUP, Carousel.Layout.twoUP, Carousel.Layout.threeUP]) + }() + + lazy var paginationDisplayPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.PaginationDisplay.allCases) + }() + + lazy var peekPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.Peek.allCases) + }() + + lazy var gutterPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.Gutter.allCases) + }() + + lazy var paginationKindPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.PaginationKind.allCases) + }() + + lazy var horizAlignmtPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.Horizontal.allCases) + }() + + lazy var vertAlignmtPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: Carousel.Vertical.allCases) + }() + + var paginationFloatSwitch = Toggle() + var paginationInsetField = TextField() + var slotsWidthField = TextField() + override func viewDidLoad() { super.viewDidLoad() + addContentTopView(view: component) + setupPicker() + setupModel() } + override func setupForm() { + super.setupForm() + //add form rows + addFormRow(label: "onChange", view: label) + addFormRow(label: "Surface", view: surfacePickerSelectorView) + addFormRow(label: "Aspect Ratio", view: scalingTypePickerSelectorView) +//data addFormRow(label: "data", view: slidesTextField) + addFormRow(label: "Pagination Display", view: paginationDisplayPickerSelectorView) + addFormRow(label: "Peek", view: peekPickerSelectorView) + addFormRow(label: "Gutter", view: gutterPickerSelectorView) + addFormRow(label: "Layout", view: layoutPickerSelectorView) + addFormRow(label: "Pagination Kind", view: paginationKindPickerSelectorView) + addFormRow(label: "Pagination Float", view: paginationFloatSwitch) + addFormRow(label: "Pagination Inset", view: paginationInsetField) + addFormRow(label: "Slots Width", view: slotsWidthField) + addFormRow(label: "Slot Horizontal Alignment", view: horizAlignmtPickerSelectorView) + addFormRow(label: "Slot Vertical Alignment", view: vertAlignmtPickerSelectorView) + +// slotsWidthField +// .numberPublisher +// .sink { [weak self] number in +// guard let number else { +// return +// } +//// self?.component.numberOfSlides = number.intValue +//// self?.component.position = Int(self?.positionTextField.text ?? "1") ?? 1 +// }.store(in: &subscribers) +// +// paginationInsetField +// .textPublisher +// .sink { [weak self] text in +//// self?.component.labelText = text +// }.store(in: &subscribers) +// + } + + func setupModel() { + //setup UI + scalingTypePickerSelectorView.text = component.aspectRatio.rawValue + + } + + func setupPicker() { + surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.component.surface = item + self?.contentTopView.backgroundColor = item.color + } + + layoutPickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.component.layout = item + } + } }