ToDo может работать с бэкенд сервером для загрузки задач, проектов и пользователей. Вы можете указать ссылку на него с помощью параметра url:
webix.ui({
view: "todo",
url:"https://docs.webix.com/todo-backend/"
});
ToDo загружает и сохраняет данные, используя следующие URL:
Вы можете скачать готовый бэкенд для ToDo.
Если у вас нет бэкенд сервера, вы можете кастомизировать методы сервиса Backend и предоставлять клиентские данные в виде промиса.
Сервис Backend это серверная модель, у которой есть методы для запросов на сервер. Они вызываются сервисом Operations при необходимости загрузки или сохранения данных.
Ниже вы найдёте полный список методов.
Чтобы менять запросы, получать и обрабатывать ответные данные вы можете:
class MyBackend extends todo.services.Backend {
// новые методы
}
webix.ui({
view: "todo",
url:"http://localhost:3200/",
override: new Map([[todo.services.Backend, MyBackend]]),
});
Вы можете отправлять AJAX запросы на ваш сервер с помощью необходимых URL, напр.:
Добавляем задачу
class MyBackend extends todo.services.Backend {
addTask(task) {
return webix.ajax.post("//localhost:3200/tasks", task)
.then(res => res.json());
}
}
В этой секции вы найдёте детальное описание следующих методов:
Используется для получения всех доступных задач
Returns: промис.
Request:
GET http://localhost:3000/tasks
Response:
Сервер возвращает массив задач:
[
{
id: 1,
text: "Learn about Webix",
checked: true,
assigned: ["user_1", "user_2", "user_3", "user_4"],
project: "First project",
parent: 0,
},
// другие задачи
]
Используется для получения всех задач из определенного проекта.
Parameters:
Returns: промис.
Request:
GET http://localhost:3000/tasks/projects/${id}
Response:
Сервер возвращает массив задач для определенного проекта:
[
{
id: 6,
text: "Data Presentation",
checked: true,
project: "ui",
parent: 0,
},
// другие задачи
]
Добавляет новую задачу на сервер.
Parameters:
Returns: промис с объектом, содержащим ID нового события.
Request:
POST http://localhost:3000/tasks
Raw JSON
{
"project": 7,
"parent": 0,
"after": 12 // (previous element id)
}
Response:
Сервер возвращает объект, содержащий ID новой задачи:
{id: 5}
Обновляет указанную задачу.
Parameters:
Returns: промис.
Request:
PUT http://localhost:3000/tasks/${id}
Raw JSON (obj with new fields)
{
“id”: 6,
“text”: "Data Presentation",
“checked”: true,
“project”: "ui",
“parent”: 0
}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Удаляет указанную задачу.
Parameters:
Returns: промис.
Request:
DELETE http://localhost:3000/tasks/${id}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Используется для перемещения задачи в другой проект.
Parameters:
Returns: промис.
Request:
PUT http://localhost:3000/move/${id}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Используется для превращения задачи в подзадачу.
Parameters:
Returns: промис.
Request:
PUT http://localhost:3000/indent/${id}
Raw JSON:
{
“parent”: 5
}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Используется для превращения подзадачи в задачу.
Parameters:
Returns: промис.
Request:
PUT http://localhost:3000/unindent/${id}
Raw JSON:
{
“parent”: 4
}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Используется для клонирования задачи.
Parameters:
Returns: промис.
Request:
POST http://localhost:3000/clone
Raw JSON
{
“after”: 1,
“parent”: 2,
“project”: 1,
“batch”: [
{
“id”: “task1”,
“text”: "Learn about Webix",
“checked”: true,
“assigned”: ["user_1", "user_2", "user_3", "user_4"],
“project”: "First project",
“parent”: 0,
},
// другие задачи
]
}
Response: массив, содержащий серверные ID клонированных задач.
Используется для получения всех доступных проектов.
Request:
GET http://localhost:3000/projects
Returns: массив проектов.
Response:
Сервер возвращает массив проектов:
[
{ id: "ui",
value: "UI Widgets"
},
// other projects
]
Добавляет новый проект.
Parameters:
Returns: промис с ID проекта.
Request:
POST http://localhost:3000/projects
Raw JSON:
{
“value”: “project name”
}
Response:
Сервер возвращает объект, содержащий ID проекта:
{"id":14}
Удаляет указанный проект.
Parameters:
Returns: промис.
Request:
DELETE http://localhost:3000/projects/${id}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Обновляет указанный проект.
Parameters:
Returns: промис.
Request:
PUT http://localhost:3000/projects/${id}
Raw JSON:
{
“value”: “new project name”
}
Response:
Сервер возвращает объект, содержащий пустой ID:
{ “id”: 0 }
Используется для получения всех пользователей.
Request:
GET http://localhost:3000/users
Returns: массив пользователей.
Response:
Сервер возвращает массив пользователей:
[
{
id: "user_1",
value: "Don Smith",
path: "../common/img/user_1.jpg"
},
// другие пользователи
]
Наверх