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