remove files
This commit is contained in:
parent
79eceb693e
commit
347928a9b6
@ -50,7 +50,6 @@
|
|||||||
0198F79F225679880066C936 /* FormValidationProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0198F79E225679870066C936 /* FormValidationProtocol.swift */; };
|
0198F79F225679880066C936 /* FormValidationProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0198F79E225679870066C936 /* FormValidationProtocol.swift */; };
|
||||||
0198F7A62256A80B0066C936 /* MFRadioButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 0198F7A02256A80A0066C936 /* MFRadioButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
0198F7A62256A80B0066C936 /* MFRadioButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 0198F7A02256A80A0066C936 /* MFRadioButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
0198F7A82256A80B0066C936 /* MFRadioButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 0198F7A22256A80A0066C936 /* MFRadioButton.m */; };
|
0198F7A82256A80B0066C936 /* MFRadioButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 0198F7A22256A80A0066C936 /* MFRadioButton.m */; };
|
||||||
01B5E6B023F5F276005B5839 /* IsaacLandingTemplate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B5E6AF23F5F276005B5839 /* IsaacLandingTemplate.swift */; };
|
|
||||||
01C851D323CF9E740021F976 /* LabelToggleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01C851D223CF9E740021F976 /* LabelToggleModel.swift */; };
|
01C851D323CF9E740021F976 /* LabelToggleModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01C851D223CF9E740021F976 /* LabelToggleModel.swift */; };
|
||||||
01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
|
01E569D3223FFFA500327251 /* ThreeLayerViewController.swift in Headers */ = {isa = PBXBuildFile; fileRef = D2A5146A2214905000345BFB /* ThreeLayerViewController.swift */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||||
01EB3684236097C0006832FA /* MoleculeModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EB3683236097C0006832FA /* MoleculeModelProtocol.swift */; };
|
01EB3684236097C0006832FA /* MoleculeModelProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01EB3683236097C0006832FA /* MoleculeModelProtocol.swift */; };
|
||||||
@ -383,7 +382,6 @@
|
|||||||
0198F79E225679870066C936 /* FormValidationProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormValidationProtocol.swift; sourceTree = "<group>"; };
|
0198F79E225679870066C936 /* FormValidationProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormValidationProtocol.swift; sourceTree = "<group>"; };
|
||||||
0198F7A02256A80A0066C936 /* MFRadioButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MFRadioButton.h; sourceTree = "<group>"; };
|
0198F7A02256A80A0066C936 /* MFRadioButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MFRadioButton.h; sourceTree = "<group>"; };
|
||||||
0198F7A22256A80A0066C936 /* MFRadioButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MFRadioButton.m; sourceTree = "<group>"; };
|
0198F7A22256A80A0066C936 /* MFRadioButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MFRadioButton.m; sourceTree = "<group>"; };
|
||||||
01B5E6AF23F5F276005B5839 /* IsaacLandingTemplate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IsaacLandingTemplate.swift; sourceTree = "<group>"; };
|
|
||||||
01C851D223CF9E740021F976 /* LabelToggleModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelToggleModel.swift; sourceTree = "<group>"; };
|
01C851D223CF9E740021F976 /* LabelToggleModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelToggleModel.swift; sourceTree = "<group>"; };
|
||||||
01EB3683236097C0006832FA /* MoleculeModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MoleculeModelProtocol.swift; sourceTree = "<group>"; };
|
01EB3683236097C0006832FA /* MoleculeModelProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MoleculeModelProtocol.swift; sourceTree = "<group>"; };
|
||||||
01EB368823609801006832FA /* LabelModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelModel.swift; sourceTree = "<group>"; };
|
01EB368823609801006832FA /* LabelModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LabelModel.swift; sourceTree = "<group>"; };
|
||||||
@ -1070,7 +1068,6 @@
|
|||||||
D2E1FAE02268E81D00AEFD8C /* MoleculeListTemplate.swift */,
|
D2E1FAE02268E81D00AEFD8C /* MoleculeListTemplate.swift */,
|
||||||
014AA72A23C5059B006F3E93 /* ThreeLayerPageTemplateModel.swift */,
|
014AA72A23C5059B006F3E93 /* ThreeLayerPageTemplateModel.swift */,
|
||||||
D2D6CD4122E78FAB00D701B8 /* ThreeLayerTemplate.swift */,
|
D2D6CD4122E78FAB00D701B8 /* ThreeLayerTemplate.swift */,
|
||||||
01B5E6AF23F5F276005B5839 /* IsaacLandingTemplate.swift */,
|
|
||||||
);
|
);
|
||||||
path = Templates;
|
path = Templates;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -1813,7 +1810,6 @@
|
|||||||
D28A839123CD4FD400DFE4FC /* CornerLabelsModel.swift in Sources */,
|
D28A839123CD4FD400DFE4FC /* CornerLabelsModel.swift in Sources */,
|
||||||
012A88F123985E0100FE3DA1 /* Color.swift in Sources */,
|
012A88F123985E0100FE3DA1 /* Color.swift in Sources */,
|
||||||
012A889C23889E8400FE3DA1 /* TemplateModelProtocol.swift in Sources */,
|
012A889C23889E8400FE3DA1 /* TemplateModelProtocol.swift in Sources */,
|
||||||
01B5E6B023F5F276005B5839 /* IsaacLandingTemplate.swift in Sources */,
|
|
||||||
D29770FC21F7C77400B2F0D0 /* MVMCoreUITextFieldView.m in Sources */,
|
D29770FC21F7C77400B2F0D0 /* MVMCoreUITextFieldView.m in Sources */,
|
||||||
C003506123AA94CD00B6AC29 /* Button.swift in Sources */,
|
C003506123AA94CD00B6AC29 /* Button.swift in Sources */,
|
||||||
DBC4391B224421A0001AB423 /* CaretLink.swift in Sources */,
|
DBC4391B224421A0001AB423 /* CaretLink.swift in Sources */,
|
||||||
|
|||||||
@ -22,8 +22,7 @@
|
|||||||
@"stack" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeStackTemplate class]],
|
@"stack" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeStackTemplate class]],
|
||||||
@"centerMoleculeStack" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeStackCenteredTemplate class]],
|
@"centerMoleculeStack" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeStackCenteredTemplate class]],
|
||||||
@"list" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeListTemplate class]],
|
@"list" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[MoleculeListTemplate class]],
|
||||||
@"threeLayer": [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[ThreeLayerTemplate class]],
|
@"threeLayer" : [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[ThreeLayerTemplate class]]
|
||||||
@"isaacLanding": [[MVMCoreViewControllerProgrammaticMappingObject alloc] initWithClass:[IsaacLandingTemplate class]]
|
|
||||||
} mutableCopy];
|
} mutableCopy];
|
||||||
});
|
});
|
||||||
return viewControllerMapping;
|
return viewControllerMapping;
|
||||||
|
|||||||
@ -1,194 +0,0 @@
|
|||||||
//
|
|
||||||
// IsaacLandingTemplate.swift
|
|
||||||
// MVMCoreUI
|
|
||||||
//
|
|
||||||
// Created by Suresh, Kamlesh on 2/13/20.
|
|
||||||
// Copyright © 2020 Verizon Wireless. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
import Foundation
|
|
||||||
|
|
||||||
|
|
||||||
open class IsaacLandingTemplate: MoleculeListTemplate {
|
|
||||||
|
|
||||||
func parseTemplateJSON() throws {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@objc public override func parsePageJSON() throws {
|
|
||||||
guard let pageJSON = self.loadObject?.pageJSON else { return }
|
|
||||||
|
|
||||||
var listItems: [MoleculeListItemModel] = []
|
|
||||||
(pageJSON.arrayForKey("items") as? [[AnyHashable: Any]])?.forEach { (itemJson) in
|
|
||||||
if let item = getListItem(itemJson) {
|
|
||||||
listItems.append(item)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let template = ListPageTemplateModel(pageType: pageJSON.stringForkey(KeyPageType),
|
|
||||||
screenHeading: pageJSON.stringForkey(KeyScreenHeading),
|
|
||||||
molecules: listItems)
|
|
||||||
|
|
||||||
let backgroudColorString = pageJSON.optionalStringForKey("backgroundColor") ?? "#000000"
|
|
||||||
template.footer = setFooter(pageJSON, template)
|
|
||||||
//print(template.toJSONString())
|
|
||||||
self.templateModel = template
|
|
||||||
|
|
||||||
DispatchQueue.main.async { [weak self] in
|
|
||||||
self?.view.backgroundColor = UIColor.mfGet(forHex: backgroudColorString)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func setFooter(_ pageJSON: [AnyHashable: Any], _ template: ListPageTemplateModel) -> FooterModel? {
|
|
||||||
|
|
||||||
let primaryButtonBGColor = pageJSON.optionalStringForKey("primaryButtonBGColor") ?? "#FFFFFF"
|
|
||||||
let primaryButtonTextColor = pageJSON.optionalStringForKey("primaryButtonTextColor") ?? "#000000"
|
|
||||||
|
|
||||||
let backgroudColorString = pageJSON.optionalStringForKey("backgroundColor") ?? "#000000"
|
|
||||||
if let buttonMap = pageJSON.optionalDictionaryForKey("ButtonMap") {
|
|
||||||
let twoButtonModel = TwoButtonViewModel()
|
|
||||||
|
|
||||||
if let primarybutton = buttonMap.optionalDictionaryForKey(KeyPrimaryButton) {
|
|
||||||
let buttonDict: [String : Any] = ["title": primarybutton.stringForkey(KeyTitle),
|
|
||||||
"action": primarybutton,
|
|
||||||
"moleculeName": "button"]
|
|
||||||
if let data = try? JSONSerialization.data(withJSONObject: buttonDict) {
|
|
||||||
let decoder = JSONDecoder()
|
|
||||||
twoButtonModel.primaryButton = try? decoder.decode(ButtonModel.self, from: data)
|
|
||||||
twoButtonModel.primaryButton?.fillColor = Color(uiColor: UIColor.mfGet(forHex: primaryButtonBGColor))
|
|
||||||
twoButtonModel.primaryButton?.textColor = Color(uiColor: UIColor.mfGet(forHex: primaryButtonTextColor))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if let secondaryButton = buttonMap.optionalDictionaryForKey(KeySecondaryButton) {
|
|
||||||
let buttonDict: [String : Any] = ["title": secondaryButton.stringForkey(KeyTitle),
|
|
||||||
"action": secondaryButton,
|
|
||||||
"moleculeName": "button"]
|
|
||||||
if let data = try? JSONSerialization.data(withJSONObject: buttonDict) {
|
|
||||||
let decoder = JSONDecoder()
|
|
||||||
twoButtonModel.secondaryButton = try? decoder.decode(ButtonModel.self, from: data)
|
|
||||||
twoButtonModel.secondaryButton?.fillColor = Color(uiColor: UIColor.mfGet(forHex: primaryButtonTextColor))
|
|
||||||
twoButtonModel.secondaryButton?.textColor = Color(uiColor: UIColor.mfGet(forHex:primaryButtonBGColor))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let footerStack = MoleculeStackModel(molecules: [MoleculeStackItemModel(with:LineModel(type: .standard)),
|
|
||||||
MoleculeStackItemModel(with: twoButtonModel)])
|
|
||||||
footerStack.useHorizontalMargins = false
|
|
||||||
footerStack.spacing = PaddingFour
|
|
||||||
|
|
||||||
let footer = FooterModel(with: footerStack)
|
|
||||||
footer.useHorizontalMargins = false
|
|
||||||
footer.backgroundColor = Color(uiColor: UIColor.mfGet(forHex: backgroudColorString))
|
|
||||||
return footer
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func getListItem(_ moleculeJson: [AnyHashable: Any]) -> MoleculeListItemModel? {
|
|
||||||
guard let type = moleculeJson.optionalStringForKey("type") else {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if type == "rewards" {
|
|
||||||
return getRewardListItem(moleculeJson)
|
|
||||||
} else {
|
|
||||||
return getTitleImageListItem(moleculeJson, type)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func getTitleImageListItem(_ moleculeJson: [AnyHashable: Any], _ type: String) -> MoleculeListItemModel? {
|
|
||||||
let textcolor = moleculeJson.optionalStringForKey("textColor")
|
|
||||||
var stackItems: [MoleculeStackItemModel] = []
|
|
||||||
|
|
||||||
let titleLabel = LabelModel(text: moleculeJson.stringForkey(KeyTitle))
|
|
||||||
titleLabel.fontName = "NHaasGroteskDSStd-75Bd"
|
|
||||||
titleLabel.textColor = textcolor
|
|
||||||
titleLabel.fontSize = (type == "topHeader") ? 70.0 : 25.0
|
|
||||||
|
|
||||||
let messageLabel = LabelModel(text: moleculeJson.stringForkey("message"))
|
|
||||||
messageLabel.fontStyle = "B2"
|
|
||||||
messageLabel.textColor = textcolor
|
|
||||||
|
|
||||||
let headlineBodyModel = HeadlineBodyModel(headline: titleLabel)
|
|
||||||
headlineBodyModel.body = messageLabel
|
|
||||||
|
|
||||||
if let linkMap = moleculeJson.optionalDictionaryForKey("link") {
|
|
||||||
do {
|
|
||||||
let linkDict: [String : Any] = ["title": linkMap.stringForkey(KeyTitle),
|
|
||||||
"action": linkMap]
|
|
||||||
let data = try JSONSerialization.data(withJSONObject: linkDict)
|
|
||||||
let decoder = JSONDecoder()
|
|
||||||
let linkModel = try decoder.decode(LinkModel.self, from: data)
|
|
||||||
linkModel.textColor = Color(uiColor: UIColor.mfGet(forHex: textcolor ?? "#FFFFFF"))
|
|
||||||
let headlineBodyLinkModel = HeadlineBodyLinkModel(headlineBody: headlineBodyModel,
|
|
||||||
link: linkModel)
|
|
||||||
stackItems.append(MoleculeStackItemModel(with: headlineBodyLinkModel))
|
|
||||||
} catch {
|
|
||||||
stackItems.append(MoleculeStackItemModel(with: headlineBodyModel))
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
stackItems.append(MoleculeStackItemModel(with: headlineBodyModel))
|
|
||||||
}
|
|
||||||
|
|
||||||
if let imageurl = moleculeJson.optionalStringForKey("imageUrl") {
|
|
||||||
let imageModel = ImageViewModel(image: imageurl)
|
|
||||||
imageModel.height = moleculeJson.optionalCGFloatForKey("imageHeight") ?? 300
|
|
||||||
imageModel.imageFormat = "jpeg"
|
|
||||||
imageModel.contentMode = .scaleAspectFit
|
|
||||||
stackItems.append(MoleculeStackItemModel(with: imageModel))
|
|
||||||
}
|
|
||||||
|
|
||||||
let stack = MoleculeStackModel(molecules: stackItems)
|
|
||||||
let listItem = MoleculeListItemModel(with: stack)
|
|
||||||
|
|
||||||
let backgroudColorString = moleculeJson.optionalStringForKey("backgroundColor") ?? "#000000"
|
|
||||||
listItem.backgroundColor = Color(uiColor: UIColor.mfGet(forHex: backgroudColorString))
|
|
||||||
listItem.line = LineModel(type: .none)
|
|
||||||
return listItem
|
|
||||||
}
|
|
||||||
|
|
||||||
func getRewardListItem(_ moleculeJson: [AnyHashable: Any]) -> MoleculeListItemModel? {
|
|
||||||
|
|
||||||
var stackItems: [MoleculeStackItemModel] = []
|
|
||||||
|
|
||||||
(moleculeJson.arrayForKey("rewards") as? [[AnyHashable: Any]])?.forEach { (rewardItem) in
|
|
||||||
let textcolor = rewardItem.optionalStringForKey("textColor")
|
|
||||||
|
|
||||||
let titleLabel = LabelModel(text: rewardItem.stringForkey(KeyTitle))
|
|
||||||
titleLabel.fontName = "NHaasGroteskDSStd-75Bd"
|
|
||||||
titleLabel.textColor = textcolor
|
|
||||||
titleLabel.fontSize = 48
|
|
||||||
|
|
||||||
let messageLabel = LabelModel(text: rewardItem.stringForkey("message"))
|
|
||||||
messageLabel.fontName = "NHaasGroteskDSStd-75Bd"
|
|
||||||
messageLabel.textColor = textcolor
|
|
||||||
messageLabel.fontSize = 14
|
|
||||||
|
|
||||||
let titleStackItem = MoleculeStackItemModel(with: titleLabel)
|
|
||||||
let messageStackItem = MoleculeStackItemModel(with: messageLabel)
|
|
||||||
|
|
||||||
let itemStack = MoleculeStackModel(molecules: [titleStackItem, messageStackItem])
|
|
||||||
itemStack.verticalAlignment = .top
|
|
||||||
itemStack.spacing = 0
|
|
||||||
|
|
||||||
let horizontalStack = MoleculeStackItemModel(with: itemStack)
|
|
||||||
horizontalStack.verticalAlignment = .top
|
|
||||||
stackItems.append(horizontalStack)
|
|
||||||
}
|
|
||||||
|
|
||||||
stackItems.first?.percent = 35
|
|
||||||
stackItems.last?.percent = 65
|
|
||||||
let stack = MoleculeStackModel(molecules: stackItems)
|
|
||||||
stack.axis = .horizontal
|
|
||||||
stack.horizontalAlignment = .leading
|
|
||||||
stack.verticalAlignment = .leading
|
|
||||||
|
|
||||||
let listItem = MoleculeListItemModel(with: stack)
|
|
||||||
let backgroudColorString = moleculeJson.optionalStringForKey("backgroundColor") ?? "#000000"
|
|
||||||
listItem.backgroundColor = Color(uiColor: UIColor.mfGet(forHex: backgroudColorString))
|
|
||||||
listItem.line = LineModel(type: .none)
|
|
||||||
|
|
||||||
return listItem
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user