Various experiments with asynchronous data providers
[pithos-web-client] / src / gr / grnet / pithos / web / client / foldertree / FolderTreeViewModel.java
index e38fd12..98861dd 100644 (file)
@@ -198,12 +198,20 @@ public class FolderTreeViewModel implements TreeViewModel {
 
                                @Override
                                protected void onRangeChanged(HasData<Folder> display) {
-                               fetchFolder(folder, this, showfiles, callback);
+                               fetchFolder(folder, this, showfiles, null);
                                }
             });
         }
         final AsyncDataProvider<Folder> dataProvider = dataProviderMap.get(folder);
-        fetchFolder(folder, dataProvider, showfiles, callback);
+        fetchFolder(folder, dataProvider, showfiles, new Command() {
+                       
+                       @Override
+                       public void execute() {
+                               app.getFolderTreeView().openFolder(folder);
+                               if (callback != null)
+                                       callback.execute();
+                       }
+               });
     }
 
     public void fetchFolder(final Folder f, final AsyncDataProvider<Folder> dataProvider, final boolean showfiles, final Command callback) {