Blockieren und Markieren von Daten

Diese Bibliothek beinhaltet die Limit-Erweiterung, mit der Sie bestimmte Daten oder Zeiträume blockieren und hervorheben können.

Um mit dem Plugin zu starten, aktivieren Sie es einfach auf Ihrer Seite.

Hinweis: Wenn Sie die Timeline-Ansicht verwenden, sollte die 'limit'-Erweiterung vor der 'timeline'-Erweiterung aktiviert werden:

scheduler.plugins({
    limit: true,     timeline: true
});

Konfigurationsoptionen

Hier sind die verfügbaren Konfigurationsoptionen dieser Erweiterung:

  • display_marked_timespans - steuert, ob markierte (blockierte) zeitspannen im scheduler hervorgehoben werden
  • check_limits - schaltet die limit-prüfung ein oder aus
  • mark_now - steuert den marker, der die aktuelle zeit anzeigt
  • now_date - legt das datum fest, das von der option mark_now verwendet wird
  • limit_end - definiert das endlimit des erlaubten datumsbereichs
  • limit_start - definiert das startlimit des erlaubten datumsbereichs
  • limit_view - beschränkt das anzeigen von ereignissen

Related sample:  Current time marking

Verwandte Ereignisse

Wenn jemand versucht, ein Ereignis an einem nicht erlaubten Datum zu erstellen oder zu ändern, wird das Ereignis onLimitViolation ausgelöst.

Wie blockiert man bestimmte Daten?

Es gibt verschiedene Möglichkeiten, Limits im Scheduler zu setzen:

  • addMarkedTimespan - markiert daten und kann sie mit benutzerdefinierten stiloptionen blockieren
  • markTimespan - markiert oder blockiert daten mit standard- oder benutzerdefinierten stilen; die markierung wird nach jedem internen update entfernt, nützlich zum hervorheben

Related sample:  Blocking dates

Wie markiert man bestimmte Daten?

Sie können diese beiden Methoden verwenden, um bestimmte Daten hervorzuheben:

  • addMarkedTimespan - markiert daten und kann sie mit benutzerdefinierten stiloptionen blockieren
  • markTimespan - markiert oder blockiert daten mit standard- oder benutzerdefinierten stilen; die markierung wird nach jedem internen update entfernt, nützlich zum hervorheben

Related sample:  Handling the pointer highlighting

Markierung/Blockierung entfernen

Um aktuell markierte oder blockierte Zeitspannen zu entfernen, können Sie diese Methoden verwenden:

Related sample:  Handling the pointer highlighting

Blockierungspriorität

Wenn mehrere Blockierungsmethoden für verschiedene Bereiche verwendet werden, funktioniert die Blockierungspriorität wie folgt (von höchster zu niedrigster):

  1. Daten, die mit Date()-Objekten für bestimmte Elemente angegeben werden;
  2. Daten für bestimmte Elemente (wenn der sections-Parameter gesetzt ist);
  3. Daten, die mit Date()-Objekten angegeben werden;
  4. Andere Daten.
  • Blockierungen oder Markierungen mit höherer Priorität überschreiben solche mit niedrigerer Priorität, wenn sie denselben type haben.
  • Methoden mit gleicher Priorität (zeitlich überlappend) werden gemeinsam angewendet.

Beispiel:

scheduler.addMarkedTimespan({ // blockiert den 4. Juli 2012 (Mittwoch).
    days:  new Date(2019, 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} 
});

Nach diesen Aufrufen verhält sich der Scheduler wie folgt:

  1. Zuerst werden jeder Sonntag und Mittwoch für das Element mit id=2 in der Timeline-Ansicht blockiert und grau eingefärbt.
  2. Danach wird der 4. Juli 2012 blockiert und rot eingefärbt.
  3. Schließlich werden jeder Sonntag, Montag und Mittwoch blockiert und blau eingefärbt.

limits_priority.png

Wenn Sie alle Marker unabhängig von ihrer Priorität anzeigen möchten, können Sie die Option overwrite_marked_timespans wie folgt setzen:

scheduler.config.overwrite_marked_timespans_config = false;
Nach oben