Finished new left pane
[pithos-web-client] / src / gr / grnet / pithos / web / client / mysharedtree / MysharedTreeViewModel.java
index e5595ce..6e5c005 100644 (file)
@@ -85,30 +85,10 @@ public class MysharedTreeViewModel implements TreeViewModel {
             safeHtmlBuilder.appendHtmlConstant(html).appendHtmlConstant(" ");
             safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(folder.getName()));
         }
-
-        @Override
-        public void onBrowserEvent(Context context, com.google.gwt.dom.client.Element parent, final Folder folder, com.google.gwt.dom.client.NativeEvent event, ValueUpdater<Folder> valueUpdater) {
-            if (event.getType().equals(ContextMenuEvent.getType().getName())) {
-               final int x = event.getClientX();
-               final int y = event.getClientY();
-                MysharedTreeViewModel.this.selectionModel.setSelected(folder, true);
-                app.scheduleFolderHeadCommand(folder, new Command() {
-                                       
-                                       @Override
-                                       public void execute() {
-                               FolderContextMenu menu = new FolderContextMenu(app, MysharedTreeView.images, app.getSelectedTree(), folder);
-                               menu.setPopupPosition(x, y);
-                               menu.show();
-                                       }
-                               });
-            }
-        }
     };
 
     protected ListDataProvider<Folder> firstLevelDataProvider = new ListDataProvider<Folder>();
-
-    private Map<Folder, ListDataProvider<Folder>> dataProviderMap = new HashMap<Folder, ListDataProvider<Folder>>();
-    
     protected SingleSelectionModel<Folder> selectionModel;
 
     public MysharedTreeViewModel(Pithos _app, SingleSelectionModel<Folder> selectionModel) {
@@ -122,13 +102,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
                fetchSharedContainers(null);
             return new DefaultNodeInfo<Folder>(firstLevelDataProvider, folderCell, selectionModel, null);
         }
-        final Folder f = (Folder) value;
-        if (dataProviderMap.get(f) == null) {
-            dataProviderMap.put(f, new ListDataProvider<Folder>());
-        }
-        final ListDataProvider<Folder> dataProvider = dataProviderMap.get(f);
-        fetchFolder(f, dataProvider, false);
-        return new DefaultNodeInfo<Folder>(dataProvider, folderCell, selectionModel, null);
+        return null;
     }
 
        private void fetchSharedContainers(final Command callback) {
@@ -136,23 +110,16 @@ public class MysharedTreeViewModel implements TreeViewModel {
         GetRequest<AccountResource> getAccount = new GetRequest<AccountResource>(AccountResource.class, app.getApiPath(), app.getUsername(), path) {
             @Override
             public void onSuccess(final AccountResource _result) {
-               Iterator<Folder> iter = _result.getContainers().listIterator();
-               fetchFolder(iter, new Command() {
-                                       
-                                       @Override
-                                       public void execute() {
-                                               firstLevelDataProvider.getList().clear();
-                               Folder t = null;
-                               for (Folder c : _result.getContainers()) {
-                                       if (c.isHome())
-                                               firstLevelDataProvider.getList().add(0, c); //Pithos is always first
-                                       else if (!c.isTrash())
-                                               firstLevelDataProvider.getList().add(c);
-                               }
-                                               if (callback != null)
-                                                       callback.execute();
-                                       }
-                               });
+                               firstLevelDataProvider.getList().clear();
+                Folder t = null;
+                for (Folder c : _result.getContainers()) {
+                       if (c.isHome())
+                               firstLevelDataProvider.getList().add(0, c); //Pithos is always first
+                       else if (!c.isTrash())
+                               firstLevelDataProvider.getList().add(c);
+                }
+                               if (callback != null)
+                                       callback.execute();
             }
 
             @Override
@@ -178,13 +145,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
     public boolean isLeaf(Object o) {
                if (o == null)
                        return false;
-               else if (o instanceof Folder) {
-            Folder f = (Folder) o;
-            return f.getSubfolders().isEmpty();
-        }
-               else {
-                       return firstLevelDataProvider.getList().isEmpty();
-               }
+               return true;
     }
        
        private native void log(String msg) /*-{
@@ -229,29 +190,16 @@ public class MysharedTreeViewModel implements TreeViewModel {
     }
 
     public void updateFolder(Folder folder, boolean showfiles) {
-        if (dataProviderMap.get(folder) == null) {
-            dataProviderMap.put(folder, new ListDataProvider<Folder>());
-        }
-        final ListDataProvider<Folder> dataProvider = dataProviderMap.get(folder);
-        fetchFolder(folder, dataProvider, showfiles);
+        fetchFolder(folder,showfiles);
     }
 
-    public void fetchFolder(final Folder f, final ListDataProvider<Folder> dataProvider, final boolean showfiles) {
-        String path = "/" + f.getContainer() + "?format=json&shared=&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
-        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
+    public void fetchFolder(final Folder f, final boolean showfiles) {
+        String path = "/" + f.getContainer() + "?format=json&shared=" + URL.encodeQueryString(f.getPrefix());
+        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, null) {
             @Override
             public void onSuccess(final Folder _result) {
                 if (showfiles)
                     app.showFiles(_result);
-                Iterator<Folder> iter = new ArrayList<Folder>(_result.getSubfolders()).listIterator();
-                fetchFolder(iter, new Command() {
-                    @Override
-                    public void execute() {
-                        dataProvider.getList().clear();
-                               dataProvider.getList().addAll(_result.getSubfolders());
-                        app.getMySharedTreeView().updateChildren(f);
-                    }
-                });
             }
 
             @Override