diff --git a/MVMCoreUI/Atoms/Views/MFLoadImageView.swift b/MVMCoreUI/Atoms/Views/MFLoadImageView.swift index e61a5af3..d8415d2d 100644 --- a/MVMCoreUI/Atoms/Views/MFLoadImageView.swift +++ b/MVMCoreUI/Atoms/Views/MFLoadImageView.swift @@ -181,7 +181,7 @@ import UIKit let widthWillChange = !MVMCoreGetterUtility.cgfequal(widthConstraint?.constant ?? 0, width ?? 0) let heightWillChange = !MVMCoreGetterUtility.cgfequal(heightConstraint?.constant ?? 0, height ?? 0) let sizeWillChange = (width == nil || height == nil) && !(size?.equalTo(imageView.image?.size ?? CGSize.zero) ?? false) - let heightChangeFromSpinner = ((height ?? size?.height) ?? 0) < loadingSpinnerHeightConstraint?.constant ?? CGFloat.leastNormalMagnitude + let heightChangeFromSpinner = (heightConstraint?.isActive ?? false) ? false : ((height ?? size?.height) ?? 0) < loadingSpinnerHeightConstraint?.constant ?? CGFloat.leastNormalMagnitude return widthWillChange || heightWillChange || sizeWillChange || heightChangeFromSpinner } diff --git a/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift b/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift index 2fba0e07..0a7f4e55 100644 --- a/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift +++ b/MVMCoreUI/BaseControllers/ThreeLayerTableViewController.swift @@ -37,10 +37,10 @@ open class ThreeLayerTableViewController: ProgrammaticTableViewController { } open override func handleNewData() { + super.handleNewData() createViewForTableHeader() createViewForTableFooter() tableView?.reloadData() - super.handleNewData() } override open func viewDidLoad() { diff --git a/MVMCoreUI/BaseControllers/ViewController.swift b/MVMCoreUI/BaseControllers/ViewController.swift index e44ab353..12169a7c 100644 --- a/MVMCoreUI/BaseControllers/ViewController.swift +++ b/MVMCoreUI/BaseControllers/ViewController.swift @@ -123,24 +123,6 @@ open class ViewController: UIViewController, MVMCoreViewControllerProtocol, MVMC } open func parsePageJSON() throws { - // Convert legacy to navigation model. - if pageModel?.navigationItem == nil { - let navigationModel = NavigationItemModel() - if navigationModel.title == nil { - navigationModel.title = pageModel?.screenHeading - } - if navigationModel.showLeftPanelButton == nil { - navigationModel.showLeftPanelButton = isMasterInitiallyAccessible() - } - if navigationModel.showRightPanelButton == nil { - navigationModel.showRightPanelButton = isSupportInitiallyAccessible() - } - pageModel?.navigationItem = navigationModel - } - if self.formValidator == nil { - let rules = pageModel?.formRules - self.formValidator = FormValidator(rules) - } } open class func verifyRequiredModulesLoaded(for loadObject: MVMCoreLoadObject?, error: inout MVMCoreErrorObject?) -> Bool { @@ -173,7 +155,24 @@ open class ViewController: UIViewController, MVMCoreViewControllerProtocol, MVMC /// Processes any new data. Called after the page is loaded the first time and on response updates for this page, open func handleNewData() { - formValidator?.validate() + // Convert legacy to navigation model. + if pageModel?.navigationItem == nil { + let navigationModel = NavigationItemModel() + if navigationModel.title == nil { + navigationModel.title = pageModel?.screenHeading + } + if navigationModel.showLeftPanelButton == nil { + navigationModel.showLeftPanelButton = isMasterInitiallyAccessible() + } + if navigationModel.showRightPanelButton == nil { + navigationModel.showRightPanelButton = isSupportInitiallyAccessible() + } + pageModel?.navigationItem = navigationModel + } + if self.formValidator == nil { + let rules = pageModel?.formRules + self.formValidator = FormValidator(rules) + } } // MARK: - Navigation Item (Move to model base) @@ -257,6 +256,7 @@ open class ViewController: UIViewController, MVMCoreViewControllerProtocol, MVMC } open func updateViews() { + formValidator?.validate() } override open func viewDidLoad() { @@ -312,7 +312,7 @@ open class ViewController: UIViewController, MVMCoreViewControllerProtocol, MVMC if manager == nil { MVMCoreUISession.sharedGlobal()?.currentPageType = pageType - MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self) + //MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self) } } @@ -341,7 +341,7 @@ open class ViewController: UIViewController, MVMCoreViewControllerProtocol, MVMC set(navigationController: manager.navigationController) } MVMCoreUISession.sharedGlobal()?.currentPageType = pageType - MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self) + //MVMCoreUILoggingHandler.shared()?.defaultLogPageState(forController: self) } // MARK: - MVMCoreActionDelegateProtocol diff --git a/MVMCoreUI/Templates/ListPageTemplateModel.swift b/MVMCoreUI/Templates/ListPageTemplateModel.swift index 99e87809..db25742b 100644 --- a/MVMCoreUI/Templates/ListPageTemplateModel.swift +++ b/MVMCoreUI/Templates/ListPageTemplateModel.swift @@ -8,7 +8,7 @@ import Foundation -@objcMembers public class ListPageTemplateModel: TemplateModelProtocol { +@objcMembers public class ListPageTemplateModel: MVMControllerModelProtocol { public var formRules: [FormGroupRule]? public var formValidator: FormValidator? diff --git a/MVMCoreUI/Templates/MoleculeListTemplate.swift b/MVMCoreUI/Templates/MoleculeListTemplate.swift index 8cff8cd8..84b88fd4 100644 --- a/MVMCoreUI/Templates/MoleculeListTemplate.swift +++ b/MVMCoreUI/Templates/MoleculeListTemplate.swift @@ -81,9 +81,9 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol } open override func handleNewData() { + super.handleNewData() setup() registerWithTable() - super.handleNewData() } //-------------------------------------------------- diff --git a/MVMCoreUI/Templates/StackCenteredPageTemplateModel.swift b/MVMCoreUI/Templates/StackCenteredPageTemplateModel.swift index f3bde0e7..49fb67c5 100644 --- a/MVMCoreUI/Templates/StackCenteredPageTemplateModel.swift +++ b/MVMCoreUI/Templates/StackCenteredPageTemplateModel.swift @@ -8,7 +8,7 @@ import Foundation -@objcMembers public class StackCenteredPageTemplateModel: TemplateModelProtocol { +@objcMembers public class StackCenteredPageTemplateModel: MVMControllerModelProtocol { public var formRules: [FormGroupRule]? public var formValidator: FormValidator? diff --git a/MVMCoreUI/Templates/ThreeLayerPageTemplateModel.swift b/MVMCoreUI/Templates/ThreeLayerPageTemplateModel.swift index fff9bdb8..b745cb0f 100644 --- a/MVMCoreUI/Templates/ThreeLayerPageTemplateModel.swift +++ b/MVMCoreUI/Templates/ThreeLayerPageTemplateModel.swift @@ -8,7 +8,7 @@ import Foundation -@objcMembers public class ThreeLayerPageTemplateModel: TemplateModelProtocol { +@objcMembers public class ThreeLayerPageTemplateModel: MVMControllerModelProtocol { public var formRules: [FormGroupRule]? public var formValidator: FormValidator?