package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster;
import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget;
import org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
import org.ovirt.engine.ui.uicommonweb.UICommand;
import org.ovirt.engine.ui.uicommonweb.models.ConfirmationModel;
import org.ovirt.engine.ui.uicommonweb.models.Model;
import org.ovirt.engine.ui.uicommonweb.models.gluster.VolumeModel;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class VolumePopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<VolumeModel, VolumePopupPresenterWidget.ViewDef> {
public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<VolumeModel> {
}
private Provider<AddBrickPopupPresenterWidget> popupProvider;
Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider;
@Inject
public VolumePopupPresenterWidget(EventBus eventBus, ViewDef view,
Provider<AddBrickPopupPresenterWidget> popupProvider,
Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider) {
super(eventBus, view);
this.popupProvider = popupProvider;
this.defaultConfirmPopupProvider = defaultConfirmPopupProvider;
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends Model, ?> getModelPopup(VolumeModel source,
UICommand lastExecutedCommand, Model windowModel) {
if (lastExecutedCommand.equals(source.getAddBricksCommand())) {
return popupProvider.get();
} else {
return super.getModelPopup(source, lastExecutedCommand, windowModel);
}
}
@Override
public AbstractModelBoundPopupPresenterWidget<? extends ConfirmationModel, ?> getConfirmModelPopup(VolumeModel source,
UICommand lastExecutedCommand) {
if (lastExecutedCommand.getName().equals("OnAddBricks")) { //$NON-NLS-1$
return defaultConfirmPopupProvider.get();
} else {
return super.getConfirmModelPopup(source, lastExecutedCommand);
}
}
}