refactored into protocols

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-23 14:55:15 -05:00
parent 72f993ab55
commit 921e13b3cf
3 changed files with 20 additions and 17 deletions

View File

@ -43,6 +43,7 @@
EA89200828B526E0006B9984 /* CheckboxGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200728B526E0006B9984 /* CheckboxGroupModel.swift */; };
EA89200D28B530FD006B9984 /* RadioBoxModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200C28B530FD006B9984 /* RadioBoxModel.swift */; };
EA89200F28B53921006B9984 /* Selectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89200E28B53921006B9984 /* Selectable.swift */; };
EA89201128B567B5006B9984 /* SelectorGroupHandlerable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89201028B567B5006B9984 /* SelectorGroupHandlerable.swift */; };
EAB1D29A28A5611D00DAE764 /* SelectorGroupModelable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */; };
EAB1D29C28A5618900DAE764 /* RadioButtonGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29B28A5618900DAE764 /* RadioButtonGroup.swift */; };
EAB1D29E28A5619500DAE764 /* RadioButtonGroupModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D29D28A5619500DAE764 /* RadioButtonGroupModel.swift */; };
@ -129,6 +130,7 @@
EA89200728B526E0006B9984 /* CheckboxGroupModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckboxGroupModel.swift; sourceTree = "<group>"; };
EA89200C28B530FD006B9984 /* RadioBoxModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioBoxModel.swift; sourceTree = "<group>"; };
EA89200E28B53921006B9984 /* Selectable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Selectable.swift; sourceTree = "<group>"; };
EA89201028B567B5006B9984 /* SelectorGroupHandlerable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectorGroupHandlerable.swift; sourceTree = "<group>"; };
EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectorGroupModelable.swift; sourceTree = "<group>"; };
EAB1D29B28A5618900DAE764 /* RadioButtonGroup.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonGroup.swift; sourceTree = "<group>"; };
EAB1D29D28A5619500DAE764 /* RadioButtonGroupModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioButtonGroupModel.swift; sourceTree = "<group>"; };
@ -255,7 +257,6 @@
EAF7F092289985E200B287F5 /* Checkbox */,
EA3361A0288B1E6F0071C351 /* Toggle */,
EA3362412892EF700071C351 /* Label */,
EAF7F12D28A1617A00B287F5 /* Selector */,
);
path = Components;
sourceTree = "<group>";
@ -297,6 +298,8 @@
EA3361BE288B2EA60071C351 /* ModelHandlerable.swift */,
EAF7F0A5289B0CE000B287F5 /* Resetable.swift */,
EA89200E28B53921006B9984 /* Selectable.swift */,
EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */,
EA89201028B567B5006B9984 /* SelectorGroupHandlerable.swift */,
EA3361C8289054C50071C351 /* Surfaceable.swift */,
EA3361B7288B2AAA0071C351 /* ViewProtocol.swift */,
EAB1D2CC28ABE76000DAE764 /* Withable.swift */,
@ -435,14 +438,6 @@
path = RadioButton;
sourceTree = "<group>";
};
EAF7F12D28A1617A00B287F5 /* Selector */ = {
isa = PBXGroup;
children = (
EAB1D29928A5611D00DAE764 /* SelectorGroupModelable.swift */,
);
path = Selector;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@ -557,6 +552,7 @@
buildActionMask = 2147483647;
files = (
EAF7F0B5289C126F00B287F5 /* UILabel.swift in Sources */,
EA89201128B567B5006B9984 /* SelectorGroupHandlerable.swift in Sources */,
EAF7F0A6289B0CE000B287F5 /* Resetable.swift in Sources */,
EA89200428AECF4B006B9984 /* UITextField+Publisher.swift in Sources */,
EA3361C328902D960071C351 /* Toggle.swift in Sources */,

View File

@ -1,18 +1,12 @@
//
// SelectorGroupModel.swift
// SelectorGroupHandlerable.swift
// VDS
//
// Created by Matt Bruce on 8/11/22.
// Created by Matt Bruce on 8/23/22.
//
import Foundation
public protocol SelectorGroupModelable: Modelable, FormFieldable, Errorable {
associatedtype SelectorModelType: Modelable where SelectorModelType: FormFieldable
var selectors: [SelectorModelType] { get set }
}
public protocol SelectorGroupHandlerable: ModelHandlerable, Disabling, Surfaceable where ModelType: SelectorGroupModelable {
associatedtype ModelHandlerType: ModelHandlerable where ModelType.SelectorModelType == ModelHandlerType.ModelType
var selectorViews: [ModelHandlerType] { get set }

View File

@ -0,0 +1,13 @@
//
// SelectorGroupModel.swift
// VDS
//
// Created by Matt Bruce on 8/11/22.
//
import Foundation
public protocol SelectorGroupModelable: Modelable, FormFieldable, Errorable {
associatedtype SelectorModelType: Modelable where SelectorModelType: FormFieldable
var selectors: [SelectorModelType] { get set }
}