From 21aab6256f51b5192e6b8ccade4171990e0d9f3e Mon Sep 17 00:00:00 2001 From: into Date: Tue, 8 May 2018 16:54:13 +0200 Subject: [PATCH] added: canMoveTo --- Sources/TableDirector.swift | 8 ++++++++ Sources/TableKit.swift | 2 ++ 2 files changed, 10 insertions(+) diff --git a/Sources/TableDirector.swift b/Sources/TableDirector.swift index 9088f45..132a411 100644 --- a/Sources/TableDirector.swift +++ b/Sources/TableDirector.swift @@ -307,6 +307,14 @@ open class TableDirector: NSObject, UITableViewDataSource, UITableViewDelegate { return UITableViewCellEditingStyle.none } + public func tableView(_ tableView: UITableView, shouldIndentWhileEditingRowAt indexPath: IndexPath) -> Bool { + return false + } + + public func tableView(_ tableView: UITableView, targetIndexPathForMoveFromRowAt sourceIndexPath: IndexPath, toProposedIndexPath proposedDestinationIndexPath: IndexPath) -> IndexPath { + return invoke(action: .canMoveTo, cell: tableView.cellForRow(at: sourceIndexPath), indexPath: sourceIndexPath, userInfo: [TableKitUserInfoKeys.CellCanMoveProposedIndexPath: proposedDestinationIndexPath]) as? IndexPath ?? proposedDestinationIndexPath + } + open func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == .delete { invoke(action: .clickDelete, cell: tableView.cellForRow(at: indexPath), indexPath: indexPath) diff --git a/Sources/TableKit.swift b/Sources/TableKit.swift index f5f17ef..5d554d5 100644 --- a/Sources/TableKit.swift +++ b/Sources/TableKit.swift @@ -26,6 +26,7 @@ struct TableKitNotifications { public struct TableKitUserInfoKeys { public static let CellMoveDestinationIndexPath = "TableKitCellMoveDestinationIndexPath" + public static let CellCanMoveProposedIndexPath = "CellCanMoveProposedIndexPath" } public protocol RowConfigurable { @@ -76,6 +77,7 @@ public enum TableRowActionType { case configure case canDelete case canMove + case canMoveTo case move case custom(String)