From 15d71e41dde90f938b5b8e8d7b4c552ab50a8198 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Wed, 10 Aug 2022 16:25:56 -0500 Subject: [PATCH] added uuid Signed-off-by: Matt Bruce --- VDS/Components/Checkbox/CheckboxModel.swift | 2 +- VDS/Components/RadioButton/RadioButton.swift | 14 +------------- VDS/Components/RadioButton/RadioButtonModel.swift | 2 +- VDS/Components/SelectorBase/SelectorBase.swift | 2 +- VDS/Components/SelectorBase/SelectorGroup.swift | 9 +++++++++ VDS/Components/SelectorBase/SelectorModel.swift | 1 - VDS/Components/Toggle/ToggleModel.swift | 3 +-- VDS/Protocols/FormFieldable.swift | 1 + 8 files changed, 15 insertions(+), 19 deletions(-) diff --git a/VDS/Components/Checkbox/CheckboxModel.swift b/VDS/Components/Checkbox/CheckboxModel.swift index 9f0d96cc..84fce76e 100644 --- a/VDS/Components/Checkbox/CheckboxModel.swift +++ b/VDS/Components/Checkbox/CheckboxModel.swift @@ -16,7 +16,7 @@ extension CheckboxModel { } public struct DefaultCheckboxModel: CheckboxModel { - public var id: String? + public var id: UUID = UUID() public var selected: Bool = false public var labelText: String? diff --git a/VDS/Components/RadioButton/RadioButton.swift b/VDS/Components/RadioButton/RadioButton.swift index 2a4e5e25..7f2cccce 100644 --- a/VDS/Components/RadioButton/RadioButton.swift +++ b/VDS/Components/RadioButton/RadioButton.swift @@ -23,6 +23,7 @@ public class RadioButton: RadioButtonBase{ public struct RadioButtonGroupModel: SelectorGroupModel{ public typealias SelectorType = DefaultRadioButtonModel + public var id: UUID = UUID() public var inputId: String? public var value: AnyHashable? public var surface: Surface = .light @@ -36,19 +37,6 @@ public struct RadioButtonGroupModel: SelectorGroupModel{ public class RadioButtonGroup: SelectorGroup { - private func replace(viewModel: DefaultRadioButtonModel){ - guard let viewModelInputId = viewModel.inputId else { return } - if let index = model.selectors.firstIndex(where: { radio in - if let cachedInputId = radio.inputId { - return cachedInputId == viewModelInputId - } else { - return false - } - }) { - model.selectors[index] = viewModel - } - } - public override func didSelect(selected: DefaultRadioButtonModel) { for selectorModel in model.selectors { print("Pre Cached Selector: \(selectorModel.inputId): \(selectorModel.selected)") diff --git a/VDS/Components/RadioButton/RadioButtonModel.swift b/VDS/Components/RadioButton/RadioButtonModel.swift index f602437c..9f1910c7 100644 --- a/VDS/Components/RadioButton/RadioButtonModel.swift +++ b/VDS/Components/RadioButton/RadioButtonModel.swift @@ -17,7 +17,7 @@ extension RadioButtonModel { } public struct DefaultRadioButtonModel: RadioButtonModel { - public var id: String? + public var id: UUID = UUID() public var selected: Bool = false public var labelText: String? diff --git a/VDS/Components/SelectorBase/SelectorBase.swift b/VDS/Components/SelectorBase/SelectorBase.swift index cd840e4c..0104c775 100644 --- a/VDS/Components/SelectorBase/SelectorBase.swift +++ b/VDS/Components/SelectorBase/SelectorBase.swift @@ -69,7 +69,7 @@ open class SelectorBase: Control, Changable public var onChange: Blocks.ActionBlock? @Proxy(\.model.id) - open var id: String? + open var id: UUID //can't bind to @Proxy open override var isSelected: Bool { diff --git a/VDS/Components/SelectorBase/SelectorGroup.swift b/VDS/Components/SelectorBase/SelectorGroup.swift index 5d74e553..e98beaeb 100644 --- a/VDS/Components/SelectorBase/SelectorGroup.swift +++ b/VDS/Components/SelectorBase/SelectorGroup.swift @@ -15,6 +15,7 @@ public protocol SelectorGroupModel: Modelable, FormFieldable { } public struct DefaultSelectorGroupModel: SelectorGroupModel { + public var id: UUID = UUID() public var inputId: String? public var value: AnyHashable? public var surface: Surface = .light @@ -112,5 +113,13 @@ open class SelectorGroup