diff --git a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift index be7f3e54..a39e1c97 100644 --- a/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift +++ b/MVMCoreUI/Atomic/Atoms/FormFields/TextFields/TextViewEntryField.swift @@ -113,15 +113,32 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT } }.store(in: &subscribers) - - //String(format: MVMCoreUIUtility.hardcodedString(withKey: "textView_error_message") ?? "", textView.text ?? "", entryFieldModel?.errorMessage ?? "") } - //-------------------------------------------------- - // MARK: - MoleculeViewProtocol - //-------------------------------------------------- - open func updateView(_ size: CGFloat) {} + open override func updateView() { + super.updateView() + switch viewModel.type { + case .secure, .password: + textView.isSecureTextEntry = true + textView.shouldMaskWhileRecording = true + case .numberSecure: + textView.isSecureTextEntry = true + textView.keyboardType = .numberPad + textView.shouldMaskWhileRecording = true + + case .number: + textView.keyboardType = .numberPad + + case .email: + textView.keyboardType = .emailAddress +//uncomment out once inputField branch is merged and update this logic +// case .securityCode, .creditCard: +// textView.shouldMaskWhileRecording = true + + default: break + } + } open func viewModelDidUpdate() { text = viewModel.text @@ -147,29 +164,7 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT textView.isEditable = viewModel.editable textView.textAlignment = viewModel.textAlignment textView.placeholder = viewModel.placeholder ?? "" - - switch viewModel.type { - case .secure, .password: - textView.isSecureTextEntry = true - textView.shouldMaskWhileRecording = true - - case .numberSecure: - textView.isSecureTextEntry = true - textView.keyboardType = .numberPad - textView.shouldMaskWhileRecording = true - - case .number: - textView.keyboardType = .numberPad - - case .email: - textView.keyboardType = .emailAddress - -// case .securityCode, .creditCard: -// textView.shouldMaskWhileRecording = true - - default: break - } - + if (viewModel.selected ?? false) && !viewModel.wasInitiallySelected { viewModel.wasInitiallySelected = true @@ -229,6 +224,11 @@ open class TextViewEntryField: VDS.TextArea, VDSMoleculeViewProtocol, ObservingT showError = false } } + + //-------------------------------------------------- + // MARK: - MoleculeViewProtocol + //-------------------------------------------------- + open func updateView(_ size: CGFloat) {} } internal struct ViewMasking {