Reorder Partners columns (not working)
authorVásáry Dániel <vasary@elgekko.net>
Mon, 26 Feb 2024 21:03:38 +0000 (22:03 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Mon, 26 Feb 2024 21:03:38 +0000 (22:03 +0100)
lis-ui/src/main/java/hu/user/lis/ui/view/renderer/ReorderedItemsRenderer.java

index bf0e3016aa0d9f510e44d7f998c94c5e48f794a5..e5719b0f699062c046f9d50f3c559ca682fd70a9 100644 (file)
@@ -16,6 +16,9 @@ import org.zkoss.zk.ui.util.ForEachStatus;
 import org.zkoss.zk.ui.util.Template;
 import org.zkoss.zul.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Log4j2
 @Component
 public class ReorderedItemsRenderer extends BindListitemRenderer {
@@ -28,7 +31,6 @@ public class ReorderedItemsRenderer extends BindListitemRenderer {
     @Override
     public void render(Listitem item, final Object data, final int index) throws Exception {
         log.info("Rendering item index {}, index {}", item.getIndex(), index);
-//    int mappedIndex = columnSettings[index].getIndex();
         final Listbox listbox = (Listbox) item.getParent();
         final int size = listbox.getModel().getSize();
         String subtype = item instanceof Listgroup ? "group" : (item instanceof Listgroupfoot ? "groupfoot" : null);
@@ -112,6 +114,16 @@ public class ReorderedItemsRenderer extends BindListitemRenderer {
                 nli.setValue(data);
             }
 
+            int mappedIndex = columnSettings[index].getIndex();
+            List<org.zkoss.zk.ui.Component> children = new ArrayList<>(nli.getChildren());
+            nli.getChildren().clear();
+            for (int i = 0; i < columnSettings.length; i++) {
+                org.zkoss.zk.ui.Component child = children.get(mappedIndex);
+                child.setParent(null);
+                nli.appendChild(child);
+            }
+
+
             item.setAttribute("org.zkoss.zul.model.renderAs", nli);
             item.detach();
         }