use of org.ovirt.engine.ui.webadmin.widget.table.cell.CustomSelectionCell in project ovirt-engine by oVirt.
the class ImportVmFromExportDomainPopupView method addAllocationColumn.
protected void addAllocationColumn() {
ArrayList<String> allocationTypes = new ArrayList<>();
allocationTypes.add(constants.thinAllocation());
allocationTypes.add(constants.preallocatedAllocation());
customSelectionCellFormatType = new CustomSelectionCell(allocationTypes);
customSelectionCellFormatType.setStyle(EMPTY_STYLE);
AbstractColumn<DiskImage, String> allocationColumn = new AbstractColumn<DiskImage, String>(customSelectionCellFormatType) {
@Override
public String getValue(DiskImage disk) {
ImportDiskData importData = importModel.getDiskImportData(disk.getId());
if (importData == null) {
return "";
}
return new EnumRenderer<VolumeType>().render(VolumeType.forValue(importData.getSelectedVolumeType().getValue()));
}
@Override
public SafeHtml getTooltip(DiskImage object) {
return SafeHtmlUtils.fromSafeConstant(constants.importAllocationModifiedCollapse());
}
};
allocationColumn.setFieldUpdater((index, disk, value) -> {
VolumeType tempVolumeType = VolumeType.Sparse;
if (value.equals(constants.thinAllocation())) {
tempVolumeType = VolumeType.Sparse;
} else if (value.equals(constants.preallocatedAllocation())) {
tempVolumeType = VolumeType.Preallocated;
}
ImportDiskData importData = importModel.getDiskImportData(disk.getId());
if (importData != null) {
importData.setSelectedVolumeType(tempVolumeType);
}
});
// $NON-NLS-1$
diskTable.addColumn(allocationColumn, constants.allocationDisk(), "150px");
}
use of org.ovirt.engine.ui.webadmin.widget.table.cell.CustomSelectionCell in project ovirt-engine by oVirt.
the class ImportVmFromExportDomainPopupView method addStorageQuotaColumn.
private void addStorageQuotaColumn() {
if (!importModel.isQuotaEnabled()) {
return;
}
if (quotaColumn != null) {
return;
}
CustomSelectionCell customSelectionCellQuota = new CustomSelectionCell(new ArrayList<String>());
customSelectionCellQuota.setStyle(EMPTY_STYLE);
quotaColumn = new Column<DiskImage, String>(customSelectionCellQuota) {
@Override
public String getValue(DiskImage disk) {
ImportDiskData importData = importModel.getDiskImportData(disk.getId());
ArrayList<String> storageQuotaList = new ArrayList<>();
Quota selectedQuota = null;
if (importData != null && importData.getQuotaList() != null) {
for (Quota quota : importData.getQuotaList()) {
storageQuotaList.add(quota.getQuotaName());
if (importData.getSelectedQuota() != null) {
if (quota.getId().equals(importData.getSelectedQuota().getId())) {
selectedQuota = quota;
}
}
}
}
((CustomSelectionCell) getCell()).setOptions(storageQuotaList);
if (!storageQuotaList.isEmpty()) {
if (selectedQuota != null) {
return selectedQuota.getQuotaName();
} else {
return storageQuotaList.get(0);
}
}
return "";
}
};
quotaColumn.setFieldUpdater((index, disk, value) -> importModel.getDiskImportData(disk.getId()).setSelectedQuotaString(value));
// $NON-NLS-1$
diskTable.addColumn(quotaColumn, constants.quota(), "100px");
}
use of org.ovirt.engine.ui.webadmin.widget.table.cell.CustomSelectionCell in project ovirt-engine by oVirt.
the class ImportVmFromExportDomainPopupView method addStorageDomainsColumn.
private void addStorageDomainsColumn() {
CustomSelectionCell customSelectionCellStorageDomain = new CustomSelectionCell(new ArrayList<String>());
customSelectionCellStorageDomain.setStyle(EMPTY_STYLE);
Column<DiskImage, String> storageDomainsColumn = new Column<DiskImage, String>(customSelectionCellStorageDomain) {
@Override
public String getValue(DiskImage disk) {
ImportDiskData importData = importModel.getDiskImportData(disk.getId());
ArrayList<String> storageDomainsNameList = new ArrayList<>();
StorageDomain selectedStorageDomain = null;
if (importData != null && importData.getStorageDomains() != null) {
for (StorageDomain storageDomain : importData.getStorageDomains()) {
storageDomainsNameList.add(new StorageDomainFreeSpaceRenderer<>().render(storageDomain));
if (importData.getSelectedStorageDomain() != null) {
if (storageDomain.getId().equals(importData.getSelectedStorageDomain().getId())) {
selectedStorageDomain = storageDomain;
}
}
}
}
((CustomSelectionCell) getCell()).setOptions(storageDomainsNameList);
if (!storageDomainsNameList.isEmpty()) {
if (selectedStorageDomain != null) {
return new StorageDomainFreeSpaceRenderer<>().render(selectedStorageDomain);
} else {
return storageDomainsNameList.get(0);
}
}
return "";
}
};
storageDomainsColumn.setFieldUpdater((index, disk, value) -> {
// $NON-NLS-1$
String storageDomainName = value.substring(0, value.lastIndexOf(" ("));
importModel.getDiskImportData(disk.getId()).setSelectedStorageDomainString(storageDomainName);
diskTable.asEditor().edit(importModel.getImportDiskListModel());
});
// $NON-NLS-1$
diskTable.addColumn(storageDomainsColumn, constants.storageDomainDisk(), "180px");
}
use of org.ovirt.engine.ui.webadmin.widget.table.cell.CustomSelectionCell in project ovirt-engine by oVirt.
the class RegisterEntityInfoPanel method getDiskQuotaColumn.
private Column<Disk, String> getDiskQuotaColumn() {
CustomSelectionCell customSelectionCell = new CustomSelectionCell(new ArrayList<String>());
// $NON-NLS-1$
customSelectionCell.setStyle("input-group col-xs-11");
AbstractColumn<Disk, String> column = new AbstractColumn<Disk, String>(customSelectionCell) {
@Override
public String getValue(Disk disk) {
if (disk.getDiskStorageType() == DiskStorageType.LUN) {
return null;
}
List<Quota> quotas = (List<Quota>) registerEntityModel.getStorageQuota().getItems();
if (quotas == null || quotas.isEmpty()) {
return constants.empty();
}
Map<Guid, Quota> diskQuotaMap = registerEntityModel.getDiskQuotaMap().getEntity();
if (diskQuotaMap.get(disk.getId()) == null) {
diskQuotaMap.put(disk.getId(), quotas.get(0));
((CustomSelectionCell) getCell()).setOptions(registerEntityModel.getQuotaNames(quotas));
}
return diskQuotaMap.get(disk.getId()).getQuotaName();
}
};
column.setFieldUpdater((index, disk, value) -> {
Quota quota = registerEntityModel.getQuotaByName(value, (List<Quota>) registerEntityModel.getStorageQuota().getItems());
registerEntityModel.getDiskQuotaMap().getEntity().put(disk.getId(), quota);
});
return column;
}
use of org.ovirt.engine.ui.webadmin.widget.table.cell.CustomSelectionCell in project ovirt-engine by oVirt.
the class RegisterEntityPopupView method getClusterQuotaColumn.
protected Column<D, String> getClusterQuotaColumn() {
CustomSelectionCell customSelectionCell = new CustomSelectionCell(new ArrayList<String>());
// $NON-NLS-1$
customSelectionCell.setStyle("input-group col-xs-11 gwt-ListBox");
Column<D, String> column = new Column<D, String>(customSelectionCell) {
@Override
public String getValue(D object) {
Guid clusterId = object.getCluster().getSelectedItem() != null ? object.getCluster().getSelectedItem().getId() : null;
List<Quota> quotas = registerEntityModel.getClusterQuotasMap().getEntity().get(clusterId);
object.getClusterQuota().setItems(quotas);
((CustomSelectionCell) getCell()).setOptions(registerEntityModel.getQuotaNames(quotas));
return object.getClusterQuota().getSelectedItem() != null ? object.getClusterQuota().getSelectedItem().getQuotaName() : constants.empty();
}
};
column.setFieldUpdater((index, object, value) -> registerEntityModel.selectQuotaByName(value, object.getClusterQuota()));
return column;
}
Aggregations