From bbf038caf4f3600ff095840ce19101b3f11fcdec Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Fri, 24 Mar 2023 23:51:53 +0530 Subject: [PATCH] Adding view controller setup for line component --- VDSSample.xcodeproj/project.pbxproj | 4 ++ .../ViewControllers/LineViewController.swift | 44 +++++++++++++++++++ .../ViewControllers/MenuViewController.swift | 1 + 3 files changed, 49 insertions(+) create mode 100644 VDSSample/ViewControllers/LineViewController.swift diff --git a/VDSSample.xcodeproj/project.pbxproj b/VDSSample.xcodeproj/project.pbxproj index a63c81b..d2a9688 100644 --- a/VDSSample.xcodeproj/project.pbxproj +++ b/VDSSample.xcodeproj/project.pbxproj @@ -32,6 +32,7 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 44604AD929CE1CF900E62B51 /* LineViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44604AD829CE1CF900E62B51 /* LineViewController.swift */; }; 5FC35BE928D5235A004EBEAC /* ButtonViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */; }; EA0FC2C12912DC5500DF80B4 /* TextLinkCaretViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0FC2C02912DC5500DF80B4 /* TextLinkCaretViewController.swift */; }; EA3C3B9D289966EF000CA526 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA3C3B9C289966EF000CA526 /* AppDelegate.swift */; }; @@ -113,6 +114,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 44604AD829CE1CF900E62B51 /* LineViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineViewController.swift; sourceTree = ""; }; 5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ButtonViewController.swift; sourceTree = ""; }; EA0FC2C02912DC5500DF80B4 /* TextLinkCaretViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextLinkCaretViewController.swift; sourceTree = ""; }; EA3C3B99289966EF000CA526 /* VDSSample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = VDSSample.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -288,6 +290,7 @@ EAA5EEAC28EB6924003B3210 /* InputFieldViewController.swift */, EAC9257F29119FC400091998 /* TextLinkViewController.swift */, EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */, + 44604AD829CE1CF900E62B51 /* LineViewController.swift */, EA89201828B56DF5006B9984 /* RadioBoxGroupViewController.swift */, EAF7F11928A14A0E00B287F5 /* RadioButtonViewController.swift */, EA84F76128BE4AE500D67ABC /* RadioSwatchGroupViewController.swift */, @@ -447,6 +450,7 @@ EAB5FEEF2927E28400998C17 /* ButtonGroupViewController.swift in Sources */, EA89204C28B66CE2006B9984 /* ScrollWrapperView.swift in Sources */, EA89205128B68307006B9984 /* TextField.swift in Sources */, + 44604AD929CE1CF900E62B51 /* LineViewController.swift in Sources */, EA3C3BB528996775000CA526 /* StoryboardInitable.swift in Sources */, EA89201928B56DF5006B9984 /* RadioBoxGroupViewController.swift in Sources */, EA3C3BB628996775000CA526 /* MenuViewController.swift in Sources */, diff --git a/VDSSample/ViewControllers/LineViewController.swift b/VDSSample/ViewControllers/LineViewController.swift new file mode 100644 index 0000000..38acea9 --- /dev/null +++ b/VDSSample/ViewControllers/LineViewController.swift @@ -0,0 +1,44 @@ +// +// LineViewController.swift +// VDSSample +// +// Created by Nadigadda, Sumanth on 24/03/23. +// + +import Foundation +import VDS + +class LineViewController: BaseViewController { + + let lineView = Line() + + lazy var lineStylePickerView = { + PickerSelectorView(title: "primary", + picker: self.picker, + items: Line.Style.allCases) + }() + + override func viewDidLoad() { + super.viewDidLoad() + + addContentTopView(view: lineView) + setupForm() + setupPicker() + } + + func setupForm() { + addFormRow(label: "Surface", view: surfacePickerSelectorView) + addFormRow(label: "Style", view: lineStylePickerView) + } + + func setupPicker() { + surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in + self?.lineView.surface = item + self?.contentTopView.backgroundColor = item.color + } + + lineStylePickerView.onPickerDidSelect = { [weak self] item in + self?.lineView.style = item + } + } +} diff --git a/VDSSample/ViewControllers/MenuViewController.swift b/VDSSample/ViewControllers/MenuViewController.swift index 8fdf1e0..f67064f 100644 --- a/VDSSample/ViewControllers/MenuViewController.swift +++ b/VDSSample/ViewControllers/MenuViewController.swift @@ -79,6 +79,7 @@ class MenuViewController: UITableViewController { MenuComponent(title: "Icon", completed: true, viewController: IconViewController.self), MenuComponent(title: "InputField", completed: false, viewController: InputFieldViewController.self), MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self), + MenuComponent(title: "Line", completed: false, viewController: LineViewController.self), MenuComponent(title: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self), MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self), MenuComponent(title: "RadioSwatchGroup", completed: true, viewController: RadioSwatchGroupViewController.self),