Updated indexColor datatype to string

This commit is contained in:
Krishna Kishore Bandaru 2020-12-08 15:41:50 +05:30
parent 0f6f0e8492
commit 7e175ef581
4 changed files with 10 additions and 8 deletions

View File

@ -24,7 +24,7 @@ import Foundation
public required init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
let indexColor = try typeContainer.decodeIfPresent(Color.self, forKey: .indexColor)
let indexColor = try typeContainer.decodeIfPresent(String.self, forKey: .indexColor)
let list: [MoleculeModelProtocol] = try typeContainer.decodeModels(codingKey: .list)
var models: [MoleculeStackItemModel] = []
for (index, molecule) in list.enumerated() {
@ -38,7 +38,7 @@ import Foundation
try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor)
try container.encode(moleculeName, forKey: .moleculeName)
var indexColor: Color?
var indexColor: String?
var models: [MoleculeModelProtocol] = []
for molecule in molecules {
let stringAndMoleculeModel: StringAndMoleculeModel = ((molecule as! MoleculeStackItemModel).molecule as! StringAndMoleculeModel)

View File

@ -13,9 +13,9 @@ public class StringAndMoleculeModel: MoleculeModelProtocol {
public var backgroundColor: Color?
public var string: String
public var molecule: MoleculeModelProtocol
public var indexColor: Color?
public var indexColor: String?
public init(string: String, molecule: MoleculeModelProtocol, indexColor: Color?) {
public init(string: String, molecule: MoleculeModelProtocol, indexColor: String?) {
self.string = string
self.molecule = molecule
self.indexColor = indexColor
@ -34,7 +34,7 @@ public class StringAndMoleculeModel: MoleculeModelProtocol {
backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor)
string = try typeContainer.decode(String.self, forKey: .string)
molecule = try typeContainer.decodeModel(codingKey: .molecule)
indexColor = try typeContainer.decodeIfPresent(Color.self, forKey: .indexColor)
indexColor = try typeContainer.decodeIfPresent(String.self, forKey: .indexColor)
}
public func encode(to encoder: Encoder) throws {

View File

@ -84,7 +84,9 @@ open class StringAndMoleculeView: View {
super.set(with: model, delegateObject, additionalData)
guard let model = model as? StringAndMoleculeModel else { return }
label.text = model.string
label.textColor = model.indexColor?.uiColor ?? .black
if let indexColor = model.indexColor {
label.textColor = try? Color(colorString: indexColor)?.uiColor ?? .black
}
molecule.set(with: model.molecule, delegateObject, additionalData)
}

View File

@ -29,7 +29,7 @@ import Foundation
self.bulletChar = bulletChar
}
let indexColor = try typeContainer.decodeIfPresent(Color.self, forKey: .indexColor)
let indexColor = try typeContainer.decodeIfPresent(String.self, forKey: .indexColor)
let list: [MoleculeModelProtocol] = try typeContainer.decodeModels(codingKey: .list)
var models: [MoleculeStackItemModel] = []
for molecule in list {
@ -44,7 +44,7 @@ import Foundation
try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor)
try container.encode(moleculeName, forKey: .moleculeName)
var indexColor: Color?
var indexColor: String?
var models: [MoleculeModelProtocol] = []
for molecule in molecules {
let stringAndMoleculeModel: StringAndMoleculeModel = ((molecule as! MoleculeStackItemModel).molecule as! StringAndMoleculeModel)