Available only in PRO Edition

Aufgaben aufteilen

Diese Funktionalität ist nur in der PRO-Edition verfügbar.

Wenn Sie mit einer großen Aufgabe zu tun haben, die nicht kontinuierlich ist und möglicherweise unterbrochen werden muss, können Sie diese in kleinere Teile aufteilen. Sie können sie in so viele Segmente unterteilen, wie nötig.

Auf Datenebene sind diese Aufgaben als Zusammenfassungsaufgabe (oder Projekt) mit Unteraufgaben strukturiert, wobei jede Unteraufgabe einen bestimmten Teil der Hauptaufgabe darstellt.

Zusammenfassungsaufgabe

Sie haben auch die Möglichkeit, sie als einzelne Zeile anzuzeigen, die als eine Aufgabe erscheint:

Aufgabe aufteilen

Um ein Projekt als geteilte Aufgabe anzuzeigen, passen Sie seine render-Eigenschaft auf split an:

{id: 1, text: "Aufgabe #2", start_date: "03-04-2018 00:00", type: "project", 
    render:"split", parent: 0},  {id: 2, text: "Aufgabe #2.1", start_date: "03-04-2018 00:00", duration: 1, 
    parent: 1},
{id: 3, text: "Aufgabe #2.2", start_date: "05-04-2018 00:00", duration: 2, 
    parent: 1},
{id: 4, text: "Aufgabe #2.3", start_date: "08-04-2018 00:00", duration: 1, 
    parent: 1}

In diesem Beispiel wird "Aufgabe #2" in "Aufgabe #2.1," "Aufgabe #2.2," und "Aufgabe #2.3" aufgeteilt, die vollständig interaktiv bleiben.

Related sample:  Split task

Wenn Sie eine geteilte Aufgabe in ihrer üblichen Baumstruktur anzeigen möchten (als Projekt mit Unteraufgaben), ändern Sie einfach die task.render-Eigenschaft und aktualisieren Sie das Gantt-Diagramm:

// Aufgabe im 'split'-Modus neu zeichnen
task.render = "split";
gantt.render();
 
// Aufgabe im regulären (Baum-)Modus neu zeichnen
task.render = "";
gantt.render();

Beispielsweise können Sie eine Steuerung hinzufügen, die mit der task.render-Eigenschaft im Lightbox verknüpft ist, um zwischen geteilten und hierarchischen Ansichten zu wechseln. Ein Beispiel finden Sie im folgenden Abschnitt.

Dynamisches Umschalten des geteilten Modus

Sie können das Lightbox so konfigurieren, dass das Umschalten des geteilten Modus für eine Aufgabe ermöglicht wird. Dies beinhaltet das Hinzufügen eines neuen Abschnitts mit einem Kontrollkästchen zum Lightbox, indem die Konfigurationseinstellungen für Aufgaben des Typs Projekt aktualisiert werden - gantt.config.lightbox.project_sections und ein Label für den neuen Abschnitt eingefügt wird:

gantt.locale.labels.section_split = "Anzeige";
gantt.config.lightbox.project_sections = [
    {name: "description", height: 70, map_to: "text", type: "textarea", focus: true},
    {name: "split", type:"checkbox", map_to: "render", options:[
        {key:"split", label:"Aufgabe aufteilen"}
    ]},
    {name: "time", type: "duration", readonly: true, map_to: "auto"}
];

Dies führt zu folgendem Interface:

Kontrollkästchen für geteilte Aufgabe

Wenn das Kontrollkästchen deaktiviert ist, wird die geteilte Aufgabe als Projekt mit Unteraufgaben angezeigt.

Related sample:  Split task

Überprüfen, ob die Aufgabe geteilt ist

Um festzustellen, ob eine Aufgabe geteilt ist, können Sie die Methode isSplitTask verwenden. Diese Methode nimmt das Aufgabenobjekt als Eingabe und gibt true zurück, wenn die Aufgabe geteilt ist.

var task = gantt.getTask(1);
if(gantt.isSplitTask(task)){
  ...
}

Erweitern/Einklappen von geteilten Aufgaben

Wenn Sie eine geteilte Aufgabe direkt aus dem Raster erweitern oder einklappen möchten, gibt es eine Konfigurationsoption dafür. Sie heißt open_split_tasks und akzeptiert einen booleschen Wert, um die Erweiterbarkeit für geteilte Aufgaben zu aktivieren oder zu deaktivieren.

gantt.config.open_split_tasks = true;

Geteilte Aufgabe erweitern

Filtern von geteilten Aufgaben

Um Unteraufgaben einer geteilten Aufgabe im Gantt-Diagramm herauszufiltern, verwenden Sie das Ereignis onBeforeSplitTaskDisplay und spezifizieren Sie:

  • true für Unteraufgaben, die Sie anzeigen möchten
  • false für Unteraufgaben, die Sie ausblenden möchten
gantt.attachEvent("onBeforeSplitTaskDisplay", function (id, task, parent) {
    if (task.duration < 3) {
        return false;
    }
    return true;
});

Stil

Geteilte Aufgaben sind im Wesentlichen Unteraufgaben eines übergeordneten Elements, wobei die hellgrüne Leiste des übergeordneten Elements im Hintergrund angezeigt und unterschiedlich gestylt wird.

Wenn geteilte Aufgaben in eine einzelne Zeile zusammengefasst werden, bleibt die hellgrüne Leiste des übergeordneten Elements an derselben Position sichtbar, jedoch mit veränderter Opazität und z-Index-Werten.

Related sample:  Expand and collapse split tasks

Sie können die Farbe der Leiste des übergeordneten Elements wie andere Zeitachsenleisten timeline anpassen oder sie vollständig mit CSS ausblenden:

.gantt_task_line.gantt_split_parent {
    display: none;
}


Wenn es nur eine geteilte Aufgabe gibt, wird das Zusammenfassungselement (type="project") unsichtbar, da es vollständig von der geteilten Aufgabe überdeckt wird. Wenn keine geteilten Unteraufgaben existieren, hat das Zusammenfassungselement Standarddaten und -dauer.

Separate geteilte Aufgaben stylen

Ab Version 8.0 beinhalten geteilte Aufgaben die task.$rendered_at-Eigenschaft in Vorlagenfunktionen. Diese Eigenschaft enthält die ID der Zeile, in der die geteilte Aufgabe angezeigt wird. Mithilfe der Vorlage task_class können Sie bestimmte geteilte Aufgaben basierend auf ihrer angezeigten Zeile stylen.

gantt.templates.task_class = function(start, end, task) {
    if(task.$rendered_at) {
        if(gantt.calculateTaskLevel(gantt.getTask(task.$rendered_at)) === 1) {
            return "phase-level-split-task";
        }
    }
    return "";
};
Zurück nach oben