View init model method fix

This commit is contained in:
Khan, Arshad 2020-10-08 16:49:57 +05:30
parent 61bf3d14fe
commit 73c59a9d57
23 changed files with 148 additions and 0 deletions

View File

@ -91,6 +91,12 @@ import UIKit
fatalError("DigitBox does not support xibs.")
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - Lifecycle
//--------------------------------------------------

View File

@ -91,6 +91,12 @@ open class Arrow: View {
fatalError("init(coder:) has not been implemented")
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - Lifecycle
//--------------------------------------------------

View File

@ -97,6 +97,11 @@
fatalError("xib file is not implemented for CheckboxLabel")
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(model: model, delegateObject, additionalData)
setupView()
}
//--------------------------------------------------
// MARK: - Methods
//--------------------------------------------------

View File

@ -40,6 +40,12 @@ open class DashLine: View {
super.init(coder: coder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//------------------------------------------------------
// MARK: - Lifecycle
//------------------------------------------------------

View File

@ -62,6 +62,12 @@
super.init(coder: aDecoder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
override open func setupView() {
super.setupView()

View File

@ -28,6 +28,11 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [headlineBody, buttons], spacing: Padding.Eighteen)
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - View Lifecycle
//-------------------------------------------------------

View File

@ -31,6 +31,11 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [headlineBody, buttons], spacing: PaddingDefaultVerticalSpacing3)
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -27,6 +27,11 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [headlineBody, caretLink])
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -28,6 +28,11 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [headlineBody, link])
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -47,6 +47,19 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
verticalStack1 = Stack<StackModel>.createStack(with: [body, subBody], spacing: 0)
verticalStack2 = Stack<StackModel>.createStack(with: [body2, subBody2], spacing: 0)
verticalStack3 = Stack<StackModel>.createStack(with: [body3, subBody3], spacing: 0)
horizontalStack = Stack<StackModel>.createStack(with: [(view: verticalStack1, model: StackItemModel(percent: 29, verticalAlignment: .top)), (view: verticalLine1, model: StackItemModel(verticalAlignment: .top)),
(view: verticalStack2, model: StackItemModel(horizontalAlignment: .leading, verticalAlignment: .top)),
(view: verticalLine2, model: StackItemModel(verticalAlignment: .top)),
(view: verticalStack3, model: StackItemModel(percent: 32, verticalAlignment: .top))],
axis: .horizontal)
stack = Stack<StackModel>.createStack(with: [headline, horizontalStack], spacing: 8)
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -33,6 +33,13 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [(view: headlineBody, model: StackItemModel(horizontalAlignment: .fill)),
(view: button, model: StackItemModel(spacing: spacingBetwenHeadlineBodyAndButton, horizontalAlignment: .leading))],
axis: .vertical)
super.init(model: model, delegateObject, additionalData)
}
//------------------------------------------------------
// MARK: - Constants
//------------------------------------------------------

View File

@ -31,6 +31,13 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
stack = Stack<StackModel>.createStack(with: [(view: headline, model: StackItemModel()),
(view: subHeadline, model: StackItemModel(spacing: 16)),
(view: body, model: StackItemModel(spacing: 8))])
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -37,6 +37,17 @@ import Foundation
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
verticalStack = Stack<StackModel>.createStack(with: [(view: headline, model: StackItemModel()),
(view: subHeadline, model: StackItemModel()),
(view: body, model: StackItemModel(horizontalAlignment: .fill))],
axis: .vertical, spacing: 0)
stack = Stack<StackModel>.createStack(with: [(view: planLabel, model: StackItemModel(horizontalAlignment: .fill, verticalAlignment: .leading)),
(view: verticalStack, model: StackItemModel(horizontalAlignment: .fill, verticalAlignment: .leading))],
axis: .horizontal)
super.init(model: model, delegateObject, additionalData)
}
//-------------------------------------------------------
// MARK: - Lifecycle
//-------------------------------------------------------

View File

@ -65,6 +65,12 @@ open class DoughnutChart: View {
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - Lifecycle
//--------------------------------------------------

View File

@ -27,6 +27,12 @@ import UIKit
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
public override func updateView(_ size: CGFloat) {
super.updateView(size)

View File

@ -39,6 +39,12 @@ import UIKit
super.init(frame: frame)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - Lifecycle
//--------------------------------------------------

View File

@ -34,6 +34,12 @@ import Foundation
super.init(frame: frame)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - MVMCoreViewProtocol
//--------------------------------------------------

View File

@ -45,6 +45,12 @@ import UIKit
super.init(coder: aDecoder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//------------------------------------------------------
// MARK: - View Lifecycle
//------------------------------------------------------

View File

@ -45,6 +45,12 @@ import UIKit
super.init(coder: aDecoder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//------------------------------------------------------
// MARK: - View Lifecycle
//------------------------------------------------------

View File

@ -36,6 +36,13 @@ open class StringAndMoleculeView: View {
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
let moleculeModel = model as? StringAndMoleculeModel
label.text = moleculeModel?.string
self.molecule = moleculeModel?.molecule as! MoleculeViewProtocol
super.init(model: model, delegateObject, additionalData)
}
override public func setupView() {
super.setupView()
guard subviews.count == 0 else {

View File

@ -36,6 +36,12 @@ open class ThreeHeadlineBodyLink: View {
super.init(coder: aDecoder)
}
required public init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//------------------------------------------------------
// MARK: - Lifecycle
//------------------------------------------------------

View File

@ -113,6 +113,12 @@ open class Stack<T>: Container where T: (StackModelProtocol & MoleculeModelProto
fatalError("init(coder:) has not been implemented")
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
/// Returns a Stack created with a StackModel and StackItems containing the passed in views.
public static func createStack(with views: [UIView], axis: NSLayoutConstraint.Axis? = nil, spacing: CGFloat? = nil) -> Stack<StackModel> {
var items: [StackItem] = []

View File

@ -43,6 +43,12 @@ import UIKit
}
}
public required init(model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.init(frame: .zero)
initialSetup()
set(with: model, delegateObject, additionalData)
}
//--------------------------------------------------
// MARK: - MoleculeViewProtocol
//--------------------------------------------------