Browse Source

dev trash UI

Marino Faggiana 6 years ago
parent
commit
1a588feeae
2 changed files with 12 additions and 10 deletions
  1. 5 7
      iOSClient/Database/NCManageDatabase.swift
  2. 7 3
      iOSClient/Trash/NCTrash.swift

+ 5 - 7
iOSClient/Database/NCManageDatabase.swift

@@ -2484,10 +2484,10 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Trash
     
-    @objc func addTrashs(_ trashs: [tableTrash]) -> [tableTrash]? {
+    @objc func addTrashs(_ trashs: [tableTrash]) {
         
         guard self.getAccountActive() != nil else {
-            return nil
+            return
         }
         
         let realm = try! Realm()
@@ -2500,10 +2500,8 @@ class NCManageDatabase: NSObject {
             }
         } catch let error {
             print("[LOG] Could not write to database: ", error)
-            return nil
+            return
         }
-        
-        return Array(trashs.map { tableTrash.init(value:$0) })
     }
     
     @objc func deleteTrash(filePath: String) {
@@ -2526,7 +2524,7 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    @objc func getTrash(filePath: String) -> [tableTrash]? {
+    @objc func getTrash(filePath: String, sorted: String, ascending: Bool) -> [tableTrash]? {
         
         guard let tableAccount = self.getAccountActive() else {
             return nil
@@ -2535,7 +2533,7 @@ class NCManageDatabase: NSObject {
         let realm = try! Realm()
         realm.refresh()
         
-        let results = realm.objects(tableTrash.self).filter("account = %@ AND filePath = %@", tableAccount.account, filePath)
+        let results = realm.objects(tableTrash.self).filter("account = %@ AND filePath = %@", tableAccount.account, filePath).sorted(byKeyPath: sorted, ascending: ascending)
 
         return Array(results.map { tableTrash.init(value:$0) })
     }

+ 7 - 3
iOSClient/Trash/NCTrash.swift

@@ -43,7 +43,7 @@ class NCTrash: UIViewController , UICollectionViewDataSource, UICollectionViewDe
             path = k_dav + "/trashbin/" + userID! + "/trash/"
         }
         
-        let results = NCManageDatabase.sharedInstance.getTrash(filePath: path)
+        let results = NCManageDatabase.sharedInstance.getTrash(filePath: path, sorted: "fileName", ascending: true)
         if (results != nil) {
             datasource = results!
             collectionView.reloadData()
@@ -54,9 +54,13 @@ class NCTrash: UIViewController , UICollectionViewDataSource, UICollectionViewDe
         ocNetworking?.listingTrash(appDelegate.activeUrl, path:path, account: appDelegate.activeAccount, success: { (item) in
             
             NCManageDatabase.sharedInstance.deleteTrash(filePath: self.path)
-            self.datasource = NCManageDatabase.sharedInstance.addTrashs(item as! [tableTrash])!
+            NCManageDatabase.sharedInstance.addTrashs(item as! [tableTrash])
             
-            self.collectionView.reloadData()
+            let results = NCManageDatabase.sharedInstance.getTrash(filePath: self.path, sorted: "fileName", ascending: true)
+            if (results != nil) {
+                self.datasource = results!
+                self.collectionView.reloadData()
+            }
             
         }, failure: { (message, errorCode) in