groupBy

organisiert Aufgaben basierend auf einem bestimmten Aufgabenattribut

void groupBy(GroupConfig | boolean config);
configGroupConfig | booleanDas Konfigurationsobjekt für die Gruppierung oder false, um die Gruppierung zu entfernen

Available only in PRO Edition

Example

// Gruppierung auf einer Ebene
gantt.groupBy({
    relation_property: "priority",
    groups: [
        {key:0, label: "High"},
        {key:4, label: "Normal"},
        {key:5, label: "Low"},
    ],
    group_id: "key",
    group_text: "label",
    save_tree_structure: true
});
 
// mehrstufige Gruppierung
gantt.groupBy({
    relation_property: "priority",
    groups: [
        {key:0, label: "High"},
        {key:4, label: "Normal"},
        {key:5, label: "Low"},
        // verschachtelte Gruppen
        {key:1, label: "Give High Attention", "priority":0},
        {key:2, label: "Resolve Immediately", "priority":0},
        {key:3, label: "Keep For Next Release", "priority":5}
    ],
    group_id: "key",
    group_text: "label"
});
 
// Verwendung vordefinierter Collections
gantt.serverList("priority", [
    {key:1, label: "High"},
    {key:2, label: "Normal"},
    {key:3, label: "Low"}
]);
gantt.groupBy({
    groups: gantt.serverList("priority"),
    relation_property: "priority",
    group_id: "key",
    group_text: "label"
});
 
// Gruppierung entfernen
gantt.groupBy(false);

Related samples

Details

Diese Funktion ist nur in der PRO-Edition verfügbar.

Diese Methode ist Teil der grouping-Erweiterung, daher muss das grouping Plugin aktiviert sein. Weitere Details finden Sie im Artikel Gruppierung von Aufgaben.

Das Gruppierungskonfigurationsobjekt enthält folgende Eigenschaften:

  • relation_property - (string) - das Aufgabenattribut, das zur Gruppierung verwendet wird.
  • groups - (СollectionItem[]) - ein Array von Gruppen-(Summary-)Elementen. Jedes Element sollte die durch group_id und group_text definierten Eigenschaften enthalten (Standard sind key und label).
  • group_id? - (string) - optional, der Bezeichner für Gruppen. Standard ist 'key'.
  • group_text? - (string) - optional, das Label für Gruppen. Standard ist 'label'.
  • delimiter? - (string) - optional, wird verwendet, um automatisch Gruppen für Aufgaben mit mehreren Ressourcen zu erstellen. Standard ist ",".
  • default_group_label? - (string) - optional, das Label für die Standardgruppe. Standard ist 'None'.
  • save_tree_structure? - (boolean) - optional, bestimmt, ob der Gantt die ursprüngliche Baumstruktur innerhalb der Gruppen beibehält. Wenn ausgelassen oder auf false gesetzt, werden Aufgaben als flache Liste angezeigt.

Bitte beachten Sie:

  • Jedes Gruppenobjekt muss mindestens zwei Eigenschaften haben: eine ID und ein Text-Label, definiert durch 'group_id' und 'group_text'. Standardmäßig sind dies key und label. Sie können andere Namen verwenden, außer "id", solange diese im Gruppenarray vorhanden sind.

Die Eigenschaft "id" ist nicht erlaubt, da Gantt virtuelle Gruppentasks erstellt und die Eigenschaften 'group_id' und 'group_text' in diese einfügt. Das bedeutet, dass gruppierte Aufgaben standardmäßig die Eigenschaften 'key' und 'value' haben. Da jede Aufgabe bereits eine 'id'-Eigenschaft besitzt, könnte eine Änderung dieser Standard-IDs die Baumstruktur beschädigen.

  • Ursprüngliche 'project'-Aufgaben werden im Gruppierungsmodus nicht angezeigt, bleiben aber über die API zugänglich.
  • Gruppen-Elemente werden als Aufgaben vom Typ 'project' mit dem gesetzten 'readonly'-Flag hinzugefügt. Sie können durch die Eigenschaft '$virtual' identifiziert und wie reguläre Aufgaben behandelt werden:
gantt.templates.task_class=function(start, end, task){
  if(task.$virtual)
    return "summary-bar";
};
See also
Change log
  • Die Option save_tree_structure wurde in Version 8.0 eingeführt
Zurück nach oben