Расширение действий
В NocoBase действие (Action) — это кнопка в блоке, используемая для запуска бизнес-логики (например, «Создать», «Редактировать», «Удалить» и т.д.). Унаследовав базовый класс ActionModel, Вы можете добавлять пользовательские кнопки действий.
Сценарии действий
Каждое действие должно объявить сценарий, в котором оно появляется, через статическое свойство static scene:
Примеры
Действие уровня таблицы данных
Применяется ко всей таблице данных, появляется в панели действий вверху блока:
Действие уровня записи
Применяется к одной записи, появляется в столбце действий каждой строки таблицы:
Подходит для обоих сценариев
Если действие не различает сценариев, используйте ActionSceneEnum.both:
Структура трёх вариантов одинакова — различие только в значении static scene и тексте кнопки в defaultProps.
Регистрация действия
В load() Plugin зарегистрируйте через registerModelLoaders для ленивой загрузки:
После регистрации в «Настройка действий» блока можно будет добавить Ваши пользовательские кнопки действий.
Полный исходный код
- @nocobase-example/plugin-simple-action — полный пример с тремя сценариями действий
Связанные ссылки
- Практика плагинов: создание пользовательской кнопки действия — построение кнопок действий трёх сценариев с нуля
- Практика плагинов: создание плагина управления данными с интеграцией фронтенда и бэкенда — практическое применение пользовательских действий + ctx.viewer.dialog в полноценном плагине
- Обзор FlowEngine — базовое использование FlowModel
- Расширение блоков — пользовательские блоки
- Расширение полей — пользовательские компоненты полей
- Определение FlowDefinition — полные параметры registerFlow и типы событий
- Полная документация FlowEngine — полный справочник

