Merge branch 'feature/accordionAnalytics' into 'develop'
Added actions for expand & collapsed to track analytics data See merge request BPHV_MIPS/mvm_core_ui!873
This commit is contained in:
commit
84246df1b3
@ -18,7 +18,8 @@ class AccordionListItemModel: MoleculeListItemModel {
|
|||||||
public var molecules: [ListItemModelProtocol & MoleculeModelProtocol]
|
public var molecules: [ListItemModelProtocol & MoleculeModelProtocol]
|
||||||
public var hideLineWhenExpanded: Bool = false
|
public var hideLineWhenExpanded: Bool = false
|
||||||
public var selected: Bool = false
|
public var selected: Bool = false
|
||||||
|
public var expandAction: ActionModelProtocol?
|
||||||
|
public var collapseAction: ActionModelProtocol?
|
||||||
private var added: Bool = false
|
private var added: Bool = false
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -31,6 +32,8 @@ class AccordionListItemModel: MoleculeListItemModel {
|
|||||||
case molecule
|
case molecule
|
||||||
case hideLineWhenExpanded
|
case hideLineWhenExpanded
|
||||||
case selected
|
case selected
|
||||||
|
case expandAction
|
||||||
|
case collapseAction
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -62,6 +65,8 @@ class AccordionListItemModel: MoleculeListItemModel {
|
|||||||
if let hideLine = try typeContainer.decodeIfPresent(Bool.self, forKey: .hideLineWhenExpanded) {
|
if let hideLine = try typeContainer.decodeIfPresent(Bool.self, forKey: .hideLineWhenExpanded) {
|
||||||
hideLineWhenExpanded = hideLine
|
hideLineWhenExpanded = hideLine
|
||||||
}
|
}
|
||||||
|
expandAction = try typeContainer.decodeModelIfPresent(codingKey: .expandAction)
|
||||||
|
collapseAction = try typeContainer.decodeModelIfPresent(codingKey: .collapseAction)
|
||||||
try super.init(from: decoder)
|
try super.init(from: decoder)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,6 +77,8 @@ class AccordionListItemModel: MoleculeListItemModel {
|
|||||||
try container.encodeModels(molecules, forKey: .molecules)
|
try container.encodeModels(molecules, forKey: .molecules)
|
||||||
try container.encode(selected, forKey: .selected)
|
try container.encode(selected, forKey: .selected)
|
||||||
try container.encodeIfPresent(hideLineWhenExpanded, forKey: .hideLineWhenExpanded)
|
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) {
|
if (accordionListItemModel?.hideLineWhenExpanded ?? false) && (self.bottomSeparatorView?.shouldBeVisible() ?? false) {
|
||||||
bottomSeparatorView?.isHidden = accordionButton.isSelected
|
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]?) {
|
public override func set(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?, _ additionalData: [AnyHashable: Any]?) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user