package com.constellio.app.ui.framework.components; import com.constellio.app.modules.rm.wrappers.AdministrativeUnit; import com.constellio.app.modules.rm.wrappers.Folder; import com.constellio.app.ui.framework.components.fields.lookup.LookupRecordField; import com.constellio.app.ui.pages.events.EventCategory; import com.constellio.model.entities.records.wrappers.User; import com.vaadin.ui.Alignment; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Panel; import com.vaadin.ui.themes.ValoTheme; import static com.constellio.app.ui.i18n.i18n.$; public class EventByIdSearchPanel extends Panel { public static final String LOOKUP_STYLE_CODE = "seleniumLookupFieldCode"; private EventCategory eventCategory; private LookupRecordField lookupField; public EventByIdSearchPanel(EventCategory eventCategory, String id) { this.eventCategory = eventCategory; HorizontalLayout hLayout = new HorizontalLayout(); hLayout.setSizeFull(); String schemaTypeCode = getLookupSchemaTypeCode(); lookupField = new LookupRecordField(schemaTypeCode); lookupField.setValue(id); lookupField.setCaption(getByIdFieldCaption()); lookupField.addStyleName(LOOKUP_STYLE_CODE); hLayout.addComponent(lookupField); hLayout.setComponentAlignment(lookupField, Alignment.MIDDLE_CENTER); setContent(hLayout); addStyleName(ValoTheme.PANEL_BORDERLESS); } public String getIdValue(){ if(lookupField == null){ return ""; } return lookupField.getValue(); } protected String getByIdFieldCaption(){ switch (eventCategory){ case EVENTS_BY_ADMINISTRATIVE_UNIT : return $("ListEventsView.byFilingSpace.textFieldCaption"); case EVENTS_BY_FOLDER: return $("ListEventsView.byFolder.textFieldCaption"); case EVENTS_BY_USER : return $("ListEventsView.byUser.textFieldCaption"); default: return ""; } } protected String getLookupSchemaTypeCode() { switch(eventCategory){ case EVENTS_BY_USER: return User.SCHEMA_TYPE; case EVENTS_BY_FOLDER: return Folder.SCHEMA_TYPE; case EVENTS_BY_ADMINISTRATIVE_UNIT: return AdministrativeUnit.SCHEMA_TYPE; default : return null; } } }