Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/action_modernize

This commit is contained in:
Scott Pfeil 2022-07-12 11:08:12 -04:00
commit 8ff51a36d8
2 changed files with 12 additions and 1 deletions

View File

@ -18,7 +18,8 @@ class AccordionListItemModel: MoleculeListItemModel {
public var molecules: [ListItemModelProtocol & MoleculeModelProtocol]
public var hideLineWhenExpanded: Bool = false
public var selected: Bool = false
public var expandAction: ActionModelProtocol?
public var collapseAction: ActionModelProtocol?
private var added: Bool = false
//--------------------------------------------------
@ -31,6 +32,8 @@ class AccordionListItemModel: MoleculeListItemModel {
case molecule
case hideLineWhenExpanded
case selected
case expandAction
case collapseAction
}
//--------------------------------------------------
@ -62,6 +65,8 @@ class AccordionListItemModel: MoleculeListItemModel {
if let hideLine = try typeContainer.decodeIfPresent(Bool.self, forKey: .hideLineWhenExpanded) {
hideLineWhenExpanded = hideLine
}
expandAction = try typeContainer.decodeModelIfPresent(codingKey: .expandAction)
collapseAction = try typeContainer.decodeModelIfPresent(codingKey: .collapseAction)
try super.init(from: decoder)
}
@ -72,6 +77,8 @@ class AccordionListItemModel: MoleculeListItemModel {
try container.encodeModels(molecules, forKey: .molecules)
try container.encode(selected, forKey: .selected)
try container.encodeIfPresent(hideLineWhenExpanded, forKey: .hideLineWhenExpanded)
try container.encodeModelIfPresent(expandAction, forKey: .expandAction)
try container.encodeModelIfPresent(collapseAction, forKey: .collapseAction)
}
}

View File

@ -54,6 +54,10 @@
if (accordionListItemModel?.hideLineWhenExpanded ?? false) && (self.bottomSeparatorView?.shouldBeVisible() ?? false) {
bottomSeparatorView?.isHidden = accordionButton.isSelected
}
if let actionModel = accordionButton.isSelected ? accordionListItemModel?.expandAction : accordionListItemModel?.collapseAction {
MVMCoreActionHandler.shared()?.asyncHandleAction(with: actionModel, additionalData: [KeySourceModel: model], delegateObject: delegateObject)
}
}
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {