package com.constellio.app.ui.framework.components.fields.taxonomy; import com.constellio.app.entities.schemasDisplay.enums.MetadataDisplayType; import com.constellio.app.ui.application.ConstellioUI; import com.constellio.app.ui.entities.RecordVO; import com.constellio.app.ui.framework.components.fields.ListOptionGroup; import com.constellio.app.ui.pages.base.SessionContext; import java.util.List; public class TaxonomyOptionGroup extends ListOptionGroup implements TaxonomyField { private TaxonomyFieldPresenter presenter; private MetadataDisplayType metadataDisplayType; public TaxonomyOptionGroup(String taxonomyCode, String schemaTypeCode, MetadataDisplayType metadataDisplayType) { super(); this.metadataDisplayType = metadataDisplayType; presenter = new TaxonomyFieldPresenter(this); presenter.forTaxonomyAndSchemaTypeCodes(taxonomyCode, schemaTypeCode); } @Override public void setOptions(List<RecordVO> recordVOs) { initStyleName(); for (RecordVO recordVO : recordVOs) { addItem(recordVO.getId()); setItemCaption(recordVO.getId(), recordVO.getTitle()); } } @Override public SessionContext getSessionContext() { return ConstellioUI.getCurrentSessionContext(); } public void initStyleName() { if(metadataDisplayType != null && metadataDisplayType.equals(MetadataDisplayType.HORIZONTAL)) { this.addStyleName("horizontal"); } else { this.addStyleName("vertical"); } }; }