mvm_core_ui/MVMCoreUI/Templates/ThreeLayerTemplate.swift
Pfeil, Scott Robert 87fb08fb72 Navigation model
2020-03-16 09:15:49 -04:00

65 lines
1.9 KiB
Swift

//
// 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
}
}