mvm_core_ui/MVMCoreUI/Organisms/MoleculeStackView.swift
Pfeil, Scott Robert f5ed509a39 renaming
2020-01-21 15:33:27 -05:00

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)
}
}
}
}