adding modal class specific models
This commit is contained in:
parent
77be31f47f
commit
0ee938cf57
@ -105,6 +105,8 @@
|
||||
0A9D09212433796500D2E6C0 /* CarouselIndicatorModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A9D091B2433796500D2E6C0 /* CarouselIndicatorModel.swift */; };
|
||||
0A9D09222433796500D2E6C0 /* CarouselIndicator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A9D091C2433796500D2E6C0 /* CarouselIndicator.swift */; };
|
||||
0AA33B3A2398524F0067DD0F /* Toggle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA33B392398524F0067DD0F /* Toggle.swift */; };
|
||||
0AB000BA24BF63490090C5E7 /* ModalListPageTemplateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB000B924BF63490090C5E7 /* ModalListPageTemplateModel.swift */; };
|
||||
0AB000BC24BF64A50090C5E7 /* ModalStackPageTemplateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB000BB24BF64A50090C5E7 /* ModalStackPageTemplateModel.swift */; };
|
||||
0AB764D124460F6300E7FE72 /* UIDatePicker+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */; };
|
||||
0AB764D324460FA400E7FE72 /* UIPickerView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AB764D224460FA400E7FE72 /* UIPickerView+Extension.swift */; };
|
||||
0ABD136D237CAD1E0081388D /* DateDropdownEntryField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0ABD136C237CAD1E0081388D /* DateDropdownEntryField.swift */; };
|
||||
@ -568,6 +570,8 @@
|
||||
0A9D091C2433796500D2E6C0 /* CarouselIndicator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CarouselIndicator.swift; sourceTree = "<group>"; };
|
||||
0AA33B33239813C50067DD0F /* UIColor+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extension.swift"; sourceTree = "<group>"; };
|
||||
0AA33B392398524F0067DD0F /* Toggle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Toggle.swift; sourceTree = "<group>"; };
|
||||
0AB000B924BF63490090C5E7 /* ModalListPageTemplateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalListPageTemplateModel.swift; sourceTree = "<group>"; };
|
||||
0AB000BB24BF64A50090C5E7 /* ModalStackPageTemplateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModalStackPageTemplateModel.swift; sourceTree = "<group>"; };
|
||||
0AB764D024460F6300E7FE72 /* UIDatePicker+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDatePicker+Extension.swift"; sourceTree = "<group>"; };
|
||||
0AB764D224460FA400E7FE72 /* UIPickerView+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIPickerView+Extension.swift"; sourceTree = "<group>"; };
|
||||
0ABD136C237CAD1E0081388D /* DateDropdownEntryField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateDropdownEntryField.swift; sourceTree = "<group>"; };
|
||||
@ -1611,6 +1615,8 @@
|
||||
D264FAA4243F66A500D98315 /* CollectionTemplateItemProtocol.swift */,
|
||||
D264FA8B243BCD8E00D98315 /* CollectionTemplateModel.swift */,
|
||||
D264FA8D243BCD9A00D98315 /* CollectionTemplate.swift */,
|
||||
0AB000B924BF63490090C5E7 /* ModalListPageTemplateModel.swift */,
|
||||
0AB000BB24BF64A50090C5E7 /* ModalStackPageTemplateModel.swift */,
|
||||
);
|
||||
path = Templates;
|
||||
sourceTree = "<group>";
|
||||
@ -2474,6 +2480,7 @@
|
||||
D23EA7FB2475F09800D60C34 /* CarouselItemProtocol.swift in Sources */,
|
||||
D2E2A9A323E096B1000B42E6 /* DisableableModelProtocol.swift in Sources */,
|
||||
D29DF11821E6805F003B2FB9 /* NSLayoutConstraint+MFConvenience.m in Sources */,
|
||||
0AB000BC24BF64A50090C5E7 /* ModalStackPageTemplateModel.swift in Sources */,
|
||||
27F973532466074500CAB5C5 /* PageBehavior.swift in Sources */,
|
||||
94C2D9A323872C110006CF46 /* LabelAttributeStrikeThroughModel.swift in Sources */,
|
||||
D28A838523CCCA8900DFE4FC /* ScrollerModel.swift in Sources */,
|
||||
@ -2502,6 +2509,7 @@
|
||||
D236E5B5241FEB1000C38625 /* ListTwoColumnPriceDescriptionModel.swift in Sources */,
|
||||
D2B18B922361E65A00A9AEDC /* CoreUIObject.swift in Sources */,
|
||||
014AA72E23C5059B006F3E93 /* StackCenteredPageTemplateModel.swift in Sources */,
|
||||
0AB000BA24BF63490090C5E7 /* ModalListPageTemplateModel.swift in Sources */,
|
||||
D2A514632213643100345BFB /* MoleculeStackCenteredTemplate.swift in Sources */,
|
||||
011D959D2404536F000E3791 /* RuleAnyValueChangedModel.swift in Sources */,
|
||||
D260105923D0A92900764D80 /* ContainerProtocol.swift in Sources */,
|
||||
|
||||
@ -18,7 +18,6 @@ import Foundation
|
||||
}
|
||||
public var molecules: [ListItemModelProtocol & MoleculeModelProtocol]?
|
||||
public var line: LineModel?
|
||||
public var closeAction: ActionModelProtocol?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializer
|
||||
@ -37,7 +36,6 @@ import Foundation
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case molecules
|
||||
case line
|
||||
case closeAction
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -48,7 +46,6 @@ import Foundation
|
||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
molecules = try typeContainer.decodeModelsIfPresent(codingKey: .molecules)
|
||||
line = try typeContainer.decodeIfPresent(LineModel.self, forKey: .line)
|
||||
closeAction = try typeContainer.decodeModelIfPresent(codingKey: .closeAction)
|
||||
try super.init(from: decoder)
|
||||
}
|
||||
|
||||
@ -57,7 +54,6 @@ import Foundation
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encodeModelsIfPresent(molecules, forKey: .molecules)
|
||||
try container.encode(line, forKey: .line)
|
||||
try container.encodeModelIfPresent(closeAction, forKey: .closeAction)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
46
MVMCoreUI/Atomic/Templates/ModalListPageTemplateModel.swift
Normal file
46
MVMCoreUI/Atomic/Templates/ModalListPageTemplateModel.swift
Normal file
@ -0,0 +1,46 @@
|
||||
//
|
||||
// ModalListPageTemplateModel.swift
|
||||
// MVMCoreUI
|
||||
//
|
||||
// Created by Subramaniam, Ramya on 15/07/20.
|
||||
// Copyright © 2020 Verizon Wireless. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
@objcMembers open class ModalListPageTemplateModel: ListPageTemplateModel {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
|
||||
open override class var identifier: String {
|
||||
return "modalList"
|
||||
}
|
||||
|
||||
public var closeAction: ActionModelProtocol?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Keys
|
||||
//--------------------------------------------------
|
||||
|
||||
// private enum CodingKeys: String, CodingKey {
|
||||
// case closeAction
|
||||
// }
|
||||
//
|
||||
// //--------------------------------------------------
|
||||
// // MARK: - Codec
|
||||
// //--------------------------------------------------
|
||||
//
|
||||
// required public init(from decoder: Decoder) throws {
|
||||
// let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
// closeAction = try typeContainer.decodeModelIfPresent(codingKey: .closeAction)
|
||||
// try super.init(from: decoder)
|
||||
// }
|
||||
//
|
||||
// open override func encode(to encoder: Encoder) throws {
|
||||
// try super.encode(to: encoder)
|
||||
// var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
// try container.encodeModelIfPresent(closeAction, forKey: .closeAction)
|
||||
// }
|
||||
}
|
||||
|
||||
@ -27,7 +27,7 @@ open class ModalMoleculeListTemplate: MoleculeListTemplate {
|
||||
guard let self = self else {
|
||||
return
|
||||
}
|
||||
guard let actionMap = self.templateModel?.closeAction else {
|
||||
guard let model = self.templateModel as? ModalListPageTemplateModel, let actionMap = model.closeAction else {
|
||||
MVMCoreActionHandler.shared()?.handleAction(with: ActionBackModel().toJSON(), additionalData: nil, delegateObject: self.delegateObjectIVar)
|
||||
return
|
||||
}
|
||||
|
||||
@ -16,11 +16,11 @@ open class ModalMoleculeStackTemplate: MoleculeStackTemplate {
|
||||
guard let self = self else {
|
||||
return
|
||||
}
|
||||
guard let actionMap = self.templateModel?.closeAction else {
|
||||
MVMCoreActionHandler.shared()?.handleAction(with: ActionBackModel().toJSON(), additionalData: nil, delegateObject: self.delegateObjectIVar)
|
||||
return
|
||||
}
|
||||
MVMCoreActionHandler.shared()?.handleAction(with: actionMap.toJSON(), additionalData: nil, delegateObject: self.delegateObjectIVar)
|
||||
// guard let actionMap = self.templateModel?.closeAction else {
|
||||
// MVMCoreActionHandler.shared()?.handleAction(with: ActionBackModel().toJSON(), additionalData: nil, delegateObject: self.delegateObjectIVar)
|
||||
// return
|
||||
// }
|
||||
// MVMCoreActionHandler.shared()?.handleAction(with: actionMap.toJSON(), additionalData: nil, delegateObject: self.delegateObjectIVar)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
41
MVMCoreUI/Atomic/Templates/ModalStackPageTemplateModel.swift
Normal file
41
MVMCoreUI/Atomic/Templates/ModalStackPageTemplateModel.swift
Normal file
@ -0,0 +1,41 @@
|
||||
//
|
||||
// ModalStackPageTemplateModel.swift
|
||||
// MVMCoreUI
|
||||
//
|
||||
// Created by Subramaniam, Ramya on 15/07/20.
|
||||
// Copyright © 2020 Verizon Wireless. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
@objcMembers public class ModalStackPageTemplateModel: ThreeLayerModelBase {
|
||||
public override class var identifier: String {
|
||||
return "modalStack"
|
||||
}
|
||||
public var moleculeStack: StackModel
|
||||
public var closeAction: ActionModelProtocol?
|
||||
|
||||
public init(pageType: String, moleculeStack: StackModel) {
|
||||
self.moleculeStack = moleculeStack
|
||||
super.init(pageType: pageType)
|
||||
}
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case stack
|
||||
case closeAction
|
||||
}
|
||||
|
||||
required public init(from decoder: Decoder) throws {
|
||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
moleculeStack = try typeContainer.decode(StackModel.self, forKey: .stack)
|
||||
closeAction = try typeContainer.decodeModelIfPresent(codingKey: .closeAction)
|
||||
try super.init(from: decoder)
|
||||
}
|
||||
|
||||
public override func encode(to encoder: Encoder) throws {
|
||||
try super.encode(to: encoder)
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(moleculeStack, forKey: .stack)
|
||||
try container.encodeModelIfPresent(closeAction, forKey: .closeAction)
|
||||
}
|
||||
}
|
||||
@ -14,7 +14,6 @@ import Foundation
|
||||
return "stack"
|
||||
}
|
||||
public var moleculeStack: StackModel
|
||||
public var closeAction: ActionModelProtocol?
|
||||
|
||||
public init(pageType: String, moleculeStack: StackModel) {
|
||||
self.moleculeStack = moleculeStack
|
||||
@ -23,13 +22,11 @@ import Foundation
|
||||
|
||||
private enum CodingKeys: String, CodingKey {
|
||||
case stack
|
||||
case closeAction
|
||||
}
|
||||
|
||||
required public init(from decoder: Decoder) throws {
|
||||
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
|
||||
moleculeStack = try typeContainer.decode(StackModel.self, forKey: .stack)
|
||||
closeAction = try typeContainer.decodeModelIfPresent(codingKey: .closeAction)
|
||||
try super.init(from: decoder)
|
||||
}
|
||||
|
||||
@ -37,6 +34,5 @@ import Foundation
|
||||
try super.encode(to: encoder)
|
||||
var container = encoder.container(keyedBy: CodingKeys.self)
|
||||
try container.encode(moleculeStack, forKey: .stack)
|
||||
try container.encodeModelIfPresent(closeAction, forKey: .closeAction)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user