Code changes: made headline as required key and body as optional.
This commit is contained in:
parent
e1a5ac8faf
commit
77a99e99c9
@ -10,12 +10,12 @@ import Foundation
|
|||||||
public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
|
public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
|
||||||
public static var identifier = "listPrgBarThin"
|
public static var identifier = "listPrgBarThin"
|
||||||
public var progressBar: ProgressBarModel
|
public var progressBar: ProgressBarModel
|
||||||
public var leftHeadline: LabelModel?
|
public var leftHeadline: LabelModel
|
||||||
public var leftBody: LabelModel?
|
public var leftBody: LabelModel?
|
||||||
public var bar: LineModel
|
public var bar: LineModel
|
||||||
public var rightLabel: LabelModel
|
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.progressBar = progressBar
|
||||||
self.leftHeadline = leftHeadline
|
self.leftHeadline = leftHeadline
|
||||||
self.leftBody = leftBody
|
self.leftBody = leftBody
|
||||||
@ -30,9 +30,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
|
|||||||
if bar.backgroundColor == nil {
|
if bar.backgroundColor == nil {
|
||||||
bar.backgroundColor = Color(uiColor: .gray)
|
bar.backgroundColor = Color(uiColor: .gray)
|
||||||
}
|
}
|
||||||
if let leftHeadline = leftHeadline {
|
leftHeadline.hero = 0
|
||||||
leftHeadline.hero = 0
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private enum CodingKeys: String, CodingKey {
|
private enum CodingKeys: String, CodingKey {
|
||||||
@ -47,7 +45,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
|
|||||||
public required init(from decoder: Decoder) throws {
|
public required init(from decoder: Decoder) throws {
|
||||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||||
progressBar = try typeContainer.decode(ProgressBarModel.self, forKey:.progressBar)
|
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)
|
leftBody = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .leftBody)
|
||||||
bar = try typeContainer.decode(LineModel.self, forKey: .line)
|
bar = try typeContainer.decode(LineModel.self, forKey: .line)
|
||||||
rightLabel = try typeContainer.decode(LabelModel.self, forKey: .rightLabel)
|
rightLabel = try typeContainer.decode(LabelModel.self, forKey: .rightLabel)
|
||||||
@ -59,7 +57,7 @@ public class ListProgressBarThinModel: ListItemModel, MoleculeModelProtocol {
|
|||||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||||
try container.encode(moleculeName, forKey: .moleculeName)
|
try container.encode(moleculeName, forKey: .moleculeName)
|
||||||
try container.encode(progressBar, forKey: .progressBar)
|
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.encodeIfPresent(leftBody, forKey: .leftBody)
|
||||||
try container.encode(bar, forKey: .line)
|
try container.encode(bar, forKey: .line)
|
||||||
try container.encode(rightLabel, forKey: .rightLabel)
|
try container.encode(rightLabel, forKey: .rightLabel)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user