Kanagaraj M has uploaded a new change for review. Change subject: webadmin: add status image column to bricks tab ......................................................................
webadmin: add status image column to bricks tab Added a status image colume to bricks subtab. Removed the existing status text column from the table. Change-Id: Ibbf48deb409f7dee046b9844b545f8355d5c042b Signed-off-by: Kanagaraj M <[email protected]> --- M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java A frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java 3 files changed, 78 insertions(+), 12 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/78/18678/1 diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java index e3d0727..8aa846f 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/tab/gluster/SubTabVolumeBrickView.java @@ -1,11 +1,9 @@ package org.ovirt.engine.ui.webadmin.section.main.view.tab.gluster; import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; -import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; import org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.uicommon.model.SearchableDetailModelProvider; -import org.ovirt.engine.ui.common.widget.table.column.EnumColumn; import org.ovirt.engine.ui.common.widget.table.column.TextColumnWithTooltip; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeBrickListModel; @@ -14,6 +12,7 @@ import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.gluster.SubTabVolumeBrickPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition; +import org.ovirt.engine.ui.webadmin.widget.table.column.BrickStatusColumn; import com.google.gwt.core.client.GWT; import com.google.inject.Inject; @@ -35,6 +34,8 @@ void initTable(ApplicationConstants constants) { getTable().enableColumnResizing(); + getTable().addColumn(new BrickStatusColumn(), constants.empty(), "30px"); //$NON-NLS-1$ + TextColumnWithTooltip<GlusterBrickEntity> serverColumn = new TextColumnWithTooltip<GlusterBrickEntity>() { @Override public String getValue(GlusterBrickEntity brick) { @@ -50,16 +51,6 @@ } }; getTable().addColumn(directoryColumn, constants.brickDirectoryVolumeBrick(), "400px"); //$NON-NLS-1$ - - TextColumnWithTooltip<GlusterBrickEntity> statusColumn = - new EnumColumn<GlusterBrickEntity, GlusterStatus>() { - - @Override - protected GlusterStatus getRawValue(GlusterBrickEntity object) { - return object.getStatus(); - } - }; - getTable().addColumn(statusColumn, constants.statusBrick(), "200px"); //$NON-NLS-1$ getTable().addActionButton(new WebAdminButtonDefinition<GlusterBrickEntity>(constants.addBricksBrick()) { @Override diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java new file mode 100644 index 0000000..ee9ff7c --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusCell.java @@ -0,0 +1,57 @@ +package org.ovirt.engine.ui.webadmin.widget.table.column; + +import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; +import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus; +import org.ovirt.engine.ui.webadmin.ApplicationConstants; +import org.ovirt.engine.ui.webadmin.ApplicationResources; +import org.ovirt.engine.ui.webadmin.ApplicationTemplates; +import org.ovirt.engine.ui.webadmin.gin.ClientGinjectorProvider; + +import com.google.gwt.cell.client.AbstractCell; +import com.google.gwt.resources.client.ImageResource; +import com.google.gwt.safehtml.shared.SafeHtml; +import com.google.gwt.safehtml.shared.SafeHtmlBuilder; +import com.google.gwt.safehtml.shared.SafeHtmlUtils; +import com.google.gwt.user.client.ui.AbstractImagePrototype; + +public class BrickStatusCell extends AbstractCell<GlusterBrickEntity> { + + ApplicationResources resources = ClientGinjectorProvider.getApplicationResources(); + + ApplicationConstants constants = ClientGinjectorProvider.getApplicationConstants(); + + ApplicationTemplates applicationTemplates = ClientGinjectorProvider.getApplicationTemplates(); + + @Override + public void render(Context context, GlusterBrickEntity brick, SafeHtmlBuilder sb) { + // Nothing to render if no brick is provided: + if (brick == null) { + return; + } + + // Find the image corresponding to the status of the brick: + GlusterStatus status = brick.getStatus(); + ImageResource statusImage = null; + String tooltip; + + switch (status) { + case DOWN: + statusImage = resources.downImage(); + tooltip = constants.down(); + break; + case UP: + statusImage = resources.upImage(); + tooltip = constants.up(); + break; + default: + statusImage = resources.downImage(); + tooltip = constants.down(); + } + + // Generate the HTML for the image: + SafeHtml statusImageHtml = + SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(statusImage).getHTML()); + sb.append(applicationTemplates.statusTemplate(statusImageHtml, tooltip)); + } + +} diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java new file mode 100644 index 0000000..71932a2 --- /dev/null +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/column/BrickStatusColumn.java @@ -0,0 +1,18 @@ +package org.ovirt.engine.ui.webadmin.widget.table.column; + +import org.ovirt.engine.core.common.businessentities.gluster.GlusterBrickEntity; + +import com.google.gwt.user.cellview.client.Column; + +public class BrickStatusColumn extends Column<GlusterBrickEntity, GlusterBrickEntity> { + + public BrickStatusColumn() { + super(new BrickStatusCell()); + } + + @Override + public GlusterBrickEntity getValue(GlusterBrickEntity object) { + return object; + } + +} -- To view, visit http://gerrit.ovirt.org/18678 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibbf48deb409f7dee046b9844b545f8355d5c042b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Kanagaraj M <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
