Глава 3: Управление данными задач

Мы уже разобрались с требованиями к системе управления задачами — пора приступать к практике! Напомним: наша система должна уметь создавать, редактировать и удалять задачи, а также запрашивать список задач, и всё это можно реализовать средствами NocoBase: страниц, блоков и операций.

Подробное описание меню и страниц есть в официальной документации.

3.1 С чего начнём?

Возможно, Вы помните, что мы уже создавали страницу и отображали список пользователей. Эти страницы похожи на холст: на них можно размещать разные типы блоков и свободно менять их порядок и размер. Чтобы освежить шаги:

  1. Создать страницу: несколько кликов — и страница готова. Создание страницы
  2. Создать табличный блок: выберите табличный блок, и Вы сможете отображать различные данные. Создание табличного блока

Выглядит просто, правда? Однако, открыв «Список данных», Вы увидите, что по умолчанию доступны только две таблицы: «Пользователи» и «Роли». А где же таблица задач? Не волнуйтесь, ответ кроется в функциональности NocoBase под названием источники данных.

О источниках данных: источник данных может быть БД, API или другим хранилищем; поддерживаются разные реляционные БД — MySQL, PostgreSQL, SQLite, MariaDB. В NocoBase уже есть плагин управления источниками данных, отвечающий за управление источниками и таблицами. Однако этот плагин лишь предоставляет UI: для подключения к самим источникам нужны соответствующие плагины источников данных.

3.2 Источник данных: хранилище Ваших таблиц

В NocoBase все таблицы хранятся в источниках данных. Источник данных — это как книга, в которой описаны структуры каждой таблицы. Сейчас мы впишем в неё новую страницу: таблицу задач.

  • Перейдите в настройки источника данных:
    • В правом верхнем углу нажмите Настройки > Источники данных > Конфигурация основного источника данных.
    • Вы увидите все таблицы, существующие в основном источнике данных NocoBase: обычно это «Пользователи» и «Роли». Настройка источника данных

Пора создать третью таблицу — нашу таблицу задач. Это будет первое создание таблицы в NocoBase — волнующий момент! Согласно ранее намеченному плану, создадим простую таблицу со следующими полями:

Таблица задач (Tasks):
        Название задачи (task_name) — однострочный текст
        Описание задачи (task_description) — многострочный текст

3.3 Создание таблицы задач

  1. Создайте таблицу задач:

    • Нажмите «Создать таблицу» > выберите Обычная таблица > заполните Название таблицы (например, «Таблица задач») и Идентификатор таблицы (например, «tasks»).
    • Идентификатор таблицы — её уникальный ID. Рекомендуется использовать латиницу, цифры или нижнее подчёркивание, чтобы было удобно искать и поддерживать таблицу в будущем.
    • Подтвердите создание. Создание таблицы задач
  2. Поля по умолчанию: NocoBase автоматически добавляет в каждую обычную таблицу следующие поля:

    • ID: уникальный идентификатор записи.
    • Дата создания: автоматически фиксирует время создания задачи.
    • Создатель: автоматически фиксирует автора задачи.
    • Дата последнего изменения и Автор последнего изменения: фиксируют время последнего изменения задачи и пользователя, который его внёс.

Эти поля уже соответствуют нашим требованиям и избавляют нас от ручного добавления.

  1. Создание пользовательских полей:
    • Название задачи: нажмите «Добавить поле» > выберите Однострочный текст > задайте название «Название задачи», идентификатор «task_name». Поле названия задачи
    • Описание задачи: создайте поле Многострочный текст с идентификатором «task_description». Поле описания задачи

Поздравляем! Наша таблица задач определена, Вы успешно создали свою первую структуру данных. Так держать!

3.4 Создание страницы управления задачами

Теперь, когда у нас есть таблица задач, осталось разместить её данные на странице с помощью подходящего блока. Создадим страницу управления задачами и добавим на неё табличный блок с задачами.

  1. Создайте страницу управления задачами:

    • Нажмите «Создать страницу», назовите её «Управление задачами».
    • Создайте блок с задачами, который отображает данные таблицы задач. Создание блока задач
  2. Добавление данных:

    • «А почему нет данных?» — не волнуйтесь, сейчас добавим!
    • Нажмите кнопку «Конфигурация операций» в правом верхнем углу страницы и активируйте операцию «Добавить»: появится пустой контейнер модального окна. Операции Добавить и Редактировать по умолчанию связаны с модальным окном.
    • Появится новый блок (форма): создайте блок модального окна > выберите Текущую таблицу.
    • Покажите поля «Название задачи» и «Описание», настройте операцию отправки — и форма готова! Настройка операций
  3. Ввод данных:

    • Введите тестовую запись и нажмите «Отправить» — готово! Данные задачи добавлены. Отправка данных

Волнующий момент! Вы успешно ввели первую задачу. Просто, верно?

3.5 Поиск и фильтрация задач — быстрый поиск нужной задачи

Когда задач становится больше, как быстро найти нужную? На помощь приходит операция фильтрации. В NocoBase Вы можете легко находить нужные задачи, комбинируя условия фильтрации.

3.5.1 Включение операции фильтрации

Сначала включим операцию фильтрации:

  • Наведите курсор на «Конфигурация операций» и активируйте переключатель фильтрации. Включение фильтрации

3.5.2 Использование условий фильтрации

После включения на странице появится кнопка фильтрации. Проверим её работу по полю «Название задачи»:

  • В панели фильтрации выберите «Название задачи» и введите искомое значение.
  • Нажмите «Отправить» и убедитесь, что в списке задач отобразились отфильтрованные результаты. Применение фильтрации

3.5.3 Отключение операции фильтрации

Если фильтрация больше не нужна, для операций-переключателей достаточно одного клика:

  • Сбросьте условия фильтрации: убедитесь, что ни одно условие не применено, и нажмите «Сбросить».
  • Снова нажмите переключатель «Фильтр» — фильтр исчезнет со страницы. Отключение фильтрации

Вот и всё! Операция фильтрации очень упрощает работу с большим количеством задач. По мере знакомства с системой Вы откроете для себя и другие гибкие способы поиска (см. Блок фильтрации в виде формы и Блок фильтрации в виде раскрывающейся панели).

Сохраняйте этот настрой и идём дальше!

3.6 Редактирование и удаление задач

Помимо создания и поиска нам нужны операции редактирования и удаления. Вы уже знакомы с тем, как добавлять блоки, поля и операции, поэтому здесь всё просто:

  1. Редактирование задачи:

    • В конфигурации списка задач добавьте операцию Редактировать, нажмите на неё > добавьте блок (форму) Редактирование > выберите поля для редактирования.
  2. Удаление задачи:

    • Аналогично включите переключатель Удалить в конфигурации столбца операций. Появится кнопка удаления: нажмите её > подтвердите, и задача будет удалена. Редактирование задачи

Готово — все операции CRUD для списка задач реализованы.

Великолепно! Этот шаг успешно пройден.

Задание-вызов

После того как Вы освоились с NocoBase, попробуйте выполнить небольшое задание: нам нужно отметить статус задачи и поддерживать загрузку вложений — как это сделать?

Подсказка:

  • В таблицу задач добавьте:
    1. поле «Статус (status)» — выпадающий список с одним выбором, со значениями: Не начато, В работе, На проверке, Выполнено, Отменено, В архиве;
    2. поле «Вложение (attachment)».
  • В табличном блоке задач, формах «Добавить» и «Редактировать» отобразите поля «Статус» и «Вложение».

Появилась идея? Без спешки, ответ ждёт Вас в следующей главе (Глава 4: Плагины задач и комментариев — крылья за спиной)!


Продолжайте экспериментировать и проявлять креативность! Если возникнут вопросы, не забывайте, что Вы всегда можете заглянуть в официальную документацию NocoBase или присоединиться к сообществу NocoBase.