Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/monarch
This commit is contained in:
commit
056e56c15d
@ -771,6 +771,8 @@
|
||||
5822720A2B1FC55F00F75BAE /* RotorHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RotorHandler.swift; sourceTree = "<group>"; };
|
||||
5846ABF52B4762A600FA6C76 /* PollingBehaviorModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PollingBehaviorModel.swift; sourceTree = "<group>"; };
|
||||
5870636E2ACF238E00CA18D5 /* ReadableDecodingErrors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadableDecodingErrors.swift; sourceTree = "<group>"; };
|
||||
5878F0A42BD7E68800ADE23D /* mvmcoreui.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = mvmcoreui.xcconfig; sourceTree = "<group>"; };
|
||||
5878F0A52BD7E6BE00ADE23D /* mvmcoreui_dev.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = mvmcoreui_dev.xcconfig; sourceTree = "<group>"; };
|
||||
58A9DD7C2AC2103300F5E0B0 /* ReplaceableMoleculeBehaviorModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReplaceableMoleculeBehaviorModel.swift; sourceTree = "<group>"; };
|
||||
608211262AC6AF8200C3FC39 /* MVMCoreUILoggingHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MVMCoreUILoggingHandler.swift; sourceTree = "<group>"; };
|
||||
8D070BAF241B56530099AC56 /* ListRightVariableTotalDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListRightVariableTotalDataModel.swift; sourceTree = "<group>"; };
|
||||
@ -2345,6 +2347,8 @@
|
||||
D29DF31421ECECA7003B2FB9 /* SupportingFiles */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5878F0A52BD7E6BE00ADE23D /* mvmcoreui_dev.xcconfig */,
|
||||
5878F0A42BD7E68800ADE23D /* mvmcoreui.xcconfig */,
|
||||
D29DF32721EE8736003B2FB9 /* Strings */,
|
||||
D29DF26621E6A9E4003B2FB9 /* ThirdParty */,
|
||||
D29DF31521ECECC0003B2FB9 /* Fonts */,
|
||||
@ -3230,6 +3234,7 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
D29DF0D221E404D4003B2FB9 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 5878F0A52BD7E6BE00ADE23D /* mvmcoreui_dev.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||
@ -3288,7 +3293,7 @@
|
||||
MTL_FAST_MATH = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
@ -3297,6 +3302,7 @@
|
||||
};
|
||||
D29DF0D321E404D4003B2FB9 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 5878F0A42BD7E68800ADE23D /* mvmcoreui.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
|
||||
|
||||
@ -22,7 +22,8 @@ public protocol MoleculeDelegateProtocol: AnyObject {
|
||||
/// Notifies the delegate that the molecule layout update. Should be called when the layout may change due to an async method. Mainly used for list or collections.
|
||||
func moleculeLayoutUpdated(_ molecule: MoleculeViewProtocol) //optional
|
||||
|
||||
func replaceMoleculeData(_ moleculeModels: [MoleculeModelProtocol])
|
||||
/// Attempts to replace the molecules provided. Returns the ones that replaced successfully.
|
||||
func replaceMoleculeData(_ moleculeModels: [MoleculeModelProtocol], completionHandler: (([MoleculeModelProtocol])->Void)?)
|
||||
}
|
||||
|
||||
extension MoleculeDelegateProtocol {
|
||||
|
||||
@ -511,7 +511,7 @@ import MVMCore
|
||||
// Needed otherwise when subclassed, the extension gets called.
|
||||
open func moleculeLayoutUpdated(_ molecule: MoleculeViewProtocol) { }
|
||||
|
||||
public func replaceMoleculeData(_ moleculeModels: [MoleculeModelProtocol]) {
|
||||
public func replaceMoleculeData(_ moleculeModels: [MoleculeModelProtocol], completionHandler: (([MoleculeModelProtocol])->Void)? = nil) {
|
||||
pageUpdateQueue.addOperation {
|
||||
let replacedModels:[MoleculeModelProtocol] = moleculeModels.compactMap { model in
|
||||
guard self.attemptToReplace(with: model) else {
|
||||
@ -524,6 +524,7 @@ import MVMCore
|
||||
self.updateUI(for: replacedModels)
|
||||
}
|
||||
}
|
||||
completionHandler?(replacedModels)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -21,8 +21,6 @@ public class ReplaceableMoleculeBehavior: PageMoleculeTransformationBehavior {
|
||||
private var observingForResponses: NSObjectProtocol?
|
||||
private var delegateObject: MVMCoreUIDelegateObject?
|
||||
|
||||
public var transcendsPageUpdates: Bool { true }
|
||||
|
||||
public required init(model: PageBehaviorModelProtocol, delegateObject: MVMCoreUIDelegateObject?) {
|
||||
moleculeIds = (model as! ReplaceableMoleculeBehaviorModel).moleculeIds
|
||||
let shouldListenForListUpdates = delegateObject?.moleculeListDelegate != nil
|
||||
@ -62,7 +60,7 @@ public class ReplaceableMoleculeBehavior: PageMoleculeTransformationBehavior {
|
||||
}
|
||||
}
|
||||
if moleculeModels.count > 0 {
|
||||
delegateObject?.moleculeDelegate?.replaceMoleculeData(moleculeModels)
|
||||
delegateObject?.moleculeDelegate?.replaceMoleculeData(moleculeModels, completionHandler: nil)
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,8 +93,15 @@ public class ReplaceableMoleculeBehavior: PageMoleculeTransformationBehavior {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
if modules.count > 0 {
|
||||
delegateObject?.moleculeDelegate?.replaceMoleculeData(modules)
|
||||
guard modules.count > 0 else { return }
|
||||
#if LOGGING
|
||||
let requestParams = (notification.userInfo?["MVMCoreLoadObject"] as? MVMCoreLoadObject)?.requestParameters
|
||||
MVMCoreLoggingHandler.shared()?.handleDebugMessage("Replacing \(modules.map { $0.id }) from \(requestParams?.url?.absoluteString ?? "unknown"), e2eId: \(requestParams?.identifier ?? "unknown")")
|
||||
#endif
|
||||
delegateObject?.moleculeDelegate?.replaceMoleculeData(modules) { replacedModels in
|
||||
let modules = replacedModels.compactMap { modulesLoaded.dictionaryForKey($0.id) }
|
||||
guard let viewController = self.delegateObject?.moleculeDelegate as? MVMCoreViewControllerProtocol else { return }
|
||||
modules.forEach { MVMCoreUILoggingHandler.shared()?.defaultLogPageUpdate(forController: viewController, from: $0) }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -13,4 +13,7 @@
|
||||
|
||||
// Action Logging
|
||||
@objc open func defaultLogAction(forController controller: MVMCoreViewControllerProtocol?, actionInformation: [AnyHashable : Any]?, additionalData: [AnyHashable : Any]?) { }
|
||||
|
||||
// Module Update Logging
|
||||
@objc open func defaultLogPageUpdate(forController controller: MVMCoreViewControllerProtocol, from module: [AnyHashable: Any]) { }
|
||||
}
|
||||
|
||||
13
MVMCoreUI/SupportingFiles/mvmcoreui.xcconfig
Normal file
13
MVMCoreUI/SupportingFiles/mvmcoreui.xcconfig
Normal file
@ -0,0 +1,13 @@
|
||||
//
|
||||
// mvmcore_ui.xcconfig
|
||||
// MVMCoreUI
|
||||
//
|
||||
// Created by Kyle Hedden on 4/23/24.
|
||||
// Copyright © 2024 Verizon Wireless. All rights reserved.
|
||||
//
|
||||
|
||||
// Configuration settings file format documentation can be found at:
|
||||
// https://help.apple.com/xcode/#/dev745c5c974
|
||||
|
||||
// Refer back to the workspace settings if they exist.
|
||||
#include? "../../../workspaceSettings.xcconfig"
|
||||
16
MVMCoreUI/SupportingFiles/mvmcoreui_dev.xcconfig
Normal file
16
MVMCoreUI/SupportingFiles/mvmcoreui_dev.xcconfig
Normal file
@ -0,0 +1,16 @@
|
||||
//
|
||||
// mvmcore_ui_dev.xcconfig
|
||||
// MVMCoreUI
|
||||
//
|
||||
// Created by Kyle Hedden on 4/23/24.
|
||||
// Copyright © 2024 Verizon Wireless. All rights reserved.
|
||||
//
|
||||
|
||||
// Configuration settings file format documentation can be found at:
|
||||
// https://help.apple.com/xcode/#/dev745c5c974
|
||||
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited) LOGGING
|
||||
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) LOGGING=1
|
||||
|
||||
// Refer back to the workspace settings if they exist.
|
||||
#include? "../../../workspaceSettings.xcconfig"
|
||||
Loading…
Reference in New Issue
Block a user