Gantt ожидает бэкенд сервер для загрузки задач и ссылок. Также виджет подгрузит ресурсы, категории и назначения, если выставлено свойсто resources: true Передайте ссылку на сервер через параметр url:
webix.ui({
view: "gantt",
url:"http://localhost:3200/"
});
Gantt загружает и сохраняет данные, используя следующие URL:
Вы можете скачать готовый бэкенд для Gantt.
Если у вас нет бэкенд сервера, вы можете кастомизировать методы сервиса Backend и предоставлять клиентские данные в виде промиса.
Сервис Backend это серверная модель, у которой есть методы для запросов на сервер. Они вызываются сервисом Operations при необходимости загрузки или сохранения данных.
Ниже вы найдёте полный список методов.
Чтобы менять запросы, получать и обрабатывать ответные данные вы можете:
class MyBackend extends gantt.services.Backend {
// новые методы
}
webix.ui({
view: "gantt",
url:"http://localhost:3200/",
override: new Map([[gantt.services.Backend, MyBackend]]),
});
Чвы можете отправлять AJAX запросы на ваш сервер с помощью необходимых URL, напр.:
Добавляем ссылку
class MyBackend extends gantt.services.Backend {
addLink(link) {
return webix.ajax("//localhost:3200/links", link)
.then(res => res.json());
}
}
Если вы хотите передать в Gantt клиентские данные, вам необходимо вернуть промис внутри следующих методов:
Client-side data
class MyBackend extends gantt.services.Backend {
tasks() {
return webix.promise.resolve(tasks);
}
links() {
return webix.promise.resolve(links);
}
}
Related sample: Gantt:Local Data
Смотрите требуемый формат входящих данных.
В этой секции вы найдёте детальное описание следующих методов:
Используется другими методами для подготовки URL к запросам.
Parameters:
Returns: абсолютный путь.
Вызывается при инициализации и запрашивает задачи.
Returns: промис с массивом задач.
Request:
GET http://localhost:3000/tasks
Содержит сегмент URL.
Response:
Сервер возвращает массив объектов задач.
[
{
"text":"Project A","start_date":"2018-06-13 00:00:00",
"duration":"1","parent":"0","progress":0.5,
"notes":"Weekly meeting required", "type": "project",
"open":1,"end_date":"2018-06-14 00:00:00","id":"1"
},
// ...
]
Вызывается при инициализации и запрашивает ссылки.
Returns: промис с массивом ссылок.
Request:
GET http://localhost:3000/links
Response:
Сервер возвращает массив с объектами ссылок.
[
{"source":"1.2","target":"2","type":1},
// ...
]
Добавляет новую задачу.
Parameters:
Returns: промис с объектом ID новой задачи.
Request:
POST http://localhost:3200/tasks
Form Data
text: Server intergration
start_date: 2018-06-12 00:00:00
end_date: 2018-06-13 00:00:00
duration: 1
progress: 0
index: 0
parent: 2
Response:
Сервер возвращает объект с ID новой задачи:
{ "id": "thfd8ghfdhtr1"}
Обновляет указанную задачу.
Parameters:
Returns: промис с пустым объектом.
Request:
PUT http://localhost:3200/tasks/0Nm5SeYIM0qUfmRv
Form Data
progress: 0
parent: 2
text: DB implementation
start_date: 2018-06-12 00:00:00
end_date: 2018-06-14 00:00:00
duration: 2
id: 0Nm5SeYIM0qUfmRv
// если пользователи помечает задачу как разделённую
PUT http://localhost:3200/tasks/{id}/split
Если параметр split установлен в значении true, то данные параметра obj передаются новому дочернему элементу а не обновляемой задаче. Обновляемая зада помечается как split ( {type:"split"} ). Стоит учесть, что если разделенная таким образом задача была до этого "Вехой", необходимо указать значение 1 для ее прогресса и продолжительности.
Response:
Сервер возвращает пустой объект.
Удаляет указанную задачу.
Parameters:
Returns: промис с пустым объектом.
Request:
DELETE
http://localhost:3200/tasks/0Nm5SeYIM0qUfmRv
Response:
Сервер возвращает пустой объект.
Вызывается, когда пользователь перемещает задачу в дереве.
Parameters
Returns: промис с объектом ID перемещаемой задачи.
Request:
PUT http://localhost:3200/tasks/1.5/position
Form data
parent: 0
mode: after
target: 1.2
URL содержит URL сегменты и ID перемещаемой задачи.
Response:
Сервер возвращает объект с ID перемещаемой задачи:
{
id:"1.5"
}
Добавляет новую ссылку.
Parameters:
Returns: промис с объектом ID новой ссылки.
Request:
POST http://localhost:3200/links
Form Data
source: 1.2
target: zA4TuVPD3p7DwckO
type: 0
Response:
Сервер возвращает объект ID новой ссылки:
{"id":"4znqxJbxGpA8x0U6"}
Обновляет указанную ссылку.
Parameters:
Returns: промис с пустым объектом.
Request:
PUT http://localhost:3200/links/3i3A6zpV07hpeKeY
Form Data
type: 1
Response:
Сервер возвращает пустой объект.
Удаляет указанную ссылку.
Parameters:
Returns: промис с пустым объектом.
Request:
DELETE
http://localhost:3200/links/3i3A6zpV07hpeKeY
Response:
Сервер возвращает пустой объект.
Добавляет ресурс задаче.
Parameters:
Returns: промис с объектом ID ресурса задачи.
Request:
POST
http://localhost:3200/assignments
Form Data
resource: 3
value: 8
task: 1.5
Response:
Сервер возвращает объект с ID ресурса задачи.
Обновляет указанный ресурс задачи.
Parameters:
Returns: промис с пустым объектом.
Request:
PUT
http://localhost:3200/assignments/KTGxFOOho2JLBTJt
Form Data
resource: 2
Response:
Сервер возвращает пустой объект.
Удаляет указанный ресурс задачи.
Parameters:
Returns: промис с пустым объектом.
Request:
DELETE
http://localhost:3200/assignments/KTGxFOOho2JLBTJt
Response:
Сервер возвращает пустой объект.
Наверх