updated nameforreuse

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-04-25 09:55:50 -05:00
parent 9292e6a8d0
commit e25a0cadc1

View File

@ -42,7 +42,8 @@ open class TileContainer: VDS.TileContainer, VDSMoleculeViewProtocol{
public func viewModelDidUpdate() { public func viewModelDidUpdate() {
if let moleculeModel = viewModel.molecule { if let moleculeModel = viewModel.molecule {
if let molecule { if let molecule,
moleculeModel.moleculeName == molecule.model?.moleculeName {
molecule.set(with: moleculeModel, delegateObject, additionalData) molecule.set(with: moleculeModel, delegateObject, additionalData)
} else if let moleculeView = ModelRegistry.createMolecule(moleculeModel, delegateObject: delegateObject, additionalData: additionalData) { } else if let moleculeView = ModelRegistry.createMolecule(moleculeModel, delegateObject: delegateObject, additionalData: additionalData) {
molecule = moleculeView 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. /// 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? { public static func nameForReuse(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> String? {
// This will aggregate names of molecules to make an id. // This will aggregate names of molecules to make an id.
guard let model = model as? ButtonGroupModel else { guard let containerModel = model as? TileContainerModel,
return "tileContainer<>" let molecule = containerModel.molecule,
} let moleculeClass = ModelRegistry.getMoleculeClass(molecule),
return "tileContainer<\(model.moleculeName)>" let moleculeName = moleculeClass.nameForReuse(with: molecule, delegateObject)
else { return "\(model.moleculeName)<>" }
return "\(model.moleculeName)<\(moleculeName)>"
} }
//-------------------------------------------------- //--------------------------------------------------