Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into bugfix/right_panel_button_fix

This commit is contained in:
Khan, Arshad 2020-06-09 20:31:01 +05:30
commit 0be46a7576
75 changed files with 578 additions and 368 deletions

View File

@ -213,12 +213,16 @@
AAB9C10824346F4B00151545 /* RadioSwatches.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C10724346F4B00151545 /* RadioSwatches.swift */; };
AAB9C10A243496DD00151545 /* RadioSwatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB9C109243496DD00151545 /* RadioSwatch.swift */; };
AAC6F167243332E400F295C1 /* RadioSwatchesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAC6F166243332E400F295C1 /* RadioSwatchesModel.swift */; };
BB105859248DEFF70069D008 /* UICollectionViewLeftAlignedLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */; };
BB1D17E0244EAA30001D2002 /* ListDeviceComplexButtonMediumModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1D17DF244EAA30001D2002 /* ListDeviceComplexButtonMediumModel.swift */; };
BB1D17E2244EAA46001D2002 /* ListDeviceComplexButtonMedium.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB1D17E1244EAA46001D2002 /* ListDeviceComplexButtonMedium.swift */; };
BB2BF0EA2452A9BB001D0FC2 /* ListDeviceComplexButtonSmall.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2BF0E92452A9BB001D0FC2 /* ListDeviceComplexButtonSmall.swift */; };
BB2BF0EC2452A9D5001D0FC2 /* ListDeviceComplexButtonSmallModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2BF0EB2452A9D5001D0FC2 /* ListDeviceComplexButtonSmallModel.swift */; };
BB2C968F24330EA7006FF80C /* ListRightVariableTextLinkAllTextAndLinksModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2C968D24330EA7006FF80C /* ListRightVariableTextLinkAllTextAndLinksModel.swift */; };
BB2C969224330F73006FF80C /* ListRightVariableTextLinkAllTextAndLinks.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2C969124330F73006FF80C /* ListRightVariableTextLinkAllTextAndLinks.swift */; };
BB2FB3BB247E7EBC00DF73CD /* TagCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2FB3BA247E7EBC00DF73CD /* TagCollectionViewCell.swift */; };
BB2FB3BD247E7EF200DF73CD /* Tags.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2FB3BC247E7EF200DF73CD /* Tags.swift */; };
BB2FB3BF247E7F0900DF73CD /* TagsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB2FB3BE247E7F0900DF73CD /* TagsModel.swift */; };
BB47A586241615EF002BB23C /* ListOneColumnFullWidthTextDividerSubsectionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB47A585241615EF002BB23C /* ListOneColumnFullWidthTextDividerSubsectionModel.swift */; };
BB47A588241615FA002BB23C /* ListOneColumnFullWidthTextDividerSubsection.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB47A587241615FA002BB23C /* ListOneColumnFullWidthTextDividerSubsection.swift */; };
BB54C5202434D92F0038326C /* ListRightVariableButtonAllTextAndLinks.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB54C51E2434D92F0038326C /* ListRightVariableButtonAllTextAndLinks.swift */; };
@ -234,6 +238,8 @@
BBAA4F05243D8E3B005AAD5F /* RadioBoxesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAA4F01243D8E3B005AAD5F /* RadioBoxesModel.swift */; };
BBBBC87C24374A4900B0F079 /* ListThreeColumnBillChangesDivider.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBBC87A24374A4900B0F079 /* ListThreeColumnBillChangesDivider.swift */; };
BBBBC87D24374A4900B0F079 /* ListThreeColumnBillChangesDividerModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBBBC87B24374A4900B0F079 /* ListThreeColumnBillChangesDividerModel.swift */; };
BBC0C4FD24811DBC0087C44F /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC0C4FC24811DBC0087C44F /* Tag.swift */; };
BBC0C4FF24811DCA0087C44F /* TagModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC0C4FE24811DCA0087C44F /* TagModel.swift */; };
C003506123AA94CD00B6AC29 /* Button.swift in Sources */ = {isa = PBXBuildFile; fileRef = C003506023AA94CD00B6AC29 /* Button.swift */; };
C07065C42395677300FBF997 /* Link.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07065C32395677300FBF997 /* Link.swift */; };
C695A67F23C9830600BFB94E /* UnOrderedListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C695A67E23C9830600BFB94E /* UnOrderedListModel.swift */; };
@ -650,12 +656,16 @@
AAB9C10724346F4B00151545 /* RadioSwatches.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioSwatches.swift; sourceTree = "<group>"; };
AAB9C109243496DD00151545 /* RadioSwatch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioSwatch.swift; sourceTree = "<group>"; };
AAC6F166243332E400F295C1 /* RadioSwatchesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RadioSwatchesModel.swift; sourceTree = "<group>"; };
BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UICollectionViewLeftAlignedLayout.swift; sourceTree = "<group>"; };
BB1D17DF244EAA30001D2002 /* ListDeviceComplexButtonMediumModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListDeviceComplexButtonMediumModel.swift; sourceTree = "<group>"; };
BB1D17E1244EAA46001D2002 /* ListDeviceComplexButtonMedium.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListDeviceComplexButtonMedium.swift; sourceTree = "<group>"; };
BB2BF0E92452A9BB001D0FC2 /* ListDeviceComplexButtonSmall.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListDeviceComplexButtonSmall.swift; sourceTree = "<group>"; };
BB2BF0EB2452A9D5001D0FC2 /* ListDeviceComplexButtonSmallModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListDeviceComplexButtonSmallModel.swift; sourceTree = "<group>"; };
BB2C968D24330EA7006FF80C /* ListRightVariableTextLinkAllTextAndLinksModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListRightVariableTextLinkAllTextAndLinksModel.swift; sourceTree = "<group>"; };
BB2C969124330F73006FF80C /* ListRightVariableTextLinkAllTextAndLinks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListRightVariableTextLinkAllTextAndLinks.swift; sourceTree = "<group>"; };
BB2FB3BA247E7EBC00DF73CD /* TagCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagCollectionViewCell.swift; sourceTree = "<group>"; };
BB2FB3BC247E7EF200DF73CD /* Tags.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tags.swift; sourceTree = "<group>"; };
BB2FB3BE247E7F0900DF73CD /* TagsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagsModel.swift; sourceTree = "<group>"; };
BB47A585241615EF002BB23C /* ListOneColumnFullWidthTextDividerSubsectionModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListOneColumnFullWidthTextDividerSubsectionModel.swift; sourceTree = "<group>"; };
BB47A587241615FA002BB23C /* ListOneColumnFullWidthTextDividerSubsection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListOneColumnFullWidthTextDividerSubsection.swift; sourceTree = "<group>"; };
BB54C51E2434D92F0038326C /* ListRightVariableButtonAllTextAndLinks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListRightVariableButtonAllTextAndLinks.swift; sourceTree = "<group>"; };
@ -671,6 +681,8 @@
BBAA4F01243D8E3B005AAD5F /* RadioBoxesModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioBoxesModel.swift; sourceTree = "<group>"; };
BBBBC87A24374A4900B0F079 /* ListThreeColumnBillChangesDivider.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListThreeColumnBillChangesDivider.swift; sourceTree = "<group>"; };
BBBBC87B24374A4900B0F079 /* ListThreeColumnBillChangesDividerModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListThreeColumnBillChangesDividerModel.swift; sourceTree = "<group>"; };
BBC0C4FC24811DBC0087C44F /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = "<group>"; };
BBC0C4FE24811DCA0087C44F /* TagModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagModel.swift; sourceTree = "<group>"; };
C003506023AA94CD00B6AC29 /* Button.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Button.swift; sourceTree = "<group>"; };
C07065C32395677300FBF997 /* Link.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Link.swift; sourceTree = "<group>"; };
C695A67E23C9830600BFB94E /* UnOrderedListModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnOrderedListModel.swift; sourceTree = "<group>"; };
@ -1543,8 +1555,8 @@
D29DF10D21E67A70003B2FB9 /* Atoms */ = {
isa = PBXGroup;
children = (
D2BEFEF5248A954C00FAB3A9 /* FormFields */,
D264FAA8243FE17A00D98315 /* Selectors */,
D29DF22B21E6A0FA003B2FB9 /* TextFields */,
D29DF17D21E69E26003B2FB9 /* Views */,
D29DF16821E69E1F003B2FB9 /* Buttons */,
);
@ -1856,6 +1868,7 @@
0AE14F63238315D2005417F8 /* TextField.swift */,
D20923582450ECE00044AD09 /* TableView.swift */,
D2755D7A23689C7500485468 /* TableViewCell.swift */,
BB105858248DEFF60069D008 /* UICollectionViewLeftAlignedLayout.swift */,
D21B7F70243BAC1600051ABF /* CollectionViewCell.swift */,
D264FAA92440F97600D98315 /* CollectionView.swift */,
0A5D59C323AD488600EFD9E9 /* Protocols */,
@ -1865,6 +1878,27 @@
path = BaseClasses;
sourceTree = "<group>";
};
D2BEFEF5248A954C00FAB3A9 /* FormFields */ = {
isa = PBXGroup;
children = (
D2BEFEF6248A957A00FAB3A9 /* Tags */,
D29DF22B21E6A0FA003B2FB9 /* TextFields */,
);
path = FormFields;
sourceTree = "<group>";
};
D2BEFEF6248A957A00FAB3A9 /* Tags */ = {
isa = PBXGroup;
children = (
BBC0C4FE24811DCA0087C44F /* TagModel.swift */,
BBC0C4FC24811DBC0087C44F /* Tag.swift */,
BB2FB3BE247E7F0900DF73CD /* TagsModel.swift */,
BB2FB3BC247E7EF200DF73CD /* Tags.swift */,
BB2FB3BA247E7EBC00DF73CD /* TagCollectionViewCell.swift */,
);
path = Tags;
sourceTree = "<group>";
};
D2C78CD324252F4E00B69FDE /* Atomic */ = {
isa = PBXGroup;
children = (
@ -2033,6 +2067,7 @@
94C2D9A923872E5E0006CF46 /* LabelAttributeImageModel.swift in Sources */,
DBC4391922442197001AB423 /* DashLine.swift in Sources */,
D264FAAA2440F97600D98315 /* CollectionView.swift in Sources */,
BBC0C4FF24811DCA0087C44F /* TagModel.swift in Sources */,
0A7BAD74232A8DC700FB8E22 /* HeadlineBodyButton.swift in Sources */,
D2FB151D23A40F1500C20E10 /* MoleculeStackItem.swift in Sources */,
D28BA7452481652D00B75CB8 /* TabBarProtocol.swift in Sources */,
@ -2135,6 +2170,7 @@
D2755D7B23689C7500485468 /* TableViewCell.swift in Sources */,
0A25209624645AFD000FA9F6 /* TextViewEntryField.swift in Sources */,
014AA72623C501E2006F3E93 /* ContainerModelProtocol.swift in Sources */,
BB2FB3BF247E7F0900DF73CD /* TagsModel.swift in Sources */,
AA11A42123F15D7000D7962F /* ListRightVariablePaymentsModel.swift in Sources */,
011D9626240EBB16000E3791 /* RadioButtonLabelModel.swift in Sources */,
8DDD6C1D244D90B8006A2232 /* ListThreeColumnDataUsage.swift in Sources */,
@ -2232,6 +2268,7 @@
011B58F223A2AE2C0085F53C /* DropDownListItemModel.swift in Sources */,
D2509ED12472ED9B001BFB9D /* NavigationItemModelProtocol.swift in Sources */,
8D448E5524050A46006211BB /* ListOneColumnFullWidthTextAllTextAndLinksModel.swift in Sources */,
BBC0C4FD24811DBC0087C44F /* Tag.swift in Sources */,
94C2D9842386F3F80006CF46 /* LabelAttributeModel.swift in Sources */,
944589212385D6E900DE9FD4 /* DashLineModel.swift in Sources */,
D2E2A99623D8CF85000B42E6 /* HeadlineBodyLinkToggleModel.swift in Sources */,
@ -2271,6 +2308,7 @@
D253BB9E2458751F002DE544 /* BGImageMoleculeModel.swift in Sources */,
0ABD1371237DB0450081388D /* ItemDropdownEntryField.swift in Sources */,
8D24041123E7FB9E009E23BE /* ListLeftVariableIconWithRightCaret.swift in Sources */,
BB2FB3BD247E7EF200DF73CD /* Tags.swift in Sources */,
BBAA4F03243D8E3B005AAD5F /* RadioBoxes.swift in Sources */,
D2E1FAE12268E81D00AEFD8C /* MoleculeListTemplate.swift in Sources */,
525019E72406853600EED91C /* ListFourColumnDataUsageDivider.swift in Sources */,
@ -2291,6 +2329,7 @@
D2092355244FA0FD0044AD09 /* ThreeLayerTemplateModelProtocol.swift in Sources */,
0AE14F64238315D2005417F8 /* TextField.swift in Sources */,
0AB764D124460F6300E7FE72 /* UIDatePicker+Extension.swift in Sources */,
BB105859248DEFF70069D008 /* UICollectionViewLeftAlignedLayout.swift in Sources */,
D253BB9C245874F8002DE544 /* BGImageMolecule.swift in Sources */,
D2C78CD224228BBD00B69FDE /* ActionOpenPanelModel.swift in Sources */,
AA617AB02453010A00910B8F /* ListDeviceComplexLinkSmall.swift in Sources */,
@ -2316,6 +2355,7 @@
0A21DB83235DFBC500C160A2 /* MdnEntryField.swift in Sources */,
0AE98BB723FF18E9004C5109 /* ArrowModel.swift in Sources */,
D28A837D23CCA86A00DFE4FC /* TabsListItemModel.swift in Sources */,
BB2FB3BB247E7EBC00DF73CD /* TagCollectionViewCell.swift in Sources */,
012A88C6238DA34000FE3DA1 /* ModuleMoleculeModel.swift in Sources */,
94C2D9A123872BCC0006CF46 /* LabelAttributeUnderlineModel.swift in Sources */,
D20A9A5E2243D3E300ADE781 /* TwoButtonView.swift in Sources */,

View File

@ -0,0 +1,49 @@
//
// Tag.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 29/05/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
@objcMembers open class Tag: View {
//--------------------------------------------------
// MARK: - Outlets
//--------------------------------------------------
public let label = Label(fontStyle: .RegularBodySmall)
//--------------------------------------------------
// MARK: - MVMCoreViewProtocol
//--------------------------------------------------
open override func setupView() {
super.setupView()
layer.borderColor = UIColor.mvmCoolGray6.cgColor
layer.borderWidth = 1
label.numberOfLines = 1
addSubview(label)
NSLayoutConstraint.constraintPinSubview(label, pinTop: true, topConstant: 13, pinBottom: true, bottomConstant: 13, pinLeft: true, leftConstant: 15, pinRight: true, rightConstant: 15)
}
open override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
guard let model = model as? TagModel else { return }
label.set(with: model.label, delegateObject, additionalData)
}
@objc override open func updateView(_ size: CGFloat) {
super.updateView(size)
label.updateView(size)
}
open override func reset() {
super.reset()
label.reset()
label.setFontStyle(.RegularBodySmall)
}
}

View File

@ -0,0 +1,29 @@
//
// TagCollectionViewCell.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 27/05/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
open class TagCollectionViewCell: CollectionViewCell {
public let tagLabel = Tag()
open override func reset() {
super.reset()
backgroundColor = .clear
}
open override func setupView() {
super.setupView()
addMolecule(tagLabel)
MVMCoreUIUtility.setMarginsFor(contentView, leading: 0, top: 0, trailing: 0, bottom: 0)
}
open override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
guard let model = model as? TagModel else { return }
tagLabel.set(with: model, delegateObject, additionalData)
}
}

View File

@ -0,0 +1,37 @@
//
// TagModel.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 29/05/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
@objcMembers public class TagModel: MoleculeModelProtocol {
public static var identifier: String = "tag"
public var label: LabelModel
public var action: ActionModelProtocol?
public var backgroundColor: Color?
private enum CodingKeys: String, CodingKey {
case moleculeName
case label
case action
case backgroundColor
}
required public init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
label = try typeContainer.decode(LabelModel.self, forKey: .label)
action = try typeContainer.decodeModelIfPresent(codingKey: .action)
backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(moleculeName, forKey: .moleculeName)
try container.encode(label, forKey: .label)
try container.encodeModelIfPresent(action, forKey: .action)
}
}

View File

@ -0,0 +1,105 @@
//
// Tags.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 27/05/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
open class Tags: View, MFButtonProtocol {
public var collectionView: CollectionView!
public var collectionViewHeight: NSLayoutConstraint!
private var tagsListModel: TagsModel? {
return model as? TagsModel
}
private var delegateObject: MVMCoreUIDelegateObject?
/// The models for the molecules.
public var tags: [TagModel]?
open override func layoutSubviews() {
super.layoutSubviews()
// Accounts for any collection size changes
DispatchQueue.main.async {
self.collectionView.collectionViewLayout.invalidateLayout()
self.collectionViewHeight.constant = self.collectionView.contentSize.height
self.delegateObject?.moleculeDelegate?.moleculeLayoutUpdated(self)
}
}
// MARK: - MVMCoreViewProtocol
open override func setupView() {
super.setupView()
collectionView = createCollectionView()
addSubview(collectionView)
NSLayoutConstraint.constraintPinSubview(toSuperview: collectionView)
collectionViewHeight = collectionView.heightAnchor.constraint(equalToConstant: 300)
collectionViewHeight?.isActive = true
}
// MARK: - MoleculeViewProtocol
open override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.set(with: model, delegateObject, additionalData)
self.delegateObject = delegateObject
guard let tagsListModel = model as? TagsModel else { return }
tags = tagsListModel.tags
registerCells()
collectionView.reloadData()
}
@objc override open func updateView(_ size: CGFloat) {
super.updateView(size)
collectionView.updateView(size)
}
// MARK: - Creation
/// Creates the layout for the collection.
open func createCollectionViewLayout() -> UICollectionViewLayout {
let layout = UICollectionViewLeftAlignedLayout()
layout.estimatedItemSize = CGSize(width: 140, height: 40)
layout.minimumLineSpacing = 24.0
layout.minimumInteritemSpacing = 12.0
return layout
}
/// Creates the collection view.
open func createCollectionView() -> CollectionView {
let collection = CollectionView(frame: .zero, collectionViewLayout: createCollectionViewLayout())
collection.dataSource = self
collection.delegate = self
return collection
}
/// Registers the cells with the collection view
open func registerCells() {
collectionView.register(TagCollectionViewCell.self, forCellWithReuseIdentifier: "TagCollectionViewCell")
}
}
extension Tags: UICollectionViewDataSource {
open func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return tags?.count ?? 0
}
open func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let molecule = tags?[indexPath.row],
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "TagCollectionViewCell", for: indexPath) as? TagCollectionViewCell else {
fatalError()
}
cell.reset()
cell.set(with: molecule, delegateObject, nil)
cell.layoutIfNeeded()
return cell
}
}
extension Tags: UICollectionViewDelegate {
open func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let tagModel = tags?[indexPath.row],
let tagAction = tagModel.action else { return }
Button.performButtonAction(with: tagAction, button: self, delegateObject: delegateObject, additionalData: nil)
}
}

View File

@ -0,0 +1,34 @@
//
// TagsModel.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 27/05/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
@objcMembers public class TagsModel: MoleculeModelProtocol {
public static var identifier: String = "tags"
public var backgroundColor: Color?
public var tags: [TagModel]
private enum CodingKeys: String, CodingKey {
case moleculeName
case backgroundColor
case tags
}
required public init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
tags = try typeContainer.decode([TagModel].self, forKey: .tags)
backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor)
}
public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(moleculeName, forKey: .moleculeName)
try container.encode(tags, forKey: .tags)
try container.encodeIfPresent(backgroundColor, forKey: .backgroundColor)
}
}

View File

@ -9,8 +9,8 @@
import Foundation
open class RadioBox: Control {
public let label = Label.createLabelRegularBodySmall(true)
public let subTextLabel = Label.createLabelRegularMicro(true)
public let label = Label(fontStyle: .RegularBodySmall)
public let subTextLabel = Label(fontStyle: .RegularMicro)
public var isOutOfStock = false
public var accentColor = UIColor.mvmRed

View File

@ -13,7 +13,7 @@ open class RadioSwatch: Control {
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
public let bottomText = Label.createLabelRegularMicro(true)
public let bottomText = Label(fontStyle: .RegularMicro)
private var circleLayer: CAShapeLayer?
private var selectedLayer: CALayer?

View File

@ -16,7 +16,7 @@ open class NumericIndicatorView: CarouselIndicator {
/// Text to display the current count of total pages for viewing.
open var pageCount: Label = {
let label = Label.createLabelRegularBodySmall(true)
let label = Label(fontStyle: .RegularBodySmall)
label.isAccessibilityElement = false
label.setContentCompressionResistancePriority(.required, for: .vertical)
label.textAlignment = .center

View File

@ -13,7 +13,7 @@
//--------------------------------------------------
public let checkbox = Checkbox()
public let label = Label.createLabelRegularBodySmall(true)
public let label = Label(fontStyle: .RegularBodySmall)
//--------------------------------------------------
// MARK: - Properties

View File

@ -21,8 +21,11 @@ import Foundation
public var contentMode: UIView.ContentMode?
public var localBundle: Bundle?
public init(image: String) {
public init(image: String, imageFormat: String? = nil, width: CGFloat? = nil, height: CGFloat? = nil) {
self.image = image
self.imageFormat = imageFormat
self.width = width
self.height = height
}
private enum CodingKeys: String, CodingKey {

View File

@ -13,7 +13,6 @@ public typealias ActionBlock = () -> ()
@objcMembers open class Label: UILabel, MVMCoreViewProtocol, MoleculeViewProtocol, MVMCoreUIViewConstrainingProtocol, MFButtonProtocol {
//------------------------------------------------------
// MARK: - Properties
//------------------------------------------------------
@ -97,7 +96,7 @@ public typealias ActionBlock = () -> ()
accessibilityCustomActions = []
accessibilityTraits = .staticText
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(textLinkTapped(_:)))
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(textLinkTapped))
tapGesture.numberOfTapsRequired = 1
addGestureRecognizer(tapGesture)
}
@ -117,6 +116,15 @@ public typealias ActionBlock = () -> ()
setupView()
}
public init(fontStyle: Styler.Font, _ scale: Bool = true) {
super.init(frame: .zero)
setupView()
font = fontStyle.getFont(false)
textColor = fontStyle.color()
setScale(scale)
}
@objc convenience public init(standardFontSize size: CGFloat) {
self.init()
standardFontSize = size
@ -139,91 +147,9 @@ public typealias ActionBlock = () -> ()
}
//------------------------------------------------------
// MARK: - Factory Functions
// MARK: - 2.0 Factory Functions
//------------------------------------------------------
/// Title 2XLarge
@objc public static func createLabelTitle2XLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleTitle2XLarge(scale)
return label
}
/// TitleXLarge
@objc public static func createLabelTitleXLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleTitleXLarge(scale)
return label
}
/// BoldTitleLarge
@objc public static func createLabelBoldTitleLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleBoldTitleLarge(scale)
return label
}
/// RegularTitleLarge
@objc public static func createLabelRegularTitleLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleRegularTitleLarge(scale)
return label
}
/// BoldTitleMedium
@objc public static func createLabelBoldTitleMedium(_ scale: Bool) -> Label {
let label = Label.label()
label.styleBoldTitleMedium(scale)
return label
}
/// RegularTitleMedium
@objc public static func createLabelRegularTitleMedium(_ scale: Bool) -> Label {
let label = Label.label()
label.styleRegularTitleMedium(scale)
return label
}
/// BoldBodyLarge
@objc public static func createLabelBoldBodyLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleBoldBodyLarge(scale)
return label
}
/// RegularBodyLarge
@objc public static func createLabelRegularBodyLarge(_ scale: Bool) -> Label {
let label = Label.label()
label.styleRegularBodyLarge(scale)
return label
}
/// BoldBodySmall
@objc public static func createLabelBoldBodySmall(_ scale: Bool) -> Label {
let label = Label.label()
label.styleBoldBodySmall(scale)
return label
}
/// RegularBodySmall
@objc public static func createLabelRegularBodySmall(_ scale: Bool) -> Label {
let label = Label.label()
label.styleRegularBodySmall(scale)
return label
}
/// BoldMicro
@objc public static func createLabelBoldMicro(_ scale: Bool) -> Label {
let label = Label.label()
label.styleBoldMicro(scale)
return label
}
/// RegularMicro
@objc public static func createLabelRegularMicro(_ scale: Bool) -> Label {
let label = Label.label()
label.styleRegularMicro(scale)
return label
}
//2.0 fonts init methods
/// H1 -> HeadlineLarge
@objc public static func commonLabelH1(_ scale: Bool) -> Label {
@ -569,71 +495,19 @@ public typealias ActionBlock = () -> ()
}
//------------------------------------------------------
// MARK: - Methods
// MARK: - 3.0 Styling Method
//------------------------------------------------------
//mva 3.0 font
@objc public func styleTitle2XLarge(_ scale: Bool) {
MFStyler.styleLabelTitle2XLarge(self, genericScaling: false)
public func setFontStyle(_ fontStyle: Styler.Font, _ scale: Bool = true) {
font = fontStyle.getFont(false)
textColor = .mvmBlack
setScale(scale)
}
@objc public func styleTitleXLarge(_ scale: Bool) {
MFStyler.styleLabelTitleXLarge(self, genericScaling: false)
setScale(scale)
}
@objc public func styleBoldTitleLarge(_ scale: Bool) {
MFStyler.styleLabelBoldTitleLarge(self, genericScaling: false)
setScale(scale)
}
@objc public func styleRegularTitleLarge(_ scale: Bool) {
MFStyler.styleLabelRegularTitleLarge(self, genericScaling: false)
setScale(scale)
}
@objc public func styleBoldTitleMedium(_ scale: Bool) {
MFStyler.styleLabelBoldTitleMedium(self, genericScaling: false)
setScale(scale)
}
@objc public func styleRegularTitleMedium(_ scale: Bool) {
MFStyler.styleLabelRegularTitleMedium(self, genericScaling: false)
setScale(scale)
}
@objc public func styleBoldBodyLarge(_ scale: Bool) {
MFStyler.styleLabelBoldBodyLarge(self, genericScaling: false)
setScale(scale)
}
@objc public func styleRegularBodyLarge(_ scale: Bool) {
MFStyler.styleLabelRegularBodyLarge(self, genericScaling: false)
setScale(scale)
}
@objc public func styleBoldBodySmall(_ scale: Bool) {
MFStyler.styleLabelBoldBodySmall(self, genericScaling: false)
setScale(scale)
}
@objc public func styleRegularBodySmall(_ scale: Bool) {
MFStyler.styleLabelRegularBodySmall(self, genericScaling: false)
setScale(scale)
}
@objc public func styleBoldMicro(_ scale: Bool) {
MFStyler.styleLabelBoldMicro(self, genericScaling: false)
setScale(scale)
}
@objc public func styleRegularMicro(_ scale: Bool) {
MFStyler.styleLabelRegularMicro(self, genericScaling: false)
setScale(scale)
}
//2.0 fonts
//------------------------------------------------------
// MARK: - 2.0 Styling Methods
//------------------------------------------------------
@objc public func styleH1(_ scale: Bool) {
MFStyler.styleLabelH1(self, genericScaling: false)
setScale(scale)

View File

@ -14,8 +14,8 @@ import Foundation
// MARK: - Outlets
//------------------------------------------------------
let leftTextLabel = Label.createLabelBoldBodySmall(true)
let rightTextLabel = Label.createLabelBoldBodySmall(true)
let leftTextLabel = Label(fontStyle: .BoldBodySmall)
let rightTextLabel = Label(fontStyle: .BoldBodySmall)
//------------------------------------------------------
// MARK: - Constraints

View File

@ -71,6 +71,12 @@ import UIKit
self.useVerticalLine = false
}
public init(verticalLineOf type: Style, backgroundColor: Color? = nil) {
self.type = type
self.backgroundColor = backgroundColor
self.useVerticalLine = true
}
//--------------------------------------------------
// MARK: - Keys
//--------------------------------------------------

View File

@ -85,6 +85,10 @@ import Foundation
MoleculeObjectMapping.shared()?.register(viewClass: RadioBoxes.self, viewModelClass: RadioBoxesModel.self)
MoleculeObjectMapping.shared()?.register(viewClass: Checkbox.self, viewModelClass: CheckboxModel.self)
MoleculeObjectMapping.shared()?.register(viewClass: RadioSwatches.self, viewModelClass: RadioSwatchesModel.self)
MoleculeObjectMapping.shared()?.register(viewClass: Tags.self, viewModelClass: TagsModel.self)
MoleculeObjectMapping.shared()?.register(viewClass: Tag.self, viewModelClass: TagModel.self)
// Other Atoms
MoleculeObjectMapping.shared()?.register(viewClass: ProgressBar.self, viewModelClass: ProgressBarModel.self)

View File

@ -10,10 +10,10 @@ import Foundation
@objcMembers open class ListDeviceComplexButtonMedium: TableViewCell {
public var verticalStack: Stack<StackModel>
public let eyebrow = Label.createLabelRegularMicro(true)
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let body2 = Label.createLabelRegularBodySmall(true)
public let eyebrow = Label(fontStyle: .RegularMicro)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
public let body2 = Label(fontStyle: .RegularBodySmall)
public let button = PillButton(frame: .zero)
public let rightImageView = LoadImageView()
public var stack: Stack<StackModel>
@ -67,10 +67,10 @@ import Foundation
}
public func setDefault() {
eyebrow.styleRegularMicro(true)
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
body2.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
body2.setFontStyle(.RegularBodySmall)
eyebrow.textColor = .mvmCoolGray6
}

View File

@ -10,10 +10,10 @@ import Foundation
@objcMembers open class ListDeviceComplexButtonSmall: TableViewCell {
public var verticalStack: Stack<StackModel>
public let eyebrow = Label.createLabelRegularMicro(true)
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let body2 = Label.createLabelRegularBodySmall(true)
public let eyebrow = Label(fontStyle: .RegularMicro)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
public let body2 = Label(fontStyle: .RegularBodySmall)
public let button = PillButton(frame: .zero)
public let rightImageView = LoadImageView()
public var stack: Stack<StackModel>
@ -67,10 +67,10 @@ import Foundation
}
public func setDefault() {
eyebrow.styleRegularMicro(true)
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
body2.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
body2.setFontStyle(.RegularBodySmall)
eyebrow.textColor = .mvmCoolGray6
}

View File

@ -12,10 +12,10 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-----------------------------------------------------
public let eyebrow = Label.createLabelRegularMicro(true)
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let body2 = Label.createLabelRegularBodySmall(true)
public let eyebrow = Label(fontStyle: .RegularMicro)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
public let body2 = Label(fontStyle: .RegularBodySmall)
public let twoLinkView = TwoLinkView()
public let rightImage = LoadImageView()
let verticalStack: Stack<StackModel>
@ -68,10 +68,10 @@ import Foundation
open override func reset() {
super.reset()
eyebrow.styleRegularMicro(true)
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
body2.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
body2.setFontStyle(.RegularBodySmall)
eyebrow.textColor = .mvmCoolGray6
}
}

View File

@ -12,10 +12,10 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-----------------------------------------------------
public let eyebrow = Label.createLabelRegularMicro(true)
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let body2 = Label.createLabelRegularBodySmall(true)
public let eyebrow = Label(fontStyle: .RegularMicro)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
public let body2 = Label(fontStyle: .RegularBodySmall)
public let twoLinkView = TwoLinkView()
public let rightImage = LoadImageView()
let verticalStack: Stack<StackModel>
@ -68,10 +68,10 @@ import Foundation
open override func reset() {
super.reset()
eyebrow.styleRegularMicro(true)
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
body2.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
body2.setFontStyle(.RegularBodySmall)
eyebrow.textColor = .mvmCoolGray6
}
}

View File

@ -14,10 +14,10 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
var stack: Stack<StackModel>
let label1 = Label.createLabelRegularBodySmall(true)
let label2 = Label.createLabelRegularBodySmall(true)
let label3 = Label.createLabelRegularBodySmall(true)
let label4 = Label.createLabelRegularBodySmall(true)
let label1 = Label(fontStyle: .RegularBodySmall)
let label2 = Label(fontStyle: .RegularBodySmall)
let label3 = Label(fontStyle: .RegularBodySmall)
let label4 = Label(fontStyle: .RegularBodySmall)
let arrow = Arrow(frame: .zero)
let arrowAndLabel2Stack: Stack<StackModel>
@ -69,9 +69,9 @@ import Foundation
open override func reset() {
super.reset()
label1.styleRegularBodySmall(true)
label2.styleRegularBodySmall(true)
label3.styleRegularBodySmall(true)
label4.styleRegularBodySmall(true)
label1.setFontStyle(.RegularBodySmall)
label2.setFontStyle(.RegularBodySmall)
label3.setFontStyle(.RegularBodySmall)
label4.setFontStyle(.RegularBodySmall)
}
}

View File

@ -14,8 +14,8 @@ import UIKit
// MARK: - Outlets
//-------------------------------------------------------
let leftImage = LoadImageView(pinnedEdges: .all)
let leftLabel = Label.createLabelRegularBodySmall(true)
let rightLabel = Label.createLabelRegularBodySmall(true)
let leftLabel = Label(fontStyle: .RegularBodySmall)
let rightLabel = Label(fontStyle: .RegularBodySmall)
var stack: Stack<StackModel>
//-----------------------------------------------------
@ -63,7 +63,7 @@ import UIKit
open override func reset() {
super.reset()
leftLabel.styleRegularBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.RegularBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
}
}

View File

@ -13,7 +13,7 @@ import Foundation
//-------------------------------------------------------
public let leftImage = LoadImageView()
public let headlineBody = HeadlineBody()
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
public let rightLabelStackItem: StackItem
public var stack: Stack<StackModel>
@ -73,6 +73,6 @@ import Foundation
open override func reset() {
super.reset()
rightLabel.styleRegularBodySmall(true)
rightLabel.setFontStyle(.RegularBodySmall)
}
}

View File

@ -12,7 +12,7 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-----------------------------------------------------
public let leftLabel = Label.createLabelTitle2XLarge(true)
public let leftLabel = Label(fontStyle: .Title2XLarge)
public let eyebrowHeadlineBodyLink = EyebrowHeadlineBodyLink(frame: .zero)
public var stack: Stack<StackModel>
@ -56,7 +56,7 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleTitle2XLarge(true)
leftLabel.setFontStyle(.Title2XLarge)
}
open override func layoutSubviews() {

View File

@ -47,7 +47,7 @@ import UIKit
addMolecule(stack)
stack.restack()
eyebrowHeadlineBodyLink.body.textColor = .mvmOrangeAA
eyebrowHeadlineBodyLink.headline.styleBoldBodySmall(true)
eyebrowHeadlineBodyLink.headline.setFontStyle(.BoldBodySmall)
accessibilityTraits = radioButton.accessibilityTraits
accessibilityHint = radioButton.accessibilityHint
@ -61,7 +61,7 @@ import UIKit
open override func reset() {
super.reset()
eyebrowHeadlineBodyLink.body.textColor = .mvmOrangeAA
eyebrowHeadlineBodyLink.headline.styleBoldBodySmall(true)
eyebrowHeadlineBodyLink.headline.setFontStyle(.BoldBodySmall)
}
//----------------------------------------------------

View File

@ -15,10 +15,10 @@ import Foundation
//-----------------------------------------------------
var stack: Stack<StackModel>
let eyebrow = Label.createLabelRegularMicro(true)
let headline = Label.createLabelBoldTitleMedium(true)
let subHeadline = Label.createLabelBoldBodySmall(true)
let body = Label.createLabelRegularBodySmall(true)
let eyebrow = Label(fontStyle: .RegularMicro)
let headline = Label(fontStyle: .BoldTitleMedium)
let subHeadline = Label(fontStyle: .BoldBodySmall)
let body = Label(fontStyle: .RegularBodySmall)
let link = Link()
//-----------------------------------------------------
@ -62,9 +62,9 @@ import Foundation
open override func reset() {
super.reset()
eyebrow.styleRegularMicro(true)
headline.styleBoldTitleMedium(true)
subHeadline.styleBoldBodySmall(true)
body.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldTitleMedium)
subHeadline.setFontStyle(.BoldBodySmall)
body.setFontStyle(.RegularBodySmall)
}
}

View File

@ -9,8 +9,8 @@
import Foundation
@objcMembers open class ListRVWheel: TableViewCell {
let wheel = Wheel(frame: .zero)
let leftLabel = Label.createLabelBoldBodySmall(true)
let rightLabel = Label.createLabelRegularBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let rightLabel = Label(fontStyle: .RegularBodySmall)
var stack: Stack<StackModel>
//-----------------------------------------------------
@ -54,8 +54,8 @@ import Foundation
//-------------------------------------------------
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
}
public override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {

View File

@ -13,7 +13,7 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
let leftLabel = Label.createLabelBoldBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let rightImage = LoadImageView(pinnedEdges: .all)
var stack: Stack<StackModel>
@ -57,6 +57,6 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -8,14 +8,15 @@
import Foundation
@objcMembers open class ListRightVariablePriceChangeAllTextAndLinks: TableViewCell {
//-----------------------------------------------------
// MARK: - Outlets
//-----------------------------------------------------
public let eyebrowHeadlineBodyLink = EyebrowHeadlineBodyLink(frame: .zero)
public let arrow = Arrow(frame: .zero)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let eyebrowHeadlineBodyLink = EyebrowHeadlineBodyLink()
public let arrow = Arrow()
public let rightLabel = Label(fontStyle: .RegularBodySmall)
private let stack: Stack<StackModel>
private let arrowStackItem: StackItem
private let rightLabelStackItem: StackItem
@ -67,9 +68,11 @@ import Foundation
stack.restack()
}
open override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
open override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
super.set(with: model, delegateObject, additionalData)
guard let model = model as? ListRightVariablePriceChangeAllTextAndLinksModel else { return }
eyebrowHeadlineBodyLink.set(with: model.eyebrowHeadlineBodyLink, delegateObject, additionalData)
rightLabel.set(with: model.rightLabel, delegateObject, additionalData)
arrow.set(with: model.arrow, delegateObject, additionalData)
@ -79,4 +82,3 @@ import Foundation
return 121
}
}

View File

@ -15,7 +15,7 @@ import Foundation
private let stack: Stack<StackModel>
public let headlineBody = HeadlineBody(frame: .zero)
public let arrow = Arrow(frame: .zero)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
let arrowAndRightLabelStack: Stack<StackModel>

View File

@ -14,8 +14,8 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
public var stack: Stack<StackModel>
public let leftLabel = Label.createLabelBoldBodySmall(true)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let leftLabel = Label(fontStyle: .BoldBodySmall)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
public let bar = Line()
//-----------------------------------------------------
@ -61,8 +61,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
bar.setStyle(.heavy)
}
}

View File

@ -13,9 +13,9 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
public let leftLabel = Label.createLabelRegularBodySmall(true)
public let centerLabel = Label.createLabelRegularBodySmall(true)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let leftLabel = Label(fontStyle: .RegularBodySmall)
public let centerLabel = Label(fontStyle: .RegularBodySmall)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
var stack: Stack<StackModel>
//------------------------------------------------------
@ -54,8 +54,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleRegularBodySmall(true)
centerLabel.styleRegularBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.RegularBodySmall)
centerLabel.setFontStyle(.RegularBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
}
}

View File

@ -14,9 +14,9 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
open var stack: Stack<StackModel>
public let leftLabel = Label.createLabelRegularBodySmall(true)
public let centerLabel = Label.createLabelRegularBodySmall(true)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let leftLabel = Label(fontStyle: .RegularBodySmall)
public let centerLabel = Label(fontStyle: .RegularBodySmall)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
public let arrow = Arrow(frame: .zero)
public let arrowAndLabel2Stack: Stack<StackModel>
@ -66,8 +66,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleRegularBodySmall(true)
centerLabel.styleRegularBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.RegularBodySmall)
centerLabel.setFontStyle(.RegularBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
}
}

View File

@ -13,15 +13,15 @@ import Foundation
//-------------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
let leftHeadline1 = Label.createLabelBoldBodySmall(true)
let leftHeadline2 = Label.createLabelBoldBodySmall(true)
let leftHeadline3 = Label.createLabelBoldBodySmall(true)
let leftBody = Label.createLabelRegularBodySmall(true)
let leftHeadline1 = Label(fontStyle: .BoldBodySmall)
let leftHeadline2 = Label(fontStyle: .BoldBodySmall)
let leftHeadline3 = Label(fontStyle: .BoldBodySmall)
let leftBody = Label(fontStyle: .RegularBodySmall)
let leftLink = Link()
let rightHeadline1 = Label.createLabelBoldBodySmall(true)
let rightHeadline2 = Label.createLabelBoldBodySmall(true)
let rightHeadline3 = Label.createLabelBoldBodySmall(true)
let rightBody = Label.createLabelRegularBodySmall(true)
let rightHeadline1 = Label(fontStyle: .BoldBodySmall)
let rightHeadline2 = Label(fontStyle: .BoldBodySmall)
let rightHeadline3 = Label(fontStyle: .BoldBodySmall)
let rightBody = Label(fontStyle: .RegularBodySmall)
let rightLink = Link()
let containingStack: Stack<StackModel>
@ -97,14 +97,14 @@ import Foundation
open override func reset() {
super.reset()
leftHeadline1.styleBoldBodySmall(true)
leftHeadline2.styleBoldBodySmall(true)
leftHeadline3.styleBoldBodySmall(true)
leftBody.styleRegularBodySmall(true)
rightHeadline1.styleBoldBodySmall(true)
rightHeadline2.styleBoldBodySmall(true)
rightHeadline3.styleBoldBodySmall(true)
rightBody.styleRegularBodySmall(true)
leftHeadline1.setFontStyle(.BoldBodySmall)
leftHeadline2.setFontStyle(.BoldBodySmall)
leftHeadline3.setFontStyle(.BoldBodySmall)
leftBody.setFontStyle(.RegularBodySmall)
rightHeadline1.setFontStyle(.BoldBodySmall)
rightHeadline2.setFontStyle(.BoldBodySmall)
rightHeadline3.setFontStyle(.BoldBodySmall)
rightBody.setFontStyle(.RegularBodySmall)
}
public override class func estimatedHeight(with molecule: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {

View File

@ -13,10 +13,10 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
public let leftHeadline = Label.createLabelBoldBodySmall(true)
public let leftBody = Label.createLabelRegularBodySmall(true)
public let rightLabel = Label.createLabelRegularBodySmall(true)
public let rightSubLabel = Label.createLabelRegularBodySmall(true)
public let leftHeadline = Label(fontStyle: .BoldBodySmall)
public let leftBody = Label(fontStyle: .RegularBodySmall)
public let rightLabel = Label(fontStyle: .RegularBodySmall)
public let rightSubLabel = Label(fontStyle: .RegularBodySmall)
public let view = MVMCoreUICommonViewsUtility.commonView()
public let leftVerticalStack: UIStackView
@ -86,9 +86,9 @@ import Foundation
super.reset()
leftVerticalStack.reset()
rightVerticalStack.reset()
leftHeadline.styleBoldBodySmall(true)
leftBody.styleRegularBodySmall(true)
rightLabel.styleRegularBodySmall(true)
rightSubLabel.styleRegularBodySmall(true)
leftHeadline.setFontStyle(.BoldBodySmall)
leftBody.setFontStyle(.RegularBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
rightSubLabel.setFontStyle(.RegularBodySmall)
}
}

View File

@ -10,8 +10,8 @@ import UIKit
@objcMembers open class ListTwoColumnPriceDetails: TableViewCell {
let leftLabel = Label.createLabelRegularBodySmall(true)
let rightLabel = Label.createLabelRegularBodySmall(true)
let leftLabel = Label(fontStyle: .RegularBodySmall)
let rightLabel = Label(fontStyle: .RegularBodySmall)
let view = MVMCoreUICommonViewsUtility.commonView()
// MARK: - MFViewProtocol
@ -44,8 +44,8 @@ import UIKit
super.reset()
leftLabel.reset()
rightLabel.reset()
leftLabel.styleRegularBodySmall(true)
rightLabel.styleRegularBodySmall(true)
leftLabel.setFontStyle(.RegularBodySmall)
rightLabel.setFontStyle(.RegularBodySmall)
}
open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {

View File

@ -14,8 +14,8 @@ import UIKit
// MARK: - Outlets
//-----------------------------------------------------
let progressBar = MultiProgress(frame: .zero)
let leftLabel = Label.createLabelBoldBodySmall(true)
let rightLabel = Label.createLabelBoldBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let rightLabel = Label(fontStyle: .BoldBodySmall)
let view = MVMCoreUICommonViewsUtility.commonView()
//-----------------------------------------------------
@ -66,8 +66,8 @@ import UIKit
progressBar.reset()
leftLabel.reset()
rightLabel.reset()
leftLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -11,10 +11,10 @@ import Foundation
@objcMembers open class ListFourColumnDataUsageDivider: TableViewCell {
// MARK: - MFViewProtocol
let label1 = Label.createLabelBoldBodySmall(true)
let label2 = Label.createLabelBoldBodySmall(true)
let label3 = Label.createLabelBoldBodySmall(true)
let label4 = Label.createLabelBoldBodySmall(true)
let label1 = Label(fontStyle: .BoldBodySmall)
let label2 = Label(fontStyle: .BoldBodySmall)
let label3 = Label(fontStyle: .BoldBodySmall)
let label4 = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
// MARK: - Initializers
@ -55,9 +55,9 @@ import Foundation
// MARK: - MoleculeViewProtocol
open override func reset() {
super.reset()
label1.styleBoldBodySmall(true)
label2.styleBoldBodySmall(true)
label3.styleBoldBodySmall(true)
label4.styleBoldBodySmall(true)
label1.setFontStyle(.BoldBodySmall)
label2.setFontStyle(.BoldBodySmall)
label3.setFontStyle(.BoldBodySmall)
label4.setFontStyle(.BoldBodySmall)
}
}

View File

@ -13,8 +13,8 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
public var stack: Stack<StackModel>
public let headline = Label.createLabelBoldBodySmall(true)
public let body = Label.createLabelRegularBodySmall(true)
public let headline = Label(fontStyle: .BoldBodySmall)
public let body = Label(fontStyle: .RegularBodySmall)
// MARK: - Initializers
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
@ -50,7 +50,7 @@ import Foundation
open override func reset() {
super.reset()
headline.styleBoldBodySmall(true)
body.styleRegularBodySmall(true)
headline.setFontStyle(.BoldBodySmall)
body.setFontStyle(.RegularBodySmall)
}
}

View File

@ -13,8 +13,8 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
public var stack: Stack<StackModel>
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
// MARK: - Initializers
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
@ -50,7 +50,7 @@ import Foundation
open override func reset() {
super.reset()
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
}
}

View File

@ -13,8 +13,8 @@ import Foundation
// MARK: - Outlets
//-----------------------------------------------------
public var stack: Stack<StackModel>
public let headline = Label.createLabelBoldTitleMedium(true)
public let body = Label.createLabelRegularBodySmall(true)
public let headline = Label(fontStyle: .BoldTitleMedium)
public let body = Label(fontStyle: .RegularBodySmall)
// MARK: - Initializers
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
@ -50,7 +50,7 @@ import Foundation
open override func reset() {
super.reset()
headline.styleBoldTitleMedium(true)
body.styleRegularBodySmall(true)
headline.setFontStyle(.BoldTitleMedium)
body.setFontStyle(.RegularBodySmall)
}
}

View File

@ -9,9 +9,9 @@
import Foundation
@objcMembers open class ListThreeColumnBillChangesDivider: TableViewCell {
public let leftLabel = Label.createLabelBoldBodySmall(true)
public let centerLabel = Label.createLabelBoldBodySmall(true)
public let rightLabel = Label.createLabelBoldBodySmall(true)
public let leftLabel = Label(fontStyle: .BoldBodySmall)
public let centerLabel = Label(fontStyle: .BoldBodySmall)
public let rightLabel = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
// MARK: - Initializers
@ -49,8 +49,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
centerLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
centerLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -13,9 +13,9 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
public let leftLabel = Label.createLabelBoldBodySmall(true)
public let centerLabel = Label.createLabelBoldBodySmall(true)
public let rightLabel = Label.createLabelBoldBodySmall(true)
public let leftLabel = Label(fontStyle: .BoldBodySmall)
public let centerLabel = Label(fontStyle: .BoldBodySmall)
public let rightLabel = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
//------------------------------------------------------
@ -54,8 +54,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
centerLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
centerLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -13,9 +13,9 @@ import Foundation
//-----------------------------------------------------
// MARK: - Outlets
//-----------------------------------------------------
let leftLabel = Label.createLabelBoldBodySmall(true)
let centerLabel = Label.createLabelBoldBodySmall(true)
let rightLabel = Label.createLabelBoldBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let centerLabel = Label(fontStyle: .BoldBodySmall)
let rightLabel = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
@ -59,8 +59,8 @@ import Foundation
//-----------------------------------------------------
override open func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
centerLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
centerLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -13,9 +13,9 @@ import Foundation
//-------------------------------------------------------
// MARK: - Outlets
//-------------------------------------------------------
let leftLabel = Label.createLabelBoldBodySmall(true)
let centerLabel = Label.createLabelBoldBodySmall(true)
let rightLabel = Label.createLabelBoldBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let centerLabel = Label(fontStyle: .BoldBodySmall)
let rightLabel = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
//-------------------------------------------------------
@ -56,8 +56,8 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
centerLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
centerLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -13,8 +13,8 @@ import Foundation
//--------------------------------------------------
// MARK: - Outlets
//--------------------------------------------------
let leftLabel = Label.createLabelBoldBodySmall(true)
let rightLabel = Label.createLabelBoldBodySmall(true)
let leftLabel = Label(fontStyle: .BoldBodySmall)
let rightLabel = Label(fontStyle: .BoldBodySmall)
var stack: Stack<StackModel>
//-------------------------------------------------------
@ -56,7 +56,7 @@ import Foundation
open override func reset() {
super.reset()
leftLabel.styleBoldBodySmall(true)
rightLabel.styleBoldBodySmall(true)
leftLabel.setFontStyle(.BoldBodySmall)
rightLabel.setFontStyle(.BoldBodySmall)
}
}

View File

@ -14,7 +14,7 @@ open class ColorViewWithLabel: View {
// MARK: - Properties
//--------------------------------------------------
public var label = Label.createLabelRegularBodySmall(true)
public var label = Label(fontStyle: .RegularBodySmall, true)
public var colorView = View()
private var sizeObject = MFStyler.sizeObjectGeneric(forCurrentDevice: 8)!

View File

@ -15,8 +15,8 @@ open class DoughnutChart: View {
//--------------------------------------------------
public var doughnutLayer = CALayer()
public var titleLabel = Label.createLabelBoldTitleLarge(true)
public var subTitleLabel = Label.createLabelRegularMicro(true)
public var titleLabel = Label(fontStyle: .BoldTitleLarge)
public var subTitleLabel = Label(fontStyle: .RegularMicro)
public var labelContainer = MVMCoreUICommonViewsUtility.commonView()
public static let heightConstant: CGFloat = 136
private var sizeObject = MFStyler.sizeObjectGeneric(forCurrentDevice: heightConstant)!

View File

@ -18,7 +18,7 @@ import UIKit
open override func setupView() {
super.setupView()
headlineBody.headlineLabel.styleBoldBodySmall(true)
headlineBody.headlineLabel.setFontStyle(.BoldBodySmall)
headlineBody.spaceBetweenLabelsConstant = 0
imageView.addSizeConstraintsForAspectRatio = true
@ -43,7 +43,7 @@ import UIKit
open override func reset() {
super.reset()
headlineBody.reset()
headlineBody.headlineLabel.styleBoldBodySmall(true)
headlineBody.headlineLabel.setFontStyle(.BoldBodySmall)
headlineBody.spaceBetweenLabelsConstant = 0
imageView.reset()
}

View File

@ -10,10 +10,10 @@ import UIKit
@objcMembers public class CornerLabels: View {
var middleView: UIView?
let topLeftLabel = Label.createLabelBoldBodySmall(true)
let topRightLabel = Label.createLabelBoldBodySmall(true)
let bottomLeftLabel = Label.createLabelRegularMicro(true)
let bottomRightLabel = Label.createLabelRegularMicro(true)
let topLeftLabel = Label(fontStyle: .BoldBodySmall)
let topRightLabel = Label(fontStyle: .BoldBodySmall)
let bottomLeftLabel = Label(fontStyle: .RegularMicro)
let bottomRightLabel = Label(fontStyle: .RegularMicro)
let topLabelsView = MVMCoreUICommonViewsUtility.commonView()
let bottomLabelsView = MVMCoreUICommonViewsUtility.commonView()
@ -151,10 +151,10 @@ import UIKit
}
func styleDefault() {
topLeftLabel.styleBoldBodySmall(true)
topRightLabel.styleBoldBodySmall(true)
bottomLeftLabel.styleRegularMicro(true)
bottomRightLabel.styleRegularMicro(true)
topLeftLabel.setFontStyle(.BoldBodySmall)
topRightLabel.setFontStyle(.BoldBodySmall)
bottomLeftLabel.setFontStyle(.RegularMicro)
bottomRightLabel.setFontStyle(.RegularMicro)
}
public class func estimatedHeight(forRow json: [AnyHashable : Any]?, delegateObject: MVMCoreUIDelegateObject?) -> CGFloat {

View File

@ -14,7 +14,7 @@ import UIKit
// MARK: - Properties
//--------------------------------------------------
public let label = Label.createLabelBoldBodySmall(true)
public let label = Label(fontStyle: .BoldBodySmall)
public let toggle = Toggle()
//--------------------------------------------------
@ -58,6 +58,6 @@ import UIKit
super.reset()
label.reset()
toggle.reset()
label.styleBoldBodySmall(true)
label.setFontStyle(.BoldBodySmall)
}
}

View File

@ -14,9 +14,9 @@ import UIKit
//--------------------------------------------------
public let stack = Stack<StackModel>(frame: .zero)
public let eyebrow = Label.createLabelRegularMicro(true)
public let headline = Label.createLabelBoldBodySmall(true)
public let body = Label.createLabelRegularBodySmall(true)
public let eyebrow = Label(fontStyle: .RegularMicro)
public let headline = Label(fontStyle: .BoldBodySmall)
public let body = Label(fontStyle: .RegularBodySmall, true)
public let link = Link()
var castModel: EyebrowHeadlineBodyLinkModel? {
@ -48,9 +48,9 @@ import UIKit
open override func reset() {
super.reset()
stack.reset()
eyebrow.styleRegularMicro(true)
headline.styleBoldBodySmall(true)
body.styleRegularBodySmall(true)
eyebrow.setFontStyle(.RegularMicro)
headline.setFontStyle(.BoldBodySmall)
body.setFontStyle(.RegularBodySmall)
}
//--------------------------------------------------

View File

@ -10,8 +10,8 @@ import UIKit
open class HeadlineBody: View {
let headlineLabel = Label.createLabelBoldTitleLarge(true)
let messageLabel = Label.createLabelRegularBodySmall(true)
let headlineLabel = Label(fontStyle: .BoldTitleLarge)
let messageLabel = Label(fontStyle: .RegularBodySmall)
var spaceBetweenLabelsConstant = PaddingOne
var spaceBetweenLabels: NSLayoutConstraint?
var leftConstraintTitle: NSLayoutConstraint?
@ -39,26 +39,26 @@ open class HeadlineBody: View {
}
func styleLandingPageHeader() {
headlineLabel.styleTitle2XLarge(true)
messageLabel.styleRegularBodySmall(true)
headlineLabel.setFontStyle(.Title2XLarge)
messageLabel.setFontStyle(.RegularBodySmall)
spaceBetweenLabelsConstant = PaddingTwo
}
func stylePageHeader() {
headlineLabel.styleBoldTitleLarge(true)
messageLabel.styleRegularBodySmall(true)
headlineLabel.setFontStyle(.BoldTitleLarge)
messageLabel.setFontStyle(.RegularBodySmall)
spaceBetweenLabelsConstant = PaddingOne
}
func styleListItem() {
headlineLabel.styleBoldBodySmall(true)
messageLabel.styleRegularBodySmall(true)
headlineLabel.setFontStyle(.BoldBodySmall)
messageLabel.setFontStyle(.RegularBodySmall)
spaceBetweenLabelsConstant = 0
}
func styleListItemDivider() {
headlineLabel.styleBoldTitleMedium(true)
messageLabel.styleRegularBodySmall(true)
headlineLabel.setFontStyle(.BoldTitleMedium)
messageLabel.setFontStyle(.RegularBodySmall)
spaceBetweenLabelsConstant = 0
}

View File

@ -9,7 +9,7 @@
import Foundation
open class StringAndMoleculeView: View {
var label = Label.createLabelRegularBodySmall(true)
var label = Label(fontStyle: .RegularBodySmall)
var molecule: MoleculeViewProtocol
var leftWidthConstraint: NSLayoutConstraint?

View File

@ -50,15 +50,15 @@ open class MoleculeStackTemplate: ThreeLayerViewController, TemplateProtocol {
}
open override func viewForMiddle() -> UIView? {
guard let moleculeStackModel = templateModel?.moleculeStack else { return nil }
guard let moleculeStackModel = templateModel?.moleculeStack else {
return nil
}
// By default: Stack template stack has vertical space before the first item, dynamic stack items have default horizontal padding.
let stack = MoleculeStackView(frame: .zero)
moleculeStackModel.useStackSpacingBeforeFirstItem = true
if moleculeStackModel.useHorizontalMargins == nil {
moleculeStackModel.useHorizontalMargins = true
for stackItem in moleculeStackModel.molecules {
guard let stackItem = stackItem as? MoleculeStackItemModel,
stackItem.horizontalAlignment == nil else { continue }
stackItem.useHorizontalMargins = true
}
stack.set(with: moleculeStackModel, delegateObject() as? MVMCoreUIDelegateObject, nil)
return stack

View File

@ -98,7 +98,7 @@ open class CollectionViewCell: UICollectionViewCell, MoleculeViewProtocol, MVMCo
}
// MARK: - Override
public func didSelectCell(at index: IndexPath, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable : Any]?) {
open func didSelectCell(at index: IndexPath, delegateObject: MVMCoreUIDelegateObject?, additionalData: [AnyHashable : Any]?) {
guard let action = model?.action else { return }
Button.performButtonAction(with: action, button: self, delegateObject: delegateObject, additionalData: additionalData)
}

View File

@ -0,0 +1,27 @@
//
// UICollectionViewLeftAlignedLayout.swift
// MVMCoreUI
//
// Created by Dhamodaram Nandi on 05/06/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
// Left aligns items and makes the minimumInteritemSpacing absolute.
import Foundation
class UICollectionViewLeftAlignedLayout: UICollectionViewFlowLayout {
override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
guard let attributes = super.layoutAttributesForElements(in: rect) else { return nil }
var newAttributesForElementsInRect = [UICollectionViewLayoutAttributes]()
for attribute in attributes {
if let previousFrame = newAttributesForElementsInRect.last,
MVMCoreGetterUtility.cgfequal(previousFrame.frame.minY, attribute.frame.minY) {
attribute.frame.origin.x = previousFrame.frame.maxX + minimumInteritemSpacing
} else {
attribute.frame.origin.x = 0
}
newAttributesForElementsInRect.append(attribute)
}
return newAttributesForElementsInRect
}
}

View File

@ -263,7 +263,7 @@ import UIKit
// MARK: - TabBar
open func updateTabBar() {
guard MVMCoreUISplitViewController.main()?.getCurrentDetailViewController() == self,
var tabModel = pageModel as? TabPageModelProtocol else { return }
let tabModel = pageModel as? TabPageModelProtocol else { return }
if let index = tabModel.tabBarIndex {
MVMCoreUISplitViewController.main()?.tabBar?.highlightTab(at: index)
}

View File

@ -15,12 +15,12 @@ import MVMCore
// MARK: - Properties
//--------------------------------------------------
static var defaultGroupName: String = "default"
var formRules: [FormGroupRule]?
weak var delegate: FormHolderProtocol?
var fields: [String: FormFieldProtocol] = [:]
var groupWatchers: [FormGroupWatcherFieldProtocol] = []
var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:]
public static var defaultGroupName: String = "default"
public var formRules: [FormGroupRule]?
public weak var delegate: FormHolderProtocol?
public var fields: [String: FormFieldProtocol] = [:]
public var groupWatchers: [FormGroupWatcherFieldProtocol] = []
public var radioButtonsModelByGroup: [String: RadioButtonSelectionHelper] = [:]
//--------------------------------------------------
// MARK: - Initializer