Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/unified_grid

This commit is contained in:
Pfeil, Scott Robert 2021-04-08 14:03:25 -04:00
commit 6755965e24
2 changed files with 14 additions and 1 deletions

View File

@ -80,6 +80,7 @@
// MARK: - UITabBarDelegate
public func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
guard item.tag != tabBar.selectedItem?.tag else { return }
self.model.selectedTab = item.tag
Button.performButtonAction(with: model.tabs[item.tag].action, button: item, delegateObject: delegateObject, additionalData: nil)
}
@ -95,7 +96,8 @@
public func selectTab(at index: Int) {
MVMCoreDispatchUtility.performBlock(onMainThread: {
guard let newSelectedItem = self.items?[index] else { return }
guard index != self.selectedItem?.tag,
let newSelectedItem = self.items?[index] else { return }
self.selectedItem = newSelectedItem
self.tabBar(self, didSelect: newSelectedItem)
})

View File

@ -21,6 +21,8 @@ public extension MoleculeModelProtocol {
static var categoryCodingKey: String { "moleculeName" }
}
// Helpers made due to swift not able to reconcile which category.
extension KeyedDecodingContainer where Key: CodingKey {
/// Decodes to a registered molecule based on the identifier
public func decodeMoleculeIfPresent<T>(codingKey: KeyedDecodingContainer<K>.Key) throws -> T? {
@ -33,6 +35,15 @@ extension KeyedDecodingContainer where Key: CodingKey {
}
return modelT
}
/// Decodes to a registered molecule based on the identifier.
public func decodeMolecule<T>(codingKey: KeyedDecodingContainer<K>.Key) throws -> T {
guard let model: T = try decodeMoleculeIfPresent(codingKey: codingKey) else {
MVMCoreLoggingHandler.logDebugMessage(withDelegate: "ModelRegistry Error decoderErrorObjectNotPresent: \(codingKey.stringValue)")
throw ModelRegistry.Error.decoderErrorObjectNotPresent(codingKey: codingKey, codingPath: codingPath)
}
return model
}
}
public extension MoleculeModelProtocol {