Widgets
Custom Gantt
Custom Gantt

Das arcGantt Widget ist ein interaktives Tool zur grafischen Planung und Verwaltung von beispielsweise Projekten, Aufgaben und Zeiträumen. Es ermöglicht eine klare Balkendarstellung von Zeitverläufen, unterstützt hierarchische Strukturen und bietet eine dynamische Steuerung per Klick.
Typische Einsatzbereiche:
✔ Projektmanagement – Aufgaben & Deadlines verwalten
✔ Ressourcenplanung – Verfügbarkeiten im Blick behalten
✔ Einsatzplanung – Teams & Termine effizient organisieren
Das Widget lässt sich flexibel in deiner Ninox Datenbank integrieren und auf deinen Anwendungsfall anpassen. In den folgenden Abschnitten erfährst du, wie du das Widget konfigurierst. 🚀
Anwendungscode
Einzelne Parameter
uniqueId
uniqueID
ist die individuelle Bezeichnung deines Gantts. Achte darauf, dass du hier einen einzigartigen Titel vergibst. Das ist wichtig, falls du mehrere Gantts auf einer Seite darstellen möchtest und sich keine Style-Einstellungen überschreiben.
ganttSettings
Block
Der Block ganttSettings
enthält allgemeine Anzeigeeinstellungen für das Gantt-Diagramm – also wie das Gantt selbst dargestellt wird, unabhängig von seinen Inhalten.
height
im ganttSettings
Block
height
bestimmt die Höhe des Gantt-Diagramms in Pixeln. Beispiel: "800px"
embedded
im ganttSettings
Block
Mit dem Parameter embedded
legst du fest, ob dein Gantt-Diagramm eigenständig angezeigt oder in ein anderes Widget eingebettet wird.
showScrollbar
im ganttSettings
Block
Mit showScrollbar
bestimmst du, ob unterhalb des Gantt-Diagramms eine horizontale Scrollbar angezeigt wird.
Das ist besonders hilfreich für User ohne Touchpad oder Maus mit horizontalem Scrollrad – sie können dann bequem per Klick auf der Scrollbar im Zeitraster nach rechts oder links navigieren.
currentZoomLevel
im ganttSettings
Block

Mit currentZoomLevel
legst du die Zoomstufe deines Gantt-Diagramms fest. Der Wert wird als Prozentzahl angegeben.
Ein höherer Wert (z. B.
500
) bedeutet eine stärkere Vergrößerung – die einzelnen Zeitblöcke im Grid werden größer dargestellt.Ein niedrigerer Wert (z. B.
100
) zeigt mehr Zeitraum auf einmal, aber in kleinerem Maßstab.
So kannst du steuern, wie detailliert oder wie übersichtlich dein Gantt beim Laden angezeigt wird.
nativeCollapse
im ganttSettings
Block
Mit nativeCollapse
steuerst du, ob die standardmäßigen Auf- und Zuklapp-Icons für hierarchische Gantt-Einträge automatisch angezeigt werden.
true
→ Die Gantt-Komponente zeigt automatisch die bekannten Pfeil-Icons zum Ein- und Ausklappen von Gruppen oder Unterpunkten.false
→ Du übernimmst selbst die Kontrolle über die Darstellung und Funktion – z. B. mit eigenen Icons und Klick-Logiken.
Das ist besonders nützlich, wenn du ein individuelles Verhalten oder Design für die Aufklappfunktion brauchst.
Wenn du nativeCollapse
auf false
setzt, kannst du eine eigene Logik zum Ein- und Ausklappen deiner Gantt-Einträge umsetzen.
Dazu steuerst du die Anzeige der untergeordneten Items mithilfe einer if
-Bedingung, die auf ein Hilfsfeld wie z. B. showChildren
zugreift:
Diese Methode ist nicht nur flexibel, sondern auch performancefreundlich: Unterelemente werden nur geladen und angezeigt, wenn sie tatsächlich sichtbar sein sollen – das reduziert Ladezeiten und sorgt für flüssigere Interaktionen im Gantt.
dateSettings
Block
Mit dem dateSettings
-Block kannst du bestimmte Tage oder Daten im Gantt-Grid visuell hervorheben – z. B. Feiertage, Projekt-Deadlines oder andere wichtige Zeitpunkte.
Jedes Highlight kannst du individuell gestalten, z. B. mit eigener Hintergrundfarbe und Linienfabre der Zeilen.
timeSettings
Block
Der timeSettings
Block ist ein besonders geeignetes Feature, wenn du nicht 24 Stunden eines Tages darstellen möchtest, sondern nur eine bestimmte Stundenanzahl je Tag. Das kann sinnvoll sein, wenn du zum Beispiel Mitarbeitereinsätze einplanen möchtest und dir dabei nur die wirklichen Arbeitsstunden des Tages anzeigen lässt. Zum Beispiel 08:00 Uhr bis 18:00 Uhr.
amount
in timeSettings
Mit dem Parameter amount
legst du fest, in welche Zeiteinheiten ein Tag im Gantt-Diagramm unterteilt wird. Standardmäßig ist eine Stunde (also 1
) eingestellt – das bedeutet, jede Spalte im Gantt steht für eine Stunde.
Wenn du feinere Einteilungen möchtest, kannst du zum Beispiel 0.5
angeben, um halbstündliche Intervalle anzuzeigen. Auch kleinere Werte wie 0.25
(15 Minuten) sind möglich – je nachdem, wie detailliert du deine Zeitplanung darstellen möchtest.
💡Hinweis: Achte darauf, dass du Dezimalzahlen mit einem Punkt, und nicht einem Komma trennst.
startTime
in timeSettings
Mit dem Parameter startTime
bestimmst du, ab welcher Uhrzeit der Tag im Gantt-Diagramm beginnen soll.
Standardmäßig würde der gesamte 24-Stunden-Tag angezeigt. Wenn du jedoch nur einen bestimmten Zeitraum darstellen möchtest – zum Beispiel einen typischen Arbeitstag ab 8 Uhr – dann gibst du einfach 8
an. Das Gantt-Diagramm startet dann bei Stunde 8 (also 08:00 Uhr) und zeigt keine früheren Zeiten an.
duration
in timeSettings
Mit dem Parameter duration
legst du fest, wie viele Stunden im Gantt-Diagramm ab der startTime
angezeigt werden.
Das ist besonders hilfreich, wenn du nur einen bestimmten Zeitraum – z. B. einen klassischen Arbeitstag – abbilden möchtest. Wenn du zum Beispiel startTime: 8
und duration: 10
angibst, wird der Zeitraum von 08:00 Uhr bis 18:00 Uhr dargestellt.
createModeSettings
Block
Mit dem createMode
-Block legst du fest, ob User direkt im Gantt-Diagramm per Hover einen neuen Eintrag erstellen dürfen.
Innerhalb dieses Blocks definierst du auch den Parameter amount
, der bestimmt, wie viele Stunden ein neu erstellter Eintrag standardmäßig umfassen soll.
Beispiel: Wenn amount: 2
gesetzt ist, wird bei einem Klick auf das Gantt automatisch ein Termin mit einer Dauer von 2 Stunden erstellt.
barSettings
Block
Die barSettings
können auf jeder Ebene deiner hierarchischen Gantt-Items individuell festgelegt werden.
Wenn eine untergeordnete Ebene (z. B. ein Task) keine eigenen Einstellungen hat, übernimmt sie automatisch die barSettings
der übergeordneten Ebene. So musst du nicht jede Einstellung mehrfach definieren und behältst trotzdem maximale Flexibilität.
sidebarSettings
Block
Die sidebarSettings
bestimmen das Aussehen und Verhalten der linken Seitenleiste im Gantt-Diagramm.
Über den Parameter
title
legst du die Überschrift des Gantt-Diagramms fest.Mit
customText
kannst du diesen Titel zusätzlich stylen – z. B. Schriftgröße, Farbe oder Formatierung.position
bestimmt die Position des Sichtfensters, das beim Springen zu einem spezifischen Datum angezeigt wird. Das Datum kann also linksbündig oder mittig im Sichtfenster angezeigt werden.
Außerdem kannst du clickActions
definieren:
Damit bestimmst du, was passieren soll, wenn ein Nutzer auf einen Eintrag in der Sidebar klickt.
Ein typisches Beispiel: Per Quicklink springt der Gantt-View automatisch zu einem bestimmten Datum, das du vordefiniert hast.
years
Mit dem Parameter years
legst du fest, welche Jahreszahlen im Gantt-Diagramm angezeigt werden sollen. Du kannst entweder ein einzelnes Jahr oder eine ganze Spanne definieren – zum Beispiel:
Es ist auch möglich, die Anzeige dynamisch zu steuern – etwa über ein Ninox-Feld. So kann der User per Auswahlfeld selbst bestimmen, welche Jahre im Gantt dargestellt werden sollen.
items
Abschnitt
Der Abschnitt items
definiert die konkreten Inhalte deines Gantt-Diagramms.
Dabei legst du fest:
Was in der linken Sidebar (also den Zeilenüberschriften) angezeigt wird
Und was im Content-Bereich des Gantts (also dem Zeitraster) für jede Zeile dargestellt wird
Typischerweise arbeitest du hier mit einer for
-Schleife, um dynamisch auf Werte bzw. Datensätze aus einer Ninox-Tabelle zuzugreifen. So kannst du dein Gantt automatisch mit den relevanten Daten füllen – etwa so:
items
in der Sidebar
Im oberen Bereich des items
-Blocks definierst du, wie die einzelnen Zeilen (Rows) in der linken Sidebar des Gantt-Diagramms aussehen sollen.
Du kannst hier z. B. Titel, Farben, Höhe, Bar-Styling und Klickverhalten festlegen.
recordId
: Verknüpft das Sidebar-Item mit einem konkreten Datensatz. Wird unter anderem für dieclickAction
benötigt.title
: Der Text, der in der linken Spalte angezeigt wird – z. B. der Projektname. Hier kannst du auch ganz eigene Designs mithilfe anderer Widgets, wie Custom Layout, custom text oder Selects gestalten.clickAction
: Ermöglicht, dass ein Klick auf das Sidebar-Item zum zugehörigen Record führt.barSettings
: Hier kannst du das Aussehen des zugehörigen Zeitbalkens im Grid-Bereich steuern – unabhängig vom Stil der Sidebar.
timeEntries
– Zeiteinträge im Content-Bereich
Im timeEntries
-Block definierst du, wie die einzelnen Zeiteinträge im Zeitraster (Content-Bereich) des Gantt-Diagramms dargestellt werden.
Ein timeEntry
ist dabei ein Balken auf der Zeitachse – also ein Zeitraum mit Start- und Enddatum, der z. B. ein Projekt oder eine Aufgabe visualisiert.
Wichtige Eigenschaften:
Mehrere Zeiteinträge pro Zeile möglich
Du kannst beliebig vieletimeEntries
pro Item definieren – z. B. wenn ein Projekt mehrere Zeitabschnitte hat.title
Der Text, der im Balken angezeigt wird – kann auch durch Widgets ersetzt oder dynamisch gefüllt werden.recordId
Verlinkt den Eintrag mit einem Datensatz. In Verbindung mitclickAction
wird so ein Klick auf den Balken zur Detailansicht weitergeleitet.startDate
/endDate
Bestimmen die Position und Breite des Balkens auf der Zeitachse.barSettings
Für jedestimeEntry
kannst du eigene Styles definieren – z. B. eine andere Farbe für unerledigte Aufgaben (backgroundColor: "#ef1d2e"
).
Bei Fragen zur Konfiguration oder bei individuellen Anwendungsfällen hilft dir das Entwicklerteam gerne weiter.
Schau auch in die Beispiele oder hole dir Inspiration in der Discord Community.
Happy Widgeting 🥳