refactored naming
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
caf5415853
commit
0657445fd9
@ -12,7 +12,7 @@
|
||||
44604AD729CE196600E62B51 /* Line.swift in Sources */ = {isa = PBXBuildFile; fileRef = 44604AD629CE196600E62B51 /* Line.swift */; };
|
||||
5F21D7BF28DCEB3D003E7CD6 /* Useable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F21D7BE28DCEB3D003E7CD6 /* Useable.swift */; };
|
||||
5FC35BE328D51405004EBEAC /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FC35BE228D51405004EBEAC /* Button.swift */; };
|
||||
EA0B18022A9E236900F2D0CD /* SelectorGroupHandlerBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18012A9E236900F2D0CD /* SelectorGroupHandlerBase.swift */; };
|
||||
EA0B18022A9E236900F2D0CD /* SelectorGroupBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18012A9E236900F2D0CD /* SelectorGroupBase.swift */; };
|
||||
EA0B18052A9E2D2D00F2D0CD /* SelectorBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18032A9E2D2D00F2D0CD /* SelectorBase.swift */; };
|
||||
EA0B18062A9E2D2D00F2D0CD /* SelectorItemBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0B18042A9E2D2D00F2D0CD /* SelectorItemBase.swift */; };
|
||||
EA0D1C372A681CCE00E5C127 /* ToggleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0D1C362A681CCE00E5C127 /* ToggleView.swift */; };
|
||||
@ -157,7 +157,7 @@
|
||||
44604AD629CE196600E62B51 /* Line.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Line.swift; sourceTree = "<group>"; };
|
||||
5F21D7BE28DCEB3D003E7CD6 /* Useable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Useable.swift; sourceTree = "<group>"; };
|
||||
5FC35BE228D51405004EBEAC /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = "<group>"; };
|
||||
EA0B18012A9E236900F2D0CD /* SelectorGroupHandlerBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorGroupHandlerBase.swift; sourceTree = "<group>"; };
|
||||
EA0B18012A9E236900F2D0CD /* SelectorGroupBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorGroupBase.swift; sourceTree = "<group>"; };
|
||||
EA0B18032A9E2D2D00F2D0CD /* SelectorBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorBase.swift; sourceTree = "<group>"; };
|
||||
EA0B18042A9E2D2D00F2D0CD /* SelectorItemBase.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SelectorItemBase.swift; sourceTree = "<group>"; };
|
||||
EA0D1C362A681CCE00E5C127 /* ToggleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ToggleView.swift; sourceTree = "<group>"; };
|
||||
@ -337,7 +337,7 @@
|
||||
EA0B17FF2A9E21CA00F2D0CD /* Selector */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EA0B18012A9E236900F2D0CD /* SelectorGroupHandlerBase.swift */,
|
||||
EA0B18012A9E236900F2D0CD /* SelectorGroupBase.swift */,
|
||||
EA0B18032A9E2D2D00F2D0CD /* SelectorBase.swift */,
|
||||
EA0B18042A9E2D2D00F2D0CD /* SelectorItemBase.swift */,
|
||||
);
|
||||
@ -948,7 +948,7 @@
|
||||
EA4DB30228DCBCA500103EE3 /* Badge.swift in Sources */,
|
||||
EA33624728931B050071C351 /* Initable.swift in Sources */,
|
||||
EAF7F0A4289B017C00B287F5 /* LabelAttributeModel.swift in Sources */,
|
||||
EA0B18022A9E236900F2D0CD /* SelectorGroupHandlerBase.swift in Sources */,
|
||||
EA0B18022A9E236900F2D0CD /* SelectorGroupBase.swift in Sources */,
|
||||
EA5F86D02A1F936100BC83E4 /* TabsContainer.swift in Sources */,
|
||||
EAF7F0B1289B177F00B287F5 /* ColorLabelAttribute.swift in Sources */,
|
||||
EAC9258F2911C9DE00091998 /* EntryFieldBase.swift in Sources */,
|
||||
|
||||
@ -10,7 +10,7 @@ import UIKit
|
||||
import Combine
|
||||
|
||||
/// Base Class used for any Grouped Form Control of a Selector Type.
|
||||
open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
open class SelectorGroupBase<SelectorItemType: Control>: Control, Changeable {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Private Properties
|
||||
@ -30,13 +30,13 @@ open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
//--------------------------------------------------
|
||||
/// Array of the HandlerType registered.
|
||||
/// Array of HandlerType that the user will have the ability to select from.
|
||||
open var selectorViews: [HandlerType] = [] {
|
||||
open var items: [SelectorItemType] = [] {
|
||||
willSet {
|
||||
mainStackView.arrangedSubviews.forEach { $0.removeFromSuperview() }
|
||||
}
|
||||
|
||||
didSet {
|
||||
for selector in selectorViews {
|
||||
for selector in items {
|
||||
selector.onClick = { [weak self] handler in
|
||||
self?.didSelect(handler)
|
||||
self?.setNeedsUpdate()
|
||||
@ -47,15 +47,15 @@ open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
}
|
||||
|
||||
/// Current Selected Control for this group.
|
||||
open var selectedHandlers: [HandlerType]? {
|
||||
let selected = selectorViews.filter{ $0.isSelected == true }
|
||||
open var selectedItems: [SelectorItemType]? {
|
||||
let selected = items.filter{ $0.isSelected == true }
|
||||
guard selected.count > 0 else { return nil }
|
||||
return selected
|
||||
}
|
||||
|
||||
/// Current Selected Control for this group.
|
||||
open var selectedHandler: HandlerType? {
|
||||
return selectorViews.filter { $0.isSelected == true }.first
|
||||
open var selectedItem: SelectorItemType? {
|
||||
return items.filter { $0.isSelected == true }.first
|
||||
}
|
||||
|
||||
open var onChangeSubscriber: AnyCancellable? {
|
||||
@ -69,14 +69,14 @@ open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
/// Whether the Control is enabled or not.
|
||||
override open var isEnabled: Bool {
|
||||
didSet {
|
||||
selectorViews.forEach { $0.isEnabled = isEnabled }
|
||||
items.forEach { $0.isEnabled = isEnabled }
|
||||
}
|
||||
}
|
||||
|
||||
///The background tint that the component will be placed on. This will automatically adjust other elements as needed and takes “light” or “dark”
|
||||
override open var surface: Surface {
|
||||
didSet {
|
||||
selectorViews.forEach { handler in
|
||||
items.forEach { handler in
|
||||
handler.surface = surface
|
||||
}
|
||||
}
|
||||
@ -95,7 +95,7 @@ open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
|
||||
/// Handler for the Group to override on a select event.
|
||||
/// - Parameter selectedControl: Selected Control the user interacted.
|
||||
open func didSelect(_ selectedControl: HandlerType) {
|
||||
open func didSelect(_ selectedControl: SelectorItemType) {
|
||||
fatalError("Must override didSelect")
|
||||
}
|
||||
|
||||
@ -109,6 +109,6 @@ open class SelectorGroupHandlerBase<HandlerType: Control>: Control, Changeable {
|
||||
/// Resets to default settings.
|
||||
open override func reset() {
|
||||
super.reset()
|
||||
selectorViews.forEach{ $0.reset() }
|
||||
items.forEach{ $0.reset() }
|
||||
}
|
||||
}
|
||||
@ -12,7 +12,7 @@ import UIKit
|
||||
/// asking a customer which attributes they would like to filter their search by. This uses ``CheckboxItem``
|
||||
/// to allow user selection.
|
||||
@objc(VDSCheckboxGroup)
|
||||
open class CheckboxGroup: SelectorGroupHandlerBase<CheckboxItem> {
|
||||
open class CheckboxGroup: SelectorGroupBase<CheckboxItem> {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializers
|
||||
//--------------------------------------------------
|
||||
@ -35,7 +35,7 @@ open class CheckboxGroup: SelectorGroupHandlerBase<CheckboxItem> {
|
||||
open var selectorModels: [CheckboxItemModel]? {
|
||||
didSet {
|
||||
if let selectorModels {
|
||||
selectorViews = selectorModels.enumerated().map { index, model in
|
||||
items = selectorModels.enumerated().map { index, model in
|
||||
return CheckboxItem().with {
|
||||
$0.isEnabled = !model.disabled
|
||||
$0.surface = model.surface
|
||||
@ -64,11 +64,11 @@ open class CheckboxGroup: SelectorGroupHandlerBase<CheckboxItem> {
|
||||
get { _showError }
|
||||
set {
|
||||
var newShowError = newValue
|
||||
let anySelected = selectorViews.filter { $0.isSelected == true }.count > 0
|
||||
let anySelected = items.filter { $0.isSelected == true }.count > 0
|
||||
if anySelected && newShowError {
|
||||
newShowError = false
|
||||
}
|
||||
selectorViews.forEach { handler in
|
||||
items.forEach { handler in
|
||||
handler.showError = newShowError
|
||||
}
|
||||
_showError = newShowError
|
||||
|
||||
@ -9,7 +9,7 @@ import Foundation
|
||||
import UIKit
|
||||
|
||||
@objc(VDSRadioBoxGroup)
|
||||
open class RadioBoxGroup: SelectorGroupHandlerBase<RadioBoxItem> {
|
||||
open class RadioBoxGroup: SelectorGroupBase<RadioBoxItem> {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializers
|
||||
@ -33,7 +33,7 @@ open class RadioBoxGroup: SelectorGroupHandlerBase<RadioBoxItem> {
|
||||
open var selectorModels: [RadioBoxItemModel]? {
|
||||
didSet {
|
||||
if let selectorModels {
|
||||
selectorViews = selectorModels.enumerated().map { index, model in
|
||||
items = selectorModels.enumerated().map { index, model in
|
||||
return RadioBoxItem().with {
|
||||
$0.accessibilityLabel = model.accessibileText
|
||||
$0.accessibilityValue = "item \(index+1) of \(selectorModels.count)"
|
||||
@ -86,7 +86,7 @@ open class RadioBoxGroup: SelectorGroupHandlerBase<RadioBoxItem> {
|
||||
}
|
||||
|
||||
open override func didSelect(_ selectedControl: RadioBoxItem) {
|
||||
let oldSelectedControl = selectorViews.filter { $0.isSelected == true }.first
|
||||
let oldSelectedControl = items.filter { $0.isSelected == true }.first
|
||||
oldSelectedControl?.toggle()
|
||||
selectedControl.toggle()
|
||||
valueChanged()
|
||||
|
||||
@ -9,7 +9,7 @@ import Foundation
|
||||
import UIKit
|
||||
|
||||
@objc(VDSRadioButtonGroup)
|
||||
open class RadioButtonGroup: SelectorGroupHandlerBase<RadioButtonItem> {
|
||||
open class RadioButtonGroup: SelectorGroupBase<RadioButtonItem> {
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializers
|
||||
@ -33,7 +33,7 @@ open class RadioButtonGroup: SelectorGroupHandlerBase<RadioButtonItem> {
|
||||
open var selectorModels: [RadioButtonItemModel]? {
|
||||
didSet {
|
||||
if let selectorModels {
|
||||
selectorViews = selectorModels.enumerated().map { index, model in
|
||||
items = selectorModels.enumerated().map { index, model in
|
||||
return RadioButtonItem().with {
|
||||
$0.isEnabled = !model.disabled
|
||||
$0.surface = model.surface
|
||||
@ -60,10 +60,10 @@ open class RadioButtonGroup: SelectorGroupHandlerBase<RadioButtonItem> {
|
||||
get { _showError }
|
||||
set {
|
||||
var newShowError = newValue
|
||||
if selectedHandler != nil, newShowError {
|
||||
if selectedItem != nil, newShowError {
|
||||
newShowError = false
|
||||
}
|
||||
selectorViews.forEach { handler in
|
||||
items.forEach { handler in
|
||||
handler.showError = newShowError
|
||||
}
|
||||
_showError = newShowError
|
||||
@ -83,8 +83,8 @@ open class RadioButtonGroup: SelectorGroupHandlerBase<RadioButtonItem> {
|
||||
}
|
||||
|
||||
public override func didSelect(_ selectedControl: RadioButtonItem) {
|
||||
if let selectedHandler {
|
||||
updateToggle(selectedHandler)
|
||||
if let selectedItem {
|
||||
updateToggle(selectedItem)
|
||||
}
|
||||
updateToggle(selectedControl)
|
||||
if showError {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user