Skip to content

Commit d00c426

Browse files
committed
Added to SPDiffableWrapperItem actions.
1 parent 803260b commit d00c426

3 files changed

Lines changed: 7 additions & 1 deletion

File tree

Sources/SPDiffable/Models/SPDiffableWrapperItem.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,12 @@ open class SPDiffableWrapperItem: SPDiffableItem {
3636
Later need uwrap it for get.
3737
*/
3838
open var model: Any
39+
open var action: Action?
3940

40-
public init(identifier: String, model: Any) {
41+
public init(identifier: String, model: Any, action: Action? = nil) {
4142
self.model = model
4243
super.init(identifier: identifier)
4344
}
45+
46+
public typealias Action = (_ indexPath: IndexPath) -> Void
4447
}

Sources/SPDiffable/Table/SPDiffableTableController.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,14 @@ open class SPDiffableTableController: UITableViewController {
6363
open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
6464
guard let item = diffableDataSource?.itemIdentifier(for: indexPath) else { return }
6565
diffableDelegate?.diffableTableView?(tableView, didSelectItem: item, indexPath: indexPath)
66+
6667
switch item {
6768
case let model as SPDiffableTableRow:
6869
model.action?(indexPath)
6970
case let model as SPDiffableTableRowSubtitle:
7071
model.action?(indexPath)
72+
case let model as SPDiffableWrapperItem:
73+
model.action?(indexPath)
7174
default:
7275
break
7376
}

0 commit comments

Comments
 (0)