From 4c551c22f764a9ebf2c101428f3fe6c7122704d6 Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Tue, 16 Jul 2024 12:32:58 +0530 Subject: [PATCH 1/5] Fix for CXTDT-586497 --- VDSSample/ViewControllers/TableViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index 38c6144..a99b693 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -122,7 +122,7 @@ class TableViewController: BaseViewController { self.component.tableHeader = [TableRowModel(columns: [TableItemModel(bottomLine: .primary, component: nil), TableItemModel(bottomLine: .primary, component: Label().with { $0.text = "Verizon smart family"; $0.textStyle = .boldTitleSmall; $0.lineBreakMode = .byWordWrapping}), - TableItemModel(bottomLine: .primary, component: Label().with { $0.text = "Call filter"; $0.textStyle = .boldTitleSmall; $0.lineBreakMode = .byWordWrapping })])] + TableItemModel(bottomLine: .primary, component: Label().with { $0.text = "Call filter"; $0.textStyle = .boldTitleSmall; $0.lineBreakMode = .byWordWrapping })], isHeader: true)] ///First row var rows = [TableRowModel(columns: [TableItemModel(bottomLine: .secondary, component: Label().with { $0.text = "Cost"; $0.textStyle = UIDevice.isIPad ? .bodyLarge : .bodySmall; $0.lineBreakMode = .byWordWrapping}), From 652d5aab226015e8799bbe24d1ca42536a5c2e0b Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Tue, 16 Jul 2024 14:59:05 +0530 Subject: [PATCH 2/5] Fix for CXTDT-586372, by default the header/row styles will be none when striped is selected. --- .../ViewControllers/TableViewController.swift | 39 +++++++++++-------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index a99b693..49c610c 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -55,6 +55,17 @@ class TableViewController: BaseViewController
{ striped.onChange = { [weak self] sender in self?.component.striped = sender.isOn + + let headerStyle = sender.isOn ? nil : Line.Style(rawValue: self?.headerLineStylePicker.text ?? "") + let rowStyle = sender.isOn ? nil : Line.Style(rawValue: self?.rowLineStylePicker.text ?? "") + + var headers = self?.component.tableHeader ?? [TableRowModel]() + self?.updateBottomLineStyle(items:&headers, style: headerStyle) + self?.component.tableHeader = headers + + var rows = self?.component.tableRows ?? [TableRowModel]() + self?.updateBottomLineStyle(items:&rows, style: rowStyle) + self?.component.tableRows = rows } fillContainer.onChange = { [weak self] sender in @@ -82,28 +93,14 @@ class TableViewController: BaseViewController
{ headerLineStylePicker.onPickerDidSelect = { [weak self] item in var headers = self?.component.tableHeader ?? [TableRowModel]() - for currentHeaderIndex in 0.. { customColumnWidthSize.backgroundColor = enable ? UIColor.white : VDSColor.paletteGray85 } + func updateBottomLineStyle(items:inout [TableRowModel], style: Line.Style?) { + for currentRowIndex in 0.. Date: Wed, 17 Jul 2024 22:04:44 +0530 Subject: [PATCH 3/5] Fix for CXTDT-586383, adding none style for line for Table component alone for testing --- .../ViewControllers/TableViewController.swift | 33 ++++++++++++++----- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index 49c610c..16c7f8b 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -10,6 +10,23 @@ import VDS import UIKit import VDSCoreTokens +enum TableLineStyle: String, CaseIterable { + case none + case primary + case secondary + + func lineStyle() -> Line.Style? { + switch self { + case .primary: + return Line.Style.primary + case .secondary: + return Line.Style.secondary + case .none: + return nil + } + } +} + class TableViewController: BaseViewController
{ var striped = Toggle() @@ -21,11 +38,11 @@ class TableViewController: BaseViewController
{ } lazy var headerLineStylePicker = { - PickerSelectorView(title: "primary", picker: self.picker, items: Line.Style.allCases) + PickerSelectorView(title: "primary", picker: self.picker, items: TableLineStyle.allCases) }() lazy var rowLineStylePicker = { - PickerSelectorView(title: "secondary", picker: self.picker, items: Line.Style.allCases) + PickerSelectorView(title: "secondary", picker: self.picker, items: TableLineStyle.allCases) }() lazy var paddingPicker = { @@ -56,15 +73,15 @@ class TableViewController: BaseViewController
{ striped.onChange = { [weak self] sender in self?.component.striped = sender.isOn - let headerStyle = sender.isOn ? nil : Line.Style(rawValue: self?.headerLineStylePicker.text ?? "") - let rowStyle = sender.isOn ? nil : Line.Style(rawValue: self?.rowLineStylePicker.text ?? "") + let headerStyle = sender.isOn ? nil : TableLineStyle(rawValue: self?.headerLineStylePicker.text ?? "") + let rowStyle = sender.isOn ? nil : TableLineStyle(rawValue: self?.rowLineStylePicker.text ?? "") var headers = self?.component.tableHeader ?? [TableRowModel]() - self?.updateBottomLineStyle(items:&headers, style: headerStyle) + self?.updateBottomLineStyle(items:&headers, style: headerStyle?.lineStyle()) self?.component.tableHeader = headers var rows = self?.component.tableRows ?? [TableRowModel]() - self?.updateBottomLineStyle(items:&rows, style: rowStyle) + self?.updateBottomLineStyle(items:&rows, style: rowStyle?.lineStyle()CXTDT-586383) self?.component.tableRows = rows } @@ -93,14 +110,14 @@ class TableViewController: BaseViewController
{ headerLineStylePicker.onPickerDidSelect = { [weak self] item in var headers = self?.component.tableHeader ?? [TableRowModel]() - self?.updateBottomLineStyle(items:&headers, style: item) + self?.updateBottomLineStyle(items:&headers, style: item.lineStyle()) self?.component.tableHeader = headers } rowLineStylePicker.onPickerDidSelect = { [weak self] item in var rows = self?.component.tableRows ?? [TableRowModel]() - self?.updateBottomLineStyle(items:&rows, style: item) + self?.updateBottomLineStyle(items:&rows, style: item.lineStyle()) self?.component.tableRows = rows } From f9ad75cb3288cd778e2b43fa9e68a3c09dbeb89b Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Wed, 17 Jul 2024 22:08:13 +0530 Subject: [PATCH 4/5] Code clean up --- VDSSample/ViewControllers/TableViewController.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index 16c7f8b..19e11ac 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -81,7 +81,7 @@ class TableViewController: BaseViewController
{ self?.component.tableHeader = headers var rows = self?.component.tableRows ?? [TableRowModel]() - self?.updateBottomLineStyle(items:&rows, style: rowStyle?.lineStyle()CXTDT-586383) + self?.updateBottomLineStyle(items:&rows, style: rowStyle?.lineStyle()) self?.component.tableRows = rows } From 94fe75254175a3d2769a75e7a0cad939875a7dd7 Mon Sep 17 00:00:00 2001 From: Sumanth Nadigadda Date: Thu, 18 Jul 2024 19:51:18 +0530 Subject: [PATCH 5/5] Fix for CXTDT-586375, default to compact padding, when striped is selected. --- VDSSample/ViewControllers/TableViewController.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift index 19e11ac..72cf505 100644 --- a/VDSSample/ViewControllers/TableViewController.swift +++ b/VDSSample/ViewControllers/TableViewController.swift @@ -83,6 +83,9 @@ class TableViewController: BaseViewController
{ var rows = self?.component.tableRows ?? [TableRowModel]() self?.updateBottomLineStyle(items:&rows, style: rowStyle?.lineStyle()) self?.component.tableRows = rows + + self?.component.padding = .compact + self?.paddingPicker.text = Table.Padding.compact.rawValue } fillContainer.onChange = { [weak self] sender in