projects
/
gpl
/
argeo-suite.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix deletion of multiple terms.
[gpl/argeo-suite.git]
/
org.argeo.entity.ui
/
src
/
org
/
argeo
/
entity
/
ui
/
forms
/
MultiTermsPart.java
diff --git
a/org.argeo.entity.ui/src/org/argeo/entity/ui/forms/MultiTermsPart.java
b/org.argeo.entity.ui/src/org/argeo/entity/ui/forms/MultiTermsPart.java
index e26fabe98982e0d899e7189e7a070ad6da0157cd..1a12e90f2a5d458aaf6eb88ce5c65d603d417b96 100644
(file)
--- a/
org.argeo.entity.ui/src/org/argeo/entity/ui/forms/MultiTermsPart.java
+++ b/
org.argeo.entity.ui/src/org/argeo/entity/ui/forms/MultiTermsPart.java
@@
-57,8
+57,10
@@
public class MultiTermsPart extends AbstractTermsPart {
ToolItem deleteItem = new ToolItem(toolBar, SWT.FLAT);
styleDelete(deleteItem);
deleteItem.addSelectionListener((Selected) (e) -> {
ToolItem deleteItem = new ToolItem(toolBar, SWT.FLAT);
styleDelete(deleteItem);
deleteItem.addSelectionListener((Selected) (e) -> {
+ // we retrieve them again here because they may have changed
+ List<String> curr = Jcr.getMultiple(getNode(), typology);
List<String> newValue = new ArrayList<>();
List<String> newValue = new ArrayList<>();
- for (String v : curr
entValue
) {
+ for (String v : curr) {
if (!v.equals(value))
newValue.add(v);
}
if (!v.equals(value))
newValue.add(v);
}
@@
-155,8
+157,9
@@
public class MultiTermsPart extends AbstractTermsPart {
if (isTermSelectable(term))
termL.addMouseListener((MouseDown) (e) -> {
List<String> newValue = new ArrayList<>();
if (isTermSelectable(term))
termL.addMouseListener((MouseDown) (e) -> {
List<String> newValue = new ArrayList<>();
+ List<String> curr = Jcr.getMultiple(getNode(), typology);
if (currentValue != null)
if (currentValue != null)
- newValue.addAll(curr
entValue
);
+ newValue.addAll(curr);
newValue.add(term);
Jcr.set(getNode(), typology, newValue);
Jcr.save(getNode());
newValue.add(term);
Jcr.set(getNode(), typology, newValue);
Jcr.save(getNode());