From f3e21e0ebd884e565a759e1689d17600bc85d6f0 Mon Sep 17 00:00:00 2001
From: Andreas Svanberg <andreass@dsv.su.se>
Date: Mon, 10 Mar 2025 15:11:29 +0100
Subject: [PATCH] Maintain project selection on validation failure

---
 .../src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java
index 831986ffad..05b8396ffa 100644
--- a/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java
+++ b/view/src/main/java/se/su/dsv/scipro/group/EditGroupPanel.java
@@ -59,6 +59,11 @@ public class EditGroupPanel extends Panel {
             });
             add(
                 new ListView<>("available_projects", availableProjects) {
+                    {
+                        // must re-use list items to maintain form component (checkboxes) state
+                        setReuseItems(true);
+                    }
+
                     @Override
                     protected void populateItem(ListItem<Project> item) {
                         CheckBox checkbox = new CheckBox("selected", new SelectProjectModel(model, item.getModel()));