Merge branch 'develop' into feature/text_view_atom

This commit is contained in:
Kevin G Christiano 2020-04-08 08:59:55 -04:00
commit be61cba8e8
5 changed files with 27 additions and 29 deletions

View File

@ -92,12 +92,8 @@ import UIKit
MVMCoreDispatchUtility.performBlock(onMainThread: {
self.handleNewDataAndUpdateUI()
// If the screen is showing, can update the navigation controller.
if let navigationController = self.manager?.navigationController,
self.manager!.getCurrentViewController() == self {
self.set(navigationController: navigationController)
} else if let navigationController = self.navigationController,
self == MVMCoreUIUtility.getCurrentVisibleController() {
self.set(navigationController: navigationController)
if MVMCoreUIUtility.getCurrentVisibleController() == self.manager ?? self {
self.setNavigationController()
}
})
} catch {
@ -177,18 +173,19 @@ import UIKit
}
// MARK: - Navigation Item (Move to model base)
open func set(navigationController: UINavigationController?) {
open func setNavigationController() {
guard let navigationItemModel = pageModel?.navigationItem,
let navigationController = navigationController else {
let navigationController = manager?.navigationController ?? navigationController else {
MVMCoreUISession.sharedGlobal()?.splitViewController?.parent?.setNeedsStatusBarAppearanceUpdate()
return
}
let viewController = manager ?? self
if navigationController == MVMCoreUISplitViewController.main()?.navigationController,
navigationController.topViewController == self {
navigationController.topViewController == viewController {
MVMCoreUISession.sharedGlobal()?.splitViewController?.setupPanels()
showBottomProgressBar()
}
NavigationController.set(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: self)
NavigationController.set(navigationController: navigationController, navigationItemModel: navigationItemModel, viewController: viewController)
}
// Eventually will be moved to server
@ -294,10 +291,8 @@ import UIKit
open override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Update the navigation bar ui when view is appearing unless in a manager. The manager is expected to handle.
if manager == nil {
set(navigationController: navigationController)
}
// Update the navigation bar ui when view is appearing
setNavigationController()
}
open override func viewDidAppear(_ animated: Bool) {
@ -330,9 +325,6 @@ import UIKit
// MARK: - MVMCoreViewManagerViewControllerProtocol
open func viewControllerReady(inManager manager: UIViewController & MVMCoreViewManagerProtocol) {
if initialLoadFinished {
set(navigationController: manager.navigationController)
}
// Janky way to track current page.
MVMCoreUISession.sharedGlobal()?.currentPageType = pageType
MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self)

View File

@ -24,6 +24,7 @@
+ (nonnull UIColor *)mvmOrange;
+ (nonnull UIColor *)mfPumpkinColor;
+ (nonnull UIColor *)mfShamrock;
+ (nonnull UIColor *)mvmGreen;
+ (nonnull UIColor *)mfCerulean;
+ (nonnull UIColor *)mfWhiteTwo;

View File

@ -61,6 +61,10 @@
return [UIColor mfColor8bitsWithRed:0 green:134 blue:49 alpha:1.0];
}
+ (nonnull UIColor *)mvmGreen {
return [UIColor mfColor8bitsWithRed:0 green:134 blue:48 alpha:1.0];
}
+ (nonnull UIColor *)mfCerulean {
return [UIColor mfColor8bitsWithRed:0 green:122 blue:184 alpha:1.0];
}

View File

@ -40,7 +40,7 @@ import UIKit
return navigationController
}
public static func set(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: (UIViewController & MVMCoreViewControllerProtocol)) {
public static func set(navigationController: UINavigationController, navigationItemModel: NavigationItemModelProtocol, viewController: UIViewController) {
viewController.navigationItem.title = navigationItemModel.title
viewController.navigationItem.accessibilityLabel = navigationItemModel.title
viewController.navigationItem.hidesBackButton = !navigationItemModel.systemBackButton
@ -58,7 +58,7 @@ import UIKit
if navigationController == MVMCoreUISession.sharedGlobal()?.navigationController,
navigationController.topViewController == viewController {
// Update line.
MVMCoreUISession.sharedGlobal()?.navigationController?.separatorView?.set(with: navigationItemModel.line ?? LineModel(type: .standard), viewController.delegateObject?() as? MVMCoreUIDelegateObject, nil)
MVMCoreUISession.sharedGlobal()?.navigationController?.separatorView?.setStyle(navigationItemModel.line?.type ?? .standard)
}
if navigationController == MVMCoreUISplitViewController.main()?.navigationController,

View File

@ -153,11 +153,11 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)leftPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
UIViewController *detailViewController = [self getCurrentDetailViewController];
// If Viewcontroller confirms to protocol and implements the the method leftPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [viewController respondsToSelector:@selector(isOverridingLeftButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingLeftButton]) {
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [detailViewController respondsToSelector:@selector(isOverridingLeftButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) isOverridingLeftButton]) {
return;
}
@ -175,9 +175,9 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)backButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)] && [viewController respondsToSelector:@selector(backButtonPressed)]) {
[((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) backButtonPressed];
UIViewController *detailViewController = [self getCurrentDetailViewController];
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)] && [detailViewController respondsToSelector:@selector(backButtonPressed)]) {
[((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) backButtonPressed];
} else {
[[MVMCoreNavigationHandler sharedNavigationHandler] popTopViewControllerAnimated:YES];
}
@ -187,11 +187,12 @@ CGFloat const PanelAnimationDuration = 0.2;
- (IBAction)rightPanelButtonPressed:(id)sender {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIViewController *viewController = self.navigationController.topViewController;
UIViewController *detailViewController = [self getCurrentDetailViewController];
// If Viewcontroller confirms to protocol and implements the the method rightPanelButtonPressed
if ([viewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [viewController respondsToSelector:@selector(isOverridingRightButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)viewController) isOverridingRightButton]) {
if ([detailViewController conformsToProtocol:@protocol(MVMCoreUIDetailViewProtocol)]
&& [detailViewController respondsToSelector:@selector(isOverridingRightButton)]
&& [((UIViewController <MVMCoreUIDetailViewProtocol> *)detailViewController) isOverridingRightButton]) {
return;
}