From 31fc9938e284b4d4e7f0dcd933d9dbe77ee1cca3 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 16 May 2023 15:32:12 -0500 Subject: [PATCH] added more properties Signed-off-by: Matt Bruce --- .../ButtonIconViewController.swift | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/VDSSample/ViewControllers/ButtonIconViewController.swift b/VDSSample/ViewControllers/ButtonIconViewController.swift index 9ed2b1d..12cd437 100644 --- a/VDSSample/ViewControllers/ButtonIconViewController.swift +++ b/VDSSample/ViewControllers/ButtonIconViewController.swift @@ -13,6 +13,18 @@ import VDSColorTokens class ButtonIconViewController: BaseViewController { + lazy var kindPickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: ButtonIcon.Kind.allCases) + }() + + lazy var surfaceTypePickerSelectorView = { + PickerSelectorView(title: "", + picker: self.picker, + items: ButtonIcon.SurfaceType.allCases) + }() + lazy var colorPickerSelectorView = { PickerSelectorView(title: "", picker: self.picker, @@ -34,12 +46,15 @@ class ButtonIconViewController: BaseViewController { var customSizeField = TextField() var centerX = TextField() var centerY = TextField() + var fitToIcon = Toggle() + var floating = Toggle() + var hideBorder = Toggle() override func allTextFields() -> [TextField]? { [customSizeField, centerX, centerY] } override func viewDidLoad() { super.viewDidLoad() - addContentTopView(view: .makeWrapper(for: component)) + addContentTopView(view: .makeWrapper(for: component, edgeSpacing: 16.0), edgeSpacing: 0.0) setupPicker() setupModel() } @@ -47,12 +62,33 @@ class ButtonIconViewController: BaseViewController { override func setupForm(){ super.setupForm() addFormRow(label: "Surface", view: surfacePickerSelectorView) + addFormRow(label: "Surface Type", view: surfaceTypePickerSelectorView) addFormRow(label: "Size", view: sizePickerSelectorView) + addFormRow(label: "Kind", view: kindPickerSelectorView) + addFormRow(label: "Floating", view: .makeWrapper(for: floating)) + addFormRow(label: "Hide Border", view: .makeWrapper(for: hideBorder)) + addFormRow(label: "Fit To Icon", view: .makeWrapper(for: fitToIcon)) addFormRow(label: "Custom Size", view: customSizeField) addFormRow(label: "Name", view: namePickerSelectorView) addFormRow(label: "X Offset", view: centerX) addFormRow(label: "Y Offset", view: centerY) + component.onClick = { sender in + print("Button Icon was clicked") + } + + floating.onChange = { [weak self] sender in + self?.component.fitToIcon = sender.isOn + } + + hideBorder.onChange = { [weak self] sender in + self?.component.hideBorder = sender.isOn + } + + fitToIcon.onChange = { [weak self] sender in + self?.component.fitToIcon = sender.isOn + } + customSizeField.textPublisher.sink { [weak self] value in if let intValue = Int(value) { self?.component.customSize = intValue @@ -76,6 +112,8 @@ class ButtonIconViewController: BaseViewController { component.iconName = name //setup UI surfacePickerSelectorView.text = component.surface.rawValue + surfaceTypePickerSelectorView.text = component.surfaceType.rawValue + kindPickerSelectorView.text = component.kind.rawValue sizePickerSelectorView.text = component.size.rawValue namePickerSelectorView.text = name.rawValue } @@ -99,6 +137,15 @@ class ButtonIconViewController: BaseViewController { self?.component.surface = item self?.contentTopView.backgroundColor = item.color } + + surfaceTypePickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.component.surfaceType = item + } + + + kindPickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.component.kind = item + } sizePickerSelectorView.onPickerDidSelect = { [weak self] item in self?.component.size = item