BRD Widget 8.6 Уведомления в виджете
Направление работ: Widget Код раздела: 8.6 Раздел: Общие работы > Уведомления в виджете Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 11.08.26
1. Назначение
Раздел описывает всплывающие уведомления в виджете — временные сообщения клиенту о результате действий и об ошибках.
Уведомления показываются стеком, автоматически скрываются по таймауту и могут формироваться по кодам статуса от сервера.
Документ описывает только показ уведомлений в интерфейсе. Оформление ошибок — раздел 8.7.2; backend-процессинг и каналы доставки уведомлений — Back 7.
Раздел зависит от Back: 7.2 Процессинг и каналы доставки уведомлений.
2. Ключевые понятия
Уведомление — временное сообщение в виджете о результате действия или об ошибке.
Стек уведомлений — область, в которой одновременно показывается ограниченное число уведомлений.
Код статуса — серверный код, по которому формируется текст уведомления.
3. Scope
Входит
S1: Показ уведомлений — типы, заголовок, текст
S2: Автоскрытие и ограничение количества
S3: Формирование уведомлений по кодам статуса
Не входит
- Widget: 8.7.2 Общие работы > Архитектура и инфраструктура > Оформление ошибок
- Back: 7.2 backend-процессинг и доставка уведомлений
4. BR
Указаны в пункте 4 раздела Back: 7.2 Процессинг и каналы доставки уведомлений.
5. Функциональные требования (UC + FR)
FR — functional requirements, что интерфейс должен уметь делать по определенному UC.
| ID | Сценарий | Функциональное требование | BR | Вес | Статус |
|---|---|---|---|---|---|
| S1: #FR8.6-1 | Клиент видит уведомление | Интерфейс показывает уведомления типов «успех», «инфо», «предупреждение» и «ошибка» с заголовком и текстом. | 1 | ||
| S2: #FR8.6-2 | Уведомление скрывается | Интерфейс автоматически скрывает любое уведомление по таймауту (по умолчанию 5 секунд; длительность задается полем time кода статуса). Режим «не скрывать автоматически» не поддерживается: флаг permanent в модели кодов статуса присутствует, но виджетом не используется и позволяет закрыть его. | 2 | ||
| S2: #FR8.6-3 | Одновременно много уведомлений | Интерфейс показывает не более 5 уведомлений одновременно и при превышении убирает самое старое. | 2 | ||
| S3: #FR8.6-4 | Уведомление по коду статуса | Интерфейс формирует текст уведомления по коду статуса от сервера с подстановкой параметров и может показывать действие-ссылку; неактивные коды не показываются. | 2 | ||
| S3: #FR8.6-5 | Кэш кодов статусов | Интерфейс кэширует коды статусов на клиенте с версионированием для формирования уведомлений. | 3 |
6. Открытые вопросы
| ID | Источник | Вопрос | Кому | Статус |
|---|---|---|---|---|
| #OQ8.6-1 | Код | Код статуса может помечаться как постоянное уведомление (permanent), но стек уведомлений всегда ставит таймер автоскрытия и не поддерживает постоянные уведомления. Подтвердить, нужны ли постоянные уведомления и как они должны закрываться. \ entities/status-code/store/status-codes.store.ts:110-117, entities/notification/store/notification.ui.ts:46 Контекст 11.08.26: при разборе Widget: 8.7.2 подтверждено, что уведомления по кодам статуса рисуются автоматически и время показа задаётся в самом коде статуса (time). То есть управление длительностью работает, игнорируется только флаг permanent. Остаётся решить, нужен ли режим «не скрывать автоматически» вообще: если критичные сообщения достаточно показывать долго через time, флаг permanent можно убрать из модели, чтобы код и данные не расходились. Решение: оставляем как есть. Постоянные уведомления не требуются — длительности показа через time достаточно, критичные сообщения показываются дольше. Флаг permanent остается в модели кодов статуса на будущее, виджет его не использует; это зафиксировано в FR8.6-2, чтобы при следующей сверке не всплывало как дефект. | Разработка | Закрыт |