Dieser Artikel behandelt die Legacy-Version des Live Updates Modus für DHTMLX Scheduler. Informationen zur neuesten Version finden Sie hier.
Der Live Updates Modus hält Daten in Echtzeit zwischen den Benutzern synchron.
Sobald ein Benutzer eine Änderung vornimmt, erscheint sie sofort auch bei allen anderen.
Dieser Modus verwendet die Faye
Socket-Bibliothek, um schnelle und flexible Aktualisierungen zu ermöglichen, ohne dass die Seite neu geladen werden muss (nur die relevante Komponente wird aktualisiert).
Hier finden Sie eine einfache Anleitung, um mit dieser Funktion zu beginnen.
Live Updates funktionieren, indem Änderungen von einem verbundenen Client an alle anderen übertragen werden. Dies geschieht über eine WebSocket-Verbindung, die eine bidirektionale Kommunikation zwischen Clients und Backend ermöglicht.
In dieser Version erweitert das Live Updates Modul das DataProcessor
Modul, um die Faye
Client-Bibliothek zu verwenden, zusammen mit einer Backend-App, die die Nachrichtenverteilung zwischen den Clients übernimmt.
Das Setup besteht aus drei Komponenten:
DataProcessor
Modul.Wenn ein Benutzer Daten aktualisiert:
Um diesem Tutorial zu folgen, benötigen Sie eine funktionierende dhtmlxScheduler-App mit serverseitiger Logik, die Daten aus einer Datenbank lädt und Änderungen zurückspeichert. (Weitere Details hier.)
Ein einfaches Beispiel könnte so aussehen:
<script>
function init() {
scheduler.init('scheduler_here', new Date(2025,5,24), "week");
scheduler.load("api/scheduler");
const dp = scheduler.createDataProcessor({
url: "/events",
mode: "REST"
});
}
</script>
Diese Live Updates Implementierung ist veraltet und nicht Teil des Hauptpakets.
Um den Live Update Modus zu aktivieren, fügen Sie der Frontend-App zwei zusätzliche Dateien hinzu:
<script src="./lib/dhtmlxscheduler/live_updates.js"></script>
<script src="http://localhost:8008/client.js"></script>
Dieses Beispiel verbindet sich direkt mit der WebSocket-App. In der Regel ist es besser, diese URL über Ihre Hauptanwendung zu leiten, um die Adresse und den Port der Nebenanwendung zu verbergen. Dies kann durch das Einrichten eines Reverse Proxy erreicht werden.
Anfragen durch die Hauptanwendung weiterleiten (Node.js):
const httpProxy = require('http-proxy');
const proxy = httpProxy.createProxyServer({});
module.exports = function(app){
app.all("/liveUpdates*", function(req, res) {
proxy.web(req, res, {target: "http://localhost:8008"});
});
}
Front-End:
<script src="./lib/dhtmlxscheduler/live_updates.js"></script>
<script src="/liveUpdates/client.js"></script>
Aktivieren Sie den Modus, indem Sie die Methode live_updates() auf der DataProcessor
Instanz aufrufen. Stellen Sie sicher, dass der DataProcessor
zuerst initialisiert wurde. Die Methode erwartet die WebSocket-Einstiegspunkt-URL als Parameter.
const dp = scheduler.createDataProcessor({
url: "/events",
mode: "REST"
});
dp.live_updates("/liveUpdates");
Eine vollständige Demo-Anwendung können Sie hier herunterladen.
Nach oben