Shahar Havivi has uploaded a new change for review.

Change subject: UI: expand the tree to cluster/storage level
......................................................................

UI: expand the tree to cluster/storage level

Change-Id: I3114271cab914979c0a93b9d4697b8ba6669197a
Signed-off-by: Shahar Havivi <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
2 files changed, 36 insertions(+), 37 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/27/10427/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
index d91a5f6..16c82ff 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
@@ -299,32 +299,30 @@
                                                         dcNetworkList = 
(List<Network>) returnValue.getReturnValue();
                                                         dcId = 
systemTreeModel.getDataCenters().get(i).getId();
                                                         
systemTreeModel.getNetworkMap().put(dcId, dcNetworkList);
-
-
-                                                        // Storages
-                                                        
ArrayList<VdcQueryType> queryTypeList =
-                                                                new 
ArrayList<VdcQueryType>();
-                                                        
ArrayList<VdcQueryParametersBase> queryParamList =
-                                                                new 
ArrayList<VdcQueryParametersBase>();
-
-                                                        for (storage_pool 
dataCenter : systemTreeModel.getDataCenters())
-                                                        {
-                                                            
queryTypeList.add(VdcQueryType.GetStorageDomainsByStoragePoolId);
-                                                            
queryParamList.add(new StoragePoolQueryParametersBase(dataCenter.getId()));
-                                                        }
-                                                        if 
((ApplicationModeHelper.getUiMode().getValue() & 
ApplicationMode.VirtOnly.getValue()) == 0) {
-                                                            
FrontendMultipleQueryAsyncResult dummyResult =
-                                                                    new 
FrontendMultipleQueryAsyncResult();
-                                                            
VdcQueryReturnValue value = new VdcQueryReturnValue();
-                                                            
value.setSucceeded(true);
-                                                            
dummyResult.getReturnValues().add(value);
-                                                            
SystemTreeModel.this.Executed(dummyResult);
-                                                        } else {
-                                                            
Frontend.RunMultipleQueries(queryTypeList, queryParamList, systemTreeModel);
-                                                        }
                                                     }
                                                 }
 
+                                                // Storages
+                                                ArrayList<VdcQueryType> 
queryTypeList =
+                                                        new 
ArrayList<VdcQueryType>();
+                                                
ArrayList<VdcQueryParametersBase> queryParamList =
+                                                        new 
ArrayList<VdcQueryParametersBase>();
+
+                                                for (storage_pool dataCenter : 
systemTreeModel.getDataCenters())
+                                                {
+                                                    
queryTypeList.add(VdcQueryType.GetStorageDomainsByStoragePoolId);
+                                                    queryParamList.add(new 
StoragePoolQueryParametersBase(dataCenter.getId()));
+                                                }
+                                                if 
((ApplicationModeHelper.getUiMode().getValue() & 
ApplicationMode.VirtOnly.getValue()) == 0) {
+                                                    
FrontendMultipleQueryAsyncResult dummyResult =
+                                                            new 
FrontendMultipleQueryAsyncResult();
+                                                    VdcQueryReturnValue value 
= new VdcQueryReturnValue();
+                                                    value.setSucceeded(true);
+                                                    
dummyResult.getReturnValues().add(value);
+                                                    
SystemTreeModel.this.Executed(dummyResult);
+                                                } else {
+                                                    
Frontend.RunMultipleQueries(queryTypeList, queryParamList, systemTreeModel);
+                                                }
                                             }
                                         });
                                     }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
index a941184..ad8cb08 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
@@ -29,9 +29,10 @@
     }
 
     private final SystemTreeModelProvider modelProvider;
+    // we want to auto-expand the DC and clusters
+    private final int DEFAULT_TREE_LEVEL = 2;
 
     private CellTree display;
-    private boolean initialized;
 
     public SystemTree(SystemTreeModelProvider modelProvider, 
ApplicationConstants constants) {
         super(modelProvider);
@@ -81,16 +82,7 @@
             @Override
             public void eventRaised(Event ev, Object sender, EventArgs args) {
                 // Collapse tree on refresh
-                expandTree(display.getRootTreeNode(), false);
-
-                // Workaround for bug 856233. Force a root tree node to be 
opened.
-                // This won't cause visual changes, i.e. after refresh the tree
-                // will collapse as it should do.
-                if (initialized) {
-                    display.getRootTreeNode().setChildOpen(0, true);
-                }
-
-                initialized = true;
+                expandTree(display.getRootTreeNode(), false, 
DEFAULT_TREE_LEVEL);
             }
         });
     }
@@ -98,20 +90,29 @@
     @Override
     protected CellTree createDataDisplayWidget(SystemTreeModelProvider 
modelProvider) {
         SystemTreeResources res = GWT.create(SystemTreeResources.class);
-        display = new CellTree(modelProvider, null, res);
+        display = new CellTree(modelProvider, null, res) {
+            protected void onLoad() {
+                expandTree(display.getRootTreeNode(), false, 
DEFAULT_TREE_LEVEL);
+            }
+        };
         display.setAnimationEnabled(true);
         
display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);
         return display;
     }
 
-    private void expandTree(TreeNode node, boolean collapse) {
+    private void expandTree(TreeNode node, boolean expand) {
+        expandTree(node, expand, expand ? DEFAULT_TREE_LEVEL : 0);
+    }
+
+    private void expandTree(TreeNode node, boolean expand, int expandLevel) {
         if (node == null) {
             return;
         }
 
         if (node.getChildCount() > 0) {
             for (int i = 0; i < node.getChildCount(); i++) {
-                expandTree(node.setChildOpen(i, collapse), collapse);
+                boolean expandNode = i == 0 ? expandLevel > 0 : expand;
+                expandTree(node.setChildOpen(i, expandNode), expand, 
expandLevel-1);
             }
         }
     }


--
To view, visit http://gerrit.ovirt.org/10427
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3114271cab914979c0a93b9d4697b8ba6669197a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shahar Havivi <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to