Revision 875dacdd
Added by Andreas Kohlbecker about 6 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.vaadin.viritin.fields.CaptionGenerator; |
17 |
import org.vaadin.viritin.fields.LazyComboBox.FilterableCountProvider; |
|
18 |
import org.vaadin.viritin.fields.LazyComboBox.FilterablePagingProvider; |
|
19 | 17 |
|
20 | 18 |
import eu.etaxonomy.cdm.api.service.IService; |
21 |
import eu.etaxonomy.cdm.api.service.pager.Pager; |
|
19 |
import eu.etaxonomy.cdm.model.agent.AgentBase; |
|
20 |
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase; |
|
22 | 21 |
import eu.etaxonomy.cdm.model.reference.Reference; |
23 | 22 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
24 |
import eu.etaxonomy.cdm.persistence.query.MatchMode; |
|
25 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
|
23 |
import eu.etaxonomy.cdm.service.CdmFilterablePagingProvider; |
|
26 | 24 |
import eu.etaxonomy.cdm.vaadin.event.ReferenceEditorAction; |
27 | 25 |
import eu.etaxonomy.cdm.vaadin.event.ToOneRelatedEntityButtonUpdater; |
28 | 26 |
import eu.etaxonomy.cdm.vaadin.security.UserHelper; |
... | ... | |
63 | 61 |
} |
64 | 62 |
|
65 | 63 |
}); |
66 |
getView().getInReferenceCombobox().loadFrom(new FilterablePagingProvider<Reference>(){ |
|
67 |
|
|
68 |
@Override |
|
69 |
public List<Reference> findEntities(int firstRow, String filter) { |
|
70 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
71 |
null, |
|
72 |
filter, |
|
73 |
MatchMode.ANYWHERE, |
|
74 |
null, |
|
75 |
20, |
|
76 |
firstRow, |
|
77 |
OrderHint.ORDER_BY_TITLE_CACHE.asList(), |
|
78 |
Arrays.asList("$") |
|
79 |
); |
|
80 |
return page.getRecords(); |
|
81 |
}}, |
|
82 |
new FilterableCountProvider(){ |
|
83 |
@Override |
|
84 |
public int size(String filter) { |
|
85 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
86 |
null, |
|
87 |
filter, |
|
88 |
MatchMode.ANYWHERE, |
|
89 |
null, |
|
90 |
1, |
|
91 |
0, |
|
92 |
null, |
|
93 |
null |
|
94 |
); |
|
95 |
return page.getCount().intValue(); |
|
96 |
}} |
|
97 |
, 20); |
|
98 | 64 |
|
65 |
CdmFilterablePagingProvider<Reference, Reference> collectionPagingProvider = new CdmFilterablePagingProvider<Reference, Reference>(getRepo().getReferenceService()); |
|
66 |
getView().getInReferenceCombobox().loadFrom(collectionPagingProvider, collectionPagingProvider, collectionPagingProvider.getPageSize()); |
|
99 | 67 |
getView().getInReferenceCombobox().getSelect().addValueChangeListener(new ToOneRelatedEntityButtonUpdater<Reference>(getView().getInReferenceCombobox())); |
68 |
|
|
69 |
CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase> teamOrPersonPagingProvider = new CdmFilterablePagingProvider<AgentBase, TeamOrPersonBase>(getRepo().getAgentService()); |
|
70 |
getView().getAuthorshipField().setFilterableTeamPagingProvider(teamOrPersonPagingProvider, this); |
|
100 | 71 |
} |
101 | 72 |
|
102 | 73 |
/** |
Also available in: Unified diff
using CdmFilterablePagingProvider in ReferenceEditorPresenter