diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index ceb696a..c4d4466 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -8,6 +8,7 @@ import Foundation import VDS import UIKit +import VDSTokens class TableViewController: BaseViewController { @@ -15,7 +16,9 @@ class TableViewController: BaseViewController
{ var fillContainer = Toggle() - var customColumnWidthSize = NumericField() + var customColumnWidthSize = NumericField().with { + $0.placeholder = "Minimum 50px" + } lazy var headerLineStylePicker = { PickerSelectorView(title: "primary", picker: self.picker, items: Line.Style.allCases) @@ -46,6 +49,7 @@ class TableViewController: BaseViewController
{ addFormRow(label: "Custom column size", view: customColumnWidthSize) fillContainer.isOn = component.fillContainer + updateTextFieldStatus(enable: !fillContainer.isOn) addContentTopView(view: component) @@ -55,14 +59,13 @@ class TableViewController: BaseViewController
{ fillContainer.onChange = { [weak self] sender in self?.component.fillContainer = sender.isOn - self?.customColumnWidthSize.isEnabled = !sender.isOn + self?.updateTextFieldStatus(enable:!sender.isOn) } - - customColumnWidthSize.textPublisher.sink { [weak self] text in - if let width = NumberFormatter().number(from: text), let count = self?.component.tableHeader.first?.count { - self?.component.columnWidths = Array(repeating: CGFloat(truncating: width), count: count) + + customColumnWidthSize.numberPublisher.sink { [weak self] text in + if let count = self?.component.tableHeader.first?.count, let text, text.intValue > 50 { + self?.component.columnWidths = Array(repeating: CGFloat(truncating: text), count: count) } - }.store(in: &subscribers) } @@ -104,6 +107,11 @@ class TableViewController: BaseViewController
{ } } + func updateTextFieldStatus(enable: Bool) { + customColumnWidthSize.isEnabled = enable + customColumnWidthSize.backgroundColor = enable ? UIColor.white : VDSColor.paletteGray85 + } + func setupModel() { ///Header row self.component.tableHeader = [[TableItemModel(bottomLine: .primary, component: Label().with { $0.text = ""}),