beginning rework
This commit is contained in:
parent
3de0c4865a
commit
4ffd07dd3d
@ -91,7 +91,6 @@
|
|||||||
0A7EF86323D8AFA000B2AAD1 /* BaseDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86223D8AFA000B2AAD1 /* BaseDropdownEntryFieldModel.swift */; };
|
0A7EF86323D8AFA000B2AAD1 /* BaseDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86223D8AFA000B2AAD1 /* BaseDropdownEntryFieldModel.swift */; };
|
||||||
0A7EF86523D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86423D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift */; };
|
0A7EF86523D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86423D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift */; };
|
||||||
0A7EF86723D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86623D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift */; };
|
0A7EF86723D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A7EF86623D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift */; };
|
||||||
0A96140B245B06F0006FA18B /* Facade.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A96140A245B06F0006FA18B /* Facade.swift */; };
|
|
||||||
0AA33B3A2398524F0067DD0F /* Toggle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA33B392398524F0067DD0F /* Toggle.swift */; };
|
0AA33B3A2398524F0067DD0F /* Toggle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA33B392398524F0067DD0F /* Toggle.swift */; };
|
||||||
0AB764D124460F6300E7FE72 /* UIDatePicker+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */; };
|
0AB764D124460F6300E7FE72 /* UIDatePicker+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */; };
|
||||||
0AB764D324460FA400E7FE72 /* UIPickerView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D224460FA400E7FE72 /* UIPickerView+Extension.swift */; };
|
0AB764D324460FA400E7FE72 /* UIPickerView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D224460FA400E7FE72 /* UIPickerView+Extension.swift */; };
|
||||||
@ -495,7 +494,6 @@
|
|||||||
0A7EF86423D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemDropdownEntryFieldModel.swift; sourceTree = "<group>"; };
|
0A7EF86423D8AFFF00B2AAD1 /* ItemDropdownEntryFieldModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemDropdownEntryFieldModel.swift; sourceTree = "<group>"; };
|
||||||
0A7EF86623D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateDropdownEntryFieldModel.swift; sourceTree = "<group>"; };
|
0A7EF86623D8B0AE00B2AAD1 /* DateDropdownEntryFieldModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateDropdownEntryFieldModel.swift; sourceTree = "<group>"; };
|
||||||
0A8321AE2355FE9500CB7F00 /* DigitBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DigitBox.swift; sourceTree = "<group>"; };
|
0A8321AE2355FE9500CB7F00 /* DigitBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DigitBox.swift; sourceTree = "<group>"; };
|
||||||
0A96140A245B06F0006FA18B /* Facade.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Facade.swift; sourceTree = "<group>"; };
|
|
||||||
0AA33B33239813C50067DD0F /* UIColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = "<group>"; };
|
0AA33B33239813C50067DD0F /* UIColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = "<group>"; };
|
||||||
0AA33B392398524F0067DD0F /* Toggle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toggle.swift; sourceTree = "<group>"; };
|
0AA33B392398524F0067DD0F /* Toggle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toggle.swift; sourceTree = "<group>"; };
|
||||||
0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDatePicker+Extension.swift"; sourceTree = "<group>"; };
|
0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDatePicker+Extension.swift"; sourceTree = "<group>"; };
|
||||||
@ -1522,7 +1520,6 @@
|
|||||||
D29DF13921E68637003B2FB9 /* MFStyler.m */,
|
D29DF13921E68637003B2FB9 /* MFStyler.m */,
|
||||||
0A6682A92435125F00AD3CA1 /* Styler.swift */,
|
0A6682A92435125F00AD3CA1 /* Styler.swift */,
|
||||||
0A6682AB243531C300AD3CA1 /* Padding.swift */,
|
0A6682AB243531C300AD3CA1 /* Padding.swift */,
|
||||||
0A96140A245B06F0006FA18B /* Facade.swift */,
|
|
||||||
);
|
);
|
||||||
path = Styles;
|
path = Styles;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1993,7 +1990,6 @@
|
|||||||
012A88C4238D86E600FE3DA1 /* CarouselItemModelProtocol.swift in Sources */,
|
012A88C4238D86E600FE3DA1 /* CarouselItemModelProtocol.swift in Sources */,
|
||||||
D2E2A9A123E095AB000B42E6 /* ButtonModelProtocol.swift in Sources */,
|
D2E2A9A123E095AB000B42E6 /* ButtonModelProtocol.swift in Sources */,
|
||||||
94C2D9AB23872EB50006CF46 /* LabelAttributeActionModel.swift in Sources */,
|
94C2D9AB23872EB50006CF46 /* LabelAttributeActionModel.swift in Sources */,
|
||||||
0A96140B245B06F0006FA18B /* Facade.swift in Sources */,
|
|
||||||
D22D8395241FB41200D3DF69 /* UIStackView+Extension.swift in Sources */,
|
D22D8395241FB41200D3DF69 /* UIStackView+Extension.swift in Sources */,
|
||||||
52B201D324081CFB00D2011E /* ListLeftVariableRadioButtonAndPaymentMethodModel.swift in Sources */,
|
52B201D324081CFB00D2011E /* ListLeftVariableRadioButtonAndPaymentMethodModel.swift in Sources */,
|
||||||
525239C02407BCFF00454969 /* ListTwoColumnPriceDetailsModel.swift in Sources */,
|
525239C02407BCFF00454969 /* ListTwoColumnPriceDetailsModel.swift in Sources */,
|
||||||
@ -2082,7 +2078,7 @@
|
|||||||
0A7BAFA1232BE61800FB8E22 /* Checkbox.swift in Sources */,
|
0A7BAFA1232BE61800FB8E22 /* Checkbox.swift in Sources */,
|
||||||
011B58F023A2AA980085F53C /* ListItemModelProtocol.swift in Sources */,
|
011B58F023A2AA980085F53C /* ListItemModelProtocol.swift in Sources */,
|
||||||
D22479962316AF6E003FCCF9 /* HeadlineBodyLink.swift in Sources */,
|
D22479962316AF6E003FCCF9 /* HeadlineBodyLink.swift in Sources */,
|
||||||
8DE5BECD2456F7A200772E76 /* ListTwoColumnDropdownSelectorsModel.swift in Sources */,
|
8DE5BECD2456F7A200772E76 /* ListTwoColumnDropdownSelectorsModel.swift in Sources */,
|
||||||
0A41BA7F23453A6400D4C0BC /* TextEntryField.swift in Sources */,
|
0A41BA7F23453A6400D4C0BC /* TextEntryField.swift in Sources */,
|
||||||
BB55B51D244482C1002001AD /* ListRightVariablePriceChangeBodyText.swift in Sources */,
|
BB55B51D244482C1002001AD /* ListRightVariablePriceChangeBodyText.swift in Sources */,
|
||||||
017BEB382360C6AC0024EF95 /* RadioButtonLabel.swift in Sources */,
|
017BEB382360C6AC0024EF95 /* RadioButtonLabel.swift in Sources */,
|
||||||
|
|||||||
@ -8,6 +8,8 @@
|
|||||||
|
|
||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
|
public typealias FacadeElements = (fill: UIColor?, text: UIColor?, border: UIColor?)
|
||||||
|
|
||||||
|
|
||||||
public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWatcherFieldProtocol {
|
public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWatcherFieldProtocol {
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -19,15 +21,46 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
public var title: String
|
public var title: String
|
||||||
public var action: ActionModelProtocol
|
public var action: ActionModelProtocol
|
||||||
public var enabled: Bool = true
|
public var enabled: Bool = true
|
||||||
public lazy var facade: Facade = primaryFacade
|
|
||||||
public var style: Styler.Button?
|
public var style: Styler.Button?
|
||||||
public var size: Styler.Button.Size? = .standard
|
public var size: Styler.Button.Size? = .standard
|
||||||
public var groupName: String = ""
|
public var groupName: String = ""
|
||||||
|
|
||||||
|
public var isInverted: Bool = false
|
||||||
|
|
||||||
|
public lazy var enabledElements: FacadeElements = (fill: enabled_fillColor(),
|
||||||
|
text: enabled_textColor(),
|
||||||
|
border: enabled_borderColor())
|
||||||
|
|
||||||
|
public lazy var disabledElements: FacadeElements = (fill: disabled_fillColor(),
|
||||||
|
text: disabled_textColor(),
|
||||||
|
border: disabled_borderColor())
|
||||||
|
|
||||||
|
public var backgroundColor_standard: Color?
|
||||||
|
public var backgroundColor_inverted: Color?
|
||||||
|
|
||||||
|
public var enabledFillColor: Color?
|
||||||
|
public var enabledTextColor: Color?
|
||||||
|
public var enabledBorderColor: Color?
|
||||||
|
|
||||||
|
public var enabledFillColor_inverted: Color?
|
||||||
|
public var enabledTextColor_inverted: Color?
|
||||||
|
public var enabledBorderColor_inverted: Color?
|
||||||
|
|
||||||
|
public var disabledFillColor: Color?
|
||||||
|
public var disabledTextColor: Color?
|
||||||
|
public var disabledBorderColor: Color?
|
||||||
|
|
||||||
|
public var disabledFillColor_inverted: Color?
|
||||||
|
public var disabledTextColor_inverted: Color?
|
||||||
|
public var disabledBorderColor_inverted: Color?
|
||||||
|
|
||||||
|
public var borderWidth: CGFloat?
|
||||||
|
public var borderWidth_inverted: CGFloat?
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Default Button Facades
|
// MARK: - Default Button Facades
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
/*
|
||||||
private var primaryFacade = Facade(enabledFillColor: .mvmBlack,
|
private var primaryFacade = Facade(enabledFillColor: .mvmBlack,
|
||||||
enabledTextColor: .mvmWhite,
|
enabledTextColor: .mvmWhite,
|
||||||
disabledFillColor: .mvmCoolGray6,
|
disabledFillColor: .mvmCoolGray6,
|
||||||
@ -51,7 +84,7 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
disabledTextColor_inverted: .mvmCoolGray6,
|
disabledTextColor_inverted: .mvmCoolGray6,
|
||||||
disabledBorderColor_inverted: .mvmCoolGray6,
|
disabledBorderColor_inverted: .mvmCoolGray6,
|
||||||
borderWidth: 1)
|
borderWidth: 1)
|
||||||
|
*/
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Methods
|
// MARK: - Methods
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -85,6 +118,43 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
style = .primary
|
style = .primary
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------
|
||||||
|
// MARK: - Methods
|
||||||
|
//--------------------------------------------------
|
||||||
|
|
||||||
|
public func backgroundColor() -> UIColor? {
|
||||||
|
return (isInverted ? backgroundColor_inverted : backgroundColor_standard)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func getBorderWidth() -> CGFloat? {
|
||||||
|
return isInverted ? borderWidth_inverted : borderWidth
|
||||||
|
}
|
||||||
|
|
||||||
|
public func enabled_fillColor() -> UIColor? {
|
||||||
|
return (isInverted ? enabledFillColor_inverted : enabledFillColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func enabled_textColor() -> UIColor? {
|
||||||
|
return (isInverted ? enabledTextColor_inverted : enabledTextColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func enabled_borderColor() -> UIColor? {
|
||||||
|
return (isInverted ? enabledBorderColor_inverted : enabledBorderColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func disabled_fillColor() -> UIColor? {
|
||||||
|
return (isInverted ? disabledFillColor_inverted : disabledFillColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func disabled_textColor() -> UIColor? {
|
||||||
|
return (isInverted ? disabledTextColor_inverted : disabledTextColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
public func disabled_borderColor() -> UIColor? {
|
||||||
|
return (isInverted ? disabledBorderColor_inverted : disabledBorderColor)?.uiColor
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Keys
|
// MARK: - Keys
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -100,6 +170,21 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
case size
|
case size
|
||||||
case facade
|
case facade
|
||||||
case groupName
|
case groupName
|
||||||
|
|
||||||
|
case backgroundColor_standard
|
||||||
|
case backgroundColor_inverted
|
||||||
|
case enabledFillColor
|
||||||
|
case enabledTextColor
|
||||||
|
case enabledBorderColor
|
||||||
|
case enabledFillColor_inverted
|
||||||
|
case enabledTextColor_inverted
|
||||||
|
case enabledBorderColor_inverted
|
||||||
|
case disabledFillColor
|
||||||
|
case disabledTextColor
|
||||||
|
case disabledBorderColor
|
||||||
|
case disabledFillColor_inverted
|
||||||
|
case disabledTextColor_inverted
|
||||||
|
case disabledBorderColor_inverted
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -125,10 +210,6 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
self.enabled = enabled
|
self.enabled = enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
if let facade = try typeContainer.decodeIfPresent(Facade.self, forKey: .facade) {
|
|
||||||
self.facade = facade
|
|
||||||
}
|
|
||||||
|
|
||||||
if let isInverted = try typeContainer.decodeIfPresent(Bool.self, forKey: .inverted) {
|
if let isInverted = try typeContainer.decodeIfPresent(Bool.self, forKey: .inverted) {
|
||||||
facade.isInverted = isInverted
|
facade.isInverted = isInverted
|
||||||
}
|
}
|
||||||
@ -136,6 +217,21 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
if let groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName) {
|
if let groupName = try typeContainer.decodeIfPresent(String.self, forKey: .groupName) {
|
||||||
self.groupName = groupName
|
self.groupName = groupName
|
||||||
}
|
}
|
||||||
|
|
||||||
|
backgroundColor_standard = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor_standard)
|
||||||
|
backgroundColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor_inverted)
|
||||||
|
enabledFillColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledFillColor)
|
||||||
|
enabledTextColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledTextColor)
|
||||||
|
enabledBorderColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledBorderColor)
|
||||||
|
enabledFillColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledFillColor_inverted)
|
||||||
|
enabledTextColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledTextColor_inverted)
|
||||||
|
enabledBorderColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledBorderColor_inverted)
|
||||||
|
disabledFillColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledFillColor)
|
||||||
|
disabledTextColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledTextColor)
|
||||||
|
disabledBorderColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledBorderColor)
|
||||||
|
disabledFillColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledFillColor_inverted)
|
||||||
|
disabledTextColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledTextColor_inverted)
|
||||||
|
disabledBorderColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledBorderColor_inverted)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
public func encode(to encoder: Encoder) throws {
|
||||||
@ -149,5 +245,20 @@ public class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupW
|
|||||||
try container.encodeIfPresent(style, forKey: .style)
|
try container.encodeIfPresent(style, forKey: .style)
|
||||||
try container.encodeIfPresent(size, forKey: .size)
|
try container.encodeIfPresent(size, forKey: .size)
|
||||||
try container.encodeIfPresent(groupName, forKey: .groupName)
|
try container.encodeIfPresent(groupName, forKey: .groupName)
|
||||||
|
|
||||||
|
try container.encodeIfPresent(backgroundColor_standard, forKey: .backgroundColor_standard)
|
||||||
|
try container.encodeIfPresent(backgroundColor_inverted, forKey: .backgroundColor_inverted)
|
||||||
|
try container.encodeIfPresent(enabledFillColor, forKey: .enabledFillColor)
|
||||||
|
try container.encodeIfPresent(enabledTextColor, forKey: .enabledTextColor)
|
||||||
|
try container.encodeIfPresent(enabledBorderColor, forKey: .enabledBorderColor)
|
||||||
|
try container.encodeIfPresent(enabledFillColor_inverted, forKey: .enabledFillColor_inverted)
|
||||||
|
try container.encodeIfPresent(enabledTextColor_inverted, forKey: .enabledTextColor_inverted)
|
||||||
|
try container.encodeIfPresent(enabledBorderColor_inverted, forKey: .enabledBorderColor_inverted)
|
||||||
|
try container.encodeIfPresent(disabledFillColor, forKey: .disabledFillColor)
|
||||||
|
try container.encodeIfPresent(disabledTextColor, forKey: .disabledTextColor)
|
||||||
|
try container.encodeIfPresent(disabledBorderColor, forKey: .disabledBorderColor)
|
||||||
|
try container.encodeIfPresent(disabledFillColor_inverted, forKey: .disabledFillColor_inverted)
|
||||||
|
try container.encodeIfPresent(disabledTextColor_inverted, forKey: .disabledTextColor_inverted)
|
||||||
|
try container.encodeIfPresent(disabledBorderColor_inverted, forKey: .disabledBorderColor_inverted)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,188 +0,0 @@
|
|||||||
//
|
|
||||||
// Facade.swift
|
|
||||||
// MVMCoreUI
|
|
||||||
//
|
|
||||||
// Created by Kevin Christiano on 4/30/20.
|
|
||||||
// Copyright © 2020 Verizon Wireless. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
public typealias FacadeElements = (fill: UIColor?, text: UIColor?, border: UIColor?)
|
|
||||||
|
|
||||||
|
|
||||||
public class Facade: Codable {
|
|
||||||
//--------------------------------------------------
|
|
||||||
// MARK: - Properties
|
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
public var isInverted: Bool = false
|
|
||||||
|
|
||||||
public lazy var enabled: FacadeElements = (fill: enabled_fillColor(),
|
|
||||||
text: enabled_textColor(),
|
|
||||||
border: enabled_borderColor())
|
|
||||||
|
|
||||||
public lazy var disabled: FacadeElements = (fill: disabled_fillColor(),
|
|
||||||
text: disabled_textColor(),
|
|
||||||
border: disabled_borderColor())
|
|
||||||
|
|
||||||
public var backgroundColor_standard: Color?
|
|
||||||
public var backgroundColor_inverted: Color?
|
|
||||||
|
|
||||||
public var enabledFillColor: Color?
|
|
||||||
public var enabledTextColor: Color?
|
|
||||||
public var enabledBorderColor: Color?
|
|
||||||
|
|
||||||
public var enabledFillColor_inverted: Color?
|
|
||||||
public var enabledTextColor_inverted: Color?
|
|
||||||
public var enabledBorderColor_inverted: Color?
|
|
||||||
|
|
||||||
public var disabledFillColor: Color?
|
|
||||||
public var disabledTextColor: Color?
|
|
||||||
public var disabledBorderColor: Color?
|
|
||||||
|
|
||||||
public var disabledFillColor_inverted: Color?
|
|
||||||
public var disabledTextColor_inverted: Color?
|
|
||||||
public var disabledBorderColor_inverted: Color?
|
|
||||||
|
|
||||||
public var borderWidth: CGFloat?
|
|
||||||
public var borderWidth_inverted: CGFloat?
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
|
||||||
// MARK: - Initializer
|
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
public init(isInverted: Bool = false,
|
|
||||||
backgroundColor_standard: UIColor? = nil,
|
|
||||||
backgroundColor_inverted: UIColor? = nil,
|
|
||||||
enabledFillColor: UIColor? = nil,
|
|
||||||
enabledTextColor: UIColor? = nil,
|
|
||||||
enabledBorderColor: UIColor? = nil,
|
|
||||||
disabledFillColor: UIColor? = nil,
|
|
||||||
disabledTextColor: UIColor? = nil,
|
|
||||||
disabledBorderColor: UIColor? = nil,
|
|
||||||
enabledFillColor_inverted: UIColor? = nil,
|
|
||||||
enabledTextColor_inverted: UIColor? = nil,
|
|
||||||
enabledBorderColor_inverted: UIColor? = nil,
|
|
||||||
disabledFillColor_inverted: UIColor? = nil,
|
|
||||||
disabledTextColor_inverted: UIColor? = nil,
|
|
||||||
disabledBorderColor_inverted: UIColor? = nil,
|
|
||||||
borderWidth: CGFloat? = nil,
|
|
||||||
borderWidth_inverted: CGFloat? = nil) {
|
|
||||||
|
|
||||||
self.isInverted = isInverted
|
|
||||||
self.backgroundColor_standard = Color(uiColor: backgroundColor_standard)
|
|
||||||
self.backgroundColor_inverted = Color(uiColor: backgroundColor_inverted)
|
|
||||||
self.enabledFillColor = Color(uiColor: enabledFillColor)
|
|
||||||
self.enabledTextColor = Color(uiColor: enabledTextColor)
|
|
||||||
self.enabledBorderColor = Color(uiColor: enabledBorderColor)
|
|
||||||
self.disabledFillColor = Color(uiColor: disabledFillColor)
|
|
||||||
self.disabledTextColor = Color(uiColor: disabledTextColor)
|
|
||||||
self.disabledBorderColor = Color(uiColor: disabledBorderColor)
|
|
||||||
self.enabledFillColor_inverted = Color(uiColor: enabledFillColor_inverted)
|
|
||||||
self.enabledTextColor_inverted = Color(uiColor: enabledTextColor_inverted)
|
|
||||||
self.enabledBorderColor_inverted = Color(uiColor: enabledBorderColor_inverted)
|
|
||||||
self.disabledFillColor_inverted = Color(uiColor: disabledFillColor_inverted)
|
|
||||||
self.disabledTextColor_inverted = Color(uiColor: disabledTextColor_inverted)
|
|
||||||
self.disabledBorderColor_inverted = Color(uiColor: disabledBorderColor_inverted)
|
|
||||||
self.borderWidth = borderWidth
|
|
||||||
self.borderWidth_inverted = borderWidth_inverted
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
|
||||||
// MARK: - Methods
|
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
public func backgroundColor() -> UIColor? {
|
|
||||||
return (isInverted ? backgroundColor_inverted : backgroundColor_standard)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func getBorderWidth() -> CGFloat? {
|
|
||||||
return isInverted ? borderWidth_inverted : borderWidth
|
|
||||||
}
|
|
||||||
|
|
||||||
public func enabled_fillColor() -> UIColor? {
|
|
||||||
return (isInverted ? enabledFillColor_inverted : enabledFillColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func enabled_textColor() -> UIColor? {
|
|
||||||
return (isInverted ? enabledTextColor_inverted : enabledTextColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func enabled_borderColor() -> UIColor? {
|
|
||||||
return (isInverted ? enabledBorderColor_inverted : enabledBorderColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func disabled_fillColor() -> UIColor? {
|
|
||||||
return (isInverted ? disabledFillColor_inverted : disabledFillColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func disabled_textColor() -> UIColor? {
|
|
||||||
return (isInverted ? disabledTextColor_inverted : disabledTextColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
public func disabled_borderColor() -> UIColor? {
|
|
||||||
return (isInverted ? disabledBorderColor_inverted : disabledBorderColor)?.uiColor
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
|
||||||
// MARK: - Keys
|
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
|
||||||
case backgroundColor_standard
|
|
||||||
case backgroundColor_inverted
|
|
||||||
case enabledFillColor
|
|
||||||
case enabledTextColor
|
|
||||||
case enabledBorderColor
|
|
||||||
case enabledFillColor_inverted
|
|
||||||
case enabledTextColor_inverted
|
|
||||||
case enabledBorderColor_inverted
|
|
||||||
case disabledFillColor
|
|
||||||
case disabledTextColor
|
|
||||||
case disabledBorderColor
|
|
||||||
case disabledFillColor_inverted
|
|
||||||
case disabledTextColor_inverted
|
|
||||||
case disabledBorderColor_inverted
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
|
||||||
// MARK: - Codec
|
|
||||||
//--------------------------------------------------
|
|
||||||
|
|
||||||
required public init(from decoder: Decoder) throws {
|
|
||||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
|
||||||
backgroundColor_standard = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor_standard)
|
|
||||||
backgroundColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor_inverted)
|
|
||||||
enabledFillColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledFillColor)
|
|
||||||
enabledTextColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledTextColor)
|
|
||||||
enabledBorderColor = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledBorderColor)
|
|
||||||
enabledFillColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledFillColor_inverted)
|
|
||||||
enabledTextColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledTextColor_inverted)
|
|
||||||
enabledBorderColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .enabledBorderColor_inverted)
|
|
||||||
disabledFillColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledFillColor)
|
|
||||||
disabledTextColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledTextColor)
|
|
||||||
disabledBorderColor = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledBorderColor)
|
|
||||||
disabledFillColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledFillColor_inverted)
|
|
||||||
disabledTextColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledTextColor_inverted)
|
|
||||||
disabledBorderColor_inverted = try typeContainer.decodeIfPresent(Color.self, forKey: .disabledBorderColor_inverted)
|
|
||||||
}
|
|
||||||
|
|
||||||
public func encode(to encoder: Encoder) throws {
|
|
||||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
|
||||||
try container.encodeIfPresent(backgroundColor_standard, forKey: .backgroundColor_standard)
|
|
||||||
try container.encodeIfPresent(backgroundColor_inverted, forKey: .backgroundColor_inverted)
|
|
||||||
try container.encodeIfPresent(enabledFillColor, forKey: .enabledFillColor)
|
|
||||||
try container.encodeIfPresent(enabledTextColor, forKey: .enabledTextColor)
|
|
||||||
try container.encodeIfPresent(enabledBorderColor, forKey: .enabledBorderColor)
|
|
||||||
try container.encodeIfPresent(enabledFillColor_inverted, forKey: .enabledFillColor_inverted)
|
|
||||||
try container.encodeIfPresent(enabledTextColor_inverted, forKey: .enabledTextColor_inverted)
|
|
||||||
try container.encodeIfPresent(enabledBorderColor_inverted, forKey: .enabledBorderColor_inverted)
|
|
||||||
try container.encodeIfPresent(disabledFillColor, forKey: .disabledFillColor)
|
|
||||||
try container.encodeIfPresent(disabledTextColor, forKey: .disabledTextColor)
|
|
||||||
try container.encodeIfPresent(disabledBorderColor, forKey: .disabledBorderColor)
|
|
||||||
try container.encodeIfPresent(disabledFillColor_inverted, forKey: .disabledFillColor_inverted)
|
|
||||||
try container.encodeIfPresent(disabledTextColor_inverted, forKey: .disabledTextColor_inverted)
|
|
||||||
try container.encodeIfPresent(disabledBorderColor_inverted, forKey: .disabledBorderColor_inverted)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user