package org.ovirt.engine.ui.webadmin.section.main.presenter.popup.gluster;
import org.ovirt.engine.core.common.businessentities.RaidType;
import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget;
import org.ovirt.engine.ui.uicommonweb.models.gluster.CreateBrickModel;
import com.google.gwt.event.shared.EventBus;
import com.google.inject.Inject;
public class CreateBrickPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<CreateBrickModel, CreateBrickPopupPresenterWidget.ViewDef> {
public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<CreateBrickModel> {
public void setRaidInfoMessages(String raidType, int stripeSize);
void setRaidParamsVisibility(boolean isVisiable);
}
@Inject
public CreateBrickPopupPresenterWidget(EventBus eventBus, ViewDef view) {
super(eventBus, view);
}
@Override
public void init(final CreateBrickModel model) {
super.init(model);
model.getPropertyChangedEvent().addListener((ev, sender, args) -> {
String propName = args.propertyName;
if ("raidTypeChanged".equals(propName)) { //$NON-NLS-1$
if (model.getRaidTypeList().getSelectedItem() != RaidType.NONE
&& model.getRaidTypeList().getSelectedItem() != RaidType.RAID0) {
getView().setRaidInfoMessages(model.getRaidTypeList().getSelectedItem().name(),
model.getStripeSize().getEntity());
getView().setRaidParamsVisibility(true);
} else {
getView().setRaidParamsVisibility(false);
}
}
});
}
}