Blockieren und Markieren von Terminen
Die Bibliothek bietet die Limit-Erweiterung, die es ermöglicht, bestimmte Termine oder Datumsbereiche zu blockieren und zu markieren (hervorzuheben).
Um das Plugin zu verwenden, aktivieren Sie es auf der Seite.
Hinweis, wenn Sie das "Timeline" verwenden, sollte die 'limit'-Erweiterung vor der 'timeline'-Erweiterung aktiviert sein:
scheduler.plugins({
limit: true, /*!*/
timeline: true
});
Konfigurationsoptionen
Die Erweiterung bietet Ihnen folgende Konfigurationsoptionen:
- display_marked_timespans - definiert, ob die markierten (blockierten) Zeitspannen im Scheduler hervorgehoben werden sollen
- check_limits - aktiviert bzw. deaktiviert die Überprüfung von Limits
- mark_now - aktiviert/deaktiviert den Marker, der die aktuelle Zeit anzeigt
- now_date - setzt das Datum für die Option mark_now
- limit_end - setzt das Endlimit des zulässigen Datumsbereichs
- limit_start - setzt das Startlimit des zulässigen Datumsbereichs
- limit_view - begrenzt das Anzeigen von Ereignissen
Zugehörige Ereignisse
Wenn der Scheduler versucht, ein Ereignis mit einem nicht zulässigen Datum zu erstellen oder zu ändern, wird das Ereignis onLimitViolation generiert.
Wie blockiert man bestimmte Termine?
Es gibt mehrere Methoden, mit denen Sie im Scheduler ein Limit festlegen können:
- addMarkedTimespan - markiert Termine, aber mit bestimmten Einstellungen bewirkt dies eine Blockierung (erlaubt das Festlegen eines benutzerdefinierten Stylings für das Limit)
- markTimespan - markiert und/oder blockiert Datum(e), indem der Standard- oder ein benutzerdefinierter Stil darauf angewendet wird. Die Markierung wird unmittelbar nach jeder internen Aktualisierung der App aufgehoben. Kann zum Hervorheben verwendet werden
Wie markiert man bestimmte Termine?
Es gibt zwei Methoden, die verwendet werden können, um die angegebenen Datum(e) zu markieren:
- addMarkedTimespan - markiert Termine, aber mit bestimmten Einstellungen bewirkt dies eine Blockierung (erlaubt das Festlegen eines benutzerdefinierten Stylings für das Limit)
- markTimespan - markiert und/oder blockiert Datum(e), indem der Standard- oder ein benutzerdefinierter Stil darauf angewendet wird. Die Markierung wird unmittelbar nach jeder internen Aktualisierung der App aufgehoben. Kann zum Hervorheben verwendet werden
Handling the pointer highlighting
Entfernen von Markierung/Blockierung
Es gibt mehrere Methoden, mit denen Sie die derzeit markierten/blokkierten Zeitspannen entfernen können:
- deleteMarkedTimespan - entfernt Markierung/Blockierung, festgelegt durch die Methode addMarkedTimespan
- unmarkTimespan - entfernt Markierung/Blockierung, festgelegt durch die Methode markTimespan
Handling the pointer highlighting
Blockierpriorität
Wenn Sie die 'Blocking'-Methoden mehrmals aufrufen und verschiedene Bereiche blockieren, folgt die Blockierung dieser Priorität (von hoch nach niedrig):
- Daten, die durch Date()-Objekte für bestimmte Elemente festgelegt sind;
- Daten für bestimmte Elemente (wenn der sections-Parameter definiert ist);
- Daten, die durch Date()-Objekte festgelegt wurden;
- Andere Daten.
- Eine Blockierung/Markierung mit höherer Priorität überschreibt die mit niedrigerer Priorität, sofern sie denselben type haben.
- Mehrere Blockierungs-/Markierungsmethoden mit derselben Priorität (im gleichen Zeitslot gelegen) werden gleichzeitig angewendet.
Zum Beispiel:
scheduler.addMarkedTimespan({ // blockiert den 4. Juli 2027 (Mittwoch).
days: new Date(2027, 7, 4),
zones: "fullday",
type: "dhx_time_block",
css: "red_section" // Zugewiesene CSS-Klasse
});
scheduler.addMarkedTimespan({ // blockiert jeden Sonntag, Montag, Mittwoch
days: [0, 1, 3],
zones: "fullday",
type: "dhx_time_block",
css: "blue_section" // Zugewiesene CSS-Klasse
});
// blockiert jeden Sonntag und Mittwoch nur für das Element mit id="2"
scheduler.addMarkedTimespan({
days: [0,3],
zones: "fullday",
type: "dhx_time_block",
css: "gray_section", // Zugewiesene CSS-Klasse
sections: { timeline: 2}
});
Als Ergebniss der Aufrufe dieser Methoden erhalten Sie Folgendes:
- Zuerst wird der Scheduler jedes Sonntag und Mittwoch für das Element (id="2") in der Timeline-Ansicht blockieren und diese grau färben.
- Dann wird der 4. Juli 2012 blockiert und rot gefärbt.
- Schließlich wird jeder Sonntag, Montag und Mittwoch blockiert und blau gefärbt.

Um dieses Verhalten zu ändern und alle Marker unabhängig von ihrer Priorität anzuzeigen, können Sie die Einstellung overwrite_marked_timespans verwenden:
scheduler.config.overwrite_marked_timespans_config = false;