Перейти к основному содержимому

Операции с проектами

Смена активного проекта

Чтобы сменить текущий активный проект, используйте метод setProject(). Метод принимает идентификатор проекта в качестве параметра. Пример ниже переключает активный проект после инициализации:

const projects = [
{ id: "first", label: "First project" },
{ id: "second", label: "Second project" },
{ id: "third", label: "Third project" },
];

const list = new ToDo("#root", {
projects,
activeProject: "second"
});

const toolbar = new Toolbar("#toolbar", {
api: list.api,
});

list.setProject({ id: "first" });

Добавление нового проекта

Чтобы создать новый проект, используйте метод addProject(). Фрагмент ниже добавляет четвёртый проект:

const projects = [
{ id: "first", label: "First project" },
{ id: "second", label: "Second project" },
{ id: "third", label: "Third project" },
];

const list = new ToDo("#root", { projects });

const toolbar = new Toolbar("#toolbar", {
api: list.api,
});

list.addProject({
id: "fourth",
project: {
label: "Fourth project"
}
});

Обновление проекта

Чтобы динамически обновить параметры проекта, используйте метод updateProject(). Пример ниже переименовывает метку проекта:

const projects = [
{ id: "first", label: "First project" },
{ id: "second", label: "Second project" },
{ id: "third", label: "Third project" },
];

const list = new ToDo("#root", { projects });

const toolbar = new Toolbar("#toolbar", {
api: list.api,
});

list.updateProject({
id: "second",
project: {
label: "Project 2"
}
});

Удаление проекта

Чтобы удалить проект, используйте метод deleteProject(). Фрагмент ниже удаляет проект:

const projects = [
{ id: "first", label: "First project" },
{ id: "second", label: "Second project" },
{ id: "third", label: "Third project" },
];

const tasks = [
{ id: "1", text: "Task 1", project: "first" },
];

const list = new ToDo("#root", { projects, tasks });

const toolbar = new Toolbar("#toolbar", {
api: list.api,
});

list.deleteProject({ id: "first" });
заметка

Задачи, связанные с проектом, не удаляются. Они перемещаются в раздел "No project".

console.log(list.getTask({id: "1"})); // -> {id: '1', text: 'Task 1', project: null}