ofri masad has uploaded a new change for review.

Change subject: webadmin: Add quota usage tooltip (#848028)
......................................................................

webadmin: Add quota usage tooltip (#848028)

https://bugzilla.redhat.com/848028

A tooltip added to the usage column in the Quota>storage sub-tab to
explain the differences between that value and the value shown in the
Storage>VMs sub-tab.

The value in Quota>storage sub-tab uses the max growth potential of a
disk to calculate the quota consumption.

The value in Storage>VMs sub-tab shows the actual current use of the
disk.

Change-Id: Ic3f3c0243650e9822509c1249f0f6ca9c512d543
Signed-off-by: Ofri Masad <[email protected]>
---
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextCellWithEditableTooltip.java
A 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
4 files changed, 75 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/53/8153/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextCellWithEditableTooltip.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextCellWithEditableTooltip.java
new file mode 100644
index 0000000..17a7b12
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextCellWithEditableTooltip.java
@@ -0,0 +1,35 @@
+package org.ovirt.engine.ui.common.widget.table.column;
+
+import com.google.gwt.cell.client.Cell;
+import com.google.gwt.cell.client.ValueUpdater;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.NativeEvent;
+
+/**
+ * This Cell type allows you to edit the text that would be presented as 
tooltip.
+ * It overrides the usual  {@link TextCellWithTooltip} tooltip behavior
+ */
+public class TextCellWithEditableTooltip extends TextCellWithTooltip {
+    private String title = ""; //$NON-NLS-1$
+
+    public TextCellWithEditableTooltip() {
+        super(TextCellWithTooltip.UNLIMITED_LENGTH);
+    }
+
+    @Override
+    public void onBrowserEvent(Cell.Context context, Element parent,
+                               String value, NativeEvent event, 
ValueUpdater<String> valueUpdater) {
+        super.onBrowserEvent(context, parent, value, event, valueUpdater);
+
+        // Ignore events other than 'mouseover' or when title was left empty 
string
+        if (!"mouseover".equals(event.getType()) || "".equals(title)) { 
//$NON-NLS-1$ //$NON-NLS-2$
+            return;
+        }
+
+        parent.setTitle(title);
+    }
+
+    public void setTitle(String title) {
+        this.title = title != null ? title : ""; //$NON-NLS-1$
+    }
+}
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
new file mode 100644
index 0000000..86cea09
--- /dev/null
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/column/TextColumnWithEditableTooltip.java
@@ -0,0 +1,27 @@
+package org.ovirt.engine.ui.common.widget.table.column;
+
+import com.google.gwt.user.cellview.client.Column;
+
+/**
+ * Column for displaying text using {@link TextCellWithEditableTooltip}.
+ *
+ * @param <T>
+ *            Table row data type.
+ */
+public abstract class TextColumnWithEditableTooltip<T> extends Column<T, 
String> implements ColumnWithElementId {
+
+    public TextColumnWithEditableTooltip() {
+        super(new TextCellWithEditableTooltip());
+    }
+
+    @Override
+    public void configureElementId(String elementIdPrefix, String columnId) {
+        getCell().setElementIdPrefix(elementIdPrefix);
+        getCell().setColumnId(columnId);
+    }
+
+    @Override
+    public TextCellWithEditableTooltip getCell() {
+        return (TextCellWithEditableTooltip) super.getCell();
+    }
+}
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
index 18e952e..b3de491 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java
@@ -2199,4 +2199,7 @@
 
     @DefaultStringValue("[No jobs available]")
     String emptyJobMessage();
+
+    @DefaultStringValue("These calculations represents the max growth 
potential and may differ from the actual consumption. Please refer 
documentation for further explanations.")
+    String quotaCalculationsMessage();
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
index 08d5960..dff8486 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/quota/SubTabQuotaStorageView.java
@@ -7,6 +7,8 @@
 import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
 import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider;
 import org.ovirt.engine.ui.common.widget.renderer.DiskSizeRenderer;
+import 
org.ovirt.engine.ui.common.widget.table.column.TextCellWithEditableTooltip;
+import 
org.ovirt.engine.ui.common.widget.table.column.TextColumnWithEditableTooltip;
 import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip;
 import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaListModel;
 import org.ovirt.engine.ui.uicommonweb.models.quota.QuotaStorageListModel;
@@ -45,7 +47,7 @@
         },
                 constants.nameQuotaStorage());
 
-        getTable().addColumn(new TextColumnWithTooltip<QuotaStorage>() {
+        getTable().addColumn(new TextColumnWithEditableTooltip<QuotaStorage>() 
{
             @Override
             public String getValue(QuotaStorage object) {
                 String str;
@@ -59,6 +61,13 @@
                 return (object.getStorageSizeGBUsage() == 0 ? 0
                         : 
diskSizeRenderer.render(object.getStorageSizeGBUsage())) + str;
             }
+
+            @Override
+            public TextCellWithEditableTooltip getCell() {
+                TextCellWithEditableTooltip textCellWithEditableTooltip = 
super.getCell();
+                
textCellWithEditableTooltip.setTitle(constants.quotaCalculationsMessage());
+                return textCellWithEditableTooltip;
+            }
         },
                 constants.usedStorageTotalQuotaStorage());
     }


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

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

Reply via email to