Allows "gone" property for hiding list molecules in the list template

This commit is contained in:
Scott Pfeil 2024-02-23 09:11:25 -05:00
parent 8f3bf61574
commit ae71e723ee
2 changed files with 5 additions and 2 deletions

View File

@ -18,7 +18,7 @@ import MVMCore
public var hideArrow: Bool?
public var line: LineModel?
public var style: ListItemStyle?
@DecodableDefault.False public var gone: Bool
public var gone: Bool = false
public var accessibilityTraits: UIAccessibilityTraits?
public var accessibilityValue: String?
public var accessibilityText: String?
@ -32,6 +32,7 @@ import MVMCore
case hideArrow
case line
case style
case gone
case accessibilityTraits
case accessibilityValue
case accessibilityText
@ -108,6 +109,7 @@ import MVMCore
hideArrow = try typeContainer.decodeIfPresent(Bool.self, forKey: .hideArrow)
line = try typeContainer.decodeIfPresent(LineModel.self, forKey: .line)
style = try typeContainer.decodeIfPresent(ListItemStyle.self, forKey: .style)
gone = try typeContainer.decodeIfPresent(Bool.self, forKey: .gone) ?? false
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits)
accessibilityValue = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityValue)
try super.init(from: decoder)
@ -121,6 +123,7 @@ import MVMCore
try container.encodeIfPresent(hideArrow, forKey: .hideArrow)
try container.encodeIfPresent(line, forKey: .line)
try container.encodeIfPresent(style, forKey: .style)
try container.encode(gone, forKey: .gone)
try container.encodeIfPresent(accessibilityTraits, forKey: .accessibilityTraits)
try container.encodeIfPresent(accessibilityValue, forKey: .accessibilityValue)
try container.encodeIfPresent(accessibilityText, forKey: .accessibilityText)

View File

@ -156,7 +156,7 @@ open class MoleculeListTemplate: ThreeLayerTableViewController, TemplateProtocol
guard let moleculeInfo = getMoleculeInfo(for: indexPath),
let cell = tableView.dequeueReusableCell(withIdentifier: moleculeInfo.identifier)
else { return UITableViewCell() }
cell.isHidden = (getMoleculeInfo(for: indexPath)?.molecule as? ListItemModelProtocol)?.gone == true
(cell as? MoleculeViewProtocol)?.reset()
(cell as? MoleculeListCellProtocol)?.setLines(with: templateModel?.line, delegateObject: delegateObjectIVar, additionalData: nil, indexPath: indexPath)
if let moleculeView = cell as? MoleculeViewProtocol {