FAQ
Как открыть примеры
Пакет компонента включает демонстрационное backend-приложение, которое позволяет запускать примеры локально. Для его работы требуется Node.js, и для демонстраций используется хранение данных в памяти, поэтому настройка базы данных не нужна.
Шаги для запуска примеров
- Используйте демонстрационное Node.js backend-приложение:
- распакуйте пакет в папку
- откройте терминал (или cmd, PowerShell)
- выполните команду
npm install - выполните команду
npm run start - откройте
http://localhost:9200в браузере - вы увидите индексную страницу, аналогичную нашим онлайн-примерам по адресу https://docs.dhtmlx.com/scheduler/samples/
- Используйте веб-сервер Apache
- Установите веб-сервер Apache. Если вы не знаете, как это сделать, рассмотрите вариант с XAMPP.
- Поместите примеры Scheduler в корневую директорию документов Apache (xampp/htdocs, если используете XAMPP).
- Запустите веб-сервер Apache, затем откройте примеры по адресу http://localhost/yourfolder.
- Используйте встроенный в вашу 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 отображается некорректно
Если Scheduler неправильно отображается на странице, проверьте CSS-стили его контейнера - ему обязательно должен быть задан валидный размер в пикселях или процентах.
- Если размер задан в процентах, убедитесь, что родительскому контейнеру также задана высота.
- Если Scheduler размещён непосредственно внутри body, примените этот CSS для корректной работы процентов:
html, body{
margin:0px;
padding:0px;
height:100%; /*обязательно*/
overflow:hidden;
}
Scheduler некорректно отображается в Internet Explorer
Если Scheduler неправильно отображается только в Internet Explorer, проверьте, что на вашей странице используется полный DOCTYPE. Scheduler корректно работает в стандартных режимах IE, но не предназначен для работы в quirks mode.
Например, DOCTYPE для HTML5:
<!DOCTYPE html>
Scheduler не инициализируется, если начальным установлен кастомный вид
Начальный вид, отображаемый в Scheduler, задаётся при инициализации через метод init. Однако шаблоны, используемые касто мным видом, могут быть не полностью обработаны к этому моменту, из-за чего инициализация может завершиться с ошибкой.
Чтобы избежать этого, создавайте кастомные виды внутри обработчика события onTemplatesReady, которое происходит после полной обработки всех шаблонов:
scheduler.attachEvent("onTemplatesReady",function(){
//разместите здесь код создания кастомного вида
});
scheduler.init(container, date, "custom view name");
Ошибка разбора XML при загрузке данных через PHP-скрипт
Часто это происходит, если серверный скрипт выводит пробелы перед XML, что вызывает ошибку.
Убедитесь, что ни в одном из подключаемых файлов вашего connector-скрипта нет пробелов вне тегов
<?php и ?>.
Как установить 12-часовой формат времени (не военный)?
По умолчанию Scheduler использует 24-часовой формат (военное время), отображая время, например, как 13:00.
Чтобы переключиться на 12-часовой формат и отображать время как 1:00 PM, установите свойство hour_date:
scheduler.config.hour_date = "%g:%i%a"; /*!*/
scheduler.init('scheduler_here', new Date(), "month");