Revision 7349cf26
Added by Andreas Kohlbecker almost 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/view/taxon/TaxonNameEditorPresenter.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.cdm.vaadin.view.taxon; |
10 | 10 |
|
11 |
import java.util.Arrays; |
|
12 |
import java.util.List; |
|
13 |
|
|
14 |
import org.vaadin.viritin.fields.CaptionGenerator; |
|
15 |
import org.vaadin.viritin.fields.LazyComboBox.FilterableCountProvider; |
|
16 |
import org.vaadin.viritin.fields.LazyComboBox.FilterablePagingProvider; |
|
17 |
|
|
11 | 18 |
import eu.etaxonomy.cdm.api.service.DeleteResult; |
12 | 19 |
import eu.etaxonomy.cdm.api.service.config.NameDeletionConfigurator; |
20 |
import eu.etaxonomy.cdm.api.service.pager.Pager; |
|
13 | 21 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
22 |
import eu.etaxonomy.cdm.model.reference.Reference; |
|
23 |
import eu.etaxonomy.cdm.persistence.query.MatchMode; |
|
24 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
|
14 | 25 |
import eu.etaxonomy.vaadin.mvp.AbstractCdmEditorPresenter; |
15 | 26 |
|
16 | 27 |
/** |
... | ... | |
22 | 33 |
|
23 | 34 |
private static final long serialVersionUID = -3538980627079389221L; |
24 | 35 |
|
36 |
/** |
|
37 |
* {@inheritDoc} |
|
38 |
*/ |
|
39 |
@Override |
|
40 |
public void handleViewEntered() { |
|
41 |
super.handleViewEntered(); |
|
42 |
|
|
43 |
getView().getNomReferenceCombobox().getSelect().setCaptionGenerator(new CaptionGenerator<Reference>(){ |
|
44 |
|
|
45 |
@Override |
|
46 |
public String getCaption(Reference option) { |
|
47 |
return option.getTitleCache(); |
|
48 |
} |
|
49 |
|
|
50 |
}); |
|
51 |
getView().getNomReferenceCombobox().loadFrom(new FilterablePagingProvider<Reference>(){ |
|
52 |
|
|
53 |
@Override |
|
54 |
public List<Reference> findEntities(int firstRow, String filter) { |
|
55 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
56 |
null, |
|
57 |
filter, |
|
58 |
MatchMode.ANYWHERE, |
|
59 |
null, |
|
60 |
20, |
|
61 |
firstRow, |
|
62 |
OrderHint.ORDER_BY_TITLE_CACHE.asList(), |
|
63 |
Arrays.asList("$") |
|
64 |
); |
|
65 |
return page.getRecords(); |
|
66 |
}}, |
|
67 |
new FilterableCountProvider(){ |
|
68 |
@Override |
|
69 |
public int size(String filter) { |
|
70 |
Pager<Reference> page = getRepo().getReferenceService().findByTitle( |
|
71 |
null, |
|
72 |
filter, |
|
73 |
MatchMode.ANYWHERE, |
|
74 |
null, |
|
75 |
1, |
|
76 |
0, |
|
77 |
null, |
|
78 |
null |
|
79 |
); |
|
80 |
return page.getCount().intValue(); |
|
81 |
}} |
|
82 |
, 20); |
|
83 |
} |
|
84 |
|
|
85 |
|
|
25 | 86 |
/** |
26 | 87 |
* {@inheritDoc} |
27 | 88 |
*/ |
src/main/java/eu/etaxonomy/cdm/vaadin/view/taxon/TaxonNamePopupEditor.java | ||
---|---|---|
19 | 19 |
|
20 | 20 |
import eu.etaxonomy.cdm.model.name.Rank; |
21 | 21 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
22 |
import eu.etaxonomy.cdm.model.reference.Reference; |
|
22 | 23 |
import eu.etaxonomy.cdm.persistence.query.OrderHint; |
23 | 24 |
import eu.etaxonomy.cdm.vaadin.component.common.TeamOrPersonField; |
25 |
import eu.etaxonomy.cdm.vaadin.event.AbstractEditorAction; |
|
26 |
import eu.etaxonomy.cdm.vaadin.event.ReferenceEditorAction; |
|
24 | 27 |
import eu.etaxonomy.cdm.vaadin.security.AccessRestrictedView; |
25 | 28 |
import eu.etaxonomy.vaadin.component.SwitchableTextField; |
29 |
import eu.etaxonomy.vaadin.component.ToOneRelatedEntityCombobox; |
|
26 | 30 |
import eu.etaxonomy.vaadin.mvp.AbstractCdmPopupEditor; |
27 | 31 |
|
28 | 32 |
/** |
... | ... | |
36 | 40 |
|
37 | 41 |
private final static int GRID_COLS = 4; |
38 | 42 |
|
39 |
private final static int GRID_ROWS = 7;
|
|
43 |
private final static int GRID_ROWS = 9;
|
|
40 | 44 |
|
41 | 45 |
private TextField genusOrUninomialField; |
42 | 46 |
|
... | ... | |
50 | 54 |
|
51 | 55 |
private SwitchableTextField protectedNameCacheField; |
52 | 56 |
|
57 |
private ToOneRelatedEntityCombobox<Reference> nomReferenceCombobox; |
|
58 |
|
|
59 |
private TextField nomenclaturalReferenceDetail; |
|
60 |
|
|
53 | 61 |
|
54 | 62 |
/** |
55 | 63 |
* @param layout |
... | ... | |
178 | 186 |
addField(exBasionymAuthorshipField, "exBasionymAuthorship", 0, row, GRID_COLS-1, row); |
179 | 187 |
row++; |
180 | 188 |
|
189 |
// nomenclaturalReference |
|
190 |
nomReferenceCombobox = new ToOneRelatedEntityCombobox<Reference>("Nomenclatural reference", Reference.class); |
|
191 |
nomReferenceCombobox.setWidth(100, Unit.PERCENTAGE); |
|
192 |
nomReferenceCombobox.addClickListenerAddEntity(e -> getEventBus().publishEvent( |
|
193 |
new ReferenceEditorAction(AbstractEditorAction.Action.ADD, null, nomReferenceCombobox, this) |
|
194 |
)); |
|
195 |
nomReferenceCombobox.addClickListenerEditEntity(e -> { |
|
196 |
if(nomReferenceCombobox.getValue() != null){ |
|
197 |
getEventBus().publishEvent( |
|
198 |
new ReferenceEditorAction( |
|
199 |
AbstractEditorAction.Action.EDIT, |
|
200 |
nomReferenceCombobox.getValue().getId(), |
|
201 |
nomReferenceCombobox, |
|
202 |
this) |
|
203 |
); |
|
204 |
} |
|
205 |
}); |
|
206 |
addField(nomReferenceCombobox, "nomenclaturalReference", 0, row, 3, row); |
|
207 |
row++; |
|
208 |
nomenclaturalReferenceDetail = addTextField("Reference detail", "nomenclaturalMicroReference", 0, row, 1, row); |
|
209 |
|
|
181 | 210 |
setAdvancedModeEnabled(true); |
182 | 211 |
registerAdvancedModeComponents(fullTitleCacheFiled, protectedNameCacheField); |
183 | 212 |
setAdvancedMode(false); |
... | ... | |
213 | 242 |
return null; |
214 | 243 |
} |
215 | 244 |
|
245 |
/** |
|
246 |
* {@inheritDoc} |
|
247 |
*/ |
|
248 |
@Override |
|
249 |
public ToOneRelatedEntityCombobox<Reference> getNomReferenceCombobox() { |
|
250 |
return nomReferenceCombobox; |
|
251 |
} |
|
252 |
|
|
216 | 253 |
} |
src/main/java/eu/etaxonomy/cdm/vaadin/view/taxon/TaxonNamePopupEditorView.java | ||
---|---|---|
8 | 8 |
*/ |
9 | 9 |
package eu.etaxonomy.cdm.vaadin.view.taxon; |
10 | 10 |
|
11 |
import eu.etaxonomy.cdm.model.reference.Reference; |
|
12 |
import eu.etaxonomy.vaadin.component.ToOneRelatedEntityCombobox; |
|
11 | 13 |
import eu.etaxonomy.vaadin.mvp.ApplicationView; |
12 | 14 |
|
13 | 15 |
/** |
... | ... | |
17 | 19 |
*/ |
18 | 20 |
public interface TaxonNamePopupEditorView extends ApplicationView<TaxonNameEditorPresenter> { |
19 | 21 |
|
22 |
/** |
|
23 |
* @return |
|
24 |
*/ |
|
25 |
public ToOneRelatedEntityCombobox<Reference> getNomReferenceCombobox(); |
|
26 |
|
|
20 | 27 |
} |
Also available in: Unified diff
ref #6169 InReference and Microreference Fields for the TaxonName Editor