package org.ovirt.engine.ui.common.widget.uicommon.popup.pool;
import static org.ovirt.engine.ui.common.widget.uicommon.popup.vm.PopupWidgetConfig.hiddenField;
import static org.ovirt.engine.ui.common.widget.uicommon.popup.vm.PopupWidgetConfig.simpleField;
import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelTextBoxEditor;
import org.ovirt.engine.ui.common.widget.editor.generic.IntegerEntityModelTextBoxEditor;
import org.ovirt.engine.ui.common.widget.editor.generic.ToStringEntityModelRenderer;
import org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractVmPopupWidget;
import org.ovirt.engine.ui.common.widget.uicommon.popup.vm.PopupWidgetConfigMap;
import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel;
import com.google.gwt.core.client.GWT;
public class PoolNewPopupWidget extends AbstractVmPopupWidget {
interface ViewIdHandler extends ElementIdHandler<PoolNewPopupWidget> {
ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
}
@Override
protected void generateIds() {
ViewIdHandler.idHandler.generateAndSetIds(this);
}
@Override
public void edit(final UnitVmModel object) {
super.edit(object);
if (object.getIsNew()) {
object.getNumOfDesktops().setEntity(1);
}
}
@Override
protected void createNumOfDesktopEditors() {
numOfVmsEditor = new IntegerEntityModelTextBoxEditor();
increaseNumOfVmsEditor = new EntityModelTextBoxEditor<>(
new ToStringEntityModelRenderer<Integer>(), text -> {
// forwards to the currently active editor
return numOfVmsEditor.asEditor().getValue();
});
}
@Override
protected PopupWidgetConfigMap createWidgetConfiguration() {
PopupWidgetConfigMap widgetConfiguration = super.createWidgetConfiguration().
update(highAvailabilityTab, hiddenField()).
update(foremanTab, hiddenField()).
update(spiceProxyEditor, simpleField().visibleInAdvancedModeOnly()).
update(spiceProxyEnabledCheckboxWithInfoIcon, simpleField().visibleInAdvancedModeOnly()).
update(spiceProxyOverrideEnabledEditor, simpleField().visibleInAdvancedModeOnly()).
putOne(isStatelessEditor, hiddenField()).
putOne(isRunAndPauseEditor, hiddenField()).
putOne(editPoolEditVmsRow, hiddenField()).
putOne(editPoolIncreaseNumOfVmsRow, hiddenField()).
putOne(logicalNetworksEditorRow, hiddenField()).
putOne(editPoolEditMaxAssignedVmsPerUserRow, hiddenField()).
putOne(baseTemplateEditor, hiddenField()).
update(templateVersionNameEditor, hiddenField()).
putAll(detachableWidgets(), simpleField().detachable().visibleInAdvancedModeOnly());
updateOrAddToWidgetConfiguration(widgetConfiguration, detachableWidgets(), UpdateToDetachable.INSTANCE);
return widgetConfiguration;
}
}