Add Actions
This commit is contained in:
parent
af0ebf8678
commit
42b8b37c58
@ -46,9 +46,9 @@
|
||||
model.selected = accordionButton.isSelected
|
||||
|
||||
if accordionButton.isSelected {
|
||||
MVMCoreActionHandler.shared()?.handleAction("addMoleculesAction", actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: delegateObject)
|
||||
MVMCoreActionHandler.shared()?.handleAction(AddMoleculesActionModel.identifier, actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: delegateObject)
|
||||
} else {
|
||||
MVMCoreActionHandler.shared()?.handleAction("removeMoleculesAction", actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: delegateObject)
|
||||
MVMCoreActionHandler.shared()?.handleAction(RemoveMoleculesActionModel.identifier, actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: delegateObject)
|
||||
}
|
||||
|
||||
if (accordionListItemModel?.hideLineWhenExpanded ?? false) && (self.bottomSeparatorView?.shouldBeVisible() ?? false) {
|
||||
|
||||
@ -32,10 +32,10 @@ import UIKit
|
||||
MVMCoreDispatchUtility.performBlock(inBackground: {
|
||||
if let oldValue = oldValue,
|
||||
oldValue.count > 0 {
|
||||
MVMCoreUIActionHandler.shared()?.synchronouslyHandleAction("removeMoleculesAction", actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: self.delegateObject)
|
||||
MVMCoreUIActionHandler.shared()?.synchronouslyHandleAction(RemoveMoleculesActionModel.identifier, actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: self.delegateObject)
|
||||
}
|
||||
|
||||
MVMCoreActionHandler.shared()?.handleAction("addMoleculesAction", actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: self.delegateObject)
|
||||
MVMCoreActionHandler.shared()?.handleAction(AddMoleculesActionModel.identifier, actionInformation: nil, additionalData: [KeySourceModel: model], delegateObject: self.delegateObject)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -73,7 +73,7 @@ public class AddRemoveMoleculeBehavior: PageCustomActionHandlerBehavior {
|
||||
}
|
||||
|
||||
public func handleAction(type actionType: String?, information: [AnyHashable : Any]?, additionalData: [AnyHashable : Any]?) -> Bool {
|
||||
if actionType == "addMoleculesAction" {
|
||||
if actionType == AddMoleculesActionModel.identifier {
|
||||
guard let list = delegate?.moleculeListDelegate,
|
||||
let model = additionalData?[KeySourceModel] as? (ListItemModelProtocol & MoleculeModelProtocol & AddMolecules),
|
||||
let moleculesToAdd = model.getRecursiveMoleculesToAdd(),
|
||||
@ -82,7 +82,7 @@ public class AddRemoveMoleculeBehavior: PageCustomActionHandlerBehavior {
|
||||
list.addMolecules(moleculesToAdd.0, indexPath: indexPath, animation: moleculesToAdd.2)
|
||||
}
|
||||
return true
|
||||
} else if actionType == "removeMoleculesAction" {
|
||||
} else if actionType == RemoveMoleculesActionModel.identifier {
|
||||
guard let list = delegate?.moleculeListDelegate,
|
||||
let model = additionalData?[KeySourceModel] as? (ListItemModelProtocol & MoleculeModelProtocol & RemoveMolecules),
|
||||
let moleculesToRemove = model.getRecursiveMoleculesToRemove() else { return true }
|
||||
@ -105,3 +105,35 @@ private extension MoleculeListProtocol {
|
||||
return indexPath
|
||||
}
|
||||
}
|
||||
|
||||
public class AddMoleculesActionModel: ActionModelProtocol {
|
||||
public static var identifier: String = "addMoleculesAction"
|
||||
public var actionType: String = AddMoleculesActionModel.identifier
|
||||
public var extraParameters: JSONValueDictionary?
|
||||
public var analyticsData: JSONValueDictionary?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializer
|
||||
//--------------------------------------------------
|
||||
|
||||
public init(_ extraParameters: JSONValueDictionary? = nil, _ analyticsData: JSONValueDictionary? = nil) {
|
||||
self.extraParameters = extraParameters
|
||||
self.analyticsData = analyticsData
|
||||
}
|
||||
}
|
||||
|
||||
public class RemoveMoleculesActionModel: ActionModelProtocol {
|
||||
public static var identifier: String = "removeMoleculesAction"
|
||||
public var actionType: String = RemoveMoleculesActionModel.identifier
|
||||
public var extraParameters: JSONValueDictionary?
|
||||
public var analyticsData: JSONValueDictionary?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializer
|
||||
//--------------------------------------------------
|
||||
|
||||
public init(_ extraParameters: JSONValueDictionary? = nil, _ analyticsData: JSONValueDictionary? = nil) {
|
||||
self.extraParameters = extraParameters
|
||||
self.analyticsData = analyticsData
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user