Revision bef42c71
Added by Andreas Kohlbecker almost 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/view/reference/ReferenceEditorPresenter.java | ||
---|---|---|
14 | 14 |
import org.apache.log4j.Logger; |
15 | 15 |
import org.springframework.context.event.EventListener; |
16 | 16 |
import org.springframework.transaction.TransactionStatus; |
17 |
import org.vaadin.viritin.fields.CaptionGenerator; |
|
18 |
import org.vaadin.viritin.fields.LazyComboBox.FilterableCountProvider; |
|
19 |
import org.vaadin.viritin.fields.LazyComboBox.FilterablePagingProvider; |
|
17 | 20 |
|
18 |
import com.vaadin.data.util.BeanItemContainer; |
|
19 | 21 |
import com.vaadin.ui.ListSelect; |
20 | 22 |
|
23 |
import eu.etaxonomy.cdm.api.service.pager.Pager; |
|
21 | 24 |
import eu.etaxonomy.cdm.model.reference.Reference; |
22 | 25 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
26 |
import eu.etaxonomy.cdm.persistence.query.MatchMode; |
|
23 | 27 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
24 | 28 |
import eu.etaxonomy.cdm.vaadin.event.ReferenceEditorAction; |
25 | 29 |
import eu.etaxonomy.vaadin.component.ToOneRelatedEntityField; |
... | ... | |
50 | 54 |
@Override |
51 | 55 |
public void handleViewEntered() { |
52 | 56 |
super.handleViewEntered(); |
57 |
/* |
|
53 | 58 |
ListSelect select = getView().getInReferenceSelect().getSelect(); |
54 | 59 |
BeanItemContainer<Reference> inReferenceSelectContainer = (BeanItemContainer<Reference>) select.getContainerDataSource(); |
55 | 60 |
List<Reference> references = getRepo().getCommonService().list(Reference.class, (Integer)null, (Integer)null, |
... | ... | |
58 | 63 |
inReferenceSelectContainer.addAll(references); |
59 | 64 |
select.setItemCaptionPropertyId("titleCache"); |
60 | 65 |
select.markAsDirty(); |
66 |
*/ |
|
67 |
|
|
68 |
getView().getInReferenceCombobox().getSelect().setCaptionGenerator(new CaptionGenerator<Reference>(){ |
|
69 |
|
|
70 |
@Override |
|
71 |
public String getCaption(Reference option) { |
|
72 |
return option.getTitleCache(); |
|
73 |
} |
|
74 |
|
|
75 |
}); |
|
76 |
getView().getInReferenceCombobox().loadFrom(new FilterablePagingProvider<Reference>(){ |
|
77 |
|
|
78 |
@Override |
|
79 |
public List<Reference> findEntities(int firstRow, String filter) { |
|
80 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
81 |
null, |
|
82 |
filter, |
|
83 |
MatchMode.ANYWHERE, |
|
84 |
null, |
|
85 |
20, |
|
86 |
firstRow, |
|
87 |
OrderHint.ORDER_BY_TITLE_CACHE.asList(), |
|
88 |
Arrays.asList("$") |
|
89 |
); |
|
90 |
return page.getRecords(); |
|
91 |
}}, |
|
92 |
new FilterableCountProvider(){ |
|
93 |
@Override |
|
94 |
public int size(String filter) { |
|
95 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
96 |
null, |
|
97 |
filter, |
|
98 |
MatchMode.ANYWHERE, |
|
99 |
null, |
|
100 |
1, |
|
101 |
0, |
|
102 |
null, |
|
103 |
null |
|
104 |
); |
|
105 |
return page.getCount().intValue(); |
|
106 |
}} |
|
107 |
, 20); |
|
61 | 108 |
} |
62 | 109 |
|
63 | 110 |
/** |
Also available in: Unified diff
ref #6169 implementing lazy loading ToOneRelatedEntityCombobox field and using it for inReferences