From 54782b187132f158fd9d955b1cc36e2168052500 Mon Sep 17 00:00:00 2001 From: Subhankar Acharya Date: Tue, 25 Feb 2020 20:11:22 +0530 Subject: [PATCH] Changes in init method and spacing --- ...neColumnFullWidthTextAllTextAndLinks.swift | 16 +++++++----- ...umnFullWidthTextAllTextAndLinksModel.swift | 26 +++++++++---------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinks.swift b/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinks.swift index e13bdd8b..4b0e2e91 100644 --- a/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinks.swift +++ b/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinks.swift @@ -48,13 +48,12 @@ import Foundation subHeadline.setWithModel(model.subHeadline, delegateObject, additionalData) body.setWithModel(model.body, delegateObject, additionalData) link.setWithModel(model.link, delegateObject, additionalData) - let stackModel = StackModel(molecules: [StackItemModel(gone: !eyebrow.hasText), - StackItemModel(gone: !headline.hasText), - StackItemModel(gone: !subHeadline.hasText), - StackItemModel(gone: !body.hasText), - StackItemModel(gone: (link.titleLabel?.text?.count ?? 0) == 0)]) + let stackModel = StackModel(molecules: [StackItemModel(spacing: 2, gone: !eyebrow.hasText), + StackItemModel(spacing: 2, gone: !headline.hasText), + StackItemModel(spacing: 2, gone: !subHeadline.hasText), + StackItemModel(spacing: 2, gone: !body.hasText), + StackItemModel(spacing: 2, gone: (link.titleLabel?.text?.count ?? 0) == 0)]) stack.model = stackModel - stackModel.spacing = 2 stack.restack() } @@ -64,6 +63,9 @@ import Foundation open override func reset() { super.reset() - + eyebrow.styleB3(true) + headline.styleH3(true) + subHeadline.styleB1(true) + body.styleB2(true) } } diff --git a/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinksModel.swift b/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinksModel.swift index ebc87aa4..47e482a0 100644 --- a/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinksModel.swift +++ b/MVMCoreUI/Molecules/DesignedComponents/SectionDividers/OneColumn/ListOneColumnFullWidthTextAllTextAndLinksModel.swift @@ -15,8 +15,8 @@ public class ListOneColumnFullWidthTextAllTextAndLinksModel: ListItemModel, Mole public var subHeadline: LabelModel? public var body: LabelModel? public var link : LinkModel? - - public init(eyebrow:LabelModel, headline: LabelModel, subHeadline: LabelModel, body: LabelModel, link: LinkModel) { + + public init(eyebrow: LabelModel? = nil, headline: LabelModel? = nil, subHeadline: LabelModel? = nil, body: LabelModel? = nil, link: LinkModel? = nil) { self.eyebrow = eyebrow self.headline = headline self.subHeadline = subHeadline @@ -36,22 +36,22 @@ public class ListOneColumnFullWidthTextAllTextAndLinksModel: ListItemModel, Mole required public init(from decoder: Decoder) throws { let typeContainer = try decoder.container(keyedBy: CodingKeys.self) - eyebrow = try typeContainer.decode(LabelModel.self, forKey: .eyebrow) - headline = try typeContainer.decode(LabelModel.self, forKey: .headline) - subHeadline = try typeContainer.decode(LabelModel.self, forKey: .subHeadline) - body = try typeContainer.decode(LabelModel.self, forKey: .body) - link = try typeContainer.decode(LinkModel.self, forKey: .link) + eyebrow = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .eyebrow) + headline = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .headline) + subHeadline = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .subHeadline) + body = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .body) + link = try typeContainer.decodeIfPresent(LinkModel.self, forKey: .link) 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(moleculeName, forKey: .moleculeName) - try container.encode(eyebrow, forKey: .eyebrow) - try container.encode(headline, forKey: .headline) - try container.encode(subHeadline, forKey: .subHeadline) - try container.encode(body, forKey: .body) - try container.encode(link, forKey: .link) + try container.encodeIfPresent(moleculeName, forKey: .moleculeName) + try container.encodeIfPresent(eyebrow, forKey: .eyebrow) + try container.encodeIfPresent(headline, forKey: .headline) + try container.encodeIfPresent(subHeadline, forKey: .subHeadline) + try container.encodeIfPresent(body, forKey: .body) + try container.encodeIfPresent(link, forKey: .link) } }