From 75104dbe4d31dfd9ca21db006dfd4bfb0552426a Mon Sep 17 00:00:00 2001 From: "Hedden, Kyle Matthew" Date: Mon, 20 May 2024 23:16:16 -0400 Subject: [PATCH] Digital PCT265 story PCT-135: Revert onPageNew signature change. --- MVMCoreUI/Accessibility/AccessibilityHandler.swift | 3 +-- MVMCoreUI/BaseControllers/ViewController.swift | 3 +++ .../Behaviors/Protocols/PageBehaviorProtocol.swift | 10 +++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/MVMCoreUI/Accessibility/AccessibilityHandler.swift b/MVMCoreUI/Accessibility/AccessibilityHandler.swift index 76e556e6..65ae8272 100644 --- a/MVMCoreUI/Accessibility/AccessibilityHandler.swift +++ b/MVMCoreUI/Accessibility/AccessibilityHandler.swift @@ -261,9 +261,8 @@ open class AccessibilityHandlerBehavior: PageVisibilityBehavior, PageMoleculeTra accessibilityHandler = AccessibilityHandler.shared() //Protocol Mandatory init method. } - open func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) -> [MoleculeModelProtocol]? { + open func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) { accessibilityHandler?.onPageNew(rootMolecules: rootMolecules, delegateObject) - return nil } open func willShowPage(_ delegateObject: MVMCoreUIDelegateObject?) { diff --git a/MVMCoreUI/BaseControllers/ViewController.swift b/MVMCoreUI/BaseControllers/ViewController.swift index 06e3b0f0..1579a790 100644 --- a/MVMCoreUI/BaseControllers/ViewController.swift +++ b/MVMCoreUI/BaseControllers/ViewController.swift @@ -263,6 +263,9 @@ import MVMCore if let replaced = try? newTemplateModel.replaceChildMolecule(with: molecule) { // Only recognize the molecules that actually changed. debugLog("Behavior updated \(changes) in template model.") + changes = changes.filter({ model in + behaviorUpdatedModels.contains { $0.id == model.id } + }) behaviorUpdatedModels.append(contentsOf: changes) } else { debugLog("Failed to replace \(molecule) in the template model.") diff --git a/MVMCoreUI/Behaviors/Protocols/PageBehaviorProtocol.swift b/MVMCoreUI/Behaviors/Protocols/PageBehaviorProtocol.swift index 39c72661..9fa84f17 100644 --- a/MVMCoreUI/Behaviors/Protocols/PageBehaviorProtocol.swift +++ b/MVMCoreUI/Behaviors/Protocols/PageBehaviorProtocol.swift @@ -30,7 +30,7 @@ public extension PageBehaviorProtocol { */ public protocol PageMoleculeTransformationBehavior: PageBehaviorProtocol { - func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) -> [MoleculeModelProtocol]? + func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?, changes: inout [MoleculeModelProtocol]) -> [MoleculeModelProtocol]? func willSetupMolecule(with model: MoleculeModelProtocol, updating view: MoleculeViewProtocol?) func didSetupMolecule(view: MoleculeViewProtocol, withModel: MoleculeModelProtocol) @@ -42,11 +42,11 @@ public protocol PageMoleculeTransformationBehavior: PageBehaviorProtocol { public extension PageMoleculeTransformationBehavior { // All optional. - func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) -> [MoleculeModelProtocol]? { - var changes = [any MoleculeModelProtocol]() - return onPageNew(rootMolecules: rootMolecules, delegateObject, changes: &changes) + func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?) {} + func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?, changes: inout [MoleculeModelProtocol]) -> [MoleculeModelProtocol]? { + onPageNew(rootMolecules: rootMolecules, delegateObject) // Call the original signature. + return nil // Don't return any tranformations. } - func onPageNew(rootMolecules: [MoleculeModelProtocol], _ delegateObject: MVMCoreUIDelegateObject?, changes: inout [MoleculeModelProtocol]) -> [MoleculeModelProtocol]? { return nil } func willSetupMolecule(with model: MoleculeModelProtocol, updating view: MoleculeViewProtocol?) {} func didSetupMolecule(view: MoleculeViewProtocol, withModel: MoleculeModelProtocol) {} func willSetupNavigationBar(with model: NavigationItemModelProtocol, updating view: UINavigationBar) {}