Revision d6244300
Added by Andreas Kohlbecker almost 7 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/component/TimePeriodField.java | ||
---|---|---|
12 | 12 |
import java.util.Set; |
13 | 13 |
|
14 | 14 |
import com.vaadin.data.fieldgroup.BeanFieldGroup; |
15 |
import com.vaadin.data.fieldgroup.FieldGroup.CommitException; |
|
15 | 16 |
import com.vaadin.data.util.BeanItem; |
16 | 17 |
import com.vaadin.event.FieldEvents.TextChangeEvent; |
17 | 18 |
import com.vaadin.server.FontAwesome; |
... | ... | |
131 | 132 |
parseField.setWidth(100, Unit.PERCENTAGE); |
132 | 133 |
|
133 | 134 |
Button closeDetailsButton = new Button(FontAwesome.CLOSE); |
134 |
closeDetailsButton.addClickListener(e -> showSimple()); |
|
135 |
closeDetailsButton.addClickListener(e -> { |
|
136 |
try { |
|
137 |
fieldGroup.commit(); |
|
138 |
} catch (CommitException e1) { |
|
139 |
// TODO Auto-generated catch block |
|
140 |
e1.printStackTrace(); |
|
141 |
} |
|
142 |
updateCacheField(); |
|
143 |
showSimple(); |
|
144 |
}); |
|
135 | 145 |
|
136 | 146 |
buttonTextField.addStyleName(ValoTheme.LAYOUT_COMPONENT_GROUP); |
137 | 147 |
buttonTextField.setWidth(100, Unit.PERCENTAGE); |
... | ... | |
215 | 225 |
super.setInternalValue(newValue); |
216 | 226 |
fieldGroup.setItemDataSource(new BeanItem<TimePeriod>(newValue)); |
217 | 227 |
|
228 |
updateCacheField(); |
|
229 |
} |
|
230 |
|
|
231 |
/** |
|
232 |
* @param newValue |
|
233 |
*/ |
|
234 |
private void updateCacheField() { |
|
235 |
TimePeriod newValue = fieldGroup.getItemDataSource().getBean(); |
|
218 | 236 |
cacheField.setReadOnly(false); |
219 | 237 |
cacheField.setValue(timePeriodFormatter.print(newValue)); |
220 | 238 |
cacheField.setReadOnly(true); |
Also available in: Unified diff
ref #6169 ReferenceEditor correctly updating view and internal data