/
Oleg11234
/
TaskList
Обзор
Документация
Войти
/
Oleg11234
/
TaskList
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/store/TaskStore.ts
44 строки
1 KB
Oleg
format code
10 дек 2025, 20:55
10 дек 2025, 20:55
803443e
Код
Авторство
О чём код?
import { action, computed, makeObservable, observable } from "mobx"; import Task, { TaskStatus } from "../models/TaskModel"; import taskData from '../data/data.json' export class TaskStore { tasks = taskData as Array<Task>; selectStatus: TaskStatus | null = null constructor() { makeObservable(this, { tasks: observable, selectStatus: observable, taskWithSelectStatus: computed, changeSelectStatus: action, addTask: action, deleteTask: action }); } get taskWithSelectStatus(): Array<Task> { if (this.selectStatus == null) { return this.tasks } return this.tasks.filter( task => task.status == this.selectStatus ); } addTask(task: Task) { this.tasks.push(task); } deleteTask(task: Task) { let taskIndex = this.tasks.indexOf(task) this.tasks.splice(taskIndex, 1) } // В случае null демонстрируются все карты changeSelectStatus(status: TaskStatus | null) { this.selectStatus = status } } export const taskStore = new TaskStore();