35 lines
1.3 KiB
Swift
35 lines
1.3 KiB
Swift
//
|
|
// MoleculeStackView.swift
|
|
// MVMCoreUI
|
|
//
|
|
// Created by Scott Pfeil on 2/11/19.
|
|
// Copyright © 2019 Verizon Wireless. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
|
|
open class MoleculeStackView: Stack<MoleculeStackModel> {
|
|
override var stackModel: MoleculeStackModel? {
|
|
get { return model as? MoleculeStackModel }
|
|
}
|
|
|
|
/// Convenience function, adds a molecule to a MoleculeStackItem to the MoleculeStack
|
|
func addMolecule(_ view: View, lastItem: Bool) {
|
|
guard let model = view.model else { return }
|
|
let stackItemModel = MoleculeStackItemModel(with: model)
|
|
let stackItem = MoleculeStackItem(andContain: view)
|
|
addView(stackItem, stackItemModel, lastItem: lastItem)
|
|
}
|
|
|
|
// MARK: - Adding to stack
|
|
/// Creates all of the stackItems for the stackItemModels
|
|
override func createStackItemsFromModel(_ model: MoleculeModelProtocol?, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable : Any]?) {
|
|
guard let stackItemModels = stackModel?.molecules else { return }
|
|
for model in stackItemModels {
|
|
if let stackItem = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(model, delegateObject) as? MoleculeStackItem {
|
|
stackItems.append(stackItem)
|
|
}
|
|
}
|
|
}
|
|
}
|