updated nameforreuse
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
9292e6a8d0
commit
e25a0cadc1
@ -42,7 +42,8 @@ open class TileContainer: VDS.TileContainer, VDSMoleculeViewProtocol{
|
||||
public func viewModelDidUpdate() {
|
||||
|
||||
if let moleculeModel = viewModel.molecule {
|
||||
if let molecule {
|
||||
if let molecule,
|
||||
moleculeModel.moleculeName == molecule.model?.moleculeName {
|
||||
molecule.set(with: moleculeModel, delegateObject, additionalData)
|
||||
} else if let moleculeView = ModelRegistry.createMolecule(moleculeModel, delegateObject: delegateObject, additionalData: additionalData) {
|
||||
molecule = moleculeView
|
||||
@ -106,10 +107,13 @@ open class TileContainer: VDS.TileContainer, VDSMoleculeViewProtocol{
|
||||
/// Allows the molecule to set its name for reuse. Default could be moleculeName. Mainly used for list or collections.
|
||||
public static func nameForReuse(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> String? {
|
||||
// This will aggregate names of molecules to make an id.
|
||||
guard let model = model as? ButtonGroupModel else {
|
||||
return "tileContainer<>"
|
||||
}
|
||||
return "tileContainer<\(model.moleculeName)>"
|
||||
guard let containerModel = model as? TileContainerModel,
|
||||
let molecule = containerModel.molecule,
|
||||
let moleculeClass = ModelRegistry.getMoleculeClass(molecule),
|
||||
let moleculeName = moleculeClass.nameForReuse(with: molecule, delegateObject)
|
||||
else { return "\(model.moleculeName)<>" }
|
||||
|
||||
return "\(model.moleculeName)<\(moleculeName)>"
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
Loading…
Reference in New Issue
Block a user