diff --git a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift index cc76ef34..61669200 100644 --- a/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift +++ b/MVMCoreUI/Atomic/Templates/MoleculeListTemplate.swift @@ -203,17 +203,12 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol open func newData(for molecule: MoleculeModelProtocol) { - //Update the header - if updateHeaderFooter(modelView: topView, molecule: molecule) { + //Check header and footer if replace happens then return. + if updateMoleculeViewById(topView, with: molecule) || + updateMoleculeViewById(bottomView, with: molecule) { return } - //Update the footer - if updateHeaderFooter(modelView: bottomView, molecule: molecule) { - return - } - - //TODO: expand for navigation, etc guard let moleculesInfo = moleculesInfo else { return } let indicies = moleculesInfo.indices.filter({ index -> Bool in @@ -233,10 +228,10 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol } } - ///Helper functions to update the header/footer view - private func updateHeaderFooter(modelView: UIView?, molecule: MoleculeModelProtocol) -> Bool { - if let updateView = modelView, - let moleculeView = MVMCoreUIUtility.findViews(by: MoleculeViewProtocol.self, views: [updateView]).first(where: { $0.model?.moleculeName == molecule.moleculeName && $0.model?.id == molecule.id }) { + ///Helper functions to update view with molecule + private func updateMoleculeViewById(_ view: UIView?, with molecule: MoleculeModelProtocol) -> Bool { + if let updateView = view, + let moleculeView = MVMCoreUIUtility.findViews(by: MoleculeViewProtocol.self, views: [updateView]).first(where: { $0.model?.moleculeName == molecule.moleculeName && $0.model?.id == molecule.id }) { updateMoleculeView(moleculeView, from: molecule) return true }