package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.vm;
import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget;
import org.ovirt.engine.ui.uicommonweb.UICommand;
import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
import org.ovirt.engine.ui.uicommonweb.models.vms.AbstractDiskModel;
import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.storage.StorageForceCreatePopupPresenterWidget;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class VmDiskPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<AbstractDiskModel, VmDiskPopupPresenterWidget.ViewDef> {
public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<AbstractDiskModel> {
boolean handleEnterKeyDisabled();
}
private Provider<StorageForceCreatePopupPresenterWidget> forceCreateConfirmPopupProvider;
@Inject
public VmDiskPopupPresenterWidget(EventBus eventBus, ViewDef view,
Provider<StorageForceCreatePopupPresenterWidget> forceCreateConfirmPopupProvider) {
super(eventBus, view);
this.forceCreateConfirmPopupProvider = forceCreateConfirmPopupProvider;
}
@Override
protected void handleEnterKey() {
if (!getView().handleEnterKeyDisabled()) {
super.handleEnterKey();
}
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(AbstractDiskModel source,
UICommand lastExecutedCommand) {
if (lastExecutedCommand.getName().equals("OnSave")) { //$NON-NLS-1$
return forceCreateConfirmPopupProvider.get();
} else {
return super.getConfirmModelPopup(source, lastExecutedCommand);
}
}
}