// // 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 func validate() { } public var templateModel: ThreeLayerPageTemplateModel? open override func parsePageJSON() throws { try parseTemplate(json: loadObject?.pageJSON) try super.parsePageJSON() } override open func viewDidLoad() { super.viewDidLoad() bottomViewOutsideOfScroll = true // Do any additional setup after loading the view. } open override func handleNewData() { super.handleNewData() 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 } }