tabsListItem parent protocol conformance
This commit is contained in:
parent
1cb490f822
commit
91081cf6a6
@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
|
||||
|
||||
public class TabsListItemModel: ListItemModel, MoleculeModelProtocol {
|
||||
public class TabsListItemModel: ListItemModel, ParentMoleculeModelProtocol {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
@ -19,6 +19,23 @@ public class TabsListItemModel: ListItemModel, MoleculeModelProtocol {
|
||||
var molecules: [[ListItemModelProtocol & MoleculeModelProtocol]]
|
||||
private var addedMolecules: [ListItemModelProtocol & MoleculeModelProtocol]?
|
||||
|
||||
public var children: [MoleculeModelProtocol] {
|
||||
return molecules.flatMap { $0 }
|
||||
}
|
||||
|
||||
public func replaceChildMolecule(with replacementMolecule: MoleculeModelProtocol) throws -> Bool {
|
||||
guard let replacementMolecule = replacementMolecule as? ListItemModelProtocol & MoleculeModelProtocol else { return false }
|
||||
for (tabIndex, _) in molecules.enumerated() {
|
||||
for (elementIndex, _) in molecules[tabIndex].enumerated() {
|
||||
if molecules[tabIndex][elementIndex].id == replacementMolecule.id {
|
||||
molecules[tabIndex][elementIndex] = replacementMolecule
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Keys
|
||||
//--------------------------------------------------
|
||||
|
||||
Loading…
Reference in New Issue
Block a user