X-Git-Url: http://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.entity.ui%2Fsrc%2Forg%2Fargeo%2Fentity%2Fui%2Fforms%2FMultiTermsPart.java;h=1a12e90f2a5d458aaf6eb88ce5c65d603d417b96;hp=e26fabe98982e0d899e7189e7a070ad6da0157cd;hb=66379d9c0820976853556cc342d833a9918990b5;hpb=5401f7a23b5251bb37514f5495b75f79320bedc0 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 e26fabe..1a12e90 100644 --- 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) -> { + // we retrieve them again here because they may have changed + List curr = Jcr.getMultiple(getNode(), typology); List newValue = new ArrayList<>(); - for (String v : currentValue) { + for (String v : curr) { if (!v.equals(value)) newValue.add(v); } @@ -155,8 +157,9 @@ public class MultiTermsPart extends AbstractTermsPart { if (isTermSelectable(term)) termL.addMouseListener((MouseDown) (e) -> { List newValue = new ArrayList<>(); + List curr = Jcr.getMultiple(getNode(), typology); if (currentValue != null) - newValue.addAll(currentValue); + newValue.addAll(curr); newValue.add(term); Jcr.set(getNode(), typology, newValue); Jcr.save(getNode());