Greg Sheremeta has uploaded a new change for review. Change subject: webadmin: fix tabs shown when bookmark selected ......................................................................
webadmin: fix tabs shown when bookmark selected The tabs that should appear when a bookmark is selected are the exact same tabs that appear when System is selected in the left-pane tree. Change-Id: I0bef7ce59653750f69813ad8519055669e8a351f Bug-Url: https://bugzilla.redhat.com/987889 Signed-off-by: Greg Sheremeta <gsher...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java 1 file changed, 105 insertions(+), 99 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/17988/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java index 5ea6aba..6b4d728 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java @@ -478,10 +478,10 @@ getSystemTree().getResetCommand().execute(); getSystemTree().getSelectedItemChangedEvent().addListener(this); - for (SearchableListModel item : getItems()) - { - item.setIsAvailable(true); - } + // the main tabs that should appear when a bookmark is selected should + // be the exact same main tabs that are displayed when the "System" node + // in the system tree is selected. + updateAvailability(SystemTreeItemType.System, null); setSearchStringPrefix(""); //$NON-NLS-1$ setSearchString(e.getBookmark().getbookmark_value()); @@ -507,101 +507,7 @@ return; } - // Update items availability depending on system tree selection. - dataCenterList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Storage || model.getType() == SystemTreeItemType.System - || model.getType() == SystemTreeItemType.DataCenters); - - clusterList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Clusters || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster - || model.getType() == SystemTreeItemType.Storage || model.getType() == SystemTreeItemType.Network - || model.getType() == SystemTreeItemType.System); - - hostList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster || model.getType() == SystemTreeItemType.Hosts - || model.getType() == SystemTreeItemType.Host || model.getType() == SystemTreeItemType.Storage - || model.getType() == SystemTreeItemType.Network || model.getType() == SystemTreeItemType.System); - - volumeList.setIsAvailable(model.getType() == SystemTreeItemType.Cluster_Gluster - || model.getType() == SystemTreeItemType.Volume - || model.getType() == SystemTreeItemType.Volumes - || model.getType() == SystemTreeItemType.System); - - if (model.getType() == SystemTreeItemType.Cluster) { - volumeList.setIsAvailable(false); - } - - storageList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster || model.getType() == SystemTreeItemType.Host - || model.getType() == SystemTreeItemType.Storages || model.getType() == SystemTreeItemType.Storage - || model.getType() == SystemTreeItemType.System); - - quotaList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter); - - boolean isDataStorage = false; - if (model.getType() == SystemTreeItemType.Storage) - { - StorageDomain storage = (StorageDomain) model.getEntity(); - isDataStorage = - storage.getStorageDomainType() == StorageDomainType.Data - || storage.getStorageDomainType() == StorageDomainType.Master; - } - - diskList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || isDataStorage || model.getType() == SystemTreeItemType.System); - - vmList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster || model.getType() == SystemTreeItemType.Host - || model.getType() == SystemTreeItemType.Network || isDataStorage - || model.getType() == SystemTreeItemType.VMs - || model.getType() == SystemTreeItemType.System); - - poolList.setIsAvailable(model.getType() == SystemTreeItemType.System - || model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster); - - templateList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster || model.getType() == SystemTreeItemType.Host - || model.getType() == SystemTreeItemType.Network || isDataStorage - || model.getType() == SystemTreeItemType.Templates - || model.getType() == SystemTreeItemType.System); - - if (model.getType() == SystemTreeItemType.Cluster_Gluster) { - VDSGroup cluster = (VDSGroup) model.getEntity(); - if (!cluster.supportsVirtService()) { - vmList.setIsAvailable(false); - templateList.setIsAvailable(false); - storageList.setIsAvailable(false); - poolList.setIsAvailable(false); - } - } - - userList.setIsAvailable(model.getType() == SystemTreeItemType.System); - eventList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster - || model.getType() == SystemTreeItemType.Cluster_Gluster || model.getType() == SystemTreeItemType.Host - || model.getType() == SystemTreeItemType.Storage || model.getType() == SystemTreeItemType.System - || model.getType() == SystemTreeItemType.Volume); - - reportsList.setIsAvailable(ReportInit.getInstance().isReportsEnabled() - && ReportInit.getInstance().getDashboard(model.getType().toString()) != null); - - networkList.setIsAvailable(model.getType() == SystemTreeItemType.Network - || model.getType() == SystemTreeItemType.Networks - || model.getType() == SystemTreeItemType.System || model.getType() == SystemTreeItemType.DataCenter - || model.getType() == SystemTreeItemType.Cluster || model.getType() == SystemTreeItemType.Host); - - providerList.setIsAvailable(model.getType() == SystemTreeItemType.Providers - || model.getType() == SystemTreeItemType.Provider); - - profileList.setIsAvailable(model.getType() == SystemTreeItemType.Network - || model.getType() == SystemTreeItemType.DataCenter); + updateAvailability(model.getType(), model.getEntity()); // Select a default item depending on system tree selection. ListModel oldSelectedItem = getSelectedItem(); @@ -638,6 +544,106 @@ } } + private void updateAvailability(SystemTreeItemType type, Object entity) { + + // Update items availability depending on system tree selection + + dataCenterList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Storage || type == SystemTreeItemType.System + || type == SystemTreeItemType.DataCenters); + + clusterList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Clusters || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster + || type == SystemTreeItemType.Storage || type == SystemTreeItemType.Network + || type == SystemTreeItemType.System); + + hostList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster || type == SystemTreeItemType.Hosts + || type == SystemTreeItemType.Host || type == SystemTreeItemType.Storage + || type == SystemTreeItemType.Network || type == SystemTreeItemType.System); + + volumeList.setIsAvailable(type == SystemTreeItemType.Cluster_Gluster + || type == SystemTreeItemType.Volume + || type == SystemTreeItemType.Volumes + || type == SystemTreeItemType.System); + + if (type == SystemTreeItemType.Cluster) { + volumeList.setIsAvailable(false); + } + + storageList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster || type == SystemTreeItemType.Host + || type == SystemTreeItemType.Storages || type == SystemTreeItemType.Storage + || type == SystemTreeItemType.System); + + quotaList.setIsAvailable(type == SystemTreeItemType.DataCenter); + + boolean isDataStorage = false; + if (type == SystemTreeItemType.Storage && entity != null) + { + StorageDomain storage = (StorageDomain) entity; + isDataStorage = + storage.getStorageDomainType() == StorageDomainType.Data + || storage.getStorageDomainType() == StorageDomainType.Master; + } + + diskList.setIsAvailable(type == SystemTreeItemType.DataCenter + || isDataStorage || type == SystemTreeItemType.System); + + vmList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster || type == SystemTreeItemType.Host + || type == SystemTreeItemType.Network || isDataStorage + || type == SystemTreeItemType.VMs + || type == SystemTreeItemType.System); + + poolList.setIsAvailable(type == SystemTreeItemType.System + || type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster); + + templateList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster || type == SystemTreeItemType.Host + || type == SystemTreeItemType.Network || isDataStorage + || type == SystemTreeItemType.Templates + || type == SystemTreeItemType.System); + + if (type == SystemTreeItemType.Cluster_Gluster && entity != null) { + VDSGroup cluster = (VDSGroup) entity; + if (!cluster.supportsVirtService()) { + vmList.setIsAvailable(false); + templateList.setIsAvailable(false); + storageList.setIsAvailable(false); + poolList.setIsAvailable(false); + } + } + + userList.setIsAvailable(type == SystemTreeItemType.System); + eventList.setIsAvailable(type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster + || type == SystemTreeItemType.Cluster_Gluster || type == SystemTreeItemType.Host + || type == SystemTreeItemType.Storage || type == SystemTreeItemType.System + || type == SystemTreeItemType.Volume); + + reportsList.setIsAvailable(ReportInit.getInstance().isReportsEnabled() + && ReportInit.getInstance().getDashboard(type.toString()) != null); + + networkList.setIsAvailable(type == SystemTreeItemType.Network + || type == SystemTreeItemType.Networks + || type == SystemTreeItemType.System || type == SystemTreeItemType.DataCenter + || type == SystemTreeItemType.Cluster || type == SystemTreeItemType.Host); + + providerList.setIsAvailable(type == SystemTreeItemType.Providers + || type == SystemTreeItemType.Provider); + + profileList.setIsAvailable(type == SystemTreeItemType.Network + || type == SystemTreeItemType.DataCenter); + } + private void changeSelectedTabIfNeeded(SystemTreeItemModel model) { if (getSelectedItem() != null && getSelectedItem().getIsAvailable()) { // Do not change tab if we can show it -- To view, visit http://gerrit.ovirt.org/17988 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I0bef7ce59653750f69813ad8519055669e8a351f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Greg Sheremeta <gsher...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches