Code clean

This commit is contained in:
Prateek Arora 2020-02-06 18:19:15 +05:30
parent 07d8ef5d13
commit 8f225dda70
2 changed files with 38 additions and 39 deletions

View File

@ -8,66 +8,70 @@
import Foundation import Foundation
@objcMembers public class LabelsWithCircleProgressBar: Container { @objcMembers public class LabelsWithCircleProgressBar: Container {
let progressBar = GraphView(frame: .zero) let progressBar = GraphView(frame: .zero)
let leftLabel = Label(frame: .zero) let leftLabel = Label(frame: .zero)
let rightLabel = Label(frame: .zero) let rightLabel = Label(frame: .zero)
let leftLabelWidthConstant : CGFloat = 151.0 let leftLabelWidthConstant : CGFloat = 151.0
let rightLabelWidthConstant : CGFloat = 84.0 let rightLabelWidthConstant : CGFloat = 84.0
let progressBarTrailingConstant : CGFloat = -72.0 let progressBarTrailingConstant : CGFloat = -72.0
// MARK: - MVMCoreViewProtocol let rightLabelLeadingAnchorConstant : CGFloat = 8.0
//-------------------------------------------------
// MARK: - View Cycle
//-------------------------------------------------
open override func updateView(_ size: CGFloat) { open override func updateView(_ size: CGFloat) {
super.updateView(size) super.updateView(size)
progressBar.updateView(size) progressBar.updateView(size)
leftLabel.updateView(size) leftLabel.updateView(size)
rightLabel.updateView(size) rightLabel.updateView(size)
} }
//-------------------------------------------------
// MARK: - Setup
//-------------------------------------------------
open override func setupView() { open override func setupView() {
super.setupView() super.setupView()
guard leftLabel.superview == nil else { guard leftLabel.superview == nil else {
return return
} }
let container = MVMCoreUICommonViewsUtility.commonView() let container = MVMCoreUICommonViewsUtility.commonView()
addAndContain(container) addAndContain(container)
container.addSubview(progressBar) container.addSubview(progressBar)
container.addSubview(leftLabel) container.addSubview(leftLabel)
container.addSubview(rightLabel) container.addSubview(rightLabel)
//-------------------------------------------------
// MARK: - Constraining
//-------------------------------------------------
self.translatesAutoresizingMaskIntoConstraints = false self.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
leftLabel.leadingAnchor.constraint(equalTo: container.leadingAnchor), leftLabel.leadingAnchor.constraint(equalTo: container.leadingAnchor),
leftLabel.topAnchor.constraint(equalTo: container.topAnchor), leftLabel.topAnchor.constraint(equalTo: container.topAnchor),
leftLabel.bottomAnchor.constraint(equalTo: container.bottomAnchor), leftLabel.bottomAnchor.constraint(equalTo: container.bottomAnchor),
leftLabel.widthAnchor.constraint(lessThanOrEqualToConstant: leftLabelWidthConstant) leftLabel.widthAnchor.constraint(lessThanOrEqualToConstant: leftLabelWidthConstant)
]) ])
let rightLabelTrailing = rightLabel.trailingAnchor.constraint(equalTo: container.trailingAnchor) let rightLabelTrailing = rightLabel.trailingAnchor.constraint(equalTo: container.trailingAnchor)
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
rightLabelTrailing, rightLabelTrailing,
rightLabel.leadingAnchor.constraint(greaterThanOrEqualTo : progressBar.trailingAnchor, constant: 8.0), rightLabel.leadingAnchor.constraint(greaterThanOrEqualTo : progressBar.trailingAnchor, constant: rightLabelLeadingAnchorConstant),
rightLabel.topAnchor.constraint(equalTo: container.topAnchor), rightLabel.topAnchor.constraint(equalTo: container.topAnchor),
rightLabel.bottomAnchor.constraint(equalTo: container.bottomAnchor), rightLabel.bottomAnchor.constraint(equalTo: container.bottomAnchor),
rightLabel.widthAnchor.constraint(lessThanOrEqualToConstant: rightLabelWidthConstant) rightLabel.widthAnchor.constraint(lessThanOrEqualToConstant: rightLabelWidthConstant)
]) ])
rightLabelTrailing.priority = .defaultHigh rightLabelTrailing.priority = .defaultHigh
NSLayoutConstraint.activate([ NSLayoutConstraint.activate([
progressBar.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant:progressBarTrailingConstant), progressBar.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant:progressBarTrailingConstant),
progressBar.topAnchor.constraint(equalTo: container.topAnchor), progressBar.topAnchor.constraint(equalTo: container.topAnchor),
progressBar.bottomAnchor.constraint(equalTo: container.bottomAnchor), progressBar.bottomAnchor.constraint(equalTo: container.bottomAnchor),
]) ])
} }
// MARK: - MVMCoreUIMoleculeViewProtocol
open override func setWithJSON(_ json: [AnyHashable: Any]?, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable: Any]?) {
super.setWithJSON(json, delegateObject: delegateObject, additionalData: additionalData)
leftLabel.setWithJSON(json?.optionalDictionaryForKey("leftLabel"), delegateObject: delegateObject, additionalData: additionalData)
rightLabel.setWithJSON(json?.optionalDictionaryForKey("rightLabel"), delegateObject: delegateObject, additionalData: additionalData)
progressBar.setWithJSON(json?.optionalDictionaryForKey("progressBar"), delegateObject: delegateObject, additionalData: additionalData)
}
//-------------------------------------------------
// MARK: - MVMCoreUIMoleculeViewProtocol
//-------------------------------------------------
public override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) { public override func setWithModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
super.setWithModel(model, delegateObject, additionalData) super.setWithModel(model, delegateObject, additionalData)
guard let model = model as? LabelsWithCircleProgressBarModel else { return } guard let model = model as? LabelsWithCircleProgressBarModel else { return }
@ -75,8 +79,10 @@ import Foundation
rightLabel.setWithModel(model.rightLabel, delegateObject, additionalData) rightLabel.setWithModel(model.rightLabel, delegateObject, additionalData)
progressBar.setWithModel(model.progressBar, delegateObject, additionalData) progressBar.setWithModel(model.progressBar, delegateObject, additionalData)
} }
// MARK:- ModelMoleculeViewProtocol
//-------------------------------------------------
// MARK: - MVMCoreUIMoleculeViewProtocol
//-------------------------------------------------
open override func reset() { open override func reset() {
super.reset() super.reset()
leftLabel.reset() leftLabel.reset()
@ -84,7 +90,7 @@ import Foundation
progressBar.reset() progressBar.reset()
} }
public override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? { public override class func estimatedHeight(forRow molecule: MoleculeModelProtocol?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {
return 43 return 43
} }
} }

View File

@ -11,7 +11,6 @@ import Foundation
public class LabelsWithCircleProgressBarModel:MoleculeModelProtocol { public class LabelsWithCircleProgressBarModel:MoleculeModelProtocol {
public var backgroundColor: Color? public var backgroundColor: Color?
public static var identifier: String = "labelsWithCircleProgressBar" public static var identifier: String = "labelsWithCircleProgressBar"
public var leftLabel: LabelModel public var leftLabel: LabelModel
public var rightLabel: LabelModel public var rightLabel: LabelModel
@ -22,15 +21,12 @@ public class LabelsWithCircleProgressBarModel:MoleculeModelProtocol {
self.rightLabel = rightLabel self.rightLabel = rightLabel
self.progressBar = progressBar self.progressBar = progressBar
} }
private enum CodingKeys: String, CodingKey { private enum CodingKeys: String, CodingKey {
case moleculeName case moleculeName
case leftLabel case leftLabel
case rightLabel case rightLabel
case progressBar case progressBar
} }
required public init(from decoder: Decoder) throws { required public init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self) let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
leftLabel = try typeContainer.decode(LabelModel.self, forKey: .leftLabel) leftLabel = try typeContainer.decode(LabelModel.self, forKey: .leftLabel)
@ -39,8 +35,6 @@ public class LabelsWithCircleProgressBarModel:MoleculeModelProtocol {
progressBar.size = .small; progressBar.size = .small;
progressBar.style = .unlimited; progressBar.style = .unlimited;
} }
public func encode(to encoder: Encoder) throws { public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self) var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(LabelsWithCircleProgressBarModel.identifier, forKey: .moleculeName) try container.encode(LabelsWithCircleProgressBarModel.identifier, forKey: .moleculeName)
@ -48,5 +42,4 @@ public class LabelsWithCircleProgressBarModel:MoleculeModelProtocol {
try container.encode(rightLabel, forKey: .rightLabel) try container.encode(rightLabel, forKey: .rightLabel)
try container.encodeIfPresent(progressBar, forKey: .progressBar) try container.encodeIfPresent(progressBar, forKey: .progressBar)
} }
} }