use of org.ovirt.engine.ui.common.widget.table.column.AbstractFullDateTimeColumn in project ovirt-engine by oVirt.
the class ErrataTableView method initErrataGrid.
/**
* Setup the columns in the errata grid. This configuration is also used in MainEngineErrataView.
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void initErrataGrid(HasColumns grid, boolean isEngineErrataView, final PlaceTransitionHandler transitionHandler) {
grid.enableColumnResizing();
AbstractIconTypeColumn<Erratum> errataTypeColumn = new AbstractIconTypeColumn<Erratum>() {
@Override
public IconType getValue(Erratum erratum) {
if (erratum.getType() == ErrataType.BUGFIX) {
getCell().setColor(SafeHtmlUtils.fromTrustedString(ErrataType.BUGFIX.getColor()));
return IconType.BUG;
} else if (erratum.getType() == ErrataType.ENHANCEMENT) {
getCell().setColor(SafeHtmlUtils.fromTrustedString(ErrataType.ENHANCEMENT.getColor()));
return IconType.PLUS_SQUARE;
} else if (erratum.getType() == ErrataType.SECURITY) {
getCell().setColor(SafeHtmlUtils.fromTrustedString(ErrataType.SECURITY.getColor()));
return IconType.WARNING;
}
return null;
}
};
errataTypeColumn.makeSortable(new ErrataTypeComparator());
// $NON-NLS-1$ //$NON-NLS-2$
grid.addColumn(errataTypeColumn, "", "30px");
AbstractTextColumn errataTypeTextColumn = new AbstractTextColumn<Erratum>() {
@Override
public String getValue(Erratum erratum) {
if (erratum.getType() == ErrataType.BUGFIX) {
return constants.bug();
} else if (erratum.getType() == ErrataType.ENHANCEMENT) {
return constants.enhancement();
} else if (erratum.getType() == ErrataType.SECURITY) {
return constants.security();
}
return constants.unknown();
}
};
errataTypeTextColumn.makeSortable();
// $NON-NLS-1$
grid.addColumn(errataTypeTextColumn, constants.errataType(), "150px");
AbstractTextColumn<Erratum> errataSeverityColumn = new AbstractTextColumn<Erratum>() {
@Override
public String getValue(Erratum erratum) {
if (erratum.getSeverity() == ErrataSeverity.CRITICAL) {
return constants.critical();
} else if (erratum.getSeverity() == ErrataSeverity.IMPORTANT) {
return constants.important();
} else if (erratum.getSeverity() == ErrataSeverity.MODERATE) {
return constants.moderate();
}
return constants.unknown();
}
};
errataSeverityColumn.makeSortable();
// $NON-NLS-1$
grid.addColumn(errataSeverityColumn, constants.errataSeverity(), "150px");
AbstractFullDateTimeColumn<Erratum> dateIssuedColumn = new AbstractFullDateTimeColumn<Erratum>(false) {
@Override
protected Date getRawValue(Erratum erratum) {
return erratum.getIssued();
}
};
dateIssuedColumn.makeSortable();
// $NON-NLS-1$
grid.addColumn(dateIssuedColumn, constants.errataDateIssued(), "100px");
AbstractTextColumn<Erratum> errataIdColumn;
if (!isEngineErrataView) {
errataIdColumn = new AbstractTextColumn<Erratum>() {
@Override
public String getValue(Erratum erratum) {
return erratum.getId();
}
};
} else {
errataIdColumn = new AbstractLinkColumn<Erratum>(new FieldUpdater<Erratum, String>() {
@Override
public void update(int index, Erratum erratum, String value) {
Map<String, String> parameters = new HashMap<>();
parameters.put(FragmentParams.NAME.getName(), erratum.getName());
// The link was clicked, now fire an event to switch to details.
transitionHandler.handlePlaceTransition(WebAdminApplicationPlaces.errataDetailsSubTabPlace, parameters);
}
}) {
@Override
public String getValue(Erratum erratum) {
return erratum.getId();
}
};
}
errataIdColumn.makeSortable();
// $NON-NLS-1$
grid.addColumn(errataIdColumn, constants.errataId(), "115px");
AbstractTextColumn<Erratum> titleColumn = new AbstractTextColumn<Erratum>() {
@Override
public String getValue(Erratum erratum) {
return erratum.getTitle();
}
};
titleColumn.makeSortable();
// $NON-NLS-1$
grid.addColumn(titleColumn, constants.errataTitle(), "290px");
}
use of org.ovirt.engine.ui.common.widget.table.column.AbstractFullDateTimeColumn in project ovirt-engine by oVirt.
the class ImportVmFromExportDomainPopupView method initDiskTable.
private void initDiskTable() {
diskTable = new ListModelObjectCellTable<>();
diskTable.enableColumnResizing();
AbstractTextColumn<DiskImage> aliasColumn = new AbstractTextColumn<DiskImage>() {
@Override
public String getValue(DiskImage object) {
return object.getDiskAlias();
}
};
// $NON-NLS-1$
diskTable.addColumn(aliasColumn, constants.aliasDisk(), "100px");
AbstractImageResourceColumn<DiskImage> bootableDiskColumn = new AbstractImageResourceColumn<DiskImage>() {
@Override
public ImageResource getValue(DiskImage object) {
return object.getDiskVmElements().iterator().next().isBoot() ? getDefaultImage() : null;
}
@Override
public ImageResource getDefaultImage() {
return resources.bootableDiskIcon();
}
@Override
public SafeHtml getTooltip(DiskImage object) {
if (object.getDiskVmElements().iterator().next().isBoot()) {
return SafeHtmlUtils.fromSafeConstant(constants.bootableDisk());
}
return null;
}
};
diskTable.addColumn(bootableDiskColumn, new ImageResourceHeader(DisksViewColumns.bootableDiskColumn.getDefaultImage(), SafeHtmlUtils.fromSafeConstant(constants.bootableDisk())), // $NON-NLS-1$
"30px");
AbstractDiskSizeColumn<DiskImage> sizeColumn = new AbstractDiskSizeColumn<DiskImage>() {
@Override
protected Long getRawValue(DiskImage object) {
return object.getSize();
}
};
// $NON-NLS-1$
diskTable.addColumn(sizeColumn, constants.provisionedSizeDisk(), "130px");
AbstractDiskSizeColumn<DiskImage> actualSizeColumn = new AbstractDiskSizeColumn<DiskImage>() {
@Override
protected Long getRawValue(DiskImage object) {
return object.getActualSizeInBytes();
}
};
// $NON-NLS-1$
diskTable.addColumn(actualSizeColumn, constants.sizeDisk(), "130px");
AbstractTextColumn<DiskImage> dateCreatedColumn = new AbstractFullDateTimeColumn<DiskImage>() {
@Override
protected Date getRawValue(DiskImage object) {
return object.getCreationDate();
}
};
// $NON-NLS-1$
diskTable.addColumn(dateCreatedColumn, constants.dateCreatedInterface(), "120px");
diskTable.setSelectionModel(new NoSelectionModel<DiskImage>());
addAllocationColumn();
diskTable.getElement().getStyle().setPosition(Position.RELATIVE);
}
use of org.ovirt.engine.ui.common.widget.table.column.AbstractFullDateTimeColumn in project ovirt-engine by oVirt.
the class EventListModelTable method initTable.
@Override
public void initTable() {
getTable().enableColumnResizing();
AuditLogSeverityColumn severityColumn = new AuditLogSeverityColumn();
severityColumn.setContextMenuTitle(constants.severityEvent());
// $NON-NLS-1$
getTable().addColumn(severityColumn, constants.empty(), "20px");
AbstractTextColumn<AuditLog> logTimeColumn = new AbstractFullDateTimeColumn<AuditLog>() {
@Override
protected Date getRawValue(AuditLog object) {
return object.getLogTime();
}
};
logTimeColumn.makeSortable(AuditLogConditionFieldAutoCompleter.TIME);
// $NON-NLS-1$
getTable().addColumn(logTimeColumn, constants.timeEvent(), "170px");
AbstractTextColumn<AuditLog> messageColumn = new AbstractTextColumn<AuditLog>() {
@Override
public String getValue(AuditLog object) {
return object.getMessage();
}
};
messageColumn.makeSortable(AuditLogConditionFieldAutoCompleter.MESSAGE);
// $NON-NLS-1$
getTable().addColumn(messageColumn, constants.messageEvent(), "600px");
AbstractTextColumn<AuditLog> correlationIdColumn = new AbstractTextColumn<AuditLog>() {
@Override
public String getValue(AuditLog object) {
return object.getCorrelationId();
}
};
correlationIdColumn.makeSortable(AuditLogConditionFieldAutoCompleter.CORRELATION_ID);
// $NON-NLS-1$
getTable().addColumn(correlationIdColumn, constants.correltaionIdEvent(), "100px");
AbstractTextColumn<AuditLog> originColumn = new AbstractTextColumn<AuditLog>() {
@Override
public String getValue(AuditLog object) {
return object.getOrigin();
}
};
originColumn.makeSortable(AuditLogConditionFieldAutoCompleter.ORIGIN);
// $NON-NLS-1$
getTable().addColumn(originColumn, constants.originEvent(), "100px");
AbstractTextColumn<AuditLog> customEventIdColumn = new AbstractTextColumn<AuditLog>() {
@Override
public String getValue(AuditLog object) {
int id = object.getCustomEventId();
// $NON-NLS-1$
return id >= 0 ? String.valueOf(id) : "";
}
};
customEventIdColumn.makeSortable(AuditLogConditionFieldAutoCompleter.CUSTOM_EVENT_ID);
// $NON-NLS-1$
getTable().addColumn(customEventIdColumn, constants.customEventIdEvent(), "120px");
}
use of org.ovirt.engine.ui.common.widget.table.column.AbstractFullDateTimeColumn in project ovirt-engine by oVirt.
the class AdvancedViewColumns method initTable.
void initTable() {
getTable().enableColumnResizing();
AuditLogSeverityColumn severityColumn = new AuditLogSeverityColumn();
severityColumn.setContextMenuTitle(constants.severityEvent());
// $NON-NLS-1$
getTable().addColumn(severityColumn, constants.empty(), "30px");
AbstractTextColumn<AuditLog> logTimeColumn = new AbstractFullDateTimeColumn<AuditLog>() {
@Override
protected Date getRawValue(AuditLog object) {
return object.getLogTime();
}
};
logTimeColumn.makeSortable(AuditLogConditionFieldAutoCompleter.TIME);
// $NON-NLS-1$
getTable().addColumn(logTimeColumn, constants.timeEvent(), "175px");
messageColumn = new AbstractTextColumn<AuditLog>() {
@Override
public String getValue(AuditLog object) {
return object.getMessage();
}
};
messageColumn.makeSortable(AuditLogConditionFieldAutoCompleter.MESSAGE);
getTable().addColumn(messageColumn, constants.messageEvent(), BASIC_VIEW_MSG_COLUMN_WIDTH);
}
use of org.ovirt.engine.ui.common.widget.table.column.AbstractFullDateTimeColumn in project ovirt-engine by oVirt.
the class VmSnapshotCustomPreviewPopupWidget method createPreviewTable.
private void createPreviewTable() {
previewTable.addColumn(new AbstractFullDateTimeColumn<SnapshotModel>() {
@Override
protected Date getRawValue(SnapshotModel snapshotModel) {
return snapshotModel.getEntity().getCreationDate();
}
}, constants.dateSnapshot(), // $NON-NLS-1$
"140px");
previewTable.addColumn(new AbstractTextColumn<SnapshotModel>() {
@Override
public String getValue(SnapshotModel snapshotModel) {
return snapshotModel.getEntity().getDescription();
}
}, constants.descriptionSnapshot(), // $NON-NLS-1$
"100px");
previewTable.setSelectionModel(new NoSelectionModel());
Column<SnapshotModel, Boolean> vmConfColumn = new Column<SnapshotModel, Boolean>(new RadioboxCell()) {
@Override
public Boolean getValue(SnapshotModel model) {
Snapshot snapshotVmConf = model.getEntity();
Snapshot toPreviewVmConf = previewSnapshotModel.getSnapshotModel().getEntity();
if (snapshotVmConf == null && toPreviewVmConf == null) {
return true;
}
return snapshotVmConf != null && snapshotVmConf.equals(toPreviewVmConf);
}
@Override
public void render(Context context, SnapshotModel snapshotModel, SafeHtmlBuilder sb) {
if (!snapshotModel.getEntity().isVmConfigurationBroken()) {
super.render(context, snapshotModel, sb);
} else {
sb.appendEscaped(constants.notAvailableLabel());
}
}
};
vmConfColumn.setFieldUpdater((index, snapshotModel, value) -> {
previewSnapshotModel.setSnapshotModel(snapshotModel);
previewSnapshotModel.clearMemorySelection();
updateWarnings();
refreshTable(previewTable);
if (snapshotModel.getVm() == null) {
snapshotModel.updateVmConfiguration(returnValue -> updateInfoPanel());
} else {
updateInfoPanel();
}
});
previewTable.addColumn(vmConfColumn, new ImageResourceHeader(resources.vmConfIcon(), SafeHtmlUtils.fromTrustedString(constants.vmConfiguration())), // $NON-NLS-1$
"30px");
AbstractCheckboxColumn<SnapshotModel> memoryColumn = new AbstractCheckboxColumn<SnapshotModel>((index, snapshotModel, value) -> {
previewSnapshotModel.getSnapshotModel().getMemory().setEntity(value);
refreshTable(previewTable);
updateWarnings();
}) {
@Override
public Boolean getValue(SnapshotModel snapshotModel) {
return snapshotModel.getMemory().getEntity();
}
@Override
protected boolean canEdit(SnapshotModel snapshotModel) {
boolean containsMemory = snapshotModel.getEntity().containsMemory();
SnapshotModel selectedSnapshotModel = previewSnapshotModel.getSnapshotModel();
return containsMemory && snapshotModel == selectedSnapshotModel;
}
@Override
public void render(Context context, SnapshotModel snapshotModel, SafeHtmlBuilder sb) {
if (snapshotModel.getEntity().containsMemory()) {
super.render(context, snapshotModel, sb);
} else {
sb.appendEscaped(constants.notAvailableLabel());
}
}
};
previewTable.addColumn(memoryColumn, templates.iconWithText(imageResourceToSafeHtml(resources.memorySmallIcon()), constants.memorySnapshot()), // $NON-NLS-1$
"100px");
AbstractCheckboxColumn<SnapshotModel> vmLeaseColumn = new AbstractCheckboxColumn<SnapshotModel>((index, snapshotModel, value) -> {
snapshotModel.getLeaseExists().setEntity(value);
refreshTable(previewTable);
updateWarnings();
}) {
@Override
public Boolean getValue(SnapshotModel model) {
if (model.getLeaseExists() != null) {
return model.getLeaseExists().getEntity();
}
return false;
}
@Override
protected boolean canEdit(SnapshotModel snapshotModel) {
// prevent from selecting more then one leases in case many snapshots have leases
if (snapshotModel.getLeaseExists() != null) {
SnapshotModel result = previewSnapshotModel.getSnapshots().getItems().stream().filter(model -> model.getEntity().getId() != snapshotModel.getEntity().getId()).filter(model -> model.getLeaseExists().getEntity() != null).filter(model -> model.getLeaseExists().getEntity()).findFirst().orElse(null);
return result == null;
}
return false;
}
@Override
public void render(Context context, SnapshotModel snapshotModel, SafeHtmlBuilder sb) {
if (snapshotModel.getLeaseExists().getEntity() != null) {
super.render(context, snapshotModel, sb);
} else {
sb.appendEscaped(constants.notAvailableLabel());
}
}
};
// $NON-NLS-1$
previewTable.addColumn(vmLeaseColumn, constants.leaseSnapshot(), "80px");
List<DiskImage> disks = previewSnapshotModel.getAllDisks();
Collections.sort(disks, new DiskByDiskAliasComparator());
for (final DiskImage disk : disks) {
previewTable.addColumn(new AbstractCheckboxColumn<SnapshotModel>((index, snapshotModel, value) -> {
ListModel diskListModel = previewSnapshotModel.getDiskSnapshotsMap().get(disk.getId());
DiskImage image = snapshotModel.getImageByDiskId(disk.getId());
diskListModel.setSelectedItem(Boolean.TRUE.equals(value) ? image : null);
refreshTable(previewTable);
updateWarnings();
updateInfoPanel();
}) {
@Override
public Boolean getValue(SnapshotModel snapshotModel) {
ListModel diskListModel = previewSnapshotModel.getDiskSnapshotsMap().get(disk.getId());
DiskImage image = snapshotModel.getImageByDiskId(disk.getId());
return image != null ? image.equals(diskListModel.getSelectedItem()) : false;
}
@Override
protected boolean canEdit(SnapshotModel model) {
return true;
}
@Override
public void render(Context context, SnapshotModel snapshotModel, SafeHtmlBuilder sb) {
DiskImage image = snapshotModel.getImageByDiskId(disk.getId());
if (image == null) {
sb.appendEscaped(constants.notAvailableLabel());
} else if (image.getImageStatus() == ImageStatus.ILLEGAL) {
sb.append(templates.text(constants.notAvailableLabel()));
} else {
super.render(context, snapshotModel, sb);
}
}
@Override
public SafeHtml getTooltip(SnapshotModel model) {
if (disk != null && disk.getId() != null) {
DiskImage image = model.getImageByDiskId(disk.getId());
if (image != null && image.getImageStatus() == ImageStatus.ILLEGAL) {
return SafeHtmlUtils.fromSafeConstant(constants.illegalStatus());
}
}
return null;
}
}, new SafeHtmlHeader(templates.iconWithText(imageResourceToSafeHtml(resources.diskIcon()), disk.getDiskAlias()), SafeHtmlUtils.fromString(disk.getId().toString())), // $NON-NLS-1$
"120px");
// Edit preview table
previewTable.asEditor().edit(previewSnapshotModel.getSnapshots());
}
previewTable.addCellPreviewHandler(new CellPreviewEvent.Handler<EntityModel>() {
long lastClick = -1000;
@Override
public void onCellPreview(CellPreviewEvent<EntityModel> event) {
NativeEvent nativeEvent = event.getNativeEvent();
long clickAt = System.currentTimeMillis();
if (BrowserEvents.CLICK.equals(nativeEvent.getType())) {
if (clickAt - lastClick < 300) {
// double click: 2 clicks detected within 300 ms
SnapshotModel selectedSnapshotModel = (SnapshotModel) event.getValue();
if (!selectedSnapshotModel.getEntity().isVmConfigurationBroken()) {
previewSnapshotModel.clearSelection(selectedSnapshotModel.getEntity().getId());
previewSnapshotModel.selectSnapshot(selectedSnapshotModel.getEntity().getId());
updateWarnings();
refreshTable(previewTable);
}
}
lastClick = System.currentTimeMillis();
}
}
});
}
Aggregations