package org.ovirt.engine.ui.webadmin.section.main.view.tab.errata;
import org.ovirt.engine.core.common.businessentities.Erratum;
import org.ovirt.engine.ui.common.idhandler.ElementIdHandler;
import org.ovirt.engine.ui.common.view.AbstractSubTabFormView;
import org.ovirt.engine.ui.uicommonweb.models.EngineErrataListModel;
import org.ovirt.engine.ui.uicommonweb.models.EntityModel;
import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.errata.SubTabEngineErrataDetailsPresenter;
import org.ovirt.engine.ui.webadmin.widget.errata.ErrataDetailModelForm;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
/**
* View for the sub tab that shows details for an engine Erratum selected in the main tab.
*/
public class SubTabEngineErrataDetailsView extends AbstractSubTabFormView<Erratum, EngineErrataListModel,
EntityModel<Erratum>> implements SubTabEngineErrataDetailsPresenter.ViewDef {
interface ViewIdHandler extends ElementIdHandler<SubTabEngineErrataDetailsView> {
ViewIdHandler idHandler = GWT.create(ViewIdHandler.class);
}
interface ViewUiBinder extends UiBinder<FlowPanel, SubTabEngineErrataDetailsView> {
ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
}
@UiField (provided = true)
ErrataDetailModelForm errataDetailModelForm;
@UiField
HTMLPanel errataTitle;
@UiField
FlowPanel errataDetailPanel;
public SubTabEngineErrataDetailsView() {
//Don't care about the provider, as its not used.
super(null);
errataDetailModelForm = new ErrataDetailModelForm();
initWidget(ViewUiBinder.uiBinder.createAndBindUi(this));
generateIds();
errataDetailModelForm.initialize();
}
public void updateErrataDetailFormPanel(Erratum erratum) {
errataTitle.clear();
errataTitle.add(new HTML(erratum.getTitle()));
errataDetailModelForm.setModel(new EntityModel<>(erratum));
errataDetailModelForm.update();
}
@Override
protected void generateIds() {
ViewIdHandler.idHandler.generateAndSetIds(this);
}
@Override
public void setMainTabSelectedItem(Erratum selectedItem) {
updateErrataDetailFormPanel(selectedItem);
}
}