Пакет компонента включает демонстрационное backend-приложение, которое позволяет запускать примеры локально. Для его работы требуется Node.js, и для демонстраций используется хранение данных в памяти, поэтому настройка базы данных не нужна.
1) Используйте демонстрационное Node.js backend-приложение:
npm install
npm run start
http://localhost:9200
в браузере2) Используйте веб-сервер Apache
3) Используйте встроенный в вашу IDE сервер разработки
Некоторые среды разработки предоставляют встроенный сервер разработки, например:
https://www.jetbrains.com/help/webstorm/creating-local-server-configuration.html.
Проверьте, поддерживает ли ваша IDE что-то подобное — встроенно или через плагины.
Некоторые примеры загружают данные из JSON-файлов через AJAX (xhr). Чтобы это работало, пример должен открываться через веб-сервер.
Открытие примера двойным щелчком мыши запускает его как файл, и браузеры блокируют AJAX-запросы в этом режиме. В результате компонент не может загрузить файлы данных, и вы увидите всплывающее окно Invalid data в правом верхнем углу.
Чтобы убедиться в этом, посмотрите на URL в браузере. Если он начинается с file:///, например:
file:///D:/www/scheduler-eval/samples/20_multiple/01_basic.html
то загрузка файлов данных работать не будет.
Открытие примера через веб-сервер будет выглядеть так (протокол http:// может быть опущен):
http://localhost/scheduler-eval/samples/20_multiple/01_basic.html
Если Scheduler неправильно отображается на странице, проверьте CSS-стили его контейнера — ему обязательно должен быть задан валидный размер в пикселях или процентах.
html, body{
margin:0px;
padding:0px;
height:100%; /*обязательно*/
overflow:hidden;
}
Если Scheduler неправильно отображается только в Internet Explorer, проверьте, что на вашей странице используется полный DOCTYPE. Scheduler корректно работает в стандартных режимах IE, но не предназначен для работы в quirks mode.
Например, DOCTYPE для HTML5:
<!DOCTYPE html>
Начальный вид, отображаемый в Scheduler, задаётся при инициализации через метод init. Однако шаблоны, используемые кастомным видом, могут быть не полностью обработаны к этому моменту, из-за чего инициализация может завершиться с ошибкой.
Чтобы избежать этого, создавайте кастомные виды внутри обработчика события onTemplatesReady, которое происходит после полной обработки всех шаблонов:
scheduler.attachEvent("onTemplatesReady",function(){
//разместите здесь код создания кастомного вида
});
scheduler.init(container, date, "custom view name");
Часто это происходит, если серверный скрипт выводит пробелы перед XML, что вызывает ошибку.
Убедитесь, что ни в одном из подключаемых файлов вашего connector-скрипта нет пробелов вне тегов
<?php и ?>.
По умолчанию Scheduler использует 24-часовой формат (военное время), отображая время, например, как 13:00.
Чтобы переключиться на 12-часовой формат и отображать время как 1:00 PM, установите свойство hour_date:
scheduler.config.hour_date = "%g:%i%a"; scheduler.init('scheduler_here', new Date(), "month");
По умолчанию высота одного часа (scale unit) — 44px, а минимальная высота блока события — 40px (в material skin). Поэтому события на 15 минут и на час выглядят одинаково.
Чтобы настроить размер событий в соответствии с масштабом, доступно несколько вариантов. Подробнее см. в статье Изменение размера шкалы и блоков событий.
Это может происходить при уровнях масштабирования, отличных от стандартного.
Такое поведение ожидаемо и на данный момент не может быть исправлено. Макет календаря гарантированно отображается корректно при 100% (стандартном) масштабе, но при других масштабах некоторые элементы могут смещаться из-за масштабирования браузера.
Масштабируемость Scheduler зависит от нескольких факторов.
В Timeline view количество строк сильно влияет на скорость отрисовки. Отображение сотен секций Timeline может вызывать заметные задержки, в зависимости от настроек.
Для работы с большими объёмами данных включите режим динамической загрузки. В этом режиме Scheduler загружает только те события, которые нужны для отображения (AJAX-запросы включают диапазон дат для фильтрации на сервере).
В режиме динамической загрузки основное ограничение — количество одновременно отображаемых событий. Обычно можно отобразить несколько тысяч событий без проблем с производительностью, хотя это зависит от вида.
Например, Day или Week views не подходят для отображения очень большого количества событий, так как события показываются в колонках с ограниченной шириной.
В целом, общее количество событий редко становится проблемой. Однако если у вас много секций Timeline (например, 200 строк), может потребоваться оптимизация кода для сокращения времени перерисовки.
Две типовые ситуации:
1. Вы настроили backend API вручную или по нашим инструкциям, но Scheduler не отображает событий.
или
2. Возникают проблемы с сохранением изменений на сервер.
Обратитесь к статье Устранение проблем с интеграцией Backend для диагностики этих проблем.
Эти сообщения появляются, когда компонент сталкивается с проблемами.
Они обычно указывают на реальные ошибки в данных или логике приложения, поэтому скрытие сообщений приведёт только к тому, что ошибка проявится в другом месте.
Если вы хотите отключить эти сообщения перед публикацией приложения для пользователей, используйте настройку show_errors:
scheduler.config.show_errors = false;
Наверх