EN · DE · RU · FR · ES

#3131 : DefaultTreeTablePanel.java

projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java Classe Java, projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java 399 lignes · 293 code · 56 commentaires · 50 vides
Objectif : Fichier source : projectforge/web/tree/DefaultTreeTablePanel.java. DefaultTreeTablePanel.java fait partie de l'application open-source de gestion de projet ProjectForge.

Source (100 premières lignes)

/////////////////////////////////////////////////////////////////////////////
//
// Projet ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
//
// ProjectForge est sous double licence.
//
// Cette édition communautaire est un logiciel libre ; vous pouvez la redistribuer et/ou
// la modifier selon les termes de la GNU General Public License telle que publiée
// par la Free Software Foundation ; version 3 de la Licence.
//
// Cette édition communautaire est distribuée dans l'espoir qu'elle sera utile,
// mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
// QUALITÉ MARCHANDE ou d'ADÉQUATION À UN USAGE PARTICULIER. Voir la GNU General
// Public License pour plus de détails.
//
// Vous devriez avoir reçu une copie de la GNU General Public License avec
// ce programme ; sinon, consultez http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.web.tree;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.image.ContextImage;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.Model;
import org.projectforge.web.fibu.ISelectCallerPage;
import org.projectforge.web.wicket.WicketAjaxUtils;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
public abstract class DefaultTreeTablePanel<T extends TreeTableNode> extends Panel implements TreeTablePanel
{
  private static final long serialVersionUID = 380527812338260483L;

  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(DefaultTreeTablePanel.class);

  protected ISelectCallerPage caller;

  protected String selectProperty;

  protected WebMarkupContainer treeTableHead;

  protected WebMarkupContainer treeTableBody;

  protected RepeatingView rowRepeater;

  protected RepeatingView colHeadRepeater;

  private List<T> treeList;

  private TreeTable<T> treeTable;

  protected Integer highlightedRowId;

  protected boolean clickRows = true;

  public DefaultTreeTablePanel(final String id)
  {
    super(id);
  }

  public DefaultTreeTablePanel(final String id, final ISelectCallerPage caller, final String selectProperty)
  {
    super(id);
    this.caller = caller;
    this.selectProperty = selectProperty;
  }

  public void init()
  {
    treeTableHead = new WebMarkupContainer("thead");
    add(treeTableHead);
    initializeColumnHeads();
    treeTableBody = new WebMarkupContainer("tbody");
    treeTableBody.setOutputMarkupId(true);
    add(treeTableBody);
  }

  public void refresh()
  {
    treeList = null;
  }

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
a72903e36 *.java, *.kt : StringBuffer -> StringBuilder.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
index 86955e36f..c2eabe770 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

63081666f

En-têtes des fichiers source : 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
index 51f2dfd81..86955e36f 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

a72903e36

*.java, *.kt : StringBuffer -> StringBuilder.
a72903e36a6ee147b42123382a745d6438dd924c
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
index 157d790c3..51f2dfd81 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
@@ -297,7 +297,7 @@ public abstract class DefaultTreeTablePanel<T extends TreeTableNode> extends Pan
     final Component currentRow = getTreeRow(node.getHashId());
     final AbstractLink link = (AbstractLink) currentRow.get("c1:icons:folder");
     if (event == TreeTableEvent.OPEN || event == TreeTableEvent.EXPLORE) {
-      final StringBuffer prependJavascriptBuf = new StringBuffer();
+      final StringBuilder prependJavascriptBuf = new StringBuilder();
       {
         // Ajouter tous les enfants
         final Component row = getTreeRowAfter(node.getHashId());
@@ -324,7 +324,7 @@ public abstract class DefaultTreeTablePanel<T extends TreeTableNode> extends Pan
       target.appendJavaScript("updateEvenOdd();");
     } else {
       // Supprimer tous les enfants
-      final StringBuffer prependJavascriptBuf = new StringBuffer();
+      final StringBuilder prependJavascriptBuf = new StringBuilder();
       final Iterator<Component> it = rowRepeater.iterator();
       final List<Component> toRemove = new ArrayList<Component>();
       while (it.hasNext() == true) {
@@ -351,7 +351,7 @@ public abstract class DefaultTreeTablePanel<T extends TreeTableNode> extends Pan
   }
 
   private void replaceFolderImage(final AjaxRequestTarget target, final AbstractLink link, final TreeTableNode node,
-      final StringBuffer prependJavascriptBuf)
+      final StringBuilder prependJavascriptBuf)
   {
     ContextImage oldImage = (ContextImage) link.get("folderImage");
     if (oldImage == null || oldImage.isVisible() == false) {

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
index ca6c0d0ca..157d790c3 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
index 6f66a40fa..ca6c0d0ca 100644
--- a/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
+++ b/projectforge-wicket/src/main/java/org/projectforge/web/tree/DefaultTreeTablePanel.java
@@ -3,7 +3,7 @@
 // Projet ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Allemagne (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Allemagne (www.micromata.com)
 //
 // ProjectForge est sous double licence.
 //