Code clean
This commit is contained in:
parent
07d8ef5d13
commit
8f225dda70
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user