diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift index dee7916b..7025d18e 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/Dropdown Fields/Item Dropdown/ItemDropdownEntryField.swift @@ -110,7 +110,7 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, publisher(for: .valueChanged) .sink { [weak self] control in - guard let self, let selectedItem else { return } + guard let self, let selectedItem, let viewModel else { return } viewModel.selectedIndex = control.selectId observeDropdownSelection?(selectedItem.text) _ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate) @@ -130,7 +130,7 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, guard let self else { return } isEditting = false _ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate) - if let valid = viewModel.isValid { + if let viewModel, let valid = viewModel.isValid { updateValidation(valid) } performDropdownAction() @@ -207,7 +207,7 @@ open class ItemDropdownEntryField: VDS.DropdownSelect, VDSMoleculeViewProtocol, if setInitialValueInTextField { let pickerIndex = optionsPicker.selectedRow(inComponent: 0) - viewModel.selectedIndex = pickerIndex + viewModel?.selectedIndex = pickerIndex selectId = pickerIndex } } diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/InputEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/InputEntryField.swift index 51cbd26c..fb99a10a 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/InputEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/InputEntryField.swift @@ -33,7 +33,7 @@ import VDS private var isEditting: Bool = false { didSet { - viewModel.selected = isEditting + viewModel?.selected = isEditting } } @@ -47,7 +47,7 @@ import VDS open var validateWhenDoneEditing: Bool = true open var shouldMaskWhileRecording: Bool { - return viewModel.shouldMaskRecordedView ?? false + return viewModel?.shouldMaskRecordedView ?? false } //-------------------------------------------------- // MARK: - Computed Properties @@ -99,7 +99,7 @@ import VDS publisher(for: .valueChanged) .sink { [weak self] control in - guard let self else { return } + guard let self, let viewModel else { return } _ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate) if (viewModel.type == .email) { // remove spaces (either user entered Or auto-correct suggestion) for the email field @@ -112,7 +112,7 @@ import VDS .sink { [weak self] textView in guard let self else { return } isEditting = true - if viewModel.clearTextOnTap { + if let viewModel, viewModel.clearTextOnTap { text = "" } }.store(in: &subscribers) @@ -122,7 +122,7 @@ import VDS .sink { [weak self] textView in guard let self else { return } isEditting = false - if validateWhenDoneEditing, let valid = viewModel.isValid { + if let viewModel, validateWhenDoneEditing, let valid = viewModel.isValid { updateValidation(valid) } regexTextFieldOutputIfAvailable() diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift index 1cacbeae..bce7eb7b 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift @@ -29,7 +29,7 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT private var isEditting: Bool = false { didSet { - viewModel.selected = isEditting + viewModel?.selected = isEditting } } @@ -37,7 +37,7 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT // MARK: - Computed Properties //-------------------------------------------------- open var shouldMaskWhileRecording: Bool { - return viewModel.shouldMaskRecordedView ?? false + return viewModel?.shouldMaskRecordedView ?? false } /// Placeholder access for the textView. @@ -91,7 +91,7 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT publisher(for: .valueChanged) .sink { [weak self] control in - guard let self else { return } + guard let self, let viewModel else { return } _ = FormValidator.validate(delegate: delegateObject?.formHolderDelegate) }.store(in: &subscribers) @@ -108,7 +108,7 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT .sink { [weak self] textView in guard let self else { return } isEditting = false - if let valid = viewModel.isValid { + if let viewModel, let valid = viewModel.isValid { updateValidation(valid) } diff --git a/MVMCoreUI/Atomic/Atoms/Selectors/Checkbox.swift b/MVMCoreUI/Atomic/Atoms/Selectors/Checkbox.swift index 64224f04..3e6e2a84 100644 --- a/MVMCoreUI/Atomic/Atoms/Selectors/Checkbox.swift +++ b/MVMCoreUI/Atomic/Atoms/Selectors/Checkbox.swift @@ -142,7 +142,7 @@ import VDS viewModel.updateUI = { MVMCoreDispatchUtility.performBlock(onMainThread: { [weak self] in guard let self = self else { return } - let isValid = viewModel.isValid ?? true + //let isValid = viewModel.isValid ?? true //TODO: Fix issue with default state //showError = !isValid isEnabled = viewModel.enabled diff --git a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift index 3e02b467..b4825ee6 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/CheckboxLabel.swift @@ -74,7 +74,7 @@ import VDS viewModel.checkbox.updateUI = { MVMCoreDispatchUtility.performBlock(onMainThread: { [weak self] in guard let self = self else { return } - let isValid = viewModel.checkbox.isValid ?? true + //let isValid = viewModel.checkbox.isValid ?? true //TODO: Fix issue with default state //showError = !isValid errorText = viewModel.checkbox.errorMessage diff --git a/MVMCoreUI/Atomic/Atoms/Views/Label/FormLabel.swift b/MVMCoreUI/Atomic/Atoms/Views/Label/FormLabel.swift index a7755928..d9c8b09b 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Label/FormLabel.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Label/FormLabel.swift @@ -16,7 +16,7 @@ public class FormLabel: Label { //public properties public override var isEnabled: Bool { didSet{ - self.formModel.enabled = isEnabled + self.formModel?.enabled = isEnabled self.set(with: isRequired ? formModel.model : formModel.requiredModel, delegateObject, additionalData) } } diff --git a/MVMCoreUI/Atomic/Atoms/Views/Line.swift b/MVMCoreUI/Atomic/Atoms/Views/Line.swift index ba0af74f..20be7af0 100644 --- a/MVMCoreUI/Atomic/Atoms/Views/Line.swift +++ b/MVMCoreUI/Atomic/Atoms/Views/Line.swift @@ -66,7 +66,7 @@ import VDS } open func setStyle(_ style: LineModel.Style) { - viewModel.type = style + viewModel?.type = style update(viewModel: viewModel) } @@ -85,7 +85,7 @@ import VDS } open override func draw(_ rect: CGRect) { - guard viewModel.type != .none else { return } + guard let viewModel, viewModel.type != .none else { return } super.draw(rect) } diff --git a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift index d85412aa..9221eb44 100644 --- a/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift +++ b/MVMCoreUI/Atomic/Molecules/HorizontalCombinationViews/Tabs.swift @@ -30,7 +30,7 @@ import VDS if let delegate { onTabDidSelect = { [weak self] index in guard let self else { return } - viewModel.selectedIndex = index + viewModel?.selectedIndex = index delegate.didSelectItem(.init(row: index, section: 0), tabs: self) }