Update suggestions on inputString change in sharee suggestions data source
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 2 Apr 2024 10:19:01 +0000 (18:19 +0800)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Wed, 17 Apr 2024 08:39:03 +0000 (16:39 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/ShareeSuggestionsDataSource.swift

index 5c84f5bd14c04807583a9669b3052cb279cf0a73..aa3f6388abcdf26f5f526320e8bb9e2753a053da 100644 (file)
@@ -13,12 +13,19 @@ import SuggestionsTextFieldKit
 class ShareeSuggestionsDataSource: SuggestionsDataSource {
     let kit: NextcloudKit
     var suggestions: [SuggestionsTextFieldKit.Suggestion] = []
-    var inputString: String = ""
+    var inputString: String = "" {
+        didSet { Task { await updateSuggestions() } }
+    }
 
     init(kit: NextcloudKit) {
         self.kit = kit
     }
 
+    private func updateSuggestions() async {
+        let sharees = await fetchSharees(search: inputString)
+        suggestions = suggestionsFromSharees(sharees)
+    }
+
     private func fetchSharees(search: String) async -> [NKSharee] {
         return await withCheckedContinuation { continuation in
             kit.searchSharees(