select all behavior.
This commit is contained in:
parent
97ecf292dd
commit
975f3fa012
@ -10,10 +10,10 @@
|
||||
public class SelectAllBoxesBehaviorModel: PageBehaviorModelProtocol {
|
||||
public class var identifier: String { "selectAllBoxesBehavior" }
|
||||
public var shouldAllowMultipleInstances: Bool { false }
|
||||
|
||||
public init() { }
|
||||
}
|
||||
|
||||
|
||||
public class SelectAllBoxesBehavior: PageCustomActionHandlerBehavior {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Active Model
|
||||
@ -42,19 +42,26 @@ public class SelectAllBoxesBehavior: PageCustomActionHandlerBehavior {
|
||||
|
||||
guard actionType == "selectAllBoxes" else { return false }
|
||||
|
||||
// Update the model. play -> pause OR pause -> play
|
||||
if true {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
// TODO: Tell Template to update this cell (needs to be built). Currently it updates all cells.
|
||||
let currentVC = MVMCoreUIUtility.getCurrentVisibleController()
|
||||
|
||||
|
||||
traverseAndSelectCheckboxes(view: currentVC.view)
|
||||
|
||||
// TODO: A) select all boxes and the change the nav button title to "deselect all"
|
||||
// TODO: B) deselect all boxes and change nav nutton title to "select all"
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
public func onPageHidden(_ delegateObject: MVMCoreUIDelegateObject?) {
|
||||
// TODO: Stop player
|
||||
private func traverseAndSelectCheckboxes(view: UIView) {
|
||||
|
||||
if let checkbox = view as? Checkbox {
|
||||
checkbox.isSelected = true
|
||||
return
|
||||
}
|
||||
|
||||
for subview in view.subviews {
|
||||
traverseAndSelectCheckboxes(view: subview)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -225,6 +225,7 @@ open class CoreUIModelMapping: ModelMapping {
|
||||
try? ModelRegistry.register(handler: ScreenBrightnessModifierBehavior.self, for: ScreenBrightnessModifierBehaviorModel.self)
|
||||
try? ModelRegistry.register(handler: PageGetContactBehavior.self, for: PageGetContactBehaviorModel.self)
|
||||
try? ModelRegistry.register(handler: PagePlayAudioBehavior.self, for: PagePlayAudioBehaviorModel.self)
|
||||
try? ModelRegistry.register(handler: SelectAllBoxesBehavior.self, for: SelectAllBoxesBehaviorModel.self)
|
||||
}
|
||||
|
||||
open override class func registerActions() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user