// // ThreeLayerTemplate.swift // MVMCoreUI // // Created by Scott Pfeil on 7/23/19. // Copyright © 2019 Verizon Wireless. All rights reserved. // import UIKit @objcMembers open class ThreeLayerTemplate: ThreeLayerViewController, TemplateProtocol { public var templateModel: ThreeLayerPageTemplateModel? @objc public override func parsePageJSON() throws { try parseTemplateJSON() } override open func viewDidLoad() { super.viewDidLoad() bottomViewOutsideOfScroll = true // Do any additional setup after loading the view. } open override func newDataBuildScreen() { super.newDataBuildScreen() heightConstraint?.isActive = true } open override func viewForTop() -> UIView? { guard let headerModel = templateModel?.header, let molecule = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(headerModel, delegateObject() as? MVMCoreUIDelegateObject, false) else { return nil } return molecule } open override func viewForMiddle() -> UIView? { guard let middleModel = templateModel?.middle, let molecule = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(middleModel, delegateObject() as? MVMCoreUIDelegateObject, false) else { return nil } return molecule } override open func viewForBottom() -> UIView? { guard let footerModel = templateModel?.footer, let molecule = MVMCoreUIMoleculeMappingObject.shared()?.createMolecule(footerModel, delegateObject() as? MVMCoreUIDelegateObject, false) else { return nil } return molecule } open override func spaceBetweenMiddleAndBottom() -> CGFloat? { return 0 } open override func spaceBetweenTopAndMiddle() -> CGFloat? { return 0 } }