Merge branch 'develop' of https://gitlab.verizon.com/BPHV_MIPS/mvm_core_ui into feature/action_modernize
This commit is contained in:
commit
8ff51a36d8
@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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]?) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user