added completed icon
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d9dc73cb70
commit
a00ffcc1ab
@ -8,9 +8,11 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import UIKit
|
import UIKit
|
||||||
import VDS
|
import VDS
|
||||||
|
import VDSColorTokens
|
||||||
|
|
||||||
struct MenuComponent {
|
struct MenuComponent {
|
||||||
var title: String
|
var title: String
|
||||||
|
var completed: Bool
|
||||||
var viewController: UIViewController.Type
|
var viewController: UIViewController.Type
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,6 +21,21 @@ protocol Initable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MenuCell: UITableViewCell {
|
class MenuCell: UITableViewCell {
|
||||||
|
var completed: Bool = true {
|
||||||
|
didSet {
|
||||||
|
if completed {
|
||||||
|
statusImage.image = UIImage(systemName: "checkmark.circle")
|
||||||
|
statusImage.tintColor = VDSColor.paletteGreen34
|
||||||
|
} else {
|
||||||
|
statusImage.image = UIImage(systemName: "xmark.circle")
|
||||||
|
statusImage.tintColor = VDSColor.paletteRed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var statusImage = UIImageView().with {
|
||||||
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
}
|
||||||
var label = Label().with {
|
var label = Label().with {
|
||||||
$0.typograpicalStyle = .BodyLarge
|
$0.typograpicalStyle = .BodyLarge
|
||||||
}
|
}
|
||||||
@ -33,8 +50,16 @@ class MenuCell: UITableViewCell {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func setup(){
|
func setup(){
|
||||||
|
addSubview(statusImage)
|
||||||
addSubview(label)
|
addSubview(label)
|
||||||
label.pinToSuperView(.init(top: 0, left: 16, bottom: 0, right: 0))
|
statusImage.pinLeading(16)
|
||||||
|
label.pinLeading(statusImage.trailingAnchor, 10)
|
||||||
|
label.pinTop()
|
||||||
|
label.pinBottom()
|
||||||
|
label.pinTrailing()
|
||||||
|
statusImage.width(20)
|
||||||
|
statusImage.height(20)
|
||||||
|
statusImage.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,19 +71,19 @@ class MenuViewController: UITableViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let items: [MenuComponent] = [
|
let items: [MenuComponent] = [
|
||||||
MenuComponent(title: "Badge", viewController: BadgeViewController.self),
|
MenuComponent(title: "Badge", completed: true, viewController: BadgeViewController.self),
|
||||||
MenuComponent(title: "Button", viewController: ButtonViewController.self),
|
MenuComponent(title: "Button", completed: true, viewController: ButtonViewController.self),
|
||||||
MenuComponent(title: "ButtonGroup", viewController: ButtonGroupViewController.self),
|
MenuComponent(title: "ButtonGroup", completed: false, viewController: ButtonGroupViewController.self),
|
||||||
MenuComponent(title: "Checkbox", viewController: CheckboxViewController.self),
|
MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self),
|
||||||
MenuComponent(title: "CheckboxGroup", viewController: CheckboxGroupViewController.self),
|
MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self),
|
||||||
MenuComponent(title: "Label", viewController: LabelViewController.self),
|
MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self),
|
||||||
MenuComponent(title: "RadioBoxGroup", viewController: RadioBoxGroupViewController.self),
|
MenuComponent(title: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self),
|
||||||
MenuComponent(title: "RadioButtonGroup", viewController: RadioButtonViewController.self),
|
MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self),
|
||||||
MenuComponent(title: "RadioSwatchGroup", viewController: RadioSwatchGroupViewController.self),
|
MenuComponent(title: "RadioSwatchGroup", completed: true, viewController: RadioSwatchGroupViewController.self),
|
||||||
MenuComponent(title: "TextEntryField", viewController: TextEntryFieldViewController.self),
|
MenuComponent(title: "TextEntryField", completed: false, viewController: TextEntryFieldViewController.self),
|
||||||
MenuComponent(title: "TextLink", viewController: TextLinkViewController.self),
|
MenuComponent(title: "TextLink", completed: true, viewController: TextLinkViewController.self),
|
||||||
MenuComponent(title: "TextLinkCaret", viewController: TextLinkCaretViewController.self),
|
MenuComponent(title: "TextLinkCaret", completed: true, viewController: TextLinkCaretViewController.self),
|
||||||
MenuComponent(title: "Toggle", viewController: ToggleViewController.self)
|
MenuComponent(title: "Toggle", completed: true, viewController: ToggleViewController.self)
|
||||||
]
|
]
|
||||||
|
|
||||||
override func numberOfSections(in tableView: UITableView) -> Int {
|
override func numberOfSections(in tableView: UITableView) -> Int {
|
||||||
@ -80,6 +105,7 @@ class MenuViewController: UITableViewController {
|
|||||||
|
|
||||||
let item = items[indexPath.row]
|
let item = items[indexPath.row]
|
||||||
cell.label.text = item.title
|
cell.label.text = item.title
|
||||||
|
cell.completed = item.completed
|
||||||
cell.accessoryType = .disclosureIndicator
|
cell.accessoryType = .disclosureIndicator
|
||||||
return cell
|
return cell
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user