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
