Seit Version 3.3 enthält die Bibliothek die fullscreen-Erweiterung. Diese Funktion ermöglicht es Ihnen, die Komponente im Vollbildmodus mithilfe der FullScreen-API zu erweitern, sofern diese unterstützt wird (überprüfen Sie die Liste der unterstützten Browser).
Für ältere Browser passt sich Gantt an, um 100 % der Fenstergröße zu belegen.
Um die Unterstützung für den Vollbildmodus zu aktivieren, aktivieren Sie das fullscreen-Plugin mit der gantt.plugins-Methode:
gantt.plugins({
fullscreen: true
});
Die Komponente enthält keine integrierte Steuerung zum Umschalten des Vollbildmodus. Sie müssen eine auf Ihrer Seite hinzufügen oder das unten bereitgestellte Beispiel verwenden:
<input id="fullscreen_button" type="button" value="Toggle Fullscreen"/>
<script>
var button = document.getElementById("fullscreen_button");
button.addEventListener("click", function(){
if (!gantt.getState().fullscreen) {
// Gantt auf Vollbild erweitern
gantt.expand();
}
else {
// Gantt auf normale Größe zurücksetzen
gantt.collapse();
}
}, false);
</script>
Durch Klicken auf die Schaltfläche wird Gantt zwischen seiner ursprünglichen Größe und dem Vollbildmodus umgeschaltet.
Sie können zwei Methoden verwenden, um den Anzeigemodus von Gantt zu steuern:
gantt.expand();
gantt.collapse();
Diese Ereignisse stehen zur Verfügung, um vollbildbezogene Aktionen zu verarbeiten:
// Bevor Gantt auf Vollbild erweitert wird
gantt.attachEvent("onBeforeExpand",function(){
// benutzerdefinierte Logik hier
return true;
});
// Bevor Gantt den Vollbildmodus verlässt
gantt.attachEvent("onBeforeCollapse",function(){
// benutzerdefinierte Logik hier
return true;
});
// Wenn Gantt auf Vollbild erweitert wird
gantt.attachEvent("onExpand", function (){
// benutzerdefinierte Logik hier
});
// Wenn Gantt den Vollbildmodus verlässt
gantt.attachEvent("onCollapse", function (){
// benutzerdefinierte Logik hier
});
Das fullscreen-Objekt bietet vier Methoden, um den Vollbildmodus von Gantt und seine zusätzlichen Elemente zu verwalten:
gantt.ext.fullscreen.expand();
gantt.ext.fullscreen.collapse();
gantt.ext.fullscreen.toggle();
gantt.ext.fullscreen.getFullscreenElement();
Standardmäßig gibt getFullscreenElement() den HTML-Container des Gantt-Diagramms zurück. Sie können diese Methode ändern, wenn Sie zusätzliche Elemente im Vollbildmodus einbeziehen möchten (erfahren Sie hier, wie).
Wenn Sie zusätzliche Elemente wie eine Kopfzeile oder Toolbar im Vollbildmodus einbeziehen möchten, definieren Sie die getFullscreenElement()-Methode neu, um einen benutzerdefinierten Container zurückzugeben:
<div id="myCover">
<div class="gantt_control">
<button id="toggle_fullscreen"
onclick="gantt.ext.fullscreen.toggle();">toggle fullscreen</button>
</div>
<div id="gantt_here"></div>
</div>
Dann aktualisieren Sie getFullscreenElement(), um auf Ihren benutzerdefinierten Container zu verweisen:
gantt.ext.fullscreen.getFullscreenElement = function() {
return document.getElementById("myCover");
}
gantt.init("gantt_here");
Related sample: Full Screen with additional elements
Der Vollbildmodus funktioniert möglicherweise nicht, wenn Gantt daran gehindert wird, sich zu erweitern. Dies kann passieren, wenn:
Wenn diese Bedingungen nicht erfüllt sind, kann Gantt nicht in den Vollbildmodus wechseln. Sie können dies in unserem Snippet-Tool ausprobieren (Beispiel 1, Beispiel 2).
Die Vollbild-Erweiterung ist nicht kompatibel mit Salesforce-Anwendungen, die den Locker Service verwenden. Der Locker Service verhindert, dass Elemente in den Vollbildmodus wechseln.
Das bedeutet, dass es nicht mit dem Lightning Aura-Framework oder Lightning Web Components funktioniert, obwohl es möglicherweise mit dem Visualforce-Framework funktioniert.
Um zu überprüfen, ob der Vollbildmodus in Ihrer App verfügbar ist, fügen Sie den folgenden Snippet zu Ihrem Konfigurationscode hinzu:
console.log("document.body.requestFullscreen", document.body.requestFullscreen)
Wenn die Ausgabe undefined
anzeigt, ist die Funktion deaktiviert, und Gantt kann nicht in den Vollbildmodus wechseln.
Wenn die Unterstützung für den Vollbildmodus in einer Umgebung aktiviert ist, die ihn nicht unterstützt, können Fehler auftreten, aber Gantt wird weiterhin funktionieren.