Сериализация данных в XML, JSON, iCal
Подготовка
Чтобы включить эту функциональность, просто активируйте расширение serialize.
scheduler.plugins({
serialize: true
});
Экспорт в XML
Чтобы преобразовать данные планировщика в XML-строку, используйте метод toXML:
const xml = scheduler.toXML(); // xml string
Экспорт в JSON
Чтобы преобразовать дан ные планировщика в JSON-строку, используйте метод toJSON:
const json_string = scheduler.toJSON(); // json string
Имейте в виду, что этот метод возвращает JSON-строку, а не JavaScript-объект. Если вам нужен JSON-объект, используйте метод getEvents.
Экспорт в iCal
Чтобы преобразовать данные планировщика в iCal-строку, используйте метод toICal:
const ical_string = scheduler.toICal(); // ical string
Также существует внешний скрипт для операций импорта-экспорта iCal
Атрибуты при сериализации
Этот подход не применяется к формату iCal.
По умолчанию в экспорт включаются только стандартные атрибуты (свойства):
- id
- text
- start_date (формат сериализации контролируется свойством date_format)
- end_date
Чтобы включить пользовательские атрибуты, можно переопределить метод data_attributes. Простой пример:
scheduler.data_attributes = function(){
return [
["id"],["text"],["date_start"],["date_end"],
["custom_attribute"]
];
};
По сути, этот метод возвращает список имён атрибутов.
Также можно указать функцию форматирования для обработки данных атрибута перед сериализацией.
Это удобно для обработки дат, которые требуют форматирования перед добавлением в XML.
scheduler.data_attributes = function(){
return [
["id"],
["text"],
["start_date",scheduler.templates.format_date],
["end_date",scheduler.templates.format_date]];
}