dhtmlxScheduler с Angular
Данное руководство предполагает, что вы обладаете базовыми знаниями концепций и паттернов Angular. Если это не так, рекомендуем ознакомиться с документацией Angular и пройти обучающий курс для начинающих.
DHTMLX Scheduler отлично работает с Angular. Практический пример можно найти на GitHub: DHTMLX Scheduler with Angular Demo.
Создание проекта
Перед началом убедитесь, что у вас установлены Angular CLI и Node.js. Затем выполните команду:
ng new my-angular-scheduler-app
Эта команда подготовит все необходимые инструменты и зависимости, никаких дополнительных шагов не потребуется.
Установка зависимостей
Далее перейдите в папку приложения:
cd my-angular-scheduler-app
Запустите приложение одной из следующих команд:
yarn start
или
npm start
Теперь приложение будет доступно по адресу http://localhost:4200.

Создание Scheduler
Чтобы добавить 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. Создание компонента
Создайте новый компонент для интеграции Scheduler. Внутри директории src/app/ создайте папку scheduler и добавьте в неё файлы: scheduler.component.ts, scheduler.component.css и scheduler.component.html.
В scheduler.component.html добавьте следующий шаблон для Scheduler:
<div #scheduler_here className="dhx_cal_container">
<div className="dhx_cal_navline">
<div className="dhx_cal_prev_button"></div>
<div className="dhx_cal_next_button"></div>
<div className="dhx_cal_today_button"></div>
<div className="dhx_cal_date"></div>
<div className="dhx_cal_tab" data-tab="day"></div>
<div className="dhx_cal_tab" data-tab="week"></div>
<div className="dhx_cal_tab" data-tab="month"></div>
</div>
<div className="dhx_cal_header"></div>
<div className="dhx_cal_data"></div>
</div>
Стили для Scheduler объявите отдельно в scheduler.component.css. Пример базовых стилей:
@import "@dhx/trial-scheduler/codebase/dhtmlxscheduler.css";
:host {
display: block;
position: relative;
height: 100%;
width: 100%;
}
Чтобы контейнер Scheduler занимал всю область body, добавьте эти стили в styles.css в папке src:
html,
body {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}