package com.constellio.app.ui.framework.components.fields.record;
import java.util.List;
import com.constellio.app.ui.application.ConstellioUI;
import com.constellio.app.ui.entities.RecordVO;
import com.constellio.app.ui.framework.components.converters.RecordIdToCaptionConverter;
import com.constellio.app.ui.framework.components.fields.BaseComboBox;
import com.constellio.app.ui.framework.data.RecordVODataProvider;
import com.constellio.app.ui.pages.base.SessionContext;
public class RecordComboBox extends BaseComboBox implements RecordOptionField {
private RecordIdToCaptionConverter captionConverter = new RecordIdToCaptionConverter();
private RecordOptionFieldPresenter presenter;
public RecordComboBox(String schemaCode) {
super();
this.presenter = new RecordOptionFieldPresenter(this);
this.presenter.forSchemaCode(schemaCode);
}
@Override
public void setDataProvider(RecordVODataProvider dataProvider) {
int size = dataProvider.size();
List<RecordVO> records = dataProvider.listRecordVOs(0, size);
for (RecordVO recordVO : records) {
String recordId = recordVO.getId();
String itemCaption = captionConverter.convertToPresentation(recordId, String.class, getLocale());
addItem(recordId);
setItemCaption(recordId, itemCaption);
}
}
@Override
public SessionContext getSessionContext() {
return ConstellioUI.getCurrentSessionContext();
}
}