Browse Source

coding

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
caf1b746db

+ 13 - 17
iOSClient/Main/Create cloud/NCCreateFormUploadConflict.swift

@@ -27,15 +27,11 @@ import NextcloudKit
 import Photos
 import JGProgressHUD
 
-@objc protocol NCCreateFormUploadConflictDelegate {
-    @objc func dismissCreateFormUploadConflict(metadatas: [tableMetadata]?)
+protocol NCCreateFormUploadConflictDelegate {
+    func dismissCreateFormUploadConflict(metadatas: [tableMetadata]?)
 }
 
-extension NCCreateFormUploadConflictDelegate {
-    func dismissCreateFormUploadConflict(metadatas: [tableMetadata]?) {}
-}
-
-@objc class NCCreateFormUploadConflict: UIViewController {
+class NCCreateFormUploadConflict: UIViewController {
 
     @IBOutlet weak var labelTitle: UILabel!
     @IBOutlet weak var labelSubTitle: UILabel!
@@ -53,12 +49,12 @@ extension NCCreateFormUploadConflictDelegate {
     @IBOutlet weak var buttonCancel: UIButton!
     @IBOutlet weak var buttonContinue: UIButton!
 
-    @objc var metadatasNOConflict: [tableMetadata]
-    @objc var metadatasUploadInConflict: [tableMetadata]
-    @objc var serverUrl: String?
-    @objc weak var delegate: NCCreateFormUploadConflictDelegate?
-    @objc var alwaysNewFileNameNumber: Bool = false
-    @objc var textLabelDetailNewFile: String?
+    var metadatasNOConflict: [tableMetadata]
+    var metadatasUploadInConflict: [tableMetadata]
+    var serverUrl: String?
+    var delegate: NCCreateFormUploadConflictDelegate?
+    var alwaysNewFileNameNumber: Bool = false
+    var textLabelDetailNewFile: String?
 
     var metadatasConflictNewFiles: [String] = []
     var metadatasConflictAlreadyExistingFiles: [String] = []
@@ -67,7 +63,7 @@ extension NCCreateFormUploadConflictDelegate {
 
     // MARK: - View Life Cycle
 
-    @objc required init?(coder aDecoder: NSCoder) {
+    required init?(coder aDecoder: NSCoder) {
         self.metadatasNOConflict = []
         self.metadatasUploadInConflict = []
         super.init(coder: aDecoder)
@@ -515,14 +511,14 @@ extension NCCreateFormUploadConflict: NCCreateFormUploadConflictCellDelegate {
 
 // MARK: - UIViewControllerRepresentable
 
-struct NCUploadConflictRepresentedView: UIViewControllerRepresentable {
+struct UploadConflictView: UIViewControllerRepresentable {
 
     typealias UIViewControllerType = NCCreateFormUploadConflict
     var delegate: NCCreateFormUploadConflictDelegate
     var serverUrl: String
     var metadatasUploadInConflict: [tableMetadata]
 
-    func makeUIViewController(context: Context) -> NCCreateFormUploadConflict {
+    func makeUIViewController(context: Context) -> UIViewControllerType {
 
         let storyboard = UIStoryboard(name: "NCCreateFormUploadConflict", bundle: nil)
         let viewController = storyboard.instantiateInitialViewController() as? NCCreateFormUploadConflict
@@ -535,5 +531,5 @@ struct NCUploadConflictRepresentedView: UIViewControllerRepresentable {
         return viewController!
     }
 
-    func updateUIViewController(_ uiViewController: NCCreateFormUploadConflict, context: Context) { }
+    func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) { }
 }

+ 18 - 22
iOSClient/Main/Create cloud/NCUploadAssets.swift

@@ -66,6 +66,10 @@ struct UploadAssetsView: View {
     @ObservedObject var uploadAssets: NCUploadAssets
     @Environment(\.presentationMode) var presentationMode
 
+    @State private var metadatasNOConflict: [tableMetadata]
+    @State private var metadatasUploadInConflict: [tableMetadata]
+    @State private var metadatasToUpload: [tableMetadata]
+
     init(uploadAssets: NCUploadAssets) {
         self.uploadAssets = uploadAssets
     }
@@ -128,15 +132,14 @@ struct UploadAssetsView: View {
         return String(format: NSLocalizedString("_preview_filename_", comment: ""), "MM, MMM, DD, YY, YYYY, HH, hh, mm, ss, ampm") + ":" + "\n\n" + preview
     }
 
-    func save(completion: @escaping (_ openConflictViewController: Bool) -> Void) {
+    func save(completion: @escaping (_ metadatasNOConflict: [tableMetadata], _ metadatasUploadInConflict: [tableMetadata]) -> Void) {
 
         var metadatasNOConflict: [tableMetadata] = []
         var metadatasUploadInConflict: [tableMetadata] = []
-        let autoUploadPath = NCManageDatabase.shared.getAccountAutoUploadPath(urlBase: uploadAssets.userBaseUrl.urlBase, userId: uploadAssets.userBaseUrl.userId, account: uploadAssets.userBaseUrl.account)
 
         for asset in uploadAssets.assets {
 
-            var serverUrl = uploadAssets.serverUrl
+            let serverUrl = uploadAssets.serverUrl
             var livePhoto: Bool = false
             let creationDate = asset.creationDate ?? Date()
             let fileName = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
@@ -172,24 +175,10 @@ struct UploadAssetsView: View {
 
         // Verify if file(s) exists
         if !metadatasUploadInConflict.isEmpty {
-
-            /*
-            DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
-                if let conflict = UIStoryboard(name: "NCCreateFormUploadConflict", bundle: nil).instantiateInitialViewController() as? NCCreateFormUploadConflict {
-
-                    conflict.serverUrl = self.serverUrl
-                    conflict.metadatasNOConflict = metadatasNOConflict
-                    conflict.metadatasUploadInConflict = metadatasUploadInConflict
-                    conflict.delegate = self.appDelegate
-
-                    self.appDelegate.window?.rootViewController?.present(conflict, animated: true, completion: nil)
-                }
-            }
-            */
-            completion(true)
+            completion(metadatasNOConflict, metadatasUploadInConflict)
         } else {
             NCNetworkingProcessUpload.shared.createProcessUploads(metadatas: metadatasNOConflict, completion: { _ in })
-            completion(false)
+            completion(metadatasNOConflict, metadatasUploadInConflict)
         }
     }
 
@@ -255,7 +244,14 @@ struct UploadAssetsView: View {
                 }
 
                 Button(NSLocalizedString("_save_", comment: "")) {
-                    self.presentationMode.wrappedValue.dismiss()
+                    save { metadatasNOConflict, metadatasUploadInConflict in
+                        if metadatasUploadInConflict.isEmpty {
+                            self.presentationMode.wrappedValue.dismiss()
+                        } else {
+                            self.metadatasNOConflict = metadatasNOConflict
+                            self.metadatasUploadInConflict = metadatasUploadInConflict
+                        }
+                    }
                 }
                 .frame(maxWidth: .infinity)
                 .buttonStyle(ButtonRounded(disabled: false))
@@ -265,10 +261,10 @@ struct UploadAssetsView: View {
             .navigationBarTitleDisplayMode(.inline)
         }
         .sheet(isPresented: $isPresentedSelect) {
-            NCSelectView(serverUrl: $uploadAssets.serverUrl)
+            SelectView(serverUrl: $uploadAssets.serverUrl)
         }
         .sheet(isPresented: $isPresentedUploadConflict) {
-            // NCUploadConflictRepresentedView(delegate: uploadAssets, serverUrl: serverUrl, metadatasUploadInConflict: []) // uploadAssets.metadata
+            
         }
     }
 }

+ 4 - 4
iOSClient/Select/NCSelect.swift

@@ -861,7 +861,7 @@ struct NCSelectViewControllerRepresentable: UIViewControllerRepresentable {
     func updateUIViewController(_ uiViewController: UINavigationController, context: Context) { }
 }
 
-struct NCSelectView: UIViewControllerRepresentable {
+struct SelectView: UIViewControllerRepresentable {
 
     typealias UIViewControllerType = UINavigationController
 
@@ -869,15 +869,15 @@ struct NCSelectView: UIViewControllerRepresentable {
 
     class Coordinator: NSObject, NCSelectDelegate {
 
-        var parent: NCSelectView
+        var parent: SelectView
 
-        init(_ parent: NCSelectView) {
+        init(_ parent: SelectView) {
             self.parent = parent
         }
 
         func dismissSelect(serverUrl: String?, metadata: tableMetadata?, type: String, items: [Any], overwrite: Bool, copy: Bool, move: Bool) {
             if let serverUrl = serverUrl {
-                self.parent.serverUrl  = serverUrl
+                self.parent.serverUrl = serverUrl
             }
         }
     }