Datenserialisierung in XML, JSON, iCal
Vorbereitungen
Um solche Funktionalität zu aktivieren, aktiviere die serialize-Erweiterung.
scheduler.plugins({
serialize: true
});
Export nach XML
Um Scheduler-Daten in einen XML-String zu serialisieren, verwenden Sie die toXML Methode:
const xml = scheduler.toXML(); // xml string
Scheduler-Ereignisse serialisieren
Export nach JSON
Um Scheduler-Daten in einen JSON-String zu serialisieren, verwenden Sie die toJSON Methode:
const json_string = scheduler.toJSON(); //json string
Hinweis, die Methode gibt einen JSON-String zurück, kein Objekt. Wenn Sie ein JSON-Objekt benötigen - verwenden Sie die getEvents Methode.
Scheduler-Ereignisse serialisieren
Export nach iCal
Um Scheduler-Daten in einen ICal-String zu serialisieren, verwenden Sie die toICal Methode:
const ical_string = scheduler.toICal(); //ical string
Außerdem gibt es ein externes Skript für iCal-Import-Export-Operationen
Scheduler-Ereignisse serialisieren
Attribute in der Serialisierung
Die folgende Technik gilt nicht für das iCal-Format.
Standardmäßig enthält der Export nur Standardattribute (Eigenschaften):
- id
- text
- start_date (Format der Serialisierung wird durch die date_format Eigenschaft definiert)
- end_date
Wenn Sie einige benutzerdefinierte Attribute einbeziehen müssen, können Sie die data_attributes-Methode neu definieren. Im einfachsten Fall sieht es wie folgt aus:
scheduler.data_attributes = function(){
return [
["id"],["text"],["date_start"],["date_end"],
["custom_attribute"]
];
};
Im Wesentlichen definiert die Methode eine Liste von Attributnamen.
Aber Sie können die Formatierungsfunktion definieren, die beschreibt, wie Attributdaten vor der Serialisierung verarbeitet werden müssen.
Es kann nützlich sein für Datumsangaben, die vor der Platzierung in XML konvertiert werden müssen
scheduler.data_attributes = function(){
return [
["id"],
["text"],
["start_date",scheduler.templates.format_date],
["end_date",scheduler.templates.format_date]];
}
Serialisierung von wiederkehrenden Ereignissen
Die untenstehende Technik ist für das iCal-Format nicht anwendbar.
Wenn Sie die Erweiterung "recurring" verwenden, müssen Sie zusätzliche Attribute definieren, die von wiederkehrenden Ereignissen verwendet werden:
scheduler.data_attributes = function(){
const empty = function(a){ return a||""; }
return [["id"],
["text"],
["start_date",scheduler.templates.xml_format],
["end_date",scheduler.templates.xml_format],
["rec_type",empty],
["event_length",empty],
["event_pid",empty]];
}