dhtmlxScheduler с Svelte
Это руководство предполагает, что вы знакомы с основными концепциями и паттернами Svelte. Если нет, ознакомьтесь с документацией Svelte, где есть полезный вводный туториал.
DHTMLX Scheduler хорошо работает с Svelte. Вы можете посмотреть рабочий пример на GitHub: DHTMLX Scheduler with Svelte Demo.
Создание проекта
Перед созданием нового проекта убедитесь, что у вас установлены Vite (необязательно) и Node.js.
Чтобы создать проект Svelte с помощью Vite, выполните команду:
npm create vite@latest
Подробнее смотрите в соответствующей статье.
Установка зависимостей
Далее перейдите в директорию вашего приложения. Назовём проект scheduler-svelte и выберите опцию svelte. Затем выполните:
cd scheduler-svelte
После этого установите зависимости и запустите приложение с помощью вашего менеджера пакетов:
- Для yarn выполните:
yarn install
yarn dev
- Для npm выполните:
npm install
npm run dev
Теперь ваш проект Svelte должен быть доступен по адресу http://localhost:5173.

Создание Gantt
Чтобы добавить DHTMLX Scheduler, сначала остановите приложение, нажав Ctrl+C в терми нале. Затем установите пакет Scheduler.
Шаг 1. Установка пакета
PRO-версии библиотеки доступны через npm/yarn из нашего приватного репозитория. Следуйте этой инструкции для получения доступа.
После получения Evaluation-версии установите её с помощью:
- npm:
npm install @dhx/trial-scheduler
- yarn:
yarn add @dhx/trial-scheduler
Кроме того, так как zip-пакет библиотеки структурирован как модуль npm, вы можете установить его из локальной папки.
Шаг 2. Создание компонента
Создайте новый компонент Svelte для добавления Scheduler в ваше приложение. В директории src/ создайте файл Scheduler.svelte.
Импорт исходных файлов
Откройте Scheduler.svelte и импортируйте файлы Scheduler. В зависимости от способа установки:
- Если установлен из локальной папки, импорты будут такими:
import { Scheduler } from "dhtmlx-scheduler";
import "dhtmlx-scheduler/codebase/dhtmlxscheduler.css";
- Если используется trial-версия, импорты должны быть такими:
import { Scheduler } from "@dhx/trial-scheduler";
import "@dhx/trial-scheduler/codebase/dhtmlxscheduler.css";
В этом руководстве используется trial-версия.
Задание контейнера и добавление Scheduler
Чтобы отобразить Scheduler, определите элемент-контейнер, в котором он будет отображаться. Пример кода ниже:
<script>
import { onMount } from "svelte";
import { Scheduler } from "@dhx/trial-scheduler";
import "@dhx/trial-scheduler/codebase/dhtmlxscheduler.css";
let scheduler;
let container;
onMount(() => {
scheduler = Scheduler.getSchedulerInstance();
scheduler.skin = "terrace";
scheduler.init(container, new Date(2023, 9, 6), "week");
return () => scheduler.destructor();
});
</script>
<div bind:this="{container}"></div>
Чтобы контейнер Scheduler занимал всю область body, удалите стандартные стили из app.css в src/ и добавьте:
body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
Шаг 3. Добавление Scheduler в приложение
Далее подключите компонент Scheduler в ваше приложение. Откройте src/App.svelte и замените содержимое на:
<script>
import Scheduler from "./Scheduler.svelte";
</script>
<Scheduler/>
После запуска приложения на странице должен появиться пустой Scheduler:
