Code changes: made headline as required key and body as optional.

This commit is contained in:
Lekshmi S 2020-05-14 15:43:19 +05:30
parent e1a5ac8faf
commit 77a99e99c9

View File

@ -10,12 +10,12 @@ import Foundation
public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
public static var identifier = "listPrgBarThin"
public var progressBar: ProgressBarModel
public var leftHeadline: LabelModel?
public var leftHeadline: LabelModel
public var leftBody: LabelModel?
public var bar: LineModel
public var rightLabel: LabelModel
public init(progressBar: ProgressBarModel, leftHeadline: LabelModel, leftBody: LabelModel, bar: LineModel, rightLabel: LabelModel) {
public init(progressBar: ProgressBarModel, leftHeadline: LabelModel, leftBody: LabelModel? = nil, bar: LineModel, rightLabel: LabelModel) {
self.progressBar = progressBar
self.leftHeadline = leftHeadline
self.leftBody = leftBody
@ -30,9 +30,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
if bar.backgroundColor == nil {
bar.backgroundColor = Color(uiColor: .gray)
}
if let leftHeadline = leftHeadline {
leftHeadline.hero = 0
}
leftHeadline.hero = 0
}
private enum CodingKeys: String, CodingKey {
@ -47,7 +45,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
public required init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
progressBar = try typeContainer.decode(ProgressBarModel.self, forKey:.progressBar)
leftHeadline = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .leftHeadline)
leftHeadline = try typeContainer.decode(LabelModel.self, forKey: .leftHeadline)
leftBody = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .leftBody)
bar = try typeContainer.decode(LineModel.self, forKey: .line)
rightLabel = try typeContainer.decode(LabelModel.self, forKey: .rightLabel)
@ -59,7 +57,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(moleculeName, forKey: .moleculeName)
try container.encode(progressBar, forKey: .progressBar)
try container.encodeIfPresent(leftHeadline, forKey: .leftHeadline)
try container.encode(leftHeadline, forKey: .leftHeadline)
try container.encodeIfPresent(leftBody, forKey: .leftBody)
try container.encode(bar, forKey: .line)
try container.encode(rightLabel, forKey: .rightLabel)