Marino Faggiana 6 years ago
parent
commit
b3eaa8a3ab
3 changed files with 59 additions and 5 deletions
  1. 6 2
      iOSClient/Move/CCMove.h
  2. 23 2
      iOSClient/Move/CCMove.m
  3. 30 1
      iOSClient/Richdocument/NCRichdocument.swift

+ 6 - 2
iOSClient/Move/CCMove.h

@@ -38,11 +38,15 @@
 
 @property (nonatomic, weak) id <CCMoveDelegate> delegate;
 @property (nonatomic, strong) NSOperationQueue *networkingOperationQueue;
+
 @property BOOL includeDirectoryE2EEncryption;
 @property BOOL includeImages;
+
 @property BOOL hideCreateFolder;
 @property BOOL hideMoveutton;
 
+@property BOOL selectFile;
+
 @property (nonatomic, strong) NSString *serverUrl;
 @property (nonatomic, strong) tableMetadata *passMetadata;
 
@@ -63,8 +67,8 @@
 
 @protocol CCMoveDelegate <NSObject>
 
-- (void)moveServerUrlTo:(NSString *)serverUrlTo title:(NSString *)title;
-
+@optional - (void)moveServerUrlTo:(NSString *)serverUrlTo title:(NSString *)title;
 @optional - (void)dismissMove;
+@optional - (void)selectMetadata:(tableMetadata *)metadata serverUrl:(NSString *)serverUrl;
 
 @end

+ 23 - 2
iOSClient/Move/CCMove.m

@@ -431,7 +431,25 @@
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
-    [self performSegueDirectoryWithControlPasscode:YES];
+    tableMetadata *metadata = [[NCManageDatabase sharedInstance] getMetadataAtIndexWithPredicate:predicateDataSource sorted:@"fileName" ascending:YES index:indexPath.row];
+    
+    if (metadata.directory) {
+        
+        [self performSegueDirectoryWithControlPasscode:YES];
+        
+    } else {
+        
+        if (self.selectFile) {
+            
+            if ([self.delegate respondsToSelector:@selector(dismissMove)])
+                [self.delegate dismissMove];
+            
+            if ([self.delegate respondsToSelector:@selector(selectMetadata:serverUrl:)])
+                [self.delegate selectMetadata:metadata serverUrl:_serverUrl];
+            
+            [self dismissViewControllerAnimated:YES completion:nil];
+        }
+    }
 }
 
 // MARK: - Navigation
@@ -492,9 +510,12 @@
     
     viewController.delegate = self.delegate;
     viewController.includeDirectoryE2EEncryption = self.includeDirectoryE2EEncryption;
+    viewController.includeImages = self.includeImages;
     viewController.move.title = self.move.title;
     viewController.hideCreateFolder = self.hideCreateFolder;
-    viewController.networkingOperationQueue = _networkingOperationQueue;
+    viewController.hideMoveutton = self.hideMoveutton;
+    viewController.selectFile = self.selectFile;
+    viewController.networkingOperationQueue = self.networkingOperationQueue;
 
     viewController.passMetadata = metadata;
     viewController.serverUrl = [CCUtility stringAppendServerUrl:_serverUrl addFileName:nomeDir];

+ 30 - 1
iOSClient/Richdocument/NCRichdocument.swift

@@ -23,7 +23,7 @@
 
 import Foundation
 
-class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler {
+class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler, CCMoveDelegate {
     
     @objc static let sharedInstance: NCRichdocument = {
         let instance = NCRichdocument()
@@ -59,6 +59,8 @@ class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler {
         viewDetail.view.addSubview(webView)
     }
     
+    //MARK: -
+
     public func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
         
         if (message.name == "RichDocumentsMobileInterface") {
@@ -72,10 +74,36 @@ class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler {
             }
             
             if message.body as! String == "insertGraphic" {
+                
+                let storyboard = UIStoryboard(name: "CCMove", bundle: nil)
+                let movieNavigationController = storyboard.instantiateViewController(withIdentifier: "CCMove") as! UINavigationController
+                let moveViewController = movieNavigationController.topViewController as! CCMove
+                
+                moveViewController.delegate = self
+                moveViewController.hideMoveutton = true
+                moveViewController.hideCreateFolder = true
+                moveViewController.tintColor = NCBrandColor.sharedInstance.brandText
+                moveViewController.barTintColor = NCBrandColor.sharedInstance.brand
+                moveViewController.tintColorTitle = NCBrandColor.sharedInstance.brandText
+                moveViewController.networkingOperationQueue = appDelegate.netQueue
+                moveViewController.includeImages = true
+                moveViewController.includeDirectoryE2EEncryption = false
+                moveViewController.selectFile = true
+                
+                movieNavigationController.modalPresentationStyle = UIModalPresentationStyle.pageSheet
+                self.viewDetail.present(movieNavigationController, animated: true, completion: nil)
             }
         }
     }
     
+    //MARK: -
+    
+    func select(_ metadata: tableMetadata!, serverUrl: String!) {
+        
+    }
+    
+    //MARK: -
+
     public func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
         if let serverTrust = challenge.protectionSpace.serverTrust {
             completionHandler(Foundation.URLSession.AuthChallengeDisposition.useCredential, URLCredential(trust: serverTrust))
@@ -95,4 +123,5 @@ class NCRichdocument: NSObject, WKNavigationDelegate, WKScriptMessageHandler {
     public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
         print("didFinish");
     }
+    
 }